11.08.2012, 18:22
i may be wrong, but i may have found a simple error... i personally script all my gates with 2 commands. 1 for open and 1 for close, but i think the issue could be
all i have done is added a simple "return 1;" to each of the commands. not sure if that is the issue on this one, but without that, it was processing straight through and not pausing to verify the previous command.
hope this helps..
pawn Код:
#include <a_samp>
new Gate, bool:GateClosed = true;
public OnFilterScriptInit()
{
Gate = CreateObject(968, 3268.3994140625, 150.5, 9.8999996185303, 0.0, 270.74993896484, 282.7470703125, 100.0);
SetTimer("GateCheck", 3500, true);
return 1;
}
forward GateCheck();
public GateCheck()
{
if(!IsObjectMoving(Gate)){
for(new i; i<GetMaxPlayers(); i++){
if(IsPlayerInRangeOfPoint(i, 15.0, 3268.3994140625, 150.5, 9.8999996185303)) {
if(GateClosed){
GateClosed = false;
MoveObject(Gate, 3268.3994140625, 150.5, 9.8999996185303, 2.0, 0.0, 359.75006103516, 282.744140625);
SendClientMessage(i, 0xFF9D00FF, "You are ready to go!");
return 1;
} else {
GateClosed = true;
MoveObject(Gate, 3268.3994140625, 150.5, 9.8999996185303, 2.0, 0.0, 270.74993896484, 282.7470703125);
return 1;
}
}
}
}
hope this helps..