02.03.2016, 13:58
Never Mind.
Thanks and Regards,
Rodri.
Thanks and Regards,
Rodri.
define SCM SendClientMessage
new isfrozen[MAX_PLAYERS], ftimer[MAX_PLAYERS];
CMD:stopcar(playerid,params[])
{
if(isfrozen[playerid] == 1)
{
KillTimer(ftimer[playerid]);
isfrozen[playerid] = 0;
SCM(playerid,COLOR_LIGHTRED,"Your vehicle has been unfrozen!");
}
else if(isfrozen[playerid] == 0 || !isfrozen[playerid])
{
if(IsPlayerInAnyVehicle(playerid))
{
ftimer[playerid] = SetTimerEx("freeze",1,1,"i",playerid);
isfrozen[playerid] = 1;
SCM(playerid,COLOR_LIGHTRED,"Your vehicle has been frozen!");
}
}
return 1;
}
forward freeze(playerid);
public freeze(playerid)
{
SetVehicleVelocity(GetPlayerVehicleID(playerid),0,0,0);
return 1;
}
stock ToggleVehicleControllable(vehicleid, bool: status)
{
if(status == false)
{
new Float: pos[3];
GetVehiclePos(vehicleid, pos[0], pos[1], pos[2]);
FrozenPos[vehicleid][0] = pos[0], FrozenPos[vehicleid][1] = pos[1], FrozenPos[vehicleid][2] = pos[2];
FrozenTimer[vehicleid] = SetTimerEx("CheckPos", 1000, true, "d", vehicleid);
return 1;
}
else
{
KillTimer(FrozenTimer[vehicleid]);
FrozenTimer[vehicleid] = -1;
}
return true;
}
public CheckPos(vehicleid)
{
new Float: pos[3];
GetVehiclePos(vehicleid, pos[0], pos[1], pos[2]);
if(pos[0] != FrozenPos[vehicleid][0] || pos[1] != FrozenPos[vehicleid][1] || pos[2] != FrozenPos[vehicleid][2]))
{
SetVehiclePos(vehicleid, FrozenPos[vehicleid][0], FrozenPos[vehicleid][1], FrozenPos[vehicleid][2]);
return true;
}
return 1;
}