Floatround_round? Damage berechnen - Vehicle

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
  • Hallo ^^


    Ich hänge jetzt schon seit knapp 1 1/2h an der Berechnung vom Vehicle-Damage, damit bspw. bei 1000 = 100% angezeigt werden, bei 950 95% etc. ;)


    Ich habe es derzeit so:



    //hier ist noch anderes vom UpdateSpeed Timer.
    new Float:dmg = GetVehicleHealth(vehicleid, dmg);
    //Hier noch andere TextDrawSetString Sachen etc.
    format(string, sizeof(string), "%f\%", floatround(dmg, floatround_round));
    TextDrawSetString(Speedo7[i], string);
    //other ...


    Bzw. wenn ihr den kompletten Public haben wollt:

    public UpdateSpeed()
    {
    //new Float:x, Float:y, Float:z;
    new string[256];
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
    {
    new const vehicleid = GetPlayerVehicleID(i);
    //new vehiclee = GetPlayerVehicleID(i);
    new Float:speed = GetVehicleSpeed_P(i);
    new Float:memory[3]={0.00,0.00,0.00 };
    new Float:dmg = GetVehicleHealth(vehicleid, dmg);
    GetVehicleVelocity(vehicleid, memory[0], memory[1], memory[2]);
    format(string, sizeof(string), "%d km/h", floatround(speed));
    TextDrawSetString(Speedo5[i], string);
    new model = GetVehicleModel(GetPlayerVehicleID(i));
    if(!IsAFahrrad(model))
    {
    format(string, sizeof(string), "%d/%d", gGas[vehicleid], gMaxGas[vehicleid]);
    TextDrawSetString(Speedo6[i], string);
    }
    else
    {
    format(string, sizeof(string), "--/--");
    TextDrawSetString(Speedo6[i], string);
    }
    format(string, sizeof(string), "%f\%", floatround(dmg, floatround_round));
    TextDrawSetString(Speedo7[i], string);
    format(string, sizeof(string), "%s", CarName[model-400]);
    TextDrawSetString(Speedo4[i], string);



    }
    }
    }


    Ich hoffe ihr könnt mir helfen, bei der Angabe kommt im Spiel nur "0.00000%" raus.


    Vielen Dank im Vorraus. ^^

  • Machs so ungefähr ^^:


    new Float:CarHealth;
    GetVehicleHealth(GetPlayerVehicleID(i),CarHealth);
    CarHealth = CarHealth - 250;
    CarHealth = CarHealth /10;
    CarHealth = CarHealth /75;
    CarHealth = CarHealth *100;
    new CarHealthIni =floatround(CarHealth,floatround_floor);
    if(CarHealthIni < 0){CarHealthIni = 0;}
    format(string, sizeof(string),"Zustand: %d",CarHealthIni);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S