I need help with a script - 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: I need help with a script (/thread-22350.html) |
I need help with a script - Neelke - 08-07-2013 Got a script here where the problem is Unexpected end of file. Usually a missing bracket or something. But I can't find it. Can someone find it for me? //----------------------------------------- /////////////////////////////////////////// // THE HUNGRY WORM //////////////////////////////////////////// //------------------------------------------ //Use meat to feed the worm void UseMeatOnDoor(string &in asItem, string &in asEntity) { RemoveItem(asItem); SetEntityActive("fresh_meat_static", true); PlaySoundAtEntity("meetworm", "worm_distant.snt", "Player", 0.0f, true); AddTimer("", 5.0f, "TimerWormEatFlesh"); } //The Worm is hungry void TimerWormEatFlesh(string &in asTimer) { AddLocalVarInt("Worm", 1); //What step to play in the event float fEventSpeed = 0.5f; //The default time between steps in an event switch(GetLocalVarInt("Worm")) { case 1: PlaySoundAtEntity("meetworm", "worm_distant.snt", "Player", 0.0f, true); float fEventSpeed = 2.0f; break; case 2: SetEntityActive("hungry_worm", true); float fEventSpeed = 3.3f; break; case 3: SetEntityActive("hungry_worm", false); break; } if(GetLocalVarInt("Worm") < 3) AddTimer("", fEventSpeed, "TimerWormEatFlesh"); } //Some stuff to make sure he doesn't go through objects void CollideBoardWorm(string &in asParent, string &in asChild, int alState) { SetPropHealth("wooden_boards_block_1", 0); } void CollideBreakDoor(string &in asParent, string &in asChild, int alState) { SetEntityActive("fresh_meat_static", false); SetPropHealth("cellar_wood01_3", 0); } //If player feels like standing in the way of the worm void CollideWormPlayer(string &in asParent, string &in asChild, int alState) { FadeOut(0.5f) AddTimer("", 5.0f, "TimerPlayerEaten"); CheckPoint("", "PlayerStartArea_2", "JustInCase", "Hints", "PlayerEaten"); } void TimerPlayerEaten(string &in asTimer) { //Kill player without making a sound DisableDeathStartSound(); AddPlayerHealth(-200); } void JustInCase(string &in asParent, string &in asChild, int alState) { //Not sure if everything works as it should if you die SetEntityActive("cellar_wood01_3", false); SetEntityActive("hungry_worm", false); SetEntityActive("fresh_meat_static", false); } //----------------------------------------- /////////////////////////////////////////// // LABORATORY PUZZLE //////////////////////////////////////////// //------------------------------------------ //Start off with placing the chemical container on the burner void ContainerOnBurner(string &in asItem, string &in asEntity) { SetEntityActive("container_1", true); RemoveItem(asItem); PlaySoundAtEntity("", "puzzle_place_jar", "special_burner", 0.0f, true); SetLocalVarInt("ContainerPlaced", 1); //Allow the player to attach the acid bottle now SetEntityActive("StickyArea_1", true); } //Attach the bottle void PourAcidBottle(string &in asStickyArea, string &in asBodyName) { PlaySoundAtEntity("water_s", "25_water_stream", "special_burner", 1.0f, false); AddTimer("", 2.0f, "TimerDetach"); SetLocalVarInt("MixCombined", 1); SetEntityActive("StickyArea_2", true); } void TimerDetach(string &in asTimer) { StopSound("water_s", 3.0f); DetachFromStickyArea("StickyArea_1"); AddAttachedPropToProp("acid_machine_bottle_grab", "StickyArea_2", "acid_machine_bottle01.ent", float afPosX, float afPosY, 0, float afRotX, 90.0f, float afRotZ); } //Cook the mixture together void TurnSpecialBurner(string &in asEntityName, int alState) { if(alState == 1) { PlaySoundAtEntity("bruner_on","26_burner_ignite.snt", "AreaBurner", 0, false); CreateParticleSystemAtEntity("burnerfire", "ps_fire_lab_burner.ps", "AreaBurner", true); PlaySoundAtEntity("burnerfire","26_burner_loop.snt", "AreaBurner", 1, true); AddTimer("burnerfullspeed",2, "TimerBurnerFullSpeed"); } else if(alState == -1) { PlaySoundAtEntity("bruner_off","26_burner_ignite.snt", "AreaBurner", 0.15f, false); DestroyParticleSystem("burnerfire"); StopSound("burnerfire", 1); RemoveTimer("burnerfullspeed"); SetLocalVarInt("BurnerReady", 0); } AddDebugMessage("Burner state: "+ alState, false); } void TimerBurnerFullSpeed(string &in asTimer) { SetLocalVarInt("BurnerReady", 1); //Check if the other stuff above is completed CheckCompleteSubstance(); } //------------------------------------------ void CheckCompleteSubstance() { if(GetLocalVarInt("BurnerReady")==1 && GetLocalVarInt("ContainerPlaced")==1 && GetLocalVarInt("MixCombined")==1 && GetLocalVarInt("SubstanceCompleted")==0){ SetLocalVarInt("SubstanceCompleted", 1); PlaySoundAtEntity("bloodboil","puzzle_boil.snt", "container_1", 1, false); AddTimer("boileffectdone", 3, "TimerBoilEffectDone"); } void TimerBoilEffectDone(string &in asTimer) { StopSound("bloodboil",1); SetPropActiveAndFade("complete_substance", true, 0.5); AddTimer("fadeoutblood", 0.3, "TimerBoilEffectFadeOutUseless"); PlaySoundAtEntity("boildone","puzzle_acid", "container_1", 0, false); } void TimerBoilEffectFadeOutUseless(string &in asTimer) { SetPropActiveAndFade("container_1", false, 0.5); } //Picking up the complete substance will enable the player to pull the machinery lever void PickSubstance(string &in asEntity, string &in asType) { GiveSanityBoostSmall(); } //------------------------------------------ //Put complete substance in the machinery, putting it there before hand will give error message void UseNormalContainer(string &in asItem, string &in asEntity) { SetMessage("Ch03Lvl18", "SubstanceNotMade", 0); } void UseSubstance(string &in asItem, string &in asEntity) { RemoveItem(asItem); SetEntityActive("substance_notdone", true); PlaySoundAtEntity("", "puzzle_place_jar", "AreaUseSubstance", 0.0f, true); SetLocalVarInt("EnableLever", 1); SetLeverStuckState("lever", 0, false); } //----------------------------------------- /////////////////////////////////////////// // MACHINERY PUZZLE //////////////////////////////////////////// //------------------------------------------ //First start off with placing stone inside the machinery void AttachStone(string &in asStickyArea, string &in asBodyName) { SetEntityActive("AreaRemoveStone", true); } void CollideSubstanceStone(string &in asParent, string &in asChild, int alState) { SetEntityActive("stone_substance", false); AddTimer("", 3.3, "TimerBoilStone"); } void TimerBoilStone(string &in asTimer) { SetEntityActive("stone_substance_burn", true); SetLocalVarInt("StoneInMachinery", 1); } //Pull the lever to activate the fire void ActivateFire(string &in asEntityName, int alState) { if(alState == 1) { AddTimer("machinefullspeed",2, "TimerMachineFullSpeed"); } else if(alState == -1) { //Nothing needed, hopefully } } void TimerMachineFullSpeed(string &in asTimer) { CheckStone(); } //------------------------------------------ void CheckStone() { if(GetLocalVarInt("EnableLever")==1 && GetLocalVarInt("StoneInMachinery")==1 && GetLocalVarInt("FireUsed")==0){ SetLocalVarInt("FireUsed", 1); for(int i=1;i<=6; ++i) CreateParticleSystemAtEntity("fire", "ps_fire_smoke_epoxy.ps", "AreaFire"+i, true); for(int i=1;i<=6; ++i) PlaySoundAtEntity("fire", "general_fire_burning", "AreaFire"+i, 0.0f, true); AddTimer("finishitoff",3, "TimerCompleteSubstance"); } } void TimerCompleteSubstance(string &in asTimer) { SetPropActiveAndFade("stone_substance_burn", true, 0.5f); SetEntityActive("substance_notdone", false); SetEntityAcitve("substance_done", true); //So that you can pick the substance up, otherwise it's stuck there forever SetEntityActive("AreaUseSubstance", false); } //Picking it up will make the worm hungry void PickSubstance(string &in asItem, string &in asEntity) { SetEntityActive("AreaTriggerWormEvent", true); } //----------------------------------------- /////////////////////////////////////////// // MISCS //////////////////////////////////////////// //------------------------------------------ //Pick the note about the worm void PickWormNote(string &in asEntity, string &in asType) { PlayMusic("05_paper_transformation.ogg", false, 0.7f, 0, 10, false); } //Interact with machine lever, without having things completed void InteractTooQuick(string &in asEntity) { SetMessage("Ch03Lvl18", "TooQuick", 0); } //////////////////////////// // Run first time starting map void OnStart() { SetMapDisplayNameEntry("Ravine"); //Use Item AddUseItemCallback("", "fresh_meat", "cellar_wood01_3", "UseMeatOnDoor", true); AddUseItemCallback("", "container", "special_burner", "ContainerOnBurner", true); //Collide Callback AddEntityCollideCallback("Player", "hungry_worm", "CollideWormPlayer", false, 0); for(int i=1;i<=4; ++i) AddEntityCollideCallback("Player", "rockworm_attack_static_"+i, "CollideWormPlayerExt", false, 0); AddEntityCollideCallback("hungry_worm", "AreaBreakPlanks_2", "CollideBoardWorm", false, 0); AddEntityCollideCallback("hungry_worm", "AreaBreakDoor", "CollideBreakDoor", false, 0); } //////////////////////////// // Run when entering map void OnEnter() { PlayMusic("22_amb", true, 1, 5, 0, true); } //////////////////////////// // Run when leaving map void OnLeave() { } RE: I need help with a script - PutraenusAlivius - 08-07-2013 Line 53 must've been FadeOut(0.5f); I'm not sure, but Line 102 is wrong. AddAttachedPropToProp("acid_machine_bottle_grab", "StickyArea_2", "acid_machine_bottle01.ent", float afPosX, float afPosY, 0, float afRotX, 90.0f, float afRotZ); RE: I need help with a script - Neelke - 08-07-2013 Nevermind, fixed it. Really hard to see. Look at row 244. |