Frictional Games Forum (read-only)
May someone please 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)
+--- Thread: May someone please help? (/thread-11866.html)



May someone please help? - spamqad - 12-15-2011

Ok so I am trying to create a small prank map to scare my friend, but my script is not working. What im trying to accomplish is when the player steps into ScriptArea_1 The brute spawns, and walks the nods if he cant find the player, But if the player tries to retreat to the closet ScriptArea_2 will be triggered and the monster inside the closet will spawn. However when I stepped into ScriptArea_1 nothing happened. Can someone please help me?
-----------------------------------------------------------------------------------------------------------

void OnStart()
{
AddEntityCollideCallback("Player", "PlayerCollide", "ScriptArea_1", true, 1);
}
void ScriptArea_1(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_brute_1", true);
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_7", 0, "");
AddEntityCollideCallback("Player", "PlayerCollide", "ScriptArea_2", true, 1);
}
void ScriptArea_2(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
}
-----------------------------------------------------------------------------------------------------------


RE: May someone please help? - triadtimes - 12-15-2011

If the area the player is walking into is called "ScriptArea_1" then that should be the second part of AddEntityCollideCallback, not the third. Also your third would then be called PlayerCollide (or whatever) and so would the function to call.

Also make sure to call the functions different names.

Code:
void OnStart()
{
AddEntityCollideCallback("Player", "ScriptArea_1", "PlayerCollide", true, 1);
}

void PlayerCollide(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_brute_1", true);
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_7", 0, "");
AddEntityCollideCallback("Player", "ScriptArea_2", "PlayerCollide2", true, 1);
}

void PlayerCollide2(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
}



RE: May someone please help? - spamqad - 12-15-2011

(12-15-2011, 03:30 AM)triadtimes Wrote: If the area the player is walking into is called "ScriptArea_1" then that should be the second part of AddEntityCollideCallback, not the third. Also your third would then be called PlayerCollide (or whatever) and so would the function to call.

Also make sure to call the functions different names.

Code:
void OnStart()
{
AddEntityCollideCallback("Player", "ScriptArea_1", "PlayerCollide", true, 1);
}

void PlayerCollide(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_brute_1", true);
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_5", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_6", 0, "");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_7", 0, "");
AddEntityCollideCallback("Player", "ScriptArea_2", "PlayerCollide2", true, 1);
}

void PlayerCollide2(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_1", true);
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_8", 0, "");
}
Thanks man. Couldn't thank you enough.