SetHP Befehl funktzniert nicht.

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
  • ocmd:sethp(playerid,params [])
    {
    if(Spieler[playerid][Admin] < 3)return SendClientMessage(playerid,ROT,"Du bist kein Admin der Stufe 3 oder höher.");
    new pid,pidname[MAX_PLAYER_NAME],Float:Health,leben,str[128];
    GetPlayerName(pid,pidname,sizeof(pidname));
    if(sscanf(params,"ui",pid,leben))return SendClientMessage(playerid,ROT,"FEHLER: /sethp [ID] [HP]");
    if(Spieler[playerid][Admin] == 3 && playerid == pid)return SendClientMessage(playerid,ROT,"Erst ab Adminlvl 4 darfst du dein eigenes Leben höher setzen.");
    if(Spieler[pid][Admin] > Spieler[playerid][Admin])return SendClientMessage(playerid,ROT,"Du darfst das Leben Rankhöherer (AdminRank) nicht runter/hochsetzen.");
    SetPlayerHealth(pid,leben);
    new lebenn = GetPlayerHealth(pid,Health);
    format(str,sizeof(str),"%s HP wurde auf %d gesetzt.",pidname,lebenn);
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][Admin] > 0)
    {
    SendClientMessage(i,HELLROT,str);
    }
    }
    return 1;
    }
    Soo... Jetzt wenn ich /sethp 5 44 mache, steht im Text:
    Blood HP wurde auf 1 gesetzt also immer 1, ich weiß nicht, was ich falsch mache.
    Bitte um hilfe :D

  • ocmd:sethp(playerid,params [])
    {
    if(Spieler[playerid][Admin] < 3)return SendClientMessage(playerid,ROT,"Du bist kein Admin der Stufe 3 oder höher.");
    new pid,pidname[MAX_PLAYER_NAME],Float:Health,leben,str[128];
    GetPlayerName(pid,pidname,sizeof(pidname));
    if(sscanf(params,"uf",pid,leben))return SendClientMessage(playerid,ROT,"FEHLER: /sethp [ID] [HP]");


    if(Spieler[playerid][Admin] == 3 && playerid == pid)return
    SendClientMessage(playerid,ROT,"Erst ab Adminlvl 4 darfst du dein
    eigenes Leben höher setzen.");
    if(Spieler[pid][Admin] >
    Spieler[playerid][Admin])return SendClientMessage(playerid,ROT,"Du
    darfst das Leben Rankhöherer (AdminRank) nicht runter/hochsetzen.");
    SetPlayerHealth(pid,leben);
    format(str,sizeof(str),"%s HP wurde auf %.0f gesetzt.",pidname,leben);
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][Admin] > 0)
    {
    SendClientMessage(i,HELLROT,str);
    }
    }
    return 1;
    }
    Sollte so gehen

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • ocmd:sethp(playerid,params [])
    {
    if(Spieler[playerid][Admin] < 3)return SendClientMessage(playerid,ROT,"Du bist kein Admin der Stufe 3 oder höher.");
    new pid,pidname[MAX_PLAYER_NAME],Float:Health,leben,str[128];
    GetPlayerName(pid,pidname,sizeof(pidname));
    if(sscanf(params,"uf",pid,leben))return SendClientMessage(playerid,ROT,"FEHLER: /sethp [ID] [HP]");
    if(Spieler[playerid][Admin] == 3 && playerid == pid)return SendClientMessage(playerid,ROT,"Erst ab Adminlvl 4 darfst du dein eigenes Leben höher setzen.");
    if(Spieler[pid][Admin] > Spieler[playerid][Admin])return SendClientMessage(playerid,ROT,"Du darfst das Leben Rankhöherer (AdminRank) nicht runter/hochsetzen.");
    SetPlayerHealth(pid,leben);
    format(str,sizeof(str),"%s HP wurde auf %.0f gesetzt.",pidname,leben);
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][Admin] > 0)
    {
    SendClientMessage(i,HELLROT,str);
    }
    }
    return 1;
    }


    Nochmal eingerückt^^


    Du darfst nicht %d verwenden, da es eine Float ist ;) Und das 2. mal Leben abfragen war unnötig ;)

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • SetPlayerHealth(pid,leben);
    new lebenn = GetPlayerHealth(pid,Health);
    format(str,sizeof(str),"%s HP wurde auf %d gesetzt.",pidname,lebenn);


    du frägst sein leben nochmal ab obwohl du es änderst also kannst du auch gleich leben benutzen.


    Bei einer leben anfrage heißt es nicht %d sondern %.0f


  • Danke funktzuniert.