if(IsPlayerInRangeOfPoint(playerid, GateInfo[gate][gRange], GateInfo[gate][gX], GateInfo[gate][gY], GateInfo[gate][gZ]))
{
if(GateInfo[gate][gModel] == 968)
{
if(GateInfo[gate][gStatus] == STATUS_GATE_CLOSED)
{
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX], GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]+90, 7.0);
GateInfo[gate][gStatus] = STATUS_GATE_OPEN;
}
else if(GateInfo[gate][gStatus] == STATUS_GATE_OPEN)
{
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX], GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]-90, 7.0);
GateInfo[gate][gStatus] = STATUS_GATE_CLOSED;
}
}
else
{
if(GateInfo[gate][gStatus] == STATUS_GATE_CLOSED)
{
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX], GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]+90, 7.0);
}
else if(GateInfo[gate][gStatus] == STATUS_GATE_OPEN)
{
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX], GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]-90, 7.0);
}
}
}
Repost your code I know you will have issues with this...
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX], GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]-90, 7.0); You don't need -90 since it has to move to it's return position. |
if(gate != -1)
{
if(IsPlayerInRangeOfPoint(playerid, GateInfo[gate][gRange], GateInfo[gate][gX], GateInfo[gate][gY], GateInfo[gate][gZ]))
{
if(GateInfo[gate][gModel] == 968)
{
if(GateInfo[gate][gStatus] == STATUS_GATE_CLOSED)
{
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX]+0.001, GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]+90, 7.0);
GateInfo[gate][gStatus] = STATUS_GATE_OPEN;
}
else if(GateInfo[gate][gStatus] == STATUS_GATE_OPEN)
{
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX]-0.001, GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]-90, 7.0);
GateInfo[gate][gStatus] = STATUS_GATE_CLOSED;
}
}
else
{
if(GateInfo[gate][gStatus] == STATUS_GATE_CLOSED)
{
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX]+0.001, GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]+90, 7.0);
}
else if(GateInfo[gate][gStatus] == STATUS_GATE_OPEN)
{
MoveDynamicObject(GateInfo[gate][gModel], GateInfo[gate][gX]-0.001, GateInfo[gate][gY], GateInfo[gate][gZ], GateInfo[gate][gRX], GateInfo[gate][gRY], GateInfo[gate][gRZ]-90, 7.0);
}
}
}
}