![]() |
Crowbar 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: Crowbar script (/thread-12653.html) Pages:
1
2
|
Crowbar script - Bozcovich - 01-17-2012 Hey, I'm trying to make a crowbar/destroying door script, but i keep getting error, Whats wrong with this code? ![]() void OnStart() { AddEntityCollideCallback("Player" , "ScriptArea_1" , "MonsterFunc1" , true , 1); } { AddUseItemCallback("1", "crowbar_1", "Mansion_1", UseCrowbarOnDoor, true); } void MonsterFunc1(string &in asParent, string &in asChild, int alState) { SetEntityActive("ghostgrunt", true); ShowEnemyPlayerPosition("ghostgrunt"); AddTimer("", 1, "TimerGruntEnd"); StartPlayerLookAt("AreaLookAt", 30, 50, ""); AddTimer("", 1, "TimerStopPlayerLook"); } Void UseCrowbarOnDoor(string &in asItem, string &in asEntity) { SetEntityActive("crowbar_joint_1", true); RemoveItem(asItem); } void TimerStopPlayerLook (string &in asTimer) { SetEntityActive("ghostgrunt", false); StopPlayerLookAt(); SetEntityActive("servant_grunt_1", true); } This is my code without the crowbar script and it works fine: void OnStart() { AddEntityCollideCallback("Player" , "ScriptArea_1" , "MonsterFunc1" , true , 1); } void MonsterFunc1(string &in asParent, string &in asChild, int alState) { SetEntityActive("ghostgrunt", true); ShowEnemyPlayerPosition("ghostgrunt"); AddTimer("", 1, "TimerGruntEnd"); StartPlayerLookAt("AreaLookAt", 30, 50, ""); AddTimer("", 1, "TimerStopPlayerLook"); } void TimerStopPlayerLook (string &in asTimer) { SetEntityActive("ghostgrunt", false); StopPlayerLookAt(); SetEntityActive("servant_grunt_1", true); } ![]() RE: Crowbar script - flamez3 - 01-17-2012 You have two void OnStarts? Anyway, use this: Quote:void OnStart()You are putting the callbacks in the wrong places. They go in void OnStart. And don't make another void OnStart for a different even. Look at the way I set it up and go from there. RE: Crowbar script - Shadowfied - 01-17-2012 All callbacks must be within the squiggly brackets of the onstart void. void OnStart() { They go here here here } etc. (01-17-2012, 02:24 AM)flamez3 Wrote: You have two void OnStarts? Anyway, use this:He does not have two OnStart's, if you read, he said that the other part was the script without the crowbar. RE: Crowbar script - Bozcovich - 01-17-2012 Thanks for the help, didnt know the Callbacks should be there ![]() RE: Crowbar script - Bozcovich - 01-17-2012 Gah, i get errors with this code, anyone knows why? The problem is with the Crowbar/breaking the door script. void OnStart() { AddEntityCollideCallback("Player" , "ScriptArea_1" , "MonsterFunc1" , true , 1); AddUseItemCallback("1", "crowbar_1", "mansion_1", "UseCrowbarOnDoor" , true); AddEntityCollideCallback("", "crowbar_joint_1", "ScriptArea_2", "BlowTheShit" , true); } Void BlowTheShit(string &in asEntity) { SetPropHealth("mansion_1", 0); } void MonsterFunc1(string &in asParent, string &in asChild, int alState) { SetEntityActive("ghostgrunt", true); ShowEnemyPlayerPosition("ghostgrunt"); AddTimer("", 1, "TimerGruntEnd"); StartPlayerLookAt("AreaLookAt", 30, 50, ""); AddTimer("", 1, "TimerStopPlayerLook"); } void UseCrowbarOnDoor(string &in asItem, string &in asEntity) { SetEntityActive("crowbar_joint_1", true); RemoveItem(asItem); } void TimerStopPlayerLook (string &in asTimer) { SetEntityActive("ghostgrunt", false); StopPlayerLookAt(); SetEntityActive("servant_grunt_1", true); } RE: Crowbar script - Shadowfied - 01-17-2012 Can you tell me what error you get? RE: Crowbar script - Bozcovich - 01-17-2012 Main(9,1):ERR: Identifier 'Void' is not a data type Main/6,1):ERR: No matching Signatures to 'AddEntityCollideCallback(string@&,string@&,string@&,string@&, const cool)' Main(10,1): ERR : Not all paths return a value RE: Crowbar script - SilentStriker - 01-17-2012 Main(9,1) problem: You have written void with a big V on void blowtheshit Main(6,1) problem: ("", "crowbar_joint_1", "ScriptArea_2", "BlowTheShit" , true); is written wrong it should be: AddEntityCollideCallback("crowbar_joint_1", "ScriptArea_2", "BlowTheShit" , true, 1); (I think) RE: Crowbar script - Bozcovich - 01-17-2012 Thanks! ![]() RE: Crowbar script - flamez3 - 01-17-2012 Your syntax is wrong. Replace (string &in asEntity) With (string &in asParent, string &in asChild, int alState) |