Je ne sais pas si ça fonctionne Sim.
Sur une des versions précédentes, j'avais fait ce genre de chose et les ajouts faits dans OnVehicleSpawn n'étaient pas fait.
De plus, lors d'un gmx du mode, tous les client plantaient.
A l'époque j'étais passé par un timer de 500 ms pour temporiser l'ajout de composants sur un véhicule.
Peut-être que ta solution marche avec la version 0.2X mais j'en doute car le problème venait du fait que lors de l'appel à OnVehicleSpawn, le véhicule n'est pas encore spawné et il ne le sera qu'à la fin de la callback (chose qui est valable avec la plupart des callbacks de SAMP).
Voici la solution que j'avais mise en place (si celle de Sim ne fonctionne pas en 0.2X).
La seule différence avec la solution de Sim c'est que les appels à AddVehicleComponent sont fait 500 ms après la création ou le respawn du véhicule.
forward TimerTuning (vehicle, component);
new IDTunedVehicle;
public OnGameModeInit ()
{
/* Vehicule tuné au skate park de Los Santos */
IDTunedVehicle = AddStaticVehicle (411, 1952.8768, -1401.5701, 13.2974, 74.6119, 100, 49);
/* On colle de la nitro (1008) a notre vehicule tuné (avec un timer pour éviter les plantages au redémarrage) */
SetTimerEx ("TimerTuning", 500, 0, "ii", IDTunedVehicle, 1008);
}
public OnVehicleSpawn (vehicleid)
{
/* Si le vehicule qui respawn est le vehicule tuné */
if (vehicleid == IDTunedVehicle)
{
/* On passe par un timer sinon ça marche pas */
SetTimerEx ("TimerTuning", 500, 0, "ii", IDTunedVehicle, 1008);
}
return 1;
}
public TimerTuning (vehicle, component)
{
/* On ajoute le composant au vehicule */
AddVehicleComponent (vehicle, component);
}
++
Syg