Salut,
tu n'es pas très loin, tu dois éffectivement éffectué un IsPlayerInAnyVehicle (si le joueur est dans un véhicule, peu importe lequel), tu pourrais également utiliser GetPlayerState(playerid) == PLAYER_STATE_DRIVER (si le joueur CONDUIT un véhicule)
ensuite tu dois récupérer le ID du véhicule en question (GetPlayerVehicleID ) et en changé la position (SetVehiclePos), ajoute également un return 1; à la fin de la condition du véhicule (on arrêtera ainsi l'exécution du code à cet endroit, tu évite ainsi de téléporter le joueur, ce qui le sort du véhicule et bref met la pagaille dans tout ça....
exemple:
if(strcmp(cmdtext, "/drift", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid),-329.764,1532.244,75.017);
SendClientMessage(playerid, COLOR_WHITE, "Bon Drift!");
return 1;
}
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-329.764,1532.244,75.017);
SetPlayerArmour(playerid, 100.0);
SetPlayerHealth(playerid, 100.0);
ResetPlayerWeapons(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Bon Drift!");
return 1;
}
des changements peuvent être apportés au code précédant.
++Sim++