Bonjour, en voulant créer une commande permettant de réparer entièrement un véhicule plutôt que de ne réparer que son moteur, j'ai fais cette commande qui detruit le véhicule du joueur puis qui en recréé un :
if (strcmp("/rept", cmdtext, true) == 0){
if (IsPlayerInAnyVehicle(playerid)){
new Float:X, Float:Y, Float:Z, Float:Z_angle;
new vehiculeid;
vehiculeid = GetPlayerVehicleID(playerid);
GetPlayerPos(playerid, X, Y, Z);
GetVehicleZAngle(vehiculeid, Z_angle);
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vehiculeid);
carid = CreateVehicle(vehiculeid,X,Y,Z,Z_angle,-1,-1,60000);
PutPlayerInVehicle(playerid,carid,0);
TogglePlayerControllable(playerid,1);
SetVehicleZAngle(carid, Z_angle);
if(GetPlayerInterior(playerid)) LinkVehicleToInterior(carid,GetPlayerInterior(playerid));
SetVehicleVirtualWorld(carid,GetPlayerVirtualWorld(playerid));
}
else
{
SendClientMessage(playerid, COLOR_RED,"Tu n'es pas dans un véhicule !");
}
return 1;
}
J'ai compilé mon gamemode et Pawno ne me détecte aucune erreur, cependant lorsque j'utilise ma commande sur le serveur, mon jeu plante (rapport d'erreur windows).
D'où peut venir le problème ? Peut-être est-il lié à la destruction du véhicule, même en ayant éjecté le joueur auparavant ?
PS : Je n'ai pas définis "carid" dans ma commande mais en haut de mon script car je l'utilise pour plusieurs commandes et car j'y ai lié un timer qui detruit les vehicules spawnés par des commandes lorsqu'on les abandonne...