-- LUA Script - precede every function and global member with lowercase name of script + '_main' -- Door Prompts 'Closed' can be opened with entity collected specified by 'USE KEY' -- state to ensure user must release E key before can open/close again -- Door activated by 3 door-switches use doorswitch & doorswitch1 & doorswitch2. door_pressed = 0 function switchdoorcombi_init(e) Door_SwitchCombi1= 0 Door_SwitchCombi2 = 0 Door_SwitchCombi3 = 0 DoorOpen = 0 end function switchdoorcombi_main(e) PlayerDist = GetPlayerDistance(e) if (PlayerDist < 100 ) and g_PlayerHealth > 0 then GetEntityPlayerVisibility(e) if 1 then if g_Entity[e]['activated'] == 0 then if g_Entity[e]['haskey'] == -1 then SetActivated(e,1) end else if g_Entity[e]['activated'] == 1 then -- door is unlocked and closed if g_Entity[e]['plrvisible'] == 1 then if Door_SwitchCombi1 == 1 and Door_SwitchCombi2 == 1 and Door_SwitchCombi3 == 1 then Prompt("Press E to open door") DoorOpen = 1 if g_KeyPressE == 1 and g_Entity[e]['animating'] == 0 and door_pressed == 0 then SetAnimation(0) PlayAnimation(e) g_Entity[e]['animating'] = 1 SetActivated(e,2) ActivateIfUsed(e) PlaySound(e,0) StartTimer(e) g_Entity[e]['timer'] = g_Time door_pressed = 1 end else Prompt("The door is locked. Activate multi switches to unlock door") end end if SwitchActivatedCombiReset == 1 and DoorOpen ~= 1 then Prompt("The door is locked. You failed to unlock the door") end else if g_Entity[e]['activated'] == 2 then -- door is open if g_Entity[e]['plrvisible'] == 1 then if g_KeyPressE == 1 and g_Entity[e]['animating'] == 0 and door_pressed == 0 then SetAnimation(1) PlayAnimation(e) g_Entity[e]['animating'] = 1 SetActivated(e,1) PlaySound(e,1) CollisionOn(e) door_pressed = 1 end end end end end end end if g_Entity[e]['activated'] == 2 then -- door collision off after 1 second if GetTimer(e)>1000 then CollisionOff(e) end end if g_KeyPressE == 0 then door_pressed = 0 end --PromptLocal ( e, "activated=" .. g_Entity[e]['activated'] .. "PlayerDist=" .. PlayerDist .. " plrvisible=" .. g_Entity[e]['plrvisible'] .. " haskey=" .. g_Entity[e]['haskey'] ) end