Help needed! I can't find error in 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: Help needed! I can't find error in script. (/thread-13598.html) |
Help needed! I can't find error in script. - Tozken - 02-26-2012 Okay, so I'm kinda new to this so bear with me I've encountered a problem that makes me unable to enter the map, but I can't seem to find the problem in the script. It says that a ';' is expected in row 29. Here's my script: void OnStart() { if(ScriptDebugOn()) { GiveItemFromFile("lantern", "lantern.ent"); } PlaySoundAtEntity("RockRumble", "general_rock_rumble.snt", "Player", 0, false); StartScreenShake(0.05f, 1, 0.4, 0.6); AddTimer("", 1, "StopRockRumble"); SetPlayerCrouching(true); AddEntityCollideCallback("Player", "ScriptArea_1", "Message1", true, 1); AddEntityCollideCallback("Player", "ScriptArea_2", "AOESanityDmg", false, 1); } void StopRockRumble(string &in asTimer) { StopSound("RockRumble", 1); } void Message1(string &in asParent, string &in asChild, int alState) { SetMessage("Messages", "Popup3", 0); } void AOESanityDmg(string &in asParent, string &in asChild, int alState) { GiveSanityDamage(5, false); if(GetEntitiesCollide("Player", "ScriptArea_2")) { AddTimer("", 2, "AOESanityDmg"); } } What I want AOESanityDmg to do is if the player is located inside ScriptArea_2 he should be damaged with 5 sanity dmg every 2 seconds... I don't think that it is working but it seems like there's something else that is wrong with the script, because I removed some script before so that I didn't have 29 rows of script, but the error still remained... Anyone know how to fix it? Thx in advance Sry for English RE: Help needed! I can't find error in script. - Tozken - 02-26-2012 Bump! Really need help with this. I can't continue until I solve it :/ RE: Help needed! I can't find error in script. - Alento - 02-26-2012 (02-26-2012, 02:20 PM)Tozken Wrote: Okay, so I'm kinda new to this so bear with meHey man! I'm also new at this, but I know you shouldn't have more that TWO '}' in void OnStart. Like this void OnStart() { AddEntityCollideCallback.... ....... } Hope that helps you some? (02-26-2012, 06:31 PM)Tozken Wrote: Bump! Really need help with this. I can't continue until I solve it :/Okey, so.. I tested it out and with this following script, everything should do it! void OnStart() { if(ScriptDebugOn()) GiveItemFromFile("lantern", "lantern.ent"); PlaySoundAtEntity("RockRumble", "general_rock_rumble.snt", "Player", 0, false); StartScreenShake(0.05f, 1, 0.4, 0.6); AddTimer("", 1, "StopRockRumble"); SetPlayerCrouching(true); AddEntityCollideCallback("Player", "ScriptArea_1", "Message1", true, 1); AddEntityCollideCallback("Player", "ScriptArea_2", "AOESanityDmg", false, 1); } void StopRockRumble(string &in asTimer) { StopSound("RockRumble", 1); } void Message1(string &in asParent, string &in asChild, int alState) { SetMessage("Messages", "Popup3", 0); } void AOESanityDmg(string &in asParent, string &in asChild, int alState) { GiveSanityDamage(5, true); } RE: Help needed! I can't find error in script. - Tozken - 02-26-2012 Thanks for your help! Unfortunately, it didn't work. It was something with the .map file I think.... I tried creating a new map with the same things and same script and it worked. Thanks again anyway! RE: Help needed! I can't find error in script. - jessehmusic - 02-28-2012 (02-26-2012, 02:20 PM)Tozken Wrote: Okay, so I'm kinda new to this so bear with meDude you have this " AddTimer("", 2, "AOESanityDmg"); } }" You should have { } RE: Help needed! I can't find error in script. - flamez3 - 02-28-2012 He is using a If statement, he needs the other } there. RE: Help needed! I can't find error in script. - Alento - 02-28-2012 (02-28-2012, 10:36 AM)flamez3 Wrote: He is using a If statement, he needs the other } there.(Y) yepp RE: Help needed! I can't find error in script. - jessehmusic - 02-28-2012 (02-26-2012, 02:20 PM)Tozken Wrote: Okay, so I'm kinda new to this so bear with methis might work. void OnStart() { if(ScriptDebugOn()) } GiveItemFromFile("lantern", "lantern.ent"); { PlaySoundAtEntity("RockRumble", "general_rock_rumble.snt", "Player", 0, false); StartScreenShake(0.05f, 1, 0.4, 0.6); AddTimer("", 1, "StopRockRumble"); SetPlayerCrouching(true); AddEntityCollideCallback("Player", "ScriptArea_1", "Message1", true, 1); AddEntityCollideCallback("Player", "ScriptArea_2", "AOESanityDmg", false, 1); } void StopRockRumble(string &in asTimer) { StopSound("RockRumble", 1); } void Message1(string &in asParent, string &in asChild, int alState) { SetMessage("Messages", "Popup3", 0); } void AOESanityDmg(string &in asParent, string &in asChild, int alState) { GiveSanityDamage(5, false); if(GetEntitiesCollide("Player", "ScriptArea_2")) } AddTimer("", 2, "AOESanityDmg"); { RE: Help needed! I can't find error in script. - Asphex - 02-28-2012 I think that the timer at the end of the script is ignored, because a new "part" isn't started like so: Spoiler below!
I'm new to scripting, but wanted to add my 2 cents. Maybe I'll learn something from this thread |