Hi, der Zustand beträgt merkwürdiger weise immer 0%
Was mache ich falsch?
H = GetVehicleHealth(car, H);
HR = H /= 10;
format(str, sizeof(str), "%.0f %%", HR);
TextDrawSetString(ZustandAnzeige, str);
if(H >= 750) {TextDrawColor(ZustandAnzeige, COLOR_GREEN);}
else if(H <= 749 && H >= 250) {TextDrawColor(ZustandAnzeige, COLOR_GELB);}
else if(H <= 249){TextDrawColor(ZustandAnzeige, COLOR_ROT);}
TextDrawShowForPlayer(playerid, ZustandAnzeige);
Bekomme auch keine Errors.
Fahrzeug zustand wird falsch angezeigt.
- Acrio
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
%.0f zu %0.0f
-
Und was soll das bringen? So habe ich keine Komma zahl so wie ich es möchte.
-
ich versteh nicht was diese rechnung macht
HR = H /= 10;probiers mal so :
GetVehicleHealth(car,H);
format(str,sizeof(str),"%.0f",H); -
Diese Rechnung soll machen das nicht 999% da steht sondern 99. Da 999/10 99ist.
-
dann würd ichs so machen:
GetVehicleHealth(car,H);
format(str,sizeof(str),"%.0f",H/10);
oder:
HR = H/10; -
//edit:\\
Zeigt trozdem 0% an.
-
vielleicht ist in der variable "car" das falsche fahrzeug eingespeichert?
kannst ja mal direkt probieren per testbefehl vlcht:
GetVehicleHealth(GetPlayerVehicleID(playerid),H);
format(str,sizeof(str),"%.0f",H/10); -
Geht trotzdem nicht.
-
joa dann weiss ich auch nicht woran es liegt aber mein code funktioniert wunderbar. habs grad getestet:
SetTimer("lol1",1000,1);
forward lol1();
public lol1()
{
new str[10],Float:H;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i)&&IsPlayerInAnyVehicle(i)&&GetPlayerVehicleSeat(i)==0)
{
GetVehicleHealth(GetPlayerVehicleID(i),H);
format(str,sizeof(str),"%.0f",H/10);
SendClientMessage(i,BLAU,str);
}
}
return 1;
} -
-
Ich glaube ich weis warum. Ich habe keine for schleife. Ich teste es mal schnell mit.
//Edit:\\ Geht nicht. -
GetVehicleHealth(vehicleid, health);
health = floatdiv(health, 10.0);
format(str, 6, "%.0f %%", health); -
Guten Tag!
Wenn Du statt des üblichen Fahrzeuglebens "0-1000",
eine Prozentangabe von 0 bis 100 Prozent anzeigen möchtest,
kannst Du das wie folgt regeln:new string[50], Float:vHealth;
new vehicle = GetPlayerVehicleID(playerid);GetVehicleHealth(vehicle, vHealth);
format(string, sizeof(string), "~r~%.0f", ((1000 - vHealth) / 10));GameTextForPlayer(playerid, string, 5000, 3);
Getestet ist es, d.h. es funktioniert bei mir einwandfrei. -
Ich glube ihr versteht mein Problem nicht. Er Liest bei Vehiclehealth immer 0% ab. Und wenn ich ohne % anzeigen lasse steht da 0.0000000000
-
Probiere es einfach so, wie ich es Dir geschrieben habe.
Dann zeigt SA-MP Deinen Fahrzeugstatus wie folgt an:
1000 = 0% (kein Schaden)
500 = 50% (halb kaputt)
0 = 100% (völlig kaputt)Dies sind drei mögliche Ausschnitte, von allen 100.
-
Und wie mache ich das 100% Ohne schade heist?
-
Übernimm das einfach in dein Script:
GetVehicleHealth(car, H);
H = floatdiv(H, 10.0);
format(str, sizeof(str), "%.0f %%", H);
TextDrawSetString(ZustandAnzeige, str);
if(H >= 75.0)
TextDrawColor(ZustandAnzeige, COLOR_GREEN);
else if(H <= 74.9 && H >= 25.0)
TextDrawColor(ZustandAnzeige, COLOR_GELB);
else if(H <= 24.9)
TextDrawColor(ZustandAnzeige, COLOR_ROT);
TextDrawShowForPlayer(playerid, ZustandAnzeige); -
Das wäre doch etwas verdreht, oder nicht?
Ich möchte Dir mal folgendes zeigen:
Fahrzeugübersicht (beispielhaft)
Name: Cheetah
Ort: Los Santos
Schaden: 100%
Tank: 10%Schaden: 100% - würde hier doch heißen, dass
das Fahrzeug zu 100% kaputt ist und nicht zu 100%
in Ordnung ist -
so wie ich es gemacht hab -.-
-
Danke Future jetzt zeigt er beim Einsteigen Zustand 100% an. Das ist richtig. Unter welches Publick könnte ich denn den Schaden immer abfragen lassen? Also es gibt ja nicht z.B. OnPlayerCrash oder so.