Je propose quelques petites améliorations: notamment, le tunnage automatique de la voiture puis le PutPlayerInVehicle. Et une correction de la sauvegarde des fichiers par pseudo car elle ne marchait pas très bien, le fichier ne s'appelait pas pinouf42_voiture_1.sav mais _voiture_1.sav comme ceci donc tout le monde avait les mêmes voitures.
else if(strcmp(cmd, "/sv", true)==0){
new vehicleid = GetPlayerVehicleID(playerid);
new model;
new pseudo;
new pname[250];
new voiture[MAX_PLAYERS];
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,COLOR_RED,"Vous n'etes pas dans une voiture !");
return 1;
}
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "Usage: /sv [1 a 5]");
return 1;
}
new car;
car = strval(tmp);
if(car < 1 || car > 5)
{
SendClientMessage(playerid, COLOR_RED, "=========================================");
SendClientMessage(playerid, 0xFFFFFFAA, "* Choisissez entre 1 et 5");
SendClientMessage(playerid, 0xFFFFFFAA, "* Usage: /sv [1 a 5]");
SendClientMessage(playerid, COLOR_RED, "=========================================");
return 1;
}
format(string, sizeof(string),"%s_voiture_%s.sav",pseudo, tmp);
if(dini_Exists(string))
{
format(string, sizeof(string), "La voiture Existe deja tapez [/del %s] pour la supprimer",tmp);
SendClientMessage(playerid, COLOR_RED, string);
return 1;
}
vehicleid = GetPlayerVehicleID(playerid);
GetVehiclePos(vehicleid,X,Y,Z);
GetVehicleZAngle(vehicleid,Angle);
model = GetVehicleModel(vehicleid);
SendClientMessage(playerid, COLOR_RED, "=========================================");
SendClientMessage(playerid, 0xFFFFFFAA, "Sauvegarde de la voiture avec Succès");
SendClientMessage(playerid, COLOR_RED, "=========================================");
voiture[playerid]+=1;
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"%s_voiture_%s.sav",pname,tmp);
if(!dini_Exists(string)){
dini_Create(string);
dini_IntSet(string,"model",model);
dini_FloatSet(string,"X",X);
dini_FloatSet(string,"Y",Y);
dini_FloatSet(string,"Z",Z);
dini_FloatSet(string,"Angle",Angle);
}
return 1;
}
if(strcmp(cmd, "/rp", true)==0){
new pname[250];
new model;
new delvtuser[MAX_PLAYERS];
new vtuser[MAX_PLAYERS];
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xFFFFFFAA, "Usage: /rp [1 a 5]");
return 1;
}
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"%s_voiture_%s.sav",pname, tmp);
if(!dini_Exists(string))
{
format(string, sizeof(string), "La voiture [%s] N'existe pas.",tmp);
SendClientMessage(playerid, COLOR_RED, string);
return 1;
}
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"%s_voiture_%s.sav",pname, tmp);
if(dini_Exists(string)){
tmp = dini_Get(string,"model");
model = strval(tmp);
tmp = dini_Get(string,"X");
X = strval(tmp);
tmp = dini_Get(string,"Y");
Y = strval(tmp);
tmp = dini_Get(string,"z");
Z = strval(tmp);
tmp = dini_Get(string,"Angle");
Angle = strval(tmp);
if(delvtuser[playerid] == 1)
{
DestroyVehicle (vtuser[playerid]);
}
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X+2, Y, Z);
vtuser[playerid] = CreateVehicle(model,X,Y,Z,Angle,-1,-1,3000000000);
PutPlayerInVehicle(playerid, vtuser[playerid], 0);
SendClientMessage(playerid,0xFFFFFFFF,"Votre Voiture est disponible Bonne route :)");
AddVehicleComponent(vtuser[playerid],1010);
AddVehicleComponent(vtuser[playerid],1087);
AddVehicleComponent(vtuser[playerid],1086);
AddVehicleComponent(vtuser[playerid],1085);
delvtuser[playerid] = 1;
}
return 1;
}
if(strcmp(cmd, "/del", true)==0){
new pname[250];
new voiture[MAX_PLAYERS];
new voituredel[MAX_PLAYERS];
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "Usage: /del [1 a 5]");
return 1;
}
new car;
car = strval(tmp);
if(car < 1 || car > 5)
{
SendClientMessage(playerid, COLOR_RED, "=========================================");
SendClientMessage(playerid, 0xFFFFFFAA, "* Choisissez entre 1 et 5");
SendClientMessage(playerid, 0xFFFFFFAA, "* Usage: /del [1 a 5]");
SendClientMessage(playerid, COLOR_RED, "=========================================");
return 1;
}
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"%s_voiture_%s.sav",pname, tmp);
if(!dini_Exists(string))
{
format(string, sizeof(string), "La voiture [%s] N'existe pas",tmp);
SendClientMessage(playerid, COLOR_RED, string);
return 1;
}
SendClientMessage(playerid, COLOR_RED, "=========================================");
SendClientMessage(playerid, 0xFFFFFFAA, "Effacement de la voiture avec Succés");
SendClientMessage(playerid, COLOR_RED, "=========================================");
voiture[playerid]-=1;
voituredel[playerid]+=1;
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"%s_voiture_%s.sav",pname,tmp);
dini_Remove(string);
return 1;
}