Frictional Games Forum (read-only)
[SCRIPT] Timer Error - 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: [SCRIPT] Timer Error (/thread-14381.html)



Timer Error - GoranGaming - 03-31-2012

So I am making a Timer Script for a scare, and I got this error:

[Image: xB2b2.png]

Here is my script:

AddEntityCollideCallback("Player", "HoleCeilingEvent", "CollideHoleCeilingEventFunc", true, 1);


void CollideHoleCeilingEventFunc(string &in asParent, string &in asChild, int alState)
{
AddTimer("starteventhole", 0, "CeilingHoleEvent");
AddTimer("voice1", 1, "CeilingHoleEvent");
AddTimer("rock1", 1.5f, "CeilingHoleEvent");
AddTimer("rock2", 2.0f, "CeilingHoleEvent");
AddTimer("voice2", 3.0f, "CeilingHoleEvent");

}
void CeilingHoleEvent(string &in Timer)
{
string x = asTimer; <--- It says that this is the problem!
if (x == "starteventhole")
{
StartScreenShake(0.008f, 2.5f, 2.0f,6.0f);
}
else if (x == "voice1")
{
PlayGuiSound("react_scare4.ogg", 1);
}
else if (x == "rock1")
{
SetEntityActive("RockCeiling1", true);
}
else if (x == "rock2")
{
SetEntityActive("RockCeiling2", true);
}
else if (x == "voice2")
{
PlayGuiSound("react_scare2.ogg", 1);
}
}


Could anybody help? Smile


RE: Timer Error - SilentStriker - 03-31-2012

Do like this instead,

AddEntityCollideCallback("Player", "HoleCeilingEvent", "CollideHoleCeilingEventFunc", true, 1);




void CollideHoleCeilingEventFunc(string &in asParent, string &in asChild, int alState)
{
AddTimer("starteventhole", 0, "CeilingHoleEvent");
AddTimer("voice1", 1, "CeilingHoleEvent");
AddTimer("rock1", 1.5f, "CeilingHoleEvent");
AddTimer("rock2", 2.0f, "CeilingHoleEvent");
AddTimer("voice2", 3.0f, "CeilingHoleEvent");
}

void CeilingHoleEvent(string &in Timer)
{
if (asTimer == "starteventhole")
{
StartScreenShake(0.008f, 2.5f, 2.0f,6.0f);
}

else if (asTimer == "voice1")
{
PlayGuiSound("react_scare4.ogg", 1);
}

else if (asTimer == "rock1")
{
SetEntityActive("RockCeiling1", true);
}

else if (asTimer == "rock2")
{
SetEntityActive("RockCeiling2", true);
}

else if (asTimer == "voice2")
{
PlayGuiSound("react_scare2.ogg", 1);
}
}





RE: Timer Error - Your Computer - 03-31-2012

asTimer is not declared because the parameter is named Timer. The tutorial you followed does something weird: it creates a new string instead of using the parameter or simply renaming the parameter to x.


RE: Timer Error - SilentStriker - 03-31-2012

Oh yea... forgot void CeilingHoleEvent(string &in Timer)

should then be void CeilingHoleEvent(string &in asTimer)