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

Titre: Problème réparation automatique
Posté 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
Titre: Re : Problème réparation automatique
Posté par: cristab le 27 Février 2011, 21:37:50
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
Titre: Re : Problème réparation automatique
Posté par: Jcvag44800 le 27 Février 2011, 21:41:34
D'accord merci je test
Titre: Re : Problème réparation automatique
Posté par: Xartrick le 28 Février 2011, 00:33:34
Cristab dit juste :).
Titre: Re : Problème réparation automatique
Posté par: Fox_Mulder le 28 Février 2011, 01:03:51
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
Titre: Re : Problème réparation automatique
Posté par: Jcvag44800 le 28 Février 2011, 11:33:36
Je vais tester ta façon  :)