/Sethp Problem

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 habe folgendes Problem:


    Ich bin im Scripten ein Anfänger und habe mir grade einen /Sethp Befehl gescriptet.
    Wenn ich jetz inGame /Sethp Lance_Butters 1 eingebe, sagt der mir immer wie ich es benutzen soll, sonst nichts...


    Code:

    ocmd:sethp(playerid,params[])
    {
    if(pInfo[playerid][Adminlevel] > 2)
    {
    new pID, Health;
    if(sscanf(params,"uf",pID,Health))return SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /sethp <spielername/id> <health>");
    SetPlayerHealth(pID,Health);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht die nötigen Rechte für diesen Befehl!");
    return 1;
    }
    }

  • Als Sscanf Paramter "f" ? Hab ich ja noch nie gehört.
    Die Zeile muss so heißen:
    if(sscanf(params,"ui",pID,Health))return SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /sethp <spielername/id> <health>");
    // "i" = integer. Integer = Zahl :)

    Liebe Grüße


    Marcel

  • Nun ja, für gewöhnlich nimmt man Ingame ja nicht /sethp [ID] 7.5328 oder so ^^ Eher /sethp [ID] 50 , oder 100, oder so. In dem fall ist es dann ein Integer. mach das mal so, du wirst sehen - es funktioniert ;D

    Liebe Grüße


    Marcel

  • so müsste es gehen:



    ocmd:sethp(playerid,params[])
    {
    if(pInfo[playerid][Adminlevel] > 2)
    {
    new pID, Health;
    if(sscanf(params,"ui",pID,Health))return SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /sethp <spielername/id> <health>");
    SetPlayerHealth(pID,Health);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht die nötigen Rechte für diesen Befehl!");
    return 1;
    }
    }

    Scripter im Ruhestand.

  • dies vielleicht:



    ocmd:sethp(playerid,params[])
    {
    if(!pInfo[playerid][Adminlevel] > 2)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht die nötigen Rechte für diesen Befehl!");
    new pID, Health;
    if(sscanf(params,"ui",pID,Health))return SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /sethp <spielername/id> <health>");
    SetPlayerHealth(pID,Health);
    return 1;
    }

    Scripter im Ruhestand.

  • So ist es bei mir mit zcmd.
    COMMAND:sethp(playerid,params[])
    {
    if(!IstSpielerEinAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Sie haben nicht den Admin-rang Moderrator!");
    new pID,HP;
    if(sscanf(params,"ui",pID,HP))return SendClientMessage(playerid,Grün,"Fehler: /sethp [ID/NAME][HP]");
    SetPlayerHealth(pID,HP);
    return 1;
    }
    Mach nur deine Adminabfrage rein.
    {

  • Ja, Ich nehme auch den Normalen code von sscanf.
    Aber dwer WARN ist das irgentwo was Falsch Eingerückt ist. Haste es auch auf ocmd:sethp(playerid,params[]] gemacht?