GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Xolokos le 19 Octobre 2011, 09:36:39
-
Bonjour, alors voilà j'ai voulu mettre un 3Dtextlabel pour afficher la vie des véhicules ce qui marche a merveille pour mettre leur vie de dépard sois 1000 ensuite j'ai mit un SetTimer pour mettre a jour en prenant leur vie la formatant et l'affichant avec %f et rien ne ce passe... Voyer :
Le SetTimer dans OnGameModeInit :
SetTimer("Vehicles",1500,false);
public OnVehicleSpawn(vehicleid)
{
VVie[vehicleid] = Create3DTextLabel("(Vie : 1000)", BVVIE , 30.0, 40.0, 45.0, 40.0, 0);
//____________________________________________________________//
Update3DTextLabelText(VVie[vehicleid], BVVIE, "(Vie : 1000)");
Attach3DTextLabelToVehicle(VVie[vehicleid], vehicleid, 0.0, 0.0, 1.1);
//____________________________________________________________//
if (GetVehicleModel(vehicleid) == 432 )
{
SetVehicleHealth(vehicleid, 2500.0);
Update3DTextLabelText(VVie[vehicleid], BVVIE, "(Vie : 2500)");
Attach3DTextLabelToVehicle(VVie[vehicleid], vehicleid, 0.0, 0.0, 1.2);
}
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
Delete3DTextLabel(VVie[vehicleid]);
return 1;
}
public Vehicles()
{
new Float:VVehicles;
for(new v; v < MAX_VEHICLES; v++)
{
GetVehicleHealth(v, VVehicles);
new String[150];
format(String, sizeof String, "%f", VVehicles);
Update3DTextLabelText(VVie[v], BVVIE, String);
Attach3DTextLabelToVehicle(VVie[v], v, 0.0, 0.0, 2);
}
return 1;
}
Et ça reste a 1000 même si je heurte un objet.
Merci !
-
J'ai pas regardé en détail, mais première chose que j'ai vu et qui ne doit jamais être fait, c'est que tu n'initialise pas tes variables.
for(new v; v < MAX_VEHICLES; v++)
tu doit obligatoirement initialiser v !!!
for(new v = 0; v < MAX_VEHICLES; v++)
vu que v peut prendre une valeur aléatoire par exemple 254978 ce qui fait que la boucle est toujours fausse (254978<MAX_VEHICLES = FAUX) et est donc jamais exécuté ^^
-
Je fait ça de suite et je regarde !
EDIT : Toujours pas même en initialisant v.
EDIT 2 : C'est bon j'ai mi un Settimerex a la place.