PHP код:
CMD:lock(playerid, params[])
{
new type, carid;
if(sscanf(params, "i", params[0])) type = 1;
if(!isNumeric(params[0])) type = 1;
else type = strval(params[0]);
if(type > 3 || type < 1) type = 1;
if(pData[playerid][pCar] && type == 1) carid = pData[playerid][pCar];
else if(pData[playerid][pVehicleKey] && type == 3) carid = pData[playerid][pVehicleKey];
else if(type == 2) {
new vehicleid;
if(pData[playerid][pJob] == 1 && pTemp[playerid][pBusID] != INVALID_VEHICLE_ID)
{
vehicleid = pTemp[playerid][pBusID];
}
else if(pData[playerid][pJob] == 3 && pTemp[playerid][pTaxiID] != INVALID_PLAYER_ID)
{
vehicleid = pTemp[playerid][pTaxiID];
}
else if(pData[playerid][pJob] == 2 && pTemp[playerid][pTruckID] != INVALID_VEHICLE_ID)
{
vehicleid = pTemp[playerid][pTruckID];
}
else if(pData[playerid][pJob] == 4 && pTemp[playerid][pMechID] != INVALID_VEHICLE_ID )
{
vehicleid = pTemp[playerid][pMechID];
}
else if(pData[playerid][pJob] == 5 && pTemp[playerid][pDFTID] != INVALID_VEHICLE_ID )
{
vehicleid = pTemp[playerid][pDFTID];
}
else if(pTemp[playerid][pWork] == 1 && pTemp[playerid][pDozerID] != INVALID_VEHICLE_ID)
{
vehicleid = pTemp[playerid][pDozerID];
}
else return SendClientMessage(playerid,CGRAY,"У вас нет рабочего транспорта");
if(ToggleLock(vehicleid)) GameTextForPlayer(playerid,"~r~locked",3000,3);
else GameTextForPlayer(playerid,"~g~unlocked",3000,3);
return 1;
}
else return SendClientMessage(playerid,CGRAY,"У Вас нет т/с");
new slot = GetCarSlot(carid);
new Float:x, Float:y, Float:z;
new vehicleid = gCars[slot][carVid];
//if(!IsVehicleStreamedIn(vehicleid,playerid)) return SendClientMessage(playerid,CGRAY,"Вы далеко от своего т/с");
GetVehiclePos(vehicleid,x,y,z);
new Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x2,y2,z2);
if(PointToPoint3D(x,y,z,x2,y2,z2) > 6.0) return SendClientMessage(playerid,CGRAY,"Вы далеко от своего т/с");
if(!gVehicles[vehicleid-1][vLock])
{
for(new i;i<MAX_PLAYERS;i++) if(IsPlayerConnected(i) && IsVehicleStreamedIn(vehicleid,i)) SetVehicleParamsForPlayer(vehicleid,i,0,1);
gVehicles[vehicleid-1][vLock] = 1;
GameTextForPlayer(playerid,"locked",2000,3);
}
else if(gVehicles[vehicleid-1][vLock])
{
for(new i;i<MAX_PLAYERS;i++) if(IsPlayerConnected(i) && IsVehicleStreamedIn(vehicleid,i)) SetVehicleParamsForPlayer(vehicleid,i,0,0);
gVehicles[vehicleid-1][vLock] = 0;
GameTextForPlayer(playerid,"unlocked",2000,3);
}
return true;
}