[SCRIPT] lever machine help - Printable Version +- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum) +-- Forum: Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-6.html) +--- Forum: Custom Stories, TCs & Mods - Development (https://www.frictionalgames.com/forum/forum-38.html) +---- Forum: Development Support (https://www.frictionalgames.com/forum/forum-39.html) +---- Thread: [SCRIPT] lever machine help (/thread-16467.html) |
lever machine help - lothabread - 06-24-2012 me again ^^ im trying to get a key to appear after pulling six levers but it appears only after pulling the sixth lever so im wondering what i have to put into my script if anyone could help. ive looked around and im too dimwitted to understand a lot of the script. heres my script if anyone could help me find whats wrong //////////////////////////// // Run when entering map ///////////////////// //BEGIN LEVER SCRIPT ///////////////////// void PullLever1(string &in asEntity, int alState) { if(alState == 1){ AddDebugMessage("Lever 1 is in the right position", false); SetLocalVarInt("Lever1", 1); PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); }else if(alState == 0){ SetLocalVarInt("Lever1", 0); AddDebugMessage("Lever 1 is in the wrong position", false); }else if(alState == -1){ PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); AddDebugMessage("Lever 1 is in the wrong position", false); SetLocalVarInt("Lever1", 0); } if(GetLocalVarInt("Lever1") == 1 && GetLocalVarInt("Lever2") == 1 && GetLocalVarInt("Lever3") == 1 && GetLocalVarInt("Lever4") == 1 && GetLocalVarInt("Lever5") == 1 && GetLocalVarInt("Lever6") == 1){ } } void PullLever2(string &in asEntity, int alState) { if(alState == -1){ PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); AddDebugMessage("Lever 2 is in the right position", false); SetLocalVarInt("Lever2", 1); }else if(alState == 0){ AddDebugMessage("Lever 2 is in the wrong position", false); SetLocalVarInt("Lever2", 0); }else if(alState == 1){ SetLocalVarInt("Lever2", 0); PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); } if(GetLocalVarInt("Lever1") == 1 && GetLocalVarInt("Lever2") == 1 && GetLocalVarInt("Lever3") == 1 && GetLocalVarInt("Lever4") == 1 && GetLocalVarInt("Lever5") == 1 && GetLocalVarInt("Lever6") == 1){ } } void PullLever3(string &in asEntity, int alState) { if(alState == -1){ PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); AddDebugMessage("Lever 3 is in the right position", false); SetLocalVarInt("Lever3", 1); }else if(alState == 0){ AddDebugMessage("Lever 3 is in the wrong position", false); SetLocalVarInt("Lever3", 0); }else if(alState == 1){ SetLocalVarInt("Lever3", 0); PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); } if(GetLocalVarInt("Lever1") == 1 && GetLocalVarInt("Lever2") == 1 && GetLocalVarInt("Lever3") == 1 && GetLocalVarInt("Lever4") == 1 && GetLocalVarInt("Lever5") == 1 && GetLocalVarInt("Lever6") == 1){ } } void PullLever4(string &in asEntity, int alState) { if(alState == 1){ PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); AddDebugMessage("Lever 4 is in the right position", false); SetLocalVarInt("Lever4", 1); }else if(alState == 0){ AddDebugMessage("Lever 4 is in the wrong position", false); SetLocalVarInt("Lever4", 0); }else if(alState == -1){ SetLocalVarInt("Lever4", 0); PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); } if(GetLocalVarInt("Lever1") == 1 && GetLocalVarInt("Lever2") == 1 && GetLocalVarInt("Lever3") == 1 && GetLocalVarInt("Lever4") == 1 && GetLocalVarInt("Lever5") == 1 && GetLocalVarInt("Lever6") == 1){ } } void PullLever5(string &in asEntity, int alState) { if(alState == 1){ PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); AddDebugMessage("Lever 5 is in the right position", false); SetLocalVarInt("Lever5", 1); }else if(alState == 0){ AddDebugMessage("Lever 5 is in the wrong position", false); SetLocalVarInt("Lever5", 0); }else if(alState == -1){ SetLocalVarInt("Lever5", 0); PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); } if(GetLocalVarInt("Lever1") == 1 && GetLocalVarInt("Lever2") == 1 && GetLocalVarInt("Lever3") == 1 && GetLocalVarInt("Lever4") == 1 && GetLocalVarInt("Lever5") == 1 && GetLocalVarInt("Lever6") == 1){ } } void PullLever6(string &in asEntity, int alState) { if(alState == -1){ PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); AddDebugMessage("Lever 6 is in the right position", false); SetLocalVarInt("Lever6", 1); }else if(alState == 0){ AddDebugMessage("Lever 6 is in the wrong position", false); SetLocalVarInt("Lever6", 0); }else if(alState == 1){ SetLocalVarInt("Lever6", 0); PlaySoundAtEntity("", "lever_mech_min_max", asEntity, 0.0f, false); } if(GetLocalVarInt("Lever1") == 1 && GetLocalVarInt("Lever2") == 1 && GetLocalVarInt("Lever3") == 1 && GetLocalVarInt("Lever4") == 1 && GetLocalVarInt("Lever5") == 1 && GetLocalVarInt("Lever6") == 1){ } SetEntityActive("key_3", true); { } } ///////////////////// //END LEVER SCRIPT ///////////////////// void OnEnter() { AddEntityCollideCallback("Player", "tng_area_1", "Scare_1", true, 1); AddUseItemCallback("", "key_1", "mansion_1", "KeyOnDoor", true); AddUseItemCallback("", "key_2", "mansion_2", "KeyOnDoor2", true); AddUseItemCallback("", "wood_box02_breakable_11_item", "mansion_3", "KeyOnDoor3", true); SetEntityPlayerInteractCallback("key_1", "ActivateArea", true); SetEntityConnectionStateChangeCallback("L1", "PullLever1"); SetEntityConnectionStateChangeCallback("L2", "PullLever2"); SetEntityConnectionStateChangeCallback("L3", "PullLever3"); SetEntityConnectionStateChangeCallback("L4", "PullLever4"); SetEntityConnectionStateChangeCallback("L5", "PullLever5"); SetEntityConnectionStateChangeCallback("L6", "PullLever6"); SetLocalVarInt("Lever1", 0); SetLocalVarInt("Lever2", 0); SetLocalVarInt("Lever3", 0); SetLocalVarInt("Lever4", 0); SetLocalVarInt("Lever5", 0); SetLocalVarInt("Lever6", 0); } void KeyOnDoor(string &in asItem, string &in asEntity) { SetSwingDoorLocked("mansion_1", false, true); PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false); RemoveItem("key_1"); } void KeyOnDoor2(string &in asItem, string &in asEntity) { SetSwingDoorLocked("mansion_2", false, true); PlaySoundAtEntity("", "unlock_door", "mansion_2", 0, false); RemoveItem("key_2"); } void KeyOnDoor3(string &in asItem, string &in asEntity) { SetSwingDoorLocked("mansion_3", false, true); PlaySoundAtEntity("", "unlock_door", "mansion_3", 0, false); RemoveItem("wood_box02_breakable_11_item"); } //////////////////////////// // Run when leaving map void OnLeave() { } RE: lever machine help - Cruzore - 06-24-2012 if(GetLocalVarInt("Lever1") == 1 && GetLocalVarInt("Lever2") == 1 && GetLocalVarInt("Lever3") == 1 && GetLocalVarInt("Lever4") == 1 && GetLocalVarInt("Lever5") == 1 && GetLocalVarInt("Lever6") == 1){ } Probably in there. But since there are 6 of those, it "might" bug out. Just try it. RE: lever machine help - lothabread - 06-24-2012 thanks ^^ very helpful learning from people on the forums |