06.01.2013, 12:40
i was creat 1 gate but they work and fine but when i create 2 they dnt work on moving
there is code
there is code
Код:
SetTimer("GateCheck", 800, true); //This is used to create the timer. The "GateCheck" is the callback we'll be using,
// the '800' is the amount of milliseconds between each call and the 'true' indicates that this timer is looping endlessly
gate = CreateObject(971, 2335.18, 2443.37, 7.06, 0.00, 0.00, 60.00);
gate = CreateObject(971, 2293.95, 2499.35, 4.28, 0.00, 0.00, 90.00);
//'gate = CreateObject(...);' = Assigns the object id of the gate to the 'gate' variable
//978 = object model id < change it to the model id you use for your gate
// 8.0, 3.0, 10.0 = coordinates of the gate
// 0.0, 0.0, 0.0 = Rotation of the gate. None in this case.
Код:
forward GateCheck();
public GateCheck()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
if(IsPlayerInRangeOfPoint(i, 10.0, 2335.18, 2443.37, 7.06))//Check if any player is in the area. Replace '8.0, 3.0, 10.0' with your own coordinates of your closed gate.
if(IsPlayerInRangeOfPoint(i, 10.0, 2293.95, 2499.35, 4.28))//Check if any player is in the area. Replace '8.0, 3.0, 10.0' with your own coordinates of your closed gate.
{
if(gateopen == false) // If the gate isn't open...
{
MoveObject(gate, 2335.18, 2443.37, -5.00, 2.5); //Then open it! Change '32.0, 12.0, 10.0' to the coordinates of your opened gate.
gateopen = true; // Setting this to true indicates it's open(ing)
MoveObject(gate, 10.0, 2293.95, 2499.35, 4.28, 2.5); //Then open it! Change '32.0, 12.0, 10.0' to the coordinates of your opened gate.
gateopen = true; // Setting this to true indicates it's open(ing)
}
return; //This closes the callback
}
}
//This is called if nobody has been found near the gate. Obviously, because 'return' would fully close the function and this wouldn't be used then.
if(gateopen == true) //If the gate IS open, but there's no one near..
{
MoveObject(gate, 2335.18, 2443.37, 7.06, 2.5);// Change the '8.0, 3.0, 10.0' to the coordinates of your gate when it's closed.
gateopen = false; //This indicates the gate is closed again. Or at least, closing.
MoveObject(gate, 2293.95, 2499.35, 4.28, 2.5); // Change the '8.0, 3.0, 10.0' to the coordinates of your gate when it's closed.
gateopen = false; //This indicates the gate is closed again. Or at least, closing.
}
}


