Woops. Let me take another stab at that, one moment.
EDIT: You're checking if a player is in the area 2 times when it's not really necessary. Try this:
pawn Код:
public ObjectPosCheck()
{
new objectid;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerData[i][Level] >= 5)
{
if(IsPlayerInRangeOfPoint(i, 1524.55212402,2779.05639648,11.42187500, 9.00))
{
if(ObjectData[lg1][down] == 0)
{
MoveObject(lg1, 1524.55212402,2787.05566406,11.42187500, 2.00);
objectid = lg1;
SetTimerEx("ObjectMoveBack", MoveObject(lg1, 1524.55212402,2787.05566406,11.42187500, 2.00) + 2500, false, "i", objectid);
ObjectData[lg1][down] = 1;
}
}
else if(IsPlayerInRangeOfPoint(i,1524.55212402,2767.21386719,11.42187500, 9.00))
{
if(ObjectData[lg2][down] == 0)
{
MoveObject(lg2,1524.55212402,2758.96386719,11.42187500, 2.00);
objectid = lg2;
SetTimerEx("ObjectMoveBack", MoveObject(lg2,1524.55212402,2758.96386719,11.42187500, 2.00) + 2500, false, "i", objectid);
ObjectData[lg2][down] = 1;
}
}
else if(IsPlayerInRangeOfPoint(i,1524.55212402,2773.19628906,10.67187500, 9.00))
{
if(ObjectData[lg3][down] == 0)
{
MoveObject(lg3,1524.55175781,2773.19628906,0.17187500, 2.00);
objectid = lg3;
SetTimerEx("ObjectMoveBack", MoveObject(lg3,1524.55175781,2773.19628906,0.17187500, 2.00) + 2500, false, "i", objectid);
ObjectData[lg3][down] = 1;
}
}
}
}
}
return 1;
}
EDIT 2: Sorry, messed up an if statement. Try it now.