Problem bei /setcarheal System

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, Community!
    Ich wollte einen Ansich einfachen Befehl in mein Skript integrieren.
    Der Befehl sollte so aussehen: "/setcarheal [CarID] [Carheal]"
    Funktioniert eigentlich.
    Dann habe ich mir überlegt, dass ich eine Message senden lasse in der noch bestätigt wird wie viel Carheal man eingebaut hat.. aber egal welche Menge ich nehme es kommt immer die Zahl "1746957636" hier nochmal auf einem Screen zu sehen:
    http://www.pic-upload.de/view-22682826/sa-mp-116.png.html




    Ich hoffe mir kann jemand helfen, und da ich Anfänger bin mir bitte auch erklären was ich falsch gemacht habe, danke im vorhinein!



    Der Code für den Befehl:

    Spoiler anzeigen
    ocmd:setcarheal(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    new car,carheal;
    if(sscanf(params,"ii",car,carheal)) return SendClientMessage(playerid,rot,"Benutzung: /setcarheal [FahrzeugID] [Fahrzeug Health]");
    SetVehicleHealth(car,carheal);
    SendClientMessage(playerid,gelb,"Du hast das Auto mit %i Carheal ausgerüstet",carheal);
    return 1;
    }
    SendClientMessage(playerid,rot,"Du hast nicht den nötigen Admin Rang!");
    return 1;
    }
    }

  • ocmd:setcarheal(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] < 4)return SendClientMessage(playerid,rot,"Du hast nicht den nötigen Admin Rang!");
    new car,Float:carheal,string[128];
    if(sscanf(params,"if",car,carheal))return SendClientMessage(playerid,rot,"Benutzung: /setcarheal [FahrzeugID] [Fahrzeug Health]");
    SetVehicleHealth(car,carheal);
    format(string,sizeof(string),"Du hast das Auto mit %.2f Carheal ausgerüstet",carheal); //1.
    return SendClientMessage(playerid,gelb,string); //2.
    }


    Probiers mal so!

  • Das funktionier auch so nicht du musst den string formatieren mit format da ich mal nicht davon ausgehe das du eien gehookete funktion von SendClientMessage nutzt.


    zu dem muss carheal eine float sein sonst bekommst du ein tag mismatch warning.


    Der Platzhalter %.2f gibt nur 2 nachkommastellen aus


    ocmd:setcarheal(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    new car,Float:carheal,str[64];
    if(sscanf(params,"if",car,carheal)) return SendClientMessage(playerid,rot,"Benutzung: /setcarheal [FahrzeugID] [Fahrzeug Health]");
    SetVehicleHealth(car,carheal);
    format(str,64,"Du hast das Auto mit %.2f Carheal ausgerüstet",carheal);
    SendClientMessage(playerid,gelb,str,carheal);
    return 1;
    }
    SendClientMessage(playerid,rot,"Du hast nicht den nötigen Admin Rang!");
    return 1;
    }