PDA

View Full Version : Float med beräkning ?


Patrik356b
31/12/2010, 05:31 PM
Som vi alla vet så är "VehicleHealth" inte korrekt gjord...

(Fordonet kommer sprängas om det har mindre än 250 i health)


Jag har under en längre tid försökt att komma runt det här genom att beräkna ett mer realistiskt värde i procent

På en miniräknare fungerar detta utmärkt: ((VehicleHealth - 250)*10)/75 = X%



Följande koder har testats:

new Float:Hvar[3], Float:VehicleHealth;
GetVehicleHealth(vehicleid, VehicleHealth);
// Some awkward calculation to get a better idea of the real vehicle health
Hvar[0] = floatsub(VehicleHealth,250.0);
Hvar[1] = floatmul(Hvar[0],10.0);
Hvar[2] = floatdiv(Hvar[1],75.0);
// Hvar[2] is the vehicle health in realistic percent
new Float:VehicleHealth;
GetVehicleHealth(vehicleid, VehicleHealth);
new H2 = (((VehicleHealth - 250)*10)/75);
// H2 is the vehicle health in realistic percent
new H1, Float:VehicleHealth;
GetVehicleHealth(vehicleid, VehicleHealth);
H1 = Calculate(L_VehicleHealth);
// H1 is the vehicle health in realistic percent

stock Calculate(Float: value){
new Float:CALC;
CALC = floatsub(value, 250.0);
CALC = floatmul(CALC, 10.0);
CALC = floatdiv(CALC, 75.0);
return floatround(CALC);
}

Värt att notera är att ingen av dessa har fungerat på 0.3a/b/c (Ej testat på äldre, men resultatet bör bli det samma)


Är det någon som vet vad jag gör för fel?