Repair Bug

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
  • Es ist jetzt leider schon zwei mal vor gekommen, dass meine User wegen Moneyhack gebannt wurden als sie /repair verwendet haben. Die Berechnung wie viel er zahlt ist fehlerhaft, ich habe irgendetwas falsch gemacht. Könnte mir jemand bei der richtigen Berechnung helfen ? Ich weiß es ist einfach aber ich bin gerade etwas verwirrt. Wenn z.B das Fahrzeug 800 Health hat soll der User 200 Dollar zahlen, bei 700 300 Dollar usw. Hilfe wäre nett :)
    CMD:repair(playerid, params[])
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(IsPlayerAtGasStation(playerid))
    {
    new repairVeh = GetPlayerVehicleID(playerid);
    new Float: oldHealth;
    GetVehicleHealth(repairVeh,oldHealth);
    if(oldHealth < 1000)
    {
    RepairVehicle(repairVeh);
    new repairFormat[128];
    format(repairFormat,sizeof(repairFormat),"You paid %i$ for repairing your vehicle.",(1000-(floatround(oldHealth)*10))/10);
    SendClientMessage(playerid,COLOR_ORANGE,repairFormat);
    GivePlayerMoneyEx(playerid,(1000-(floatround(oldHealth)*10))/10);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Your vehicle has already full health");
    }

    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"You have to be at a refuel stations to repair your vehicle.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"You have to be in a vehicle to use this command");
    }
    return 1;
    }