Make Admin Problem...[AN EXPERTEN]

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
  • Hi, ich habe mal versucht einen Makeadmin cmd zu machen aber ich habe ein Problem:
    dcmd_mgadmin(playerid,params[]) {
    if(PlayerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
    if(!strlen(params)) return SendClientMessage(playerid,rot,"/mgadmin [ID] [LEVEL]");
    new typ = strval(strget(params,0));
    if(IsPlayerConnected(typ)) {
    if(!strlen(strget(params,1))) return SendClientMessage(playerid,rot,"/mgadmin [ID] [LEVEL]");
    new adminlvl = strval(strget(params,1));
    if(adminlvl>=0 && adminlvl<=5) {
    new s[100], name[16];
    GetPlayerName(typ,name,sizeof(name));
    format(s,sizeof(s),"Du hast %s zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(playerid,blau,s);
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s hat dich zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(typ,blau,s); PlayerInfo[playerid][admin] = adminlvl; }
    else { SendClientMessage(playerid,rot,"Inkorrektes Level"); }}
    else { SendClientMessage(playerid,rot,"ID nicht vergeben"); }}
    else { SendClientMessage(playerid,rot,"Dein Admin Level ist nich hoch genung"); }
    return 1;
    }


    Und zwar Wenn ich jetz z.B ID 0 Bin dann /mgadmin 5 3 mache dann Werder ICH auf Level 3 gemacht und nicht die ID 3 ?


    Findet jemand Das Problem/den Bug?


    Mfg

    Einmal editiert, zuletzt von [PRT]The_Gamer ()

  • Ok da steht dass man ID 5 zum admin gemacht hat aber wenn er dann /ahelp macht dann Du bist kein Admin und im scriptfile da is Admin = 0;


    //edit


    /ahelp

    dcmd_ahelp(playerid,params[]) {
    #pragma unused params
    SendClientMessage(playerid,blau,LEVEL0);
    if(PlayerInfo[playerid][admin]>=1 || IsPlayerAdmin(playerid)) {
    SendClientMessage(playerid,blau,LEVEL1);}
    if(PlayerInfo[playerid][admin]>=2 || IsPlayerAdmin(playerid)) {
    SendClientMessage(playerid,blau,LEVEL2);}
    if(PlayerInfo[playerid][admin]>=3 || IsPlayerAdmin(playerid)) {
    SendClientMessage(playerid,blau,LEVEL3);}
    if(PlayerInfo[playerid][admin]>=4 || IsPlayerAdmin(playerid)) {
    SendClientMessage(playerid,blau,LEVEL4);}
    if(PlayerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
    SendClientMessage(playerid,blau,LEVEL5);}
    else { SendClientMessage(playerid,rot,KEINADMIN);}
    return 1;}

  • Wie schreib ich das rein?


    //register

    Spoiler anzeigen
    dcmd_register(playerid, params[])
    {
    if (IsPlayerConnected(playerid))
    {
    new string[21];
    new Player[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Player, sizeof(Player));
    format(string, sizeof(string), "%s.ini", Player);
    if(!strlen(params))
    {
    return SendClientMessage(playerid, 0xffffff, " /register [Password]");
    }
    if (dini_Exists(string))
    {
    return SendClientMessage(playerid, 0xffffff, " Der name ist bereits registriert");
    }
    else
    {
    dini_Create(string);
    dini_IntSet(string, "password",udb_hash(params));
    dini_IntSet(string, "score", 0);
    dini_IntSet(string, "cash", 0);
    dini_IntSet(string, "admin", 0);
    dini_IntSet(string, "gteam", 0);
    SendClientMessage(playerid, 0xffffff, " Bitte logge dich ein: /login [Password]");
    }
    }
    return 1;
    }

  • auch wenn du es auf
    dcmd_mgadmin(playerid,params[]) {
    if(PlayerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
    if(!strlen(params)) return SendClientMessage(playerid,rot,"/mgadmin [ID] [LEVEL]");
    new typ = strval(strget(params,0));
    if(IsPlayerConnected(typ)) {
    if(!strlen(strget(params,1))) return SendClientMessage(playerid,rot,"/mgadmin [ID] [LEVEL]");
    new adminlvl = strval(strget(params,1));
    if(adminlvl>=0 && adminlvl<=5) {
    new s[100], name[16];
    GetPlayerName(typ,name,sizeof(name));
    format(s,sizeof(s),"Du hast %s zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(playerid,blau,s);
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s hat dich zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(typ,blau,s); PlayerInfo[typ][admin] = adminlvl; }
    else { SendClientMessage(playerid,rot,"Inkorrektes Level"); }}
    else { SendClientMessage(playerid,rot,"ID nicht vergeben"); }}
    else { SendClientMessage(playerid,rot,"Dein Admin Level ist nich hoch genung"); }
    return 1;
    }


    umgeändert hast?

  • Ja


    //Push [ES IST WICHTIG]



    Hier der Aktuele Code


    dcmd_mgadmin(playerid,params[]) {
    if(PlayerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
    if(!strlen(params)) return SendClientMessage(playerid,rot,"/mgadmin ID LEVEL");
    new typ = strval(strget(params,0));
    if(IsPlayerConnected(typ)) {
    if(!strlen(strget(params,1))) return SendClientMessage(playerid,rot,"/mgadmin ID LEVEL");
    new adminlvl = strval(strget(params,1));
    if(adminlvl>=0 && adminlvl<=5) {
    new s[100], name[16];
    GetPlayerName(typ,name,sizeof(name));
    format(s,sizeof(s),"Du hast %s zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(playerid,blau,s);
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s hat dich zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(typ,blau,s); PlayerInfo[playerid][admin] = adminlvl; }
    else { SendClientMessage(playerid,rot,"Inkorrektes Level"); }}
    else { SendClientMessage(playerid,rot,"ID nicht vergeben"); }}
    else { SendClientMessage(playerid,rot,"Dein Admin Level ist nich hoch genung"); }
    return 1;
    }



    Wenn ich /mgadmin 4 4 mache und ich bin die ID% auser ID4 wird mein level runtergesetzt und die ID4 seins nicht Aber die message kommt....

    4 Mal editiert, zuletzt von [PRT]The_Gamer ()


  • dcmd_mgadmin(playerid,params[]) {
    if(PlayerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
    if(!strlen(params)) return SendClientMessage(playerid,rot,"/mgadmin ID LEVEL");
    new typ = strval(strget(params,0));
    if(IsPlayerConnected(typ)) {
    if(!strlen(strget(params,1))) return SendClientMessage(playerid,rot,"/mgadmin ID LEVEL");
    new adminlvl = strval(strget(params,1));
    if(adminlvl>=0 && adminlvl<=5) {
    new s[100], name[16];
    GetPlayerName(typ,name,sizeof(name));
    format(s,sizeof(s),"Du hast %s zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(playerid,blau,s);
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s hat dich zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(typ,blau,s); PlayerInfo[typ][admin] = adminlvl; } //hier war: PlayerInfo[playerid][admin] = adminlvl ABER playerid ist man selbst also der "typ"
    else { SendClientMessage(playerid,rot,"Inkorrektes Level"); }}
    else { SendClientMessage(playerid,rot,"ID nicht vergeben"); }}
    else { SendClientMessage(playerid,rot,"Dein Admin Level ist nich hoch genung"); }
    return 1;
    }


    Zeile 16:
    PlayerInfo[typ][admin] = adminlvl; } //hier war: PlayerInfo[playerid][admin] = adminlvl; ABER playerid ist man selbst also : PlayerInfo[typ][admin] = adminlvl;

  • Danke aber jetz brauch ich noch einen Mit dem ich es Testen kann über Hamachi

  • Hmm Wenns vorher nicht funktioniert hat dann funktioniert es jetzt mit 100%iger Wahrscheinlichkeit. Meiner Ansicht nach jedenfalls.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Also folgendes Problem..


    Wenn ich mich als Rcon einlogge und dann /mgadmin machen dann kommt SERVER: Unknown Command?


    Liegt es hier dran?


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(ahelp,5,cmdtext);
    //----------------------------
    dcmd(mgadmin,11,cmdtext);
    //----------------------------
    dcmd(register,8,cmdtext);
    dcmd(login,5,cmdtext);
    //----------------------------
    dcmd(kick,4,cmdtext);
    dcmd(ban,3,cmdtext);
    dcmd(healall,7,cmdtext);
    dcmd(heal,4,cmdtext);
    dcmd(killall,7,cmdtext);
    //-------------------------/pm------------------------------
    return 1;
    }
    oder hier?
    dcmd_mgadmin(playerid,params[]) {
    if(PlayerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
    if(!strlen(params)) return SendClientMessage(playerid,rot,"/mgadmin ID LEVEL");
    new typ = strval(strget(params,0));
    if(IsPlayerConnected(typ)) {
    if(!strlen(strget(params,1))) return SendClientMessage(playerid,rot,"/mgadmin ID LEVEL");
    new adminlvl = strval(strget(params,1));
    if(adminlvl>=0 && adminlvl<=5) {
    new s[100], name[16];
    GetPlayerName(typ,name,sizeof(name));
    format(s,sizeof(s),"Du hast %s zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(playerid,blau,s);
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s hat dich zum Admin Level %d gemacht",name,adminlvl);
    SendClientMessage(typ,blau,s); PlayerInfo[typ][admin] = adminlvl; } //hier war: PlayerInfo[playerid][admin] = adminlvl ABER playerid ist man selbst also der "typ"
    else { SendClientMessage(playerid,rot,"Inkorrektes Level"); }}
    else { SendClientMessage(playerid,rot,"ID nicht vergeben"); }}
    else { SendClientMessage(playerid,rot,"Dein Admin Level ist nich hoch genung"); }
    return 1;
    }


    ?

  • is mir auch grade aufgefallen danke dir



    Edit:


    dcmd_healall(playerid,params[]) {
    new string[128];
    #pragma unused params
    if(PlayerInfo[playerid][admin]>=2 || IsPlayerAdmin(playerid)) {
    for(new i = 0; i <= MAX_PLAYERS; i++) {
    SetPlayerHealth(i,100);}
    format(string,sizeof(string),"Admin: %s Hat alle geheilt!",admin);}
    else { SendClientMessage(playerid,rot,KEINADMIN);}
    return 1;}


    Da kommt keine message da muss ja i-wo SendClientMEssagetoAll(playeir oder soowas
    Aber es soll nur kommen wenn derjenige admin is..

  • Funktioniert an mir an andere kp

  • meinst du so



    dcmd_healall(playerid,params[]) {
    new string[128];
    #pragma unused params
    if(PlayerInfo[playerid][admin]>=2 || IsPlayerAdmin(playerid)) {
    for(new i = 0; i <= MAX_PLAYERS; i++) {
    SetPlayerHealth(i,100);}
    new Text[32];
    format(Text,sizeof(Text),"%s hat alle geheilt!"admin);
    SendClientMessageToAll(rot,Text);
    format(string,sizeof(string),"Admin: %s Hat alle geheilt!",admin);}
    else { SendClientMessage(playerid,rot,KEINADMIN);}
    return 1;}

    RFT

  • DAs sieht ziemlich komisch aus :O



    dcmd_healall(playerid,params[])
    {
    new string[128];
    #pragma unused params
    if(PlayerInfo[playerid][admin]>=2 || IsPlayerAdmin(playerid))
    {
    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
    SetPlayerHealth(i,100);
    }
    format(string,sizeof(string),"Admin: %s Hat alle geheilt!",admin);
    SendClientMessageToAll(rot,string); //Das hier hat gefehlt.
    } else {
    SendClientMessage(playerid,rot,KEINADMIN);
    }
    return 1;
    }


    //Edit: mist X( Julian war schneller

  • ja mom




    Lol niemand hats rausbekommen


    GetPlayerName(playerid, string, sizeof(string));

    2 Mal editiert, zuletzt von [PRT]The_Gamer ()