Hey,
wie kann ich den Zustand so scripten, dass statt 100%, 0% angezeigt wird
und dann bei Unfällen immer weiter ansteigt, statt zu sinken?
Hey,
wie kann ich den Zustand so scripten, dass statt 100%, 0% angezeigt wird
und dann bei Unfällen immer weiter ansteigt, statt zu sinken?
subtrahiere den zustand von 1000 (ich denke du meinst autos)
dann weist du wie kaputt es ist und kannst damit anhand des schadens ausrechnen wie viel das von 1000 sind.
Hast du schon was angefangen dann zeig ma code
Also das hier ist mal ein Versuch, könnte das Funktionieren?^^
new Float:hp, VHealth[64], Float:CarLP;
GetVehicleHealth(GetPlayerVehicleID(i),hp);
CarLP = hp/10 - 100 * -1;
format(VHealth,sizeof(VHealth),"~b~Schaden: ~w~%.0f%",CarLP);
TextDrawSetString(Zustand[i],VHealth);
new Float:hp, VHealth[64], Float:schaden;
GetVehicleHealth(GetPlayerVehicleID(i),hp);
schaden = floatdiv(1000 - hp, 10);//du teilst den schaden durch 10
format(VHealth,sizeof(VHealth),"~b~Schaden: ~w~%.0f%",schaden);
TextDrawSetString(Zustand[i],VHealth);
Damit sollte es eig schon gewesen sein. Bitte testen
Okay danke es funktioniert
Habs jetzt versucht ohne floatdiv hinzubekommen, da ich
normale Rechenwege besser finde, als Vorprogrammierte und
funktioniert perfekt.. Danke
new Float:hp, VHealth[64], Float:CarLP;
GetVehicleHealth(GetPlayerVehicleID(i),hp);
CarLP = ((hp - 1000)/10)*-1;
format(VHealth,sizeof(VHealth),"~b~Schaden: ~w~%.0f%",CarLP);
TextDrawSetString(Zustand[i],VHealth);
dann erklär mir was das *-1 bedeutet ich verwende floatdiv da mein compiler rumheult wenn ich 2 intger dividire.
//EDIT: funktioniert dashier nicht ?
(1000 - hp)/10 damit sparst du dir doch das *-1