Frictional Games Forum (read-only)
"if" scripting - 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: "if" scripting (/thread-14012.html)



"if" scripting - FlawlessHappiness - 03-15-2012

I have a problem with the if scripting...
My idea is that a room is patroled by a monster, but to keep the monstermusic from being played all the time, the monster only spawns when you touch the door. Then after a few minutes it goes inactive again because it is has no more pathnodes.

Now, when you pick up a note that says you have to go to the other side of the patroled room, the monster will be gone.

Here is my script:
void OnStart()
{
SetEntityPlayerInteractCallback("door_teacher1", "OnInteract1", false);

}


void OnInteract1(string &in asEntity)
{
if(HasItem("note3") == true)
{

}
else

SetEntityActive("monster_teacher1", true);
AddEnemyPatrolNode("monster_teacher1", "PathNodeArea_1", 1, "");
AddEnemyPatrolNode("monster_teacher1", "PathNodeArea_2", 1, "");
}

The problem is that the monster spawns even though i've got the note


RE: "if" scripting - ClayPigeon - 03-15-2012

Try this:

if(HasItem("note3") == true)
{
SetEntityActive("monster_teacher1", false);
}



RE: "if" scripting - SilentStriker - 03-15-2012

More like

if(HasItem("note3"))

because the == true makes it if true then true



RE: "if" scripting - FlawlessHappiness - 03-15-2012

Nope still didnt... work...
I guess the script is setup so no matter what, it will run the script beneath "else" because the upper { and the lover } is connected. Then if i has the note it will first set the monster inactive, then set it active... i might try to do this with an area instead because the door will be buggy...
I guess i can just make the area go inactive then?


RE: "if" scripting - SilentStriker - 03-15-2012

Does it give you errors or is it just not working?



RE: "if" scripting - Your Computer - 03-15-2012

If it always yields to else, then it is safe to conclude that HasItem cannot be used to determine whether the player has a specific note.


RE: "if" scripting - FlawlessHappiness - 03-15-2012

It works fine except the monster is still there