dcmd 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
  • Hey,
    also ich habe bei OnPlayerCommand das stehen:


    if (IsPlayerAdmin(playerid))
    {
    dcmd(kick,1,cmdtext);
    dcmd(heal,2,cmdtext);
    dcmd(givecash,3,cmdtext);
    dcmd(announce,4,cmdtext);
    }


    Damit diese Funkionen nur als Admin benutzt werden können.
    Aber wen ich das IG bin kann ich die nicht benutze obwohl ich eingeloggt bin.
    Was ist das Problem?

  • Weiß es zwar selber net genau, aber soweit ich weiß müsste es wenn heissen

    dcmd(kick,4,cmdtext);
    dcmd(heal,4,cmdtext);
    dcmd(givecash,8,cmdtext);
    dcmd(announce,8,cmdtext);
    // Immer soviel wie groß das Wort ist die Zahl soweit ich weiß xD

    Das aufjedenfall unter OnPlayerCommandText und jetzt z.B. kick würde sogehen:



    dcmd_kick(playerid,params[])
    {
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(!strlen(params))
    {
    return SendClientMessage(playerid,0xFFFF00AA,"Benutzung: /kick [PlayerID]");
    }
    new
    pID=strval(params);
    if(!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid,0xFFFF00AA,"Dieser Spieler ist nicht Online!");
    }
    Kick(pID);
    SendClientMessage(playerid,0xFFFF00AA,"Der Spieler wurde erfolgreich gekickt!");
    return 1;
    }
    else return SendClientMessage(playerid,0xFFFF00AA,"Du kannst diesen Befehl nicht benutzen!");
    }
    // Ungetestet

  • Ne die Commands habe ich alle ja schon.
    Aber diese soll man ja nur als Admin nutzen können.

  • Machs lieber so:
    public OnPlayerCommandText(playerid,cmdtext[])
    {
    dcmd(kick,4,cmdtext);
    return 0;
    }


    dcmd_kick(playerid,params[]) {
    if(!strlen(params)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Benutze /kick [PlayerID].");
    }
    if(!IsPlayerAdmin(playerid)) { // Bei JEDEM Cmd das hinzufügen.
    return SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Admin!");
    }
    new pID = strval(params);
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Der angegebene User ist nicht online!");
    }
    Kick(pID);
    SendClientMessage(playerid, 0xFF0000FF, "Der angegebene User wurde erfolgreich gekickt!");
    return 1;
    }