GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Jcvag44800 le 27 Février 2011, 21:30:54
-
Salut à tous !
Voila, j'ai un petit problème
Normalement, mes voitures se réparent automatiquement , sauf que se n'est pas le cas.
J'ai fais ceci :
new rep; // reparation automatique des véhicules conserné ( rep = ) rep = CreateVehicle(411,2660.66308594,885.28210449,1368.97717285,0.00000000,-1,-1,15); //Infernus
rep = CreateVehicle(411,2663.65673828,885.23425293,1368.97717285,0.00000000,-1,-1,15); //Infernus
rep = CreateVehicle(411,2657.43652344,884.99511719,1368.97717285,0.00000000,-1,-1,15); //Infernus
rep = CreateVehicle(411,2654.16943359,885.18298340,1368.97717285,0.00000000,-1,-1,15); //Infernus
...public Autorepair(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:health,vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleHealth(vehicleid,health);
if(health <250)
{
SetVehicleHealth(rep,1000);
}
}
}
Et pourtant, ça ne marche pas :S
Aidez moi svp
Merci
-
ceci est normale tu attribue la meme variable pour les vehicule donc seule la derniere qui est prise dans la var sera reparer le mieux et d'utiliser un array
exemple new rep[25];
rep[0] = ....
rep[1] = ...
voila peu etre je me trompe mais je ne sais pas
-
D'accord merci je test
-
Cristab dit juste :).
-
salut,
Ce que dit cristab n'est pas faux mais pourquoi se compliquer la vie ?
Si j'ai bien compris, tu veux que le véhicule occupé par un joueur (playerid) qui se retrouve en feu (hp à 250) soit réparé automatiquement ?
Donc pour faire simple essaie de remplacer ça :
SetVehicleHealth(rep,1000);
par ça :
SetVehicleHealth(vehicleid,1000);
vu que tu as déjà vehicleid = GetPlayerVehicleID(playerid);
après utiliser un array c'est se compliquer la vie
new rep[25]; // si tu as 25 vhéhicules
rep[0] = CreateVehicle(411,2660.66308594,885.28210449,1368.97717285,0.00000000,-1,-1,15); //Infernus
rep[1] = CreateVehicle(411,2663.65673828,885.23425293,1368.97717285,0.00000000,-1,-1,15); //Infernus
rep[2] = CreateVehicle(411,2657.43652344,884.99511719,1368.97717285,0.00000000,-1,-1,15); //Infernus
rep[3] = CreateVehicle(411,2654.16943359,885.18298340,1368.97717285,0.00000000,-1,-1,15); //Infernus
public Autorepair(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:health,vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleHealth(vehicleid,health);
if(health <250)
{
SetVehicleHealth(rep[vehicleid],1000);
}
}
}
même pas sûr que ça fonctionne correctement comme ça
-
Je vais tester ta façon :)