(12-03-2013, 12:11 PM)FlawlessHair Wrote: You need to use variables.
Variables work like this. You automaticly create one by writing:
AddLocalVarInt("LeverPuzzle", 1).
Now the variable is called "LeverPuzzle", and has the number 1.
Now what you want is that each lever makes the variable go up.
Each lever must call a callback called "LeverCallback". YOu write this in the ConnectionState in the entity's properties in the level editor..
Here is the script for the levers.
void LeverPuzzle(string &in asEntity, int alState)
{
if(alState == 1) //If the levers are pulled a specific way.
{
AddLocalVarInt("LeverPuzzle", 1)
}
if(GetLocalVarInt("LeverPuzzle") == 4) //If the variable is 4, which means all levers are pulled.
{
SetEntityActive("WaterEntity", false);
}
}
This is the simple version.
Oh, thanks for help
I'm going to check it and I will let ya know if it works.
It's not working
Here is my script
void OnStart()
{
AddLocalVarInt("LeverPuzzle", 1);
AddEntityCollideCallback("Player", "questPrison", "GetSearchQuest", true, 1);
AddEntityCollideCallback("Player", "ScriptArea_1", "GetRW", true, 1);
}
void GetSearchQuest(string &in asParent, string &in asChild, int alState)
{
AddQuest("memento05", "Memento05");
}
void GetRW(string &in asParent, string &in asChild, int alState)
{
AddQuest("memento06", "Memento06");
}
void LeverPuzzle(string &in asEntity, int alState)
{
if(alState == 1) //If the levers are pulled a specific way.
{
AddLocalVarInt("LeverPuzzle", 1);
}
if(GetLocalVarInt("LeverPuzzle") == 1) //If the variable is 4, which means all levers are pulled.
{
SetEntityActive("childsnake_floor_water_normal_1", false);
}
}
It gives me a fatal error; 23,1 - expected ";"
What should I do then?