CMD:tow(playerid, params[]) { if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi inainte de a face asta."); if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pJob] == 8) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new m = GetVehicleModel(GetPlayerVehicleID(playerid)); if (m == 525) { if(PlayerInfo[playerid][pJob] == 8) return 0; if(GetPlayerVehicleID(playerid) == 525) return 0; if(GetPlayerState(playerid) == 2) { new Float:pX,Float:pY,Float:pZ; GetPlayerPos(playerid,pX,pY,pZ); new Float:vX,Float:vY,Float:vZ; new Found=0; new vid=0; while((vid<MAX_VEHICLES)&&(!Found)) { vid++; GetVehiclePos(vid,vX,vY,vZ); if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid))) { if(IsABike(vid) || GetVehicleModel(vid) == 448 || GetVehicleModel(vid) == 461 || GetVehicleModel(vid) == 462 || GetVehicleModel(vid) == 463 || GetVehicleModel(vid) == 468 || GetVehicleModel(vid) == 471 || GetVehicleModel(vid) == 521 || GetVehicleModel(vid) == 522 || GetVehicleModel(vid) == 523) { return 1; } if(IsAnOwnableCar(vid)) { SCM(playerid,COLOR_WHITE,"Nu ai voie sa tractezi masini personale."); return 1; } if(TowAcc[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "Nu poti tracta atat de repede o masina, trebuie sa astepti 2 minute."); Found=1; if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) { DetachTrailerFromVehicle(GetPlayerVehicleID(playerid)); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } else { AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid)); new rand; rand = random(sizeof(TowCarCk)); SetPlayerCheckpoint(playerid, TowCarCk[rand][0],TowCarCk[rand][1],TowCarCk[rand][2], 6); CP[playerid] = 34; } } } if(!Found) return SendClientMessage(playerid, COLOR_GREY, "There is no car near to you."); } else return SendClientMessage(playerid, COLOR_GREY, "You need to be the driver."); } else return SendClientMessage(playerid, COLOR_GREY, "You need to be in a tow truck to use this command."); } else return SendClientMessage(playerid, COLOR_GREY, "You need to be in a tow truck to use this command."); } else return SendClientMessage(playerid, COLOR_GREY, "You need to be a mechanic to use this command."); } return 1; }
How many threads you wanna open
![]() Why do you not stick to your threads? Like that: https://sampforum.blast.hk/showthread.php?tid=664417 |
CMD:tow(playerid, params[])
{
new Float:pX, Float:pY, Float:pZ, Float:vX,Float:vY,Float:vZ, Found, vid;
if(!IsPlayerConnected(playerid)) return 0;
if(APlayerData[playerid][LoggedIn] == false) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi inainte de a face asta.");
if(PlayerInfo[playerid][pJob] != 8) return SendClientMessage(playerid, COLOR_GREY, "You need to be a mechanic to use this command.");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You need to be the driver to use this command.");
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 525) return SendClientMessage(playerid, COLOR_GREY, "You need to be in a tow truck to use this command.");
GetPlayerPos(playerid, pX, pY, pZ);
while((vid<MAX_VEHICLES)&&(!Found))
{
vid++;
GetVehiclePos(vid,vX,vY,vZ);
if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
{
if(IsABike(vid) || GetVehicleModel(vid) == 448 || GetVehicleModel(vid) == 461 || GetVehicleModel(vid) == 462 || GetVehicleModel(vid) == 463 || GetVehicleModel(vid) == 468 || GetVehicleModel(vid) == 471 || GetVehicleModel(vid) == 521 || GetVehicleModel(vid) == 522 || GetVehicleModel(vid) == 523) return 1;
if(IsAnOwnableCar(vid)) return SendClientMessage(playerid, -1, "Nu ai voie sa tractezi masini personale.");
if(TowAcc[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "Nu poti tracta atat de repede o masina, trebuie sa astepti 2 minute.");
Found = 1;
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
DisablePlayerCheckpoint(playerid);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
}
else
{
AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
new rand = random(sizeof(TowCarCk));
SetPlayerCheckpoint(playerid, TowCarCk[rand][0],TowCarCk[rand][1],TowCarCk[rand][2], 6);
CP[playerid] = 34;
}
}
}
if(!Found) return SendClientMessage(playerid, COLOR_GREY, "There is no car near to you.");
return 1;
}
I've optimized the command for you:
pawn Код:
|