Voi pune mai jos tot sistemul , sper sa fie de folos .. public LoadCar()
{
new arrCoords[30][64], strFromFile2[256];
new File: file = fopen("pcars.cfg", io_read);
if (file)
{
new idx = carsonserver;
while (idx < sizeof(CarInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
CarInfo[idx][cModel] = strval(arrCoords[0]);
CarInfo[idx][cLocationx] = floatstr(arrCoords[1]);
CarInfo[idx][cLocationy] = floatstr(arrCoords[2]);
CarInfo[idx][cLocationz] = floatstr(arrCoords[3]);
CarInfo[idx][cAngle] = floatstr(arrCoords[4]);
CarInfo[idx][cColorOne] = strval(arrCoords[5]);
CarInfo[idx][cColorTwo] = strval(arrCoords[6]);
strmid(CarInfo[idx][cOwner], arrCoords[7], 0, strlen(arrCoords[7]), 255);
strmid(CarInfo[idx][cDescription], arrCoords[8], 0, strlen(arrCoords[8]), 255);
//CarInfo[idx][cValue] = strval(arrCoords[9]);
CarInfo[idx][cOwned] = strval(arrCoords[9]);
CarInfo[idx][mod1] = strval(arrCoords[10]);
CarInfo[idx][mod2] = strval(arrCoords[11]);
CarInfo[idx][mod3] = strval(arrCoords[12]);
CarInfo[idx][mod4] = strval(arrCoords[13]);
CarInfo[idx][mod5] = strval(arrCoords[14]);
CarInfo[idx][mod6] = strval(arrCoords[15]);
CarInfo[idx][mod7] = strval(arrCoords[16]);
CarInfo[idx][mod8] = strval(arrCoords[17]);
CarInfo[idx][mod9] = strval(arrCoords[18]);
CarInfo[idx][mod10] = strval(arrCoords[19]);
CarInfo[idx][mod11] = strval(arrCoords[20]);
CarInfo[idx][mod12] = strval(arrCoords[21]);
CarInfo[idx][mod13] = strval(arrCoords[22]);
CarInfo[idx][mod14] = strval(arrCoords[23]);
CarInfo[idx][mod15] = strval(arrCoords[24]);
CarInfo[idx][mod16] = strval(arrCoords[25]);
CarInfo[idx][mod17] = strval(arrCoords[26]);
CarInfo[idx][paintjob] = strval(arrCoords[27]);
LoadComponents(idx);
idx++;
}
for(new h = carsonserver; h < sizeof(CarInfo); h++)
{
AddStaticVehicleEx(CarInfo[h][cModel], CarInfo[h][cLocationx], CarInfo[h][cLocationy], CarInfo[h][cLocationz]+1.0, CarInfo[h][cAngle], CarInfo[h][cColorOne], CarInfo[h][cColorTwo], -1);
LoadComponents(h), SetVehicleVirtualWorld(h, 255);
}
}
return 1;
}
public SaveCarCoords()
{
new idx;
new File: file2;
while (idx < sizeof(CarInfo))
{
new coordsstring2[256];
format(coordsstring2, sizeof(coordsstring2), "%d|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
CarInfo[idx][cModel],
CarInfo[idx][cLocationx],
CarInfo[idx][cLocationy],
CarInfo[idx][cLocationz],
CarInfo[idx][cAngle],
CarInfo[idx][cColorOne],
CarInfo[idx][cColorTwo],
CarInfo[idx][mod1],
CarInfo[idx][mod2],
CarInfo[idx][mod3],
CarInfo[idx][mod4],
CarInfo[idx][mod5],
CarInfo[idx][mod6],
CarInfo[idx][mod7],
CarInfo[idx][mod8],
CarInfo[idx][mod9],
CarInfo[idx][mod10],
CarInfo[idx][mod11],
CarInfo[idx][mod12],
CarInfo[idx][mod13],
CarInfo[idx][mod14],
CarInfo[idx][mod15],
CarInfo[idx][mod16],
CarInfo[idx][mod17],
CarInfo[idx][paintjob]);
if(idx == carsonserver)
{
file2 = fopen("pcars.cfg", io_write);
}
else
{
file2 = fopen("pcars.cfg", io_append);
}
fwrite(file2, coordsstring2);
idx++;
fclose(file2);
}
return 1;
}
public LoadComponents(vehicleid)
{
if(CarInfo[vehicleid][cOwned] == 1)
{
if(CarInfo[vehicleid][mod1] >= 1000 && CarInfo[vehicleid][mod1] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod1])) != CarInfo[vehicleid][mod1]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod1]); }
}
if(CarInfo[vehicleid][mod2] >= 1000 && CarInfo[vehicleid][mod2] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod2])) != CarInfo[vehicleid][mod2]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod2]); }
}
if(CarInfo[vehicleid][mod3] >= 1000 && CarInfo[vehicleid][mod3] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod3])) != CarInfo[vehicleid][mod3]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod3]); }
}
if(CarInfo[vehicleid][mod4] >= 1000 && CarInfo[vehicleid][mod4] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod4])) != CarInfo[vehicleid][mod4]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod4]); }
}
if(CarInfo[vehicleid][mod5] >= 1000 && CarInfo[vehicleid][mod5] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod5])) != CarInfo[vehicleid][mod5]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod5]); }
}
if(CarInfo[vehicleid][mod6] >= 1000 && CarInfo[vehicleid][mod6] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod6])) != CarInfo[vehicleid][mod6]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod6]); }
}
if(CarInfo[vehicleid][mod7] >= 1000 && CarInfo[vehicleid][mod7] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod7])) != CarInfo[vehicleid][mod7]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod7]); }
}
if(CarInfo[vehicleid][mod8] >= 1000 && CarInfo[vehicleid][mod8] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod8])) != CarInfo[vehicleid][mod8]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod8]); }
}
if(CarInfo[vehicleid][mod9] >= 1000 && CarInfo[vehicleid][mod9] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod9])) != CarInfo[vehicleid][mod9]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod9]); }
}
if(CarInfo[vehicleid][mod10] >= 1000 && CarInfo[vehicleid][mod10] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod10])) != CarInfo[vehicleid][mod10]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod10]); }
}
if(CarInfo[vehicleid][mod11] >= 1000 && CarInfo[vehicleid][mod11] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod11])) != CarInfo[vehicleid][mod11]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod11]); }
}
if(CarInfo[vehicleid][mod12] >= 1000 && CarInfo[vehicleid][mod12] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod12])) != CarInfo[vehicleid][mod12]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod12]); }
}
if(CarInfo[vehicleid][mod13] >= 1000 && CarInfo[vehicleid][mod13] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod13])) != CarInfo[vehicleid][mod13]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod13]); }
}
if(CarInfo[vehicleid][mod14] >= 1000 && CarInfo[vehicleid][mod14] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod14])) != CarInfo[vehicleid][mod14]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod14]); }
}
if(CarInfo[vehicleid][mod15] >= 1000 && CarInfo[vehicleid][mod15] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod15])) != CarInfo[vehicleid][mod15]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod15]); }
}
if(CarInfo[vehicleid][mod16] >= 1000 && CarInfo[vehicleid][mod16] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod16])) != CarInfo[vehicleid][mod16]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod16]); }
}
if(CarInfo[vehicleid][mod17] >= 1000 && CarInfo[vehicleid][mod17] <= 1193)
{
if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod17])) != CarInfo[vehicleid][mod17]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod17]); }
}
if(CarInfo[vehicleid][paintjob] > -1) { ChangeVehiclePaintjob(vehicleid,CarInfo[vehicleid][paintjob]); ChangeVehicleColor(vehicleid, 1, 1); }
else { ChangeVehicleColor(vehicleid, CarInfo[vehicleid][cColorOne], CarInfo[vehicleid][cColorTwo]); }
}
return 1;
}
public OnCarUpdate()
{
new idx, File: file2;
idx = carsonserver;
while (idx < sizeof(CarInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%f,%d,%d,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
CarInfo[idx][cModel],
CarInfo[idx][cLocationx],
CarInfo[idx][cLocationy],
CarInfo[idx][cLocationz],
CarInfo[idx][cAngle],
CarInfo[idx][cColorOne],
CarInfo[idx][cColorTwo],
CarInfo[idx][cOwner],
CarInfo[idx][cDescription],
//CarInfo[idx][cValue],
CarInfo[idx][cOwned],
CarInfo[idx][mod1],
CarInfo[idx][mod2],
CarInfo[idx][mod3],
CarInfo[idx][mod4],
CarInfo[idx][mod5],
CarInfo[idx][mod6],
CarInfo[idx][mod7],
CarInfo[idx][mod8],
CarInfo[idx][mod9],
CarInfo[idx][mod10],
CarInfo[idx][mod11],
CarInfo[idx][mod12],
CarInfo[idx][mod13],
CarInfo[idx][mod14],
CarInfo[idx][mod15],
CarInfo[idx][mod16],
CarInfo[idx][mod17],
CarInfo[idx][paintjob]);
if(idx == carsonserver)
{
file2 = fopen("pcars.cfg", io_write);
}
else
{
file2 = fopen("pcars.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
public IsAnOwnableCar(vehicleid)
{
if(vehicleid >= carsonserver && vehicleid <= MAX_VEHICLES) { return 1; }
return 0;
}
public CarMods(vehicleid)
{
if(CarInfo[vehicleid][paintjob] > -1 || CarInfo[vehicleid][mod1] > 0 || CarInfo[vehicleid][mod2] > 0 || CarInfo[vehicleid][mod3] > 0 || CarInfo[vehicleid][mod4] > 0 || CarInfo[vehicleid][mod5] > 0 || CarInfo[vehicleid][mod6] > 0 || CarInfo[vehicleid][mod7] > 0 || CarInfo[vehicleid][mod8] > 0)
{
return 1;
}
else if (CarInfo[vehicleid][mod9] > 0 || CarInfo[vehicleid][mod10] > 0 || CarInfo[vehicleid][mod11] > 0 || CarInfo[vehicleid][mod12] > 0|| CarInfo[vehicleid][mod13] > 0|| CarInfo[vehicleid][mod14] > 0|| CarInfo[vehicleid][mod15] > 0|| CarInfo[vehicleid][mod16] > 0|| CarInfo[vehicleid][mod17] > 0)
{
return 1;
}
return 0;
}
public SavePlayerData(playerid)
{
if(IsPlayerConnected(playerid))
{
new string3[32];
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "VehiculePersonale/%s.ini", playername3);
new File: hFile = fopen(string3, io_write);
if (hFile)
{
new var[32];
format(var, 32, "CarKey=%d\n",PlayerInfo[playerid][pPcarkey]);fwrite(hFile, var);
format(var, 32, "CarKey2=%d\n",PlayerInfo[playerid][pPcarkey2]);fwrite(hFile, var);
format(var, 32, "CarKey3=%d\n",PlayerInfo[playerid][pPcarkey3]);fwrite(hFile, var);
fclose(hFile);
}
}
return 1;
}
public CarKeys(playerid)
{
new string2[64];
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
format(string2, sizeof(string2), "VehiculePersonale/%s.ini", playername2);
new File: UserFile = fopen(string2, io_read);
if ( UserFile )
{
new key[ 256 ] , val[ 256 ];
new Data[ 256 ];
while ( fread( UserFile , Data , sizeof( Data ) ) )
{
key = ini_GetKey( Data );
if( strcmp( key , "CarKey" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey] = strval( val ); }
if( strcmp( key , "CarKey2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey2] = strval( val ); }
if( strcmp( key , "CarKey3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey3] = strval( val ); }
}
fclose(UserFile);
}
return 1;
}
Comanda /v :
//==========================[/v(ehicle)]========================================
if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicle", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new x_nr[64];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_WHITE, "____________[Personal Vehicle Help]____________");
SendClientMessage(playerid, COLOR_WHITE, "** {1AFF00}(/v)ehicle {09DFF7}[name]");
SendClientMessage(playerid, COLOR_WHITE, "**park, color, tow(1-3), fix(1-3), find(1-3), model, create");
return 1;
}
if(strcmp(x_nr,"create",true) == 0)
{
if(PlayerInfo[playerid][pLevel] >= 3)
{
if(PlayerInfo[playerid][pPcarkey] == -1 && PlayerInfo[playerid][pPcarkey2] == -1 && PlayerInfo[playerid][pPcarkey3] == -1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "USAGE: /v create [carid] [color1] [color2]"); return 1; }
new car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_WHITE, "{0950F7}* Vehicle Number can't be below 400 or above 611 !"); return 1; }
if(IsInvalidVehicleId(car) == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Invalid vehicle model !"); return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "USAGE: /v create [carid] [color1] [color2]"); return 1; }
new color1 = strval(tmp);
if(color1 < 0 || color1 > 255) { SendClientMessage(playerid, COLOR_WHITE, "{0950F7}* Color Number can't be below 0 or above 255 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "USAGE: /v create [carid] [color1] [color2]"); return 1; }
new color2 = strval(tmp);
if(color2 < 0 || color2 > 255) { SendClientMessage(playerid, COLOR_WHITE, "{0950F7}* Color Number can't be below 0 or above 255 !"); return 1; }
new thiscar, Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new Float:a;
GetPlayerFacingAngle(playerid, a);
GetPlayerName(playerid, sendername, sizeof(sendername));
thiscar = CreateVehicle(car, X, Y, Z, a,color1,color2,60000);
if(PlayerInfo[playerid][pPcarkey] == -1) { PlayerInfo[playerid][pPcarkey] = thiscar; }
else if(PlayerInfo[playerid][pPcarkey2] == -1) { PlayerInfo[playerid][pPcarkey2] = thiscar; }
else if(PlayerInfo[playerid][pPcarkey3] == -1) { PlayerInfo[playerid][pPcarkey3] = thiscar; }
CarInfo[thiscar][cOwned] = 1;
CarInfo[thiscar][cModel] = car;
CarInfo[thiscar][cColorOne] = color1;
CarInfo[thiscar][cColorTwo] = color2;
CarInfo[thiscar][cLocationx] = X;
CarInfo[thiscar][cLocationy] = Y;
CarInfo[thiscar][cLocationz] = Z;
CarInfo[thiscar][cAngle] = a;
CarInfo[thiscar][paintjob] = -1;
strmid(CarInfo[thiscar][cOwner], sendername, 0, strlen(sendername), 999);
format(CarInfo[thiscar][cDescription], 32, "%s", vehName[GetVehicleModel(thiscar) - 400]);
format(TextCar, sizeof(TextCar), "{0099FF}LS-666-CVL", CarInfo[thiscar][cOwner]);
TextUpCar[thiscar] = Create3DTextLabel(TextCar, 0x33AAFFFF , 0.0, 0.0, 0.0, 25, 0, 1);
Attach3DTextLabelToVehicle(TextUpCar[thiscar], thiscar, 0.0, 0.0, 0.1);
OnCarUpdate(), SavePlayerData(playerid);
} else { SendClientMessage(playerid, COLOR_WHITE, "Ai deja o masina creeata de tine !"); }
} else { SendClientMessage(playerid, COLOR_WHITE, "Trebuie sa ai level 3 !"); }
return 1;
}
else if(strcmp(x_nr,"park",true) == 0)
{
new Float:x,Float:y,Float:z;
new Float:a;
new carid;
new getcarid = GetPlayerVehicleID(playerid);
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid = PlayerInfo[playerid][pPcarkey]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { carid = PlayerInfo[playerid][pPcarkey2]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { carid = PlayerInfo[playerid][pPcarkey3]; }
else { return 1; }
GetPlayerName(playerid, playername, sizeof(playername));
GetVehiclePos(carid, x, y, z);
GetVehicleZAngle(carid, a);
if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
{
if(PlayerInfo[playerid][pPcarkey] == -1 && PlayerInfo[playerid][pPcarkey2] == -1 && PlayerInfo[playerid][pPcarkey3] == -1)
{
SendClientMessage(playerid, COLOR_GREY, "You don't own a car!");
return 1;
}
if(getcarid == carid)
{
new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
CarInfo[carid][cLocationx] = x;
CarInfo[carid][cLocationy] = y;
CarInfo[carid][cLocationz] = z;
CarInfo[carid][cAngle] = a;
GetVehicleDamageStatus(carid,panels,doors,lights,tires);
GetVehicleHealth(carid, CarHP); OldCarHP = CarHP;
OnCarUpdate(); DestroyVehicle(carid);
CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
LoadComponents(carid);
SendClientMessage(playerid, COLOR_BLUE, "* Noua pozitie a fost salvata!");
SetVehicleHealth(carid, OldCarHP);
UpdateVehicleDamageStatus(carid, panels, doors, lights, tires);
return 1;
}
}
}
/*else if(strcmp(x_nr,"buy",true) == 0)
{
if(IsAnOwnableCar(idcar))
{
if(PlayerInfo[playerid][pPcarkey] == -1) { }
else if(PlayerInfo[playerid][pPcarkey2] == -1) { }
else if(PlayerInfo[playerid][pPcarkey3] == -1) { }
else { SendClientMessage(playerid, COLOR_GREY, "* Ai deja 3 masini!"); return 1; }
if(CarInfo[idcar][cOwned]==1)
{
SendClientMessage(playerid, COLOR_GREY, "Someone already owns this car.");
return 1;
}
if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue])
{
if(PlayerInfo[playerid][pPcarkey] == -1) { PlayerInfo[playerid][pPcarkey] = idcar; }
else if(PlayerInfo[playerid][pPcarkey2] == -1) { PlayerInfo[playerid][pPcarkey2] = idcar; }
else if(PlayerInfo[playerid][pPcarkey3] == -1) { PlayerInfo[playerid][pPcarkey3] = idcar; }
else { return 1; }
CarInfo[idcar][cOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 999);
GivePlayerMoney(playerid,-CarInfo[idcar][cValue]);
Delete3DTextLabel(TextUpCar[idcar]);
//format(TextCar, sizeof(TextCar), "{EE1111}Owner: {0099FF}• %s •", CarInfo[idcar][cOwner]);
//TextUpCar[idcar] = Create3DTextLabel(TextCar, 0x33AAFFFF, 0.0, 0.0, 0.0, 25, 0, 1);
//Attach3DTextLabelToVehicle(TextUpCar[idcar], idcar, 0.0, 0.0, 0.1);
OnCarUpdate(); SavePlayerData(playerid);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
GameTextForPlayer(playerid, "~w~Felicitari~n~Nu uita sa o parchezi cu /v park !", 5000, 3);
TogglePlayerControllable(playerid, 1);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " You don't have enough cash with you!");
return 1;
}
}
}*/
else if(strcmp(x_nr,"color",true) == 0)
{
if(PlayerInfo[playerid][pPcarkey] == -1 && PlayerInfo[playerid][pPcarkey2] == -1 && PlayerInfo[playerid][pPcarkey3] == -1)
{
SendClientMessage(playerid, COLOR_GREY," You don't have a Vehicle to respray.");
return 1;
}
if(GetPlayerMoney(playerid) < 1000)
{
SendClientMessage(playerid, COLOR_GREY," You don't have enough money for vehicle respray.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 && color1 > 255)
{
SendClientMessage(playerid, COLOR_GREY, " Wrong color id!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 && color2 > 255)
{
SendClientMessage(playerid, COLOR_GREY, " Wrong color id!");
return 1;
}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { vehid = PlayerInfo[playerid][pPcarkey2]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { vehid = PlayerInfo[playerid][pPcarkey3]; }
else { return 1; }
if(IsPlayerInVehicle(playerid, vehid))
{
new Float:CarHP, Float:OldCarHP;
new panels, doors, lights, tires;
GetVehicleDamageStatus(vehid, panels, doors, lights, tires);
GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
CarInfo[vehid][cColorOne] = color1;
CarInfo[vehid][cColorTwo] = color2;
GivePlayerMoney(playerid, -1000);
GameTextForPlayer(playerid, "~w~Masina Personala~n~~g~Revopsita cu succes~n~~r~$-100", 5000, 1);
ChangeVehicleColor(vehid, color1, color2);
SetVehicleToRespawn(vehid);
SetVehicleHealth(vehid, OldCarHP);
UpdateVehicleDamageStatus(vehid, panels, doors, lights, tires);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
OnCarUpdate();
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY," You are not in your Personal car!");
return 1;
}
}
else if(strcmp(x_nr,"find1",true) == 0)
{
if(!IsPlayerConnected(playerid)) { return 1; }
new Float:x,Float:y,Float:z;
new car = PlayerInfo[playerid][pPcarkey];
if(PlayerInfo[playerid][pPcarkey]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
GetVehiclePos(car, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 6);
if(IsPlayerInRangeOfPoint(playerid, x, y, z, 6)) { DisablePlayerCheckpoint(playerid); }
return 1;
}
else if(strcmp(x_nr,"find2",true) == 0)
{
if(!IsPlayerConnected(playerid)) { return 1; }
new Float:x,Float:y,Float:z;
new car = PlayerInfo[playerid][pPcarkey2];
if(PlayerInfo[playerid][pPcarkey2]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
GetVehiclePos(car, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 6);
if(IsPlayerInRangeOfPoint(playerid, x, y, z, 6)) { DisablePlayerCheckpoint(playerid); }
return 1;
}
else if(strcmp(x_nr,"find3",true) == 0)
{
if(!IsPlayerConnected(playerid)) { return 1; }
new Float:x,Float:y,Float:z;
new car = PlayerInfo[playerid][pPcarkey3];
if(PlayerInfo[playerid][pPcarkey3]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
GetVehiclePos(car, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 6);
if(IsPlayerInRangeOfPoint(playerid, x, y, z, 6)) { DisablePlayerCheckpoint(playerid); }
return 1;
}
else if(strcmp(x_nr,"tow1",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Float:CarHP, Float:OldCarHP;
new panels,doors,lights,tires;
new car = PlayerInfo[playerid][pPcarkey];
GetPlayerName(playerid, playername, sizeof(playername));
if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey]][cOwner], true) == 0)
{
GetVehicleDamageStatus(car,panels,doors,lights,tires);
GetVehicleHealth(car, CarHP); OldCarHP = CarHP;
GameTextForPlayer(playerid, "~w~Masina personala~n~~g~Tractata cu succes~n~~r~$-1.500", 5000, 1);
GivePlayerMoney(playerid,-1500);
SetVehicleToRespawn(car);
SetVehicleHealth(car, OldCarHP);
UpdateVehicleDamageStatus(car, panels, doors, lights, tires);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
}
}
}
else if(strcmp(x_nr,"tow2",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Float:CarHP, Float:OldCarHP;
new panels,doors,lights,tires;
new car = PlayerInfo[playerid][pPcarkey2];
GetPlayerName(playerid, playername, sizeof(playername));
if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey2]][cOwner], true) == 0)
{
GetVehicleDamageStatus(car,panels,doors,lights,tires);
GetVehicleHealth(car, CarHP); OldCarHP = CarHP;
GameTextForPlayer(playerid, "~w~Masina personala~n~~g~Tractata cu succes~n~~r~$-1.500", 5000, 1);
GivePlayerMoney(playerid,-1500);
SetVehicleToRespawn(car);
SetVehicleHealth(car, OldCarHP);
UpdateVehicleDamageStatus(car, panels, doors, lights, tires);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
}
}
}
else if(strcmp(x_nr,"tow3",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Float:CarHP, Float:OldCarHP;
new panels,doors,lights,tires;
new car = PlayerInfo[playerid][pPcarkey3];
GetPlayerName(playerid, playername, sizeof(playername));
if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey3]][cOwner], true) == 0)
{
GetVehicleDamageStatus(car,panels,doors,lights,tires);
GetVehicleHealth(car, CarHP); OldCarHP = CarHP;
GameTextForPlayer(playerid, "~w~Masina personala~n~~g~Tractata cu succes~n~~r~$-1.500", 5000, 1);
GivePlayerMoney(playerid,-1500);
SetVehicleToRespawn(car);
SetVehicleHealth(car, OldCarHP);
UpdateVehicleDamageStatus(car, panels, doors, lights, tires);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
}
}
}
else if(strcmp(x_nr,"fix1",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new car = PlayerInfo[playerid][pPcarkey];
GetPlayerName(playerid, playername, sizeof(playername));
if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey]][cOwner], true) == 0)
{
GameTextForPlayer(playerid, "~w~Masina personala~n~~g~Reparata cu succes~n~~r~$-2.500", 5000, 1);
GivePlayerMoney(playerid,-2500);
SetVehicleToRespawn(car);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
}
}
}
else if(strcmp(x_nr,"fix2",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new car = PlayerInfo[playerid][pPcarkey2];
GetPlayerName(playerid, playername, sizeof(playername));
if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey2]][cOwner], true) == 0)
{
GameTextForPlayer(playerid, "~w~Masina personala~n~~g~Reparata cu succes~n~~r~$-2.500", 5000, 1);
GivePlayerMoney(playerid,-2500);
SetVehicleToRespawn(car);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
}
}
}
else if(strcmp(x_nr,"fix3",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new car = PlayerInfo[playerid][pPcarkey3];
GetPlayerName(playerid, playername, sizeof(playername));
if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey3]][cOwner], true) == 0)
{
GameTextForPlayer(playerid, "~w~Masina personala~n~~g~Reparata cu succes~n~~r~$-2.500", 5000, 1);
GivePlayerMoney(playerid,-2500);
SetVehicleToRespawn(car);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
}
}
}
else if(strcmp(x_nr,"model",true) == 0)
{
new Float:x,Float:y,Float:z;
new carid;
new Float:a;
new Float:CarHP, Float:OldCarHP;
new panels,doors,lights,tires;
carid = GetPlayerVehicleID(playerid);
GetVehiclePos(carid, x, y, z);
GetVehicleZAngle(carid, a);
if(IsPlayerInVehicle(playerid,carid))
{
if(PlayerInfo[playerid][pPcarkey] == -1 || PlayerInfo[playerid][pPcarkey2] == -1 || PlayerInfo[playerid][pPcarkey3] == -1)
{
SCM(playerid, COLOR_GREY, "Trebuie sa ai 3 masini personale pentru acces la /v model!");
return 1;
}
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid, COLOR_GREY,"You don't have enough money to change Car's Model.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GREY, "USAGE: /v model [idmodel]");
return 1;
}
new model;
model = strval(tmp);
if(model < 400 || model > 611)
{
SCM(playerid, COLOR_GREY, "* Id-ul modelului trebuie sa fie cuprins intre 400 si 611!");
return 1;
}
else
{
if(IsInvalidVehicleId(model) == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Invalid vehicle model !");
return 1;
}
//new tittle[128];
//new carkey = PlayerInfo[playerid][pPcarkey];
//format(tittle,128,"%s", CarInfo[carkey][cModel]);
//else
//{
CarInfo[carid][cModel] = model;
CarInfo[carid][cLocationx] = x;
CarInfo[carid][cLocationy] = y;
CarInfo[carid][cLocationz] = z;
CarInfo[carid][cAngle] = a;
//format(string, sizeof(string), "~n~ You changed Car's Model~n~");
GetVehicleDamageStatus(carid,panels,doors,lights,tires);
GetVehicleHealth(carid, CarHP); OldCarHP = CarHP;
OnCarUpdate(); DestroyVehicle(carid);
CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
LoadComponents(carid);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, COLOR_BLUE, "* Schimbarea modelului te-a costat $5.000!");
//format(string, sizeof(string), "~n~ You changed Car's Model~n~");
SetVehicleHealth(carid, OldCarHP);
UpdateVehicleDamageStatus(carid, panels, doors, lights, tires);
format(CarInfo[carid][cDescription], 32, "%s",vehName[model-400]);
return 1;
}
/*else
{
SCM(playerid, COLOR_GREY, "* Trebuie sa fi in masina pentru a utiliza comanda!");
return 1;
}*/
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "____________[Personal Vehicle Help]____________");
SendClientMessage(playerid, COLOR_WHITE, "** {1AFF00}(/v)ehicle {09DFF7}[name]");
SendClientMessage(playerid, COLOR_WHITE, "**park, color, tow(1-3), fix(1-3), findcar(1-3), model, create");
return 1;
}
}
return 1;
}
Si , OnDialogResponse :
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new sendername[MAX_PLAYER_NAME];
new string[128];
new vehid = GetPlayerVehicleID(playerid);
if(dialogid==DIALOGIDSETOWNER)
{
if(response)
{
new giveplayerid;
new idcar = GetPlayerVehicleID(playerid);
new namee[MAX_PLAYER_NAME];
GetPlayerName(playerid,namee,13);
if(IsPlayerInVehicle(playerid,idcar))
{
if(IsAnOwnableCar(idcar))
{
if(strlen(inputtext))
{
giveplayerid = ReturnUser(inputtext);
if(PlayerInfo[giveplayerid][pPcarkey] == -1) { }
else if(PlayerInfo[giveplayerid][pPcarkey2] == -1) { }
else if(PlayerInfo[giveplayerid][pPcarkey3] == -1) { }
else { SendClientMessage(playerid, COLOR_GREY, "* That player already have 3 Personal Cars!"); return 1; }
if(CarInfo[idcar][cOwned]==1)
{
SendClientMessage(playerid, COLOR_GREY, "* Someone already owns this Personal Car!");
return 1;
}
if(PlayerInfo[giveplayerid][pPcarkey] == -1) { PlayerInfo[giveplayerid][pPcarkey] = idcar; }
else if(PlayerInfo[giveplayerid][pPcarkey2] == -1) { PlayerInfo[giveplayerid][pPcarkey2] = idcar; }
else if(PlayerInfo[giveplayerid][pPcarkey3] == -1) { PlayerInfo[giveplayerid][pPcarkey3] = idcar; }
else { return 1; }
CarInfo[idcar][cOwned] = 1;
GetPlayerName(giveplayerid, sendername, sizeof(sendername));
strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 999);
OnCarUpdate(), SavePlayerData(giveplayerid);
format(TextCar, sizeof(TextCar), "{0099FF}LS-666-CVL", CarInfo[idcar][cOwner]);
TextUpCar[idcar] = Create3DTextLabel(TextCar, 0x33AAFFFF , 0.0, 0.0, 0.0, 25, 0, 1);
Attach3DTextLabelToVehicle(TextUpCar[idcar], idcar, 0.0, 0.0, 0.1);
format(string,128, " Personal Car set to %s", sendername);
SendClientMessage(playerid, COLOR_BLUE, string);
}
}
else SendClientMessage(playerid, COLOR_GREY, "* ERROR. That car is not an Ownable Car!");
}
else SendClientMessage(playerid, COLOR_GREY, "* You must be in a ownable vehicle to set a Personal Car!");
}
else return 1;
}