Yes, it all has to be.
And the timer works now, before i changed it it didnt work.
And I write all scripts myself, just with help of the engine scripts.
Here is the complete script:
void OnEnter()
{
PlayMusic("Slender 1.ogg", true, 1.0f, 0.0f, 1, true);
}
void OnStart()
{
for (int i = 0; i < 10; i++)
{
AddEntityCollideCallback("Player" , "ScriptArea_" + 0 + i , "InArea" , true , 1);
}
for (int i = 11; i < 20; i++)
{
for (int j = 1; j < 5; j++)
AddEntityCollideCallback("Player" , "ScriptArea_" + i + "." + j, "FadeOut1" , true , 1);
}
SetSanityDrainDisabled(true);
AddEntityCollideCallback("Player" , "Music2" , "secondmusic" , true , 1);
AddEntityCollideCallback("Player" , "activeslendy_1" , "Slender1" , true , 1);
AddEntityCollideCallback("Player" , "activeslendy_2" , "Slender2" , true , 1);
}
bool IsInArea = false;
bool Slender_1active = false;
bool Slender_2active = false;
string LastArea = "00";
void secondmusic (string &in asParent, string &in asChild, int alState)
{
StopMusic(0.0f, 1);
PlayMusic("Slender 2.ogg", true, 1.0f, 0.0f, 2, true);
}
void Slender1 (string &in asParent, string &in asChild, int alState)
{
SetEntityActive("Slender_1", true);
Slender_1active = true;
AddDebugMessage("active", false);
}
void Slender2 (string &in asParent, string &in asChild, int alState)
{
SetEntityActive("Slender_2", true);
Slender_2active = true;
AddDebugMessage("active2", false);
}
void InArea(string &in asParent, string &in asChild, int alState)
{
string areanumber1 = StringSub(asChild, 11, 2);
if ("Slender_" + areanumber1[1] + active)
{
AddDebugMessage("InArea > if statement executing", false);
IsInArea = true;
LastArea = areanumber1;
AddTimer("Dead", 3, "Dead");
}
}
void Dead(string &in asTimer)
{
if(IsInArea == true)
{
FadeOut(0.5);
SetPlayerHealth(0);
}
}
void FadeOut1(string &in asParent, string &in asChild, int alState)
{
IsInArea = false;
string areanumber2 = StringSub(asChild, 11, 2);
int i1, i2;
i2 = areanumber2[0] *10 + areanumber2[1]; //LastArea 2 als int
i1 = LastArea[0] *10 + LastArea[1]; //LastArea 1 als int
if(i1 == i2 - 10)
{
//FadeOut
AddDebugMessage("fade", false);
LastArea = areanumber2;
}
}
void OnLeave ()
{
SetupLoadScreen("", "", 5, "");
}
No one knows, how "I" goes.