Je pense que ceci pourra t'aider : http://wiki.sa-mp.com/wiki/OnVehicleSpawn
Cette callback fonctionne aussi quand le véhicule en question REspawn.
Sinon tu peux toujours ajouter une ligne du genre : vehicleidspawned[playerid] = 0 à la fin de ton Timer , non ?
Vincentdu90 : Ha mais oui ! Donc au lieu de créer un timer qui détruira le véhicule, je met le destroyvehicule quand le véhicule doit respawner ! Merci ^^ Par contre comment faire pour remettre à 0 la variable du joueur qui a spawner le vehicule ? ( Si un autre joueur entre dans le véhicule entre temps etc.. ) ^^
Ton code est bon malgré quelques problèmes.
Par exemple, tu ne peux pas appeler une fonction de SA-MP (notamment ici DestroyVehicle).
Tu dois donc créer une fonction qui elle appelle DestroyVehicle.
Ensuite si le joueur descend 4 fois de sont véhicule, il y aura 4 timer de créé pour rien, donc tu devrai détruire le timer déjà créé.
Ssk : Pour créer la fonction je la met en haut du GM avec un new... non ? ( Je crois avoir lu ça quelque part ) Mais pourtant quand je met le timer a 1 milliseconde, a peine j'appuie sur F et le véhicule disparaît ^^
Et aussi comment faire pour que le véhicule qu'un joueur spawn soit verrouiller pour les autres joueurs ?
J'ai "bricoler" un petit truc comme ça pour les véhicule déjà présent sur le serveur mais comment l'adapter pour les véhicules spawner ? ^^
Merci ! :)
Edit : Avec le code c'est mieux :ninja :
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(GetVehicleModel(vehicleid) == 0 || (vehicleid) == 1 || (vehicleid) == 2 || (vehicleid) == 3 || (vehicleid) == 4 || (vehicleid) == 5 || (vehicleid) == 6 || (vehicleid) == 7 || (vehicleid) == 8 || (vehicleid) == 9 || (vehicleid) == 10 || (vehicleid) == 11 || (vehicleid) == 12 || (vehicleid) == 13 || (vehicleid) == 14 || (vehicleid) == 15 || (vehicleid) == 16 || (vehicleid) == 17 || (vehicleid) == 18 || (vehicleid) == 19)
{
if(Team[playerid] == TEAM_TERRO)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid, COLOR_RED, "Vehicule verrouiller");
TogglePlayerControllable(playerid,1);
}
}
else if(GetVehicleModel(vehicleid) == 20 || (vehicleid) == 21 || (vehicleid) == 22 || (vehicleid) == 23 || (vehicleid) == 24 || (vehicleid) == 25 || (vehicleid) == 26 || (vehicleid) == 27 || (vehicleid) == 28 || (vehicleid) == 29 || (vehicleid) == 30 || (vehicleid) == 31 || (vehicleid) == 32 || (vehicleid) == 33 || (vehicleid) == 34 || (vehicleid) == 35)
{
if(Team[playerid] == TEAM_ARMY)
{
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid, COLOR_RED, "Vehicule verrouiller");
TogglePlayerControllable(playerid,1);
}
}
return 1;
}
Edit2 : Ha mais je peux pas mettre vehicleidspawned[playerid] dans on VehicleSpawn ;
public OnVehicleSpawn(vehicleid)
{
DestroyVehicle(vehicleidspawned[playerid]);
return 1;
}
C:\Users\NevadaKee\Documents\[Samp]ALPHA-NoName\Serveur\NoName\gamemodes\noname.pwn(87) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.