[SCRIPT] help me! - 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] help me! (/thread-21663.html) |
help me! - pewds..fan - 05-29-2013 hi everyone! i have a problem with a script i´d love to create but i have no idea how... im going to doa script that when you walk in to a specific area all the lights will shut down!1 but how i have done this so far...i used "addentitycollidacallback" and then made a "void lightsoff" but could someone tell me is this correct and what soud should i use" it is a castebased corridor! SCRIPT //////////////////////////// // Run first time starting map void OnStart() { SetPlayerLampOil(0); AddUseItemCallback("", "Crowbar", "Door", "UseCrowbarOnDoor", true); AddEntityCollideCallback("Joint", "AreaBreak", "BreakDoor", true, 1); SetEntityCallbackFunc("potion_sanity_2", "PianoShut"); SetEntityCallbackFunc("Awesome_key1", "jump"); AddEntityCollideCallback("Player", "explode_scare", "Explode", true, 1); SetEntityPlayerInteractCallback("mansion_4", "func_slam", true); AddEntityCollideCallback("Player", "START_BRUTE", "monster", true, 1); AddEntityCollideCallback("Player", "LIGHTS_OFF", "LIGHTSOFF", true, 1); } void LIGHTSOFF(string &in asParent, string &in asChild, int alState) SetEntityActive("torch_floor_1"); SetEntityActive("torch_floor_2"); SetEntityActive("torch_floor_3"); SetEntityActive("torch_floor_4"); SetEntityActive("torch_floor_5"); SetEntityActive("torch_floor_6"); SetEntityActive("torch_floor_7"); SetEntityActive("torch_floor_8"); SetEntityActive("torch_floor_9"); SetEntityActive("torch_floor_10"); SetEntityActive("torch_floor_11"); SetEntityActive("torch_floor_12"); SetEntityActive("torch_floor_13"); SetEntityActive("torch_floor_14"); void monster(string &in asParent, string &in asChild, int alState) { SetEntityActive("BRUTE", true); AddEnemyPatrolNode("BRUTE", "NODE_1", 0, ""); } void func_slam(string &in asParent, string &in asChild, int alState) { SetPropHealth("mansion_4", 0.0f); PlaySoundAtEntity("", "react_breath_slow.snt", "Player", 0, false); PlaySoundAtEntity("", "react_scare", "Player", 0, false); PlaySoundAtEntity("", "close_door.snt", "Player", 0, false); GiveSanityDamage(5.0f, true); } void Explode(string &in asParent, string &in asChild, int alState) { SetPropHealth("pot_explode", 0); GiveSanityDamage(15.0f, true); } void jump(string &in asEntity, string &in type) { SetEntityActive("GRUNT_PART_1", true); PlaySoundAtEntity("", "react_scare.snt", "Player", 0, false); PlaySoundAtEntity("", "sanity_damage.snt", "Player", 0, false); GiveSanityDamage(10.0f, true); } void PianoShut(string &in asEntity, string &in OnPickup) { SetLeverStuckState("piano_1", 0, true); AddPropImpulse("piano_1", 0, 0, 50, "world"); SetLeverStuckState("piano_1", -1, true); PlaySoundAtEntity("PianoShut", "break_wood", "piano_1", 0, false); CreateParticleSystemAtEntity("", "ps_dust_impact.ps", "impact", false); GiveSanityDamage(60, true); } void UseCrowbarOnDoor(string &in asItem, string &in asEntity) { RemoveItem(asItem); PlaySoundAtEntity("", "player_crouch.snt", "Player", 0.05, false); AddTimer(asEntity, 0.2, "TimerPlaceCrowbar"); } void TimerPlaceCrowbar(string &in asTimer) { SetEntityActive("Joint", true); PlaySoundAtEntity("", "puzzle_place_jar.snt", asTimer, 0, false); } void BreakDoor(string &in asParent, string &in asChild, int alState) { SetEntityActive("Joint", false); SetEntityActive("Broken", true); SetSwingDoorLocked("Door", false, false); SetSwingDoorClosed("Door", false, false); SetSwingDoorDisableAutoClose("Door", true); AddPropImpulse("Door", 0, 0, 3, "world"); CreateParticleSystemAtEntity("", "ps_hit_wood.ps", "AreaEffect", false); PlaySoundAtEntity("", "break_wood_metal", "AreaEffect", 0, false); GiveSanityBoostSmall(); PlayMusic("10_puzzle01.ogg", false, 0.7, 0.1, 10, false); AddTimer("", 0.1, "TimerPushDoor"); } void TimerPushDoor(string &in asTimer) { AddPropImpulse("Door", -4, 2, 1, "world"); AddTimer("", 1.1, "TimerDoorCanClose"); } void TimerDoorCanClose(string &in asTimer) { SetSwingDoorDisableAutoClose("Door", false); } //////////////////////////// // Run when entering map void OnEnter() { AddUseItemCallback("", "Awesome_key1", "Door_1", "UsedKeyOnDoor", true); AddUseItemCallback("", "Awesome_key2", "locked_2", "UsedKeyOnLocked", true); } void UsedKeyOnDoor(string &in asItem, string &in asEntity) { SetSwingDoorLocked("Door_1", false, true); PlaySoundAtEntity("", "unlock_door", "Door_1", 0, false); RemoveItem("Awesome_key1"); } void UsedKeyOnLocked(string &in asItem, string &in asEntity) { SetSwingDoorLocked("locked_2", false, true); PlaySoundAtEntity("", "unlock_door", "locked_2", 0, false); RemoveItem("Awesome_key2"); } //////////////////////////// // Run when leaving map void OnLeave() { AutoSave(); } RE: help me! - PutraenusAlivius - 05-29-2013 Spoiler below!
It seems like you want to run a crowbar thing, right? Well it's not going to work. The crowbar can't find any area for it to collide so that it wouldn't open. RE: help me! - pewds..fan - 05-29-2013 im not trying to make the crowbar thing its working perfectly... im working with the lights shut down thing up at the script page RE: help me! - Adrianis - 05-29-2013 You've made the same mistake in this script that you did in the previous one you posted. Code: void LIGHTSOFF(string &in asParent, string &in asChild, int alState) Here, there is no { and } surrounding the code in that function. I provided you the solution in your other thread, it's very important that you try to understand why that fix worked However there is another problem, SetEntityActive requires 2 parameters SetEntityActive(string& asName, bool abActive); The name of the entity, which you put in, but also true or false, to say whether the entity should be activated or deactivated Code: void LIGHTSOFF(string &in asParent, string &in asChild, int alState) That will make the torches deactivate, hence the 'false'. If you want them to be activated, then use true instead. EDIT: woops looks like JAP already fixed that and provided a better solution, sorry about that. I'll leave the post as it explains some other extra stuff anyway RE: help me! - pewds..fan - 05-30-2013 i noticed the brackets few min after i posted this.. and im trying to deactivate the lights cause the spot is a "terrifying corridor" and after deactivating the lights and walking a bit forward a brute will spawn behind the player and he must run to the next door and hide...... |