% Rechnung bezogen auf die Hp des Fahrzeuges

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
  • Guten Tag


    Ich bräuchte mal Hifle bei einer umrechnung:


    Die Hp von Fahrzeugen geht von 0 - 1000. Da ich jedoch ein Motorsystem habe, hat man bereits bei 300 HP ein Motorschaden. d.h. 300 Hp = 0% | 1000hp = 100% | 650 = 50%


    Nun gibt es je nach fahrzeug typ verschiedent hohe Kautionen. Eine davon ist $500. nun wäre es so, dass wenn ich das Fahrzeug mit 1000 Hp (100%) abgeben würde, würde ich 100% ($500) wiederbekommen, jedoch bei 650 Hp nur 50 %, also in diesem Fall 250.


    Nun zum wesentlichen: Je nach fahrzeug typ ist die Kaution anders. die Hp ist je nach Fahrstil und skill auch verschiedent =). nun möchte ich ausrechnen wieviel % HP das Fahrzeug hat und soviel % Hp vom Fahrzeug, soviel % soll von der Kaution wiedergegeben werden.


    Ich glaube wenn man ersteinmal die Rechnung hat, ist es ganz logisch und einfach, jedoch stehe ich z.Z. aufm Schlauch und weiß nicht wie ich das umrechnen soll.


    Es wäre sehr nett wenn mir jemand bei diesem Problem helfen könnte.


    MfG
    Simon

  • HIer eine Funktion, die dir die Prozentzahl errechnet:

    Float:GetDepositOfCar(vehicleid)
    {
    new Float:health;
    GetVehicleHealth(vehicleid,health);
    return (health-300)/7;
    }

    Damit hast du eine Prozentzahl, die du dann mit 500$ mal nehmen kannst und dir somit die Kaution ausrechnen kannst.

  • jo, habe ich schon gemacht, die rechnung kommt nicht ganz hin, aber ich habe eine andere Möglichkeit gefunden, das zu lösen.


    //edit: ich rechne nun den schaden aus. danach rechne ich aus wieviel prozent das sind. dann wird der kautionspreis /100 * den schaden in prozent gerechnet.


    ich habe mehrere beispiele mal nachgerechnet und nach meiner rechnung kommt auch das raus was raus kommen sollte, doch in PAWN klappt die rechnung nicht ganz.


    hier mal die rechnung:
    new Float:vSchaden,Float:vhp,geld,Float:pro,str[50];
    GetVehicleHealth(Testcar[playerid],vhp);
    vSchaden = 1000.0-vhp;
    if(vSchaden >= 701) // falls schaden höher, gleich 700 ist, ist es ein totalschaden
    {
    geld=0;
    }
    else if(vSchaden >= 1) //falls schaden zwischen 1 und 700 ist
    {
    pro=100/700*vSchaden; //100% : maxSchaden x Schaden
    geld=floatround(250/100*pro,floatround_round); //Kaution : 100% x pro und dies gerundet auf einen integer
    }
    else //falls das auto kein schaden hat
    {
    geld=250;
    }
    format(str,sizeof(str),"Test: du hättest $%d zurückbekommen!",geld);
    SendClientMessage(playerid,green,str);

    Einmal editiert, zuletzt von Simon ()