Bonsoir à tous,
J'ai un bug récurent et je n'arrive pas à le résoudre.
Il arrive parfois lorsque des joueurs veulent garer un de leur véhicule via la commande "/v garer", celui disparait complétement du serveur et il est remplacé aléatoirement par un autre véhicule... A savoir que ce bug n'apparait qu'une fois sur 10...
Je ne peux plus TP le véhicule ni aller à sa position.. Le seul moyen est de redémarrer le serveur..
Voici le code :
if(strcmp(subcmd, "park", true) == 0 || strcmp(subcmd, "garer", true) == 0 || strcmp(subcmd, "parquer", true) == 0)
{
new Float:x, Float:y, Float:z, Float:a;
new getcarid = GetPlayerVehicleID(playerid);
GetPlayerName(playerid, playername, sizeof(playername));
new Float:health;
GetVehicleHealth(getcarid, health);
if(health < 850)
{SendClientMessage(playerid, COLOR_VEHICULE, "[Vehicule] Votre véhicule est gravment endommagé, vous ne pouvez pas le garer !"); return 1;}
if(!IsPlayerInAnyVehicle(playerid))
{SendClientMessage(playerid, COLOR_VEHICULE, "[Vehicule] Vous n'êtes pas dans une voiture."); return 1;}
if(GetVehicleVirtualWorld(getcarid) != 0)
{SendClientMessage(playerid, COLOR_VEHICULE, "[Vehicule] Ce véhicule est dans un virtual world particulier, retournez à l'exterieur."); return 1;}
if(CarInfo[getcarid][cOwned] !=1 || strcmp(CarInfo[getcarid][cOwner], playername, true)!=0)
{
if(!pack_isAdmin(playerid, 3))
{SendClientMessage(playerid, COLOR_VEHICULE, "[Vehicule] Vous n'êtes pas le propriétaire de ce vehicule."); return 1;}
else if(aDuty[playerid])
{SendClientMessage(playerid, COLOR_ADMIN, "[Admin] Voiture parquée.");}
else
{SendClientMessage(playerid, COLOR_ADMIN, "[Admin] En ServiceAdmin pour pourriez la parquer."); return 1;}
}
GetVehiclePos(getcarid, x, y, z);
GetVehicleZAngle(getcarid, a);
new panels,doors,lights,tires,Float:damage;
GetVehicleHealth(getcarid, damage);
DestroyVehicle(getcarid);
CarInfo[getcarid][cLocationx] = x;
CarInfo[getcarid][cLocationy] = y;
CarInfo[getcarid][cLocationz] = z;
CarInfo[getcarid][cAngle] = a;
CeintureNotUpdate[playerid]=3;
GetVehicleDamageStatus(getcarid,panels,doors,lights,tires);
CreateVehicle(CarInfo[getcarid][cModel],x,y,z+1.0,a,CarInfo[getcarid][cColorOne],CarInfo[getcarid][cColorTwo],-1);
PutPlayerInVehicle(playerid,getcarid, 0);
UpdateVehicleDamageStatus(getcarid, panels, doors, lights, tires);
SetVehicleHealth(getcarid, damage);
//CarInfo[getcarid][cHealth] = damage;
format(sql, 256, "UPDATE XXXXXXXXX_cars SET park_x=%f, park_y=%f, park_z=%f, park_angle=%f WHERE id=%d", x, y, z, a, getcarid);
MySQLCheckConnection();
mysql_query(sql);
//SQLLog(sql);
tuning_applyDbTuning(getcarid);
GameTextForPlayer(playerid, "~w~Vehicule parque", 1000, MSG_STYLE);
SaveSQLCar(getcarid,false);
car_Engine(getcarid);
return 1;
}
Si quelqu'un à une idée s'il vous plait.. Je galère..