Le problème vient du fait que les pickup de type 1 ne peuvent être ramassés que quand on est à pied.
Il faut donc utiliser le type 14 et gérer la réapparition du pickup car il ne réapparait pas si on reste dans les parages.
Voici la solution (testée) :
Variable globale :
new MyPickup;
Fonction de timer :
forward CreerPickup ();
public CreerPickup ()
{
MyPickup = CreatePickup (3096, 14, 1884.6749, -1388.3657, 13.5703, -1);
}
Dans OnGameModeInit :
SetTimer ("CreerPickup", 100, 0);
La callback :
public OnPlayerPickUpPickup (playerid, pickupid)
{
if (pickupid == MyPickup)
{
/* Le pickup n'est ramassable qu'en véhicule donc le joueur est forcément dans un véhicule
=> Pas besoin de test */
DestroyPickup (MyPickup);
RepairVehicle (GetPlayerVehicleID (playerid));
GameTextForPlayer (playerid, "~h~Reparation du vehicule...~n~~n~~h~Terminee !", 1000, 3);
SetTimer ("CreerPickup", 1000, 0);
}
}
++
Syg