Script Frage

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:makeadmin(playerid,params[])
    {
    if(!isAdmin(playerid,4))return SendClientMessage(playerid,color_rot,"Dazu bist du nicht befugt!");
    new pid,level;
    if(sscanf(params,"ui",pid,level))return SendClientMessage(playerid,color_rot,"Verwendung: /makeadmin [ID/NAME] [LEVEL]");
    SendClientMessage(pid,color_rot,"Dein Adminrang wurde geändert!");
    SendClientMessage(playerid,color_rot,"Du hast dem Spieler einen neuen Adminrang gegeben!");
    sInfo[pid][pAdmin]=level;
    return 1;
    }


    das ist mein befehl wie kann ich das jetzt machen das ich %s verwenden kann, das will bei mir einfach nicht klappen irgendeinen fehler mache ich da kann mir da jemand mal bitte in beispiel schreiben?
    Mit %s meine halt Admin %s hat dir das Adminlevel %d gegeben und Du hast %s das Adminlevel %d gegeben


    MFG. GZUZ_187 :thumbup:

  • ocmd:makeadmin(playerid,params[])
    {
    if(!isAdmin(playerid,4))return SendClientMessage(playerid,color_rot,"Dazu bist du nicht befugt!");
    new pid,level;
    if(sscanf(params,"ui",pid,level))return SendClientMessage(playerid,color_rot,"Verwendung: /makeadmin [ID/NAME] [LEVEL]");
    new string[128];
    format(string, sizeof(string), "Admin %s hat dir das Adminlevel %d gegeben.", SpielerName(playerid), level);
    SendClientMessage(pid,color_rot,string);
    format(string, sizeof(string), "Du hast %s das Adminlevel %d gegeben.", SpielerName(pid), level);
    SendClientMessage(playerid,color_rot,string);
    sInfo[pid][pAdmin]=level;
    return 1;
    }


    Jenachdem ob du SpielerName() verwendest, anpassen an das was du nutzt.

  • Das geht bei mir nicht erst kommen errors wegen PlayerName dann nehme ich das raus habe das so gemacht:

    ocmd:makeadmin(playerid,params[])
    {
    if(!isAdmin(playerid,4))return SendClientMessage(playerid,color_rot,"Dazu bist du nicht befugt!");
    {
    new pid,level;
    if(sscanf(params,"ui",pid,level))return SendClientMessage(playerid,color_rot,"Verwendung: /makeadmin [ID/NAME] [LEVEL]");
    new string[128];
    format(string, sizeof(string), "Admin %s hat dir das Adminlevel %d gegeben.", playerid, level);
    SendClientMessage(pid,color_rot,string);
    format(string, sizeof(string), "Du hast %s das Adminlevel %d gegeben.", pid, level);
    SendClientMessage(playerid,color_rot,string);
    sInfo[pid][pAdmin]=level;
    }
    return 1;
    }


    Jetzt steht im Chat: Admin hat dir das Adminlevel %d gegeben
    und Du hast das Adminlevel 4 gegeben


    Der name von dem Admin wird ausgelassen

  • Ich bin noch am anfang mit dem scripten tut mir leid :D ich habe etwas verwendet so GetPlayerName oder sInfo[playerid][pAdmin] zB weiß nicht ob das weiter hilft

  • So sollte es jetzt eigentlich erstmal funktionieren:



    ocmd:makeadmin(playerid,params[])
    {
    if(!isAdmin(playerid,4))return SendClientMessage(playerid,color_rot,"Dazu bist du nicht befugt!");
    new pid,level;
    if(sscanf(params,"ui",pid,level))return SendClientMessage(playerid,color_rot,"Verwendung: /makeadmin [ID/NAME] [LEVEL]");
    new aname[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, sizeof(aname));
    GetPlayerName(pid, pname, sizeof(pname));
    new string[128];
    format(string, sizeof(string), "Admin %s hat dir das Adminlevel %d gegeben.", aname, level);
    SendClientMessage(pid,color_rot,string);
    format(string, sizeof(string), "Du hast %s das Adminlevel %d gegeben.", pname, level);
    SendClientMessage(playerid,color_rot,string);
    sInfo[pid][pAdmin]=level;
    return 1;
    }

  • Die für mich einfachste aber nicht beste Methode:



    stock PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
    }


    Dann kannst du immer PlayerName(playerid) bzw. PlayerName(pid) benutzen.

  • Bekomme 2 errors: : error 076: syntax error in the expression, or invalid function call, error 076: syntax error in the expression, or invalid function call
    die betreffen diese 2 zeilen:
    format(string, sizeof(string), "Admin %s hat dir das Adminlevel %d gegeben.", aname, level);
    format(string, sizeof(string), "Du hast %s das Adminlevel %d gegeben.", pname, level);


    Hat sich erledigt vielen dank habe es jetzt hin bekommen :D

    Einmal editiert, zuletzt von GZUZ_187 ()