Brauche einen Commando

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
  • Guten Tag,ich brauche einen Commando denen nur RCON Admins ausführen können


    Er soll einem Spieler mit /givescore Score geben der Commando soll so aussehen


    /givescore Score ID


    Und wenn ich /givescore 1 1 mache soll der Spieler diesen Score direkt erhalten



    mfg
    Salvatore

  • wenn du godfather nutzt /setstat vielleicht mal wie ichweiß geht sowas ne weil man ja direkt damit das lvl undso ändern muss

  • Habe es dir mit OCMD und sscanf mal eben gescriptet. Vergesse eben nicht die Includes in die Ordner einzufügen und auch ganz oben im Script sie zu 'includen'. (OCMD findest du hier .)



    ocmd:givescore(playerid,params[])
    {
    new player, score;
    if(sscanf(params, "ui", player, score)) return SendClientMessage(playerid, 0xC0C0C0AA, "BEFEHL: /givescore [PlayerID] [Score]");

    if(IsPlayerAdmin(playerid))
    {
    SetPlayerScore(player, score);
    }
    else
    {
    SendClientMessage(playerid, 0xFE5E41FF, "Sie sind nicht als Administrator eingeloggt!");
    }
    return 1;
    }

  • dcmd_givescore(playerid,params[])
    {
    new pID,neueslvl;
    if(sscanf(params,"ud",pID,neueslvl)) return SendClientMessage(playerid,Farberot,"Falsche Eingabe!");
    if(Player[playerid][Administrator] > 1)
    {
    SetPlayerScore(pID,neueslvl);
    Player[pID][Level] = neueslvl;
    }
    return 1;
    }


    Ungetestet und hier im Forum geschrieben.

  • Also wenn man das nicht weiß muss man erstmal die Grundlagen von Pawn lernen...
    dcmd(givescore, 4, cmdtext);

    das kommt in onplayercommandtext
    dcmd_givescore(playerid,params[])
    {
    new pID,neueslvl;
    if(sscanf(params,"ud",pID,neueslvl)) return SendClientMessage(playerid,Farberot,"Falsche Eingabe!");
    if(Player[playerid][Administrator] > 1)
    {
    SetPlayerScore(pID,neueslvl);
    Player[pID][Level] = neueslvl;
    }
    return 1;
    }

    das kommt ganz untne ins script bzw ausserhalb eines callbacks/publics



    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
    kommt ganz oben hin(zu den anderen defines)


    Wenn du es jetzt nicht hinbekommst, kann dir keiner weiterhelfen

  • OCMD Include download -> HIER.


    Ganz oben
    #include <ocmd>


    CMD
    ocmd:setlevel(playerid,params[])
    {
    if (IsPlayerAdmin(playerid))
    {
    new pID, level, string[128],string2[128],ziel[MAX_PLAYER_NAME],sender[MAX_PLAYER_NAME],string3[128];
    GetPlayerName(pID,ziel,sizeof(ziel));
    GetPlayerName(playerid,sender,sizeof(sender));
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(pID, pname, sizeof(pname));
    if(sscanf(params,"ui",pID,level))return SendClientMessage(playerid, COLOR_GRAD2, "/setlevel [ID/NAME] [Level]");
    SpielerInfo[pID][pLevel] = level;
    format(string,sizeof(string),"Dein Level ist nun %d! Glückwunsch!",level);
    SendClientMessage(pID,COLOR_LIGHTBLUE,string);
    format(string3,sizeof(string3),"AdmCMD: %s hat %s Level %d gegeben!!",sender,ziel,level);
    SendClientMessage(playerid,COLOR_RED,string3);
    format(string2,sizeof(string2),"AdmCMD: %s hat %s Level %d gegeben!!",sender,ziel,level);
    print(string2);
    SetPlayerScore(pID, SpielerInfo[pID][pLevel]);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Admin!");
    }
    return 1;
    }


    CMD ganz unten in Script


    sscanf ganz unten in Script