Hilfe bei einem Makeadmin Befehl ....

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 Abend Breadfisch,


    Ich habe folgendes Problem undzwar ändert er das Adminlevel im nur bei ID 0 und ich weiß nicht woran es liegt, hier der code


    ocmd:makeadmin(playerid)
    {
    if(SpielerInfo[playerid][pAdmin] >= 6)
    {
    ShowPlayerDialog(playerid, MAKEADMIN_DIALOG, DIALOG_STYLE_INPUT, "Adminsystem","Bitte gebe die ID des Spielers ein.","Auswählen","Abbrechen");
    }
    return 1;
    }


    OnDialogResponse:


    if(dialogid == MAKEADMIN_DIALOG)
    {
    if(response)
    {
    new targetid = ReturnUser(inputtext);
    if(targetid == INVALID_PLAYER_ID)
    {
    SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht Online!");
    return 1;
    }
    else if(targetid != INVALID_PLAYER_ID)
    {
    //ShowPlayerDialog(playerid, 5564, DIALOG_STYLE_INPUT,"Chose the adminlevel of the player","","Select","Cancel");
    ShowPlayerDialog(playerid, 5564, DIALOG_STYLE_LIST, "Welchen Teamstatus willst du Vergeben", "Rauswerfen\nSupporter\nTest-Moderator\nModerator\nAdministrator\nHead-Admin\nCommunityleitung\nScripter", "Auswählen", "Abbrechen");
    return 1;
    }
    }
    }
    if(dialogid == 5564)
    {
    if(response == 1)
    {
    new string[128];
    new giveplayerid = strval(inputtext);
    switch(listitem)
    {
    case 0:
    {

    SpielerInfo[giveplayerid][pAdmin] = 0;
    SaveMysqlPlayer(giveplayerid);
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 8 , 1 );//Administrator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 7 , 1 );//Head-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 6 , 1 );//Suporter
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 5 , 1 );//Moderator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 4 , 1 );//Board-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 9 , 1 );//Communityleitung
    format(string,sizeof(string),"%s hat dich aus dem Team entlassen.",spielername(playerid));
    SendClientMessage(giveplayerid,COLOR_RED,string);
    format(string,sizeof(string),"%s hat %s aus dem Team entlassen.",spielername(playerid),spielername(giveplayerid));
    SendAdminMessage(COLOR_RED,string);
    return 1;

    }
    case 1:
    {
    //new giveplayerid = strval(inputtext);
    SpielerInfo[giveplayerid][pAdmin] = 1;
    SaveMysqlPlayer(giveplayerid);
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 8 , 1 );//Administrator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 7 , 1 );//Head-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 6 , 1 );//Suporter
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 5 , 1 );//Moderator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 4 , 1 );//Board-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 9 , 1 );//Communityleitung
    WBB_SetUserToGroup(spielername(giveplayerid),6);
    format(string,sizeof(string),"%s hat dich zum Supporter befördert.",spielername(playerid));
    SendClientMessage(giveplayerid,COLOR_RED,string);
    format(string,sizeof(string),"%s hat %s zum Supporter befördert.",spielername(playerid),spielername(giveplayerid));
    SendAdminMessage(COLOR_RED,string);
    return 1;
    }
    case 2:
    {
    //new giveplayerid = strval(inputtext);
    SpielerInfo[giveplayerid][pAdmin] = 2;
    SaveMysqlPlayer(giveplayerid);
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 8 , 1 );//Administrator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 7 , 1 );//Head-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 6 , 1 );//Suporter
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 5 , 1 );//Moderator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 4 , 1 );//Board-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 9 , 1 );//Communityleitung
    WBB_SetUserToGroup(spielername(giveplayerid),5);
    format(string,sizeof(string),"%s hat dich zum Test-Moderator befördert.",spielername(playerid));
    SendClientMessage(giveplayerid,COLOR_RED,string);
    format(string,sizeof(string),"%s hat %s zum Test-Moderator befördert.",spielername(playerid),spielername(giveplayerid));
    SendAdminMessage(COLOR_RED,string);
    return 1;
    }
    case 3:
    {
    //new giveplayerid = strval(inputtext);
    SpielerInfo[giveplayerid][pAdmin] = 3;
    SaveMysqlPlayer(giveplayerid);
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 8 , 1 );//Administrator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 7 , 1 );//Head-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 6 , 1 );//Suporter
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 5 , 1 );//Moderator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 4 , 1 );//Board-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 9 , 1 );//Communityleitung
    WBB_SetUserToGroup(spielername(giveplayerid),5);
    format(string,sizeof(string),"%s hat dich zum Moderator befördert.",spielername(playerid));
    SendClientMessage(giveplayerid,COLOR_RED,string);
    format(string,sizeof(string),"%s hat %s zum Moderator befördert.",spielername(playerid),spielername(giveplayerid));
    SendAdminMessage(COLOR_RED,string);
    return 1;
    }
    case 4:
    {
    //new giveplayerid = strval(inputtext);
    SpielerInfo[giveplayerid][pAdmin] = 4;
    SaveMysqlPlayer(giveplayerid);
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 8 , 1 );//Administrator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 7 , 1 );//Head-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 6 , 1 );//Suporter
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 5 , 1 );//Moderator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 4 , 1 );//Board-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 9 , 1 );//Communityleitung
    WBB_SetUserToGroup(spielername(giveplayerid),8);
    format(string,sizeof(string),"%s hat dich zum Administrator befördert.",spielername(playerid));
    SendClientMessage(giveplayerid,COLOR_RED,string);
    format(string,sizeof(string),"%s hat %s zum Administrator befördert.",spielername(playerid),spielername(giveplayerid));
    SendAdminMessage(COLOR_RED,string);
    return 1;
    }
    case 5:
    {
    //new giveplayerid = strval(inputtext);
    SpielerInfo[giveplayerid][pAdmin] = 5;
    SaveMysqlPlayer(giveplayerid);
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 8 , 1 );//Administrator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 7 , 1 );//Head-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 6 , 1 );//Suporter
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 5 , 1 );//Moderator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 4 , 1 );//Board-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 9 , 1 );//Communityleitung

    WBB_SetUserToGroup(spielername(giveplayerid),7);
    format(string,sizeof(string),"%s hat dich zum Head-Admin befördert.",spielername(playerid));
    SendClientMessage(giveplayerid,COLOR_RED,string);
    format(string,sizeof(string),"%s hat %s zum Head-Admin befördert.",spielername(playerid),spielername(giveplayerid));
    SendAdminMessage(COLOR_RED,string);
    return 1;
    }
    case 6:
    {
    //new giveplayerid = strval(inputtext);
    SpielerInfo[giveplayerid][pAdmin] = 6;
    SaveMysqlPlayer(giveplayerid);
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 8 , 1 );//Administrator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 7 , 1 );//Head-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 6 , 1 );//Suporter
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 5 , 1 );//Moderator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 4 , 1 );//Board-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 9 , 1 );//Communityleitung
    WBB_SetUserToGroup(spielername(giveplayerid),9);
    format(string,sizeof(string),"%s hat dich zum Communityleiter befördert.",spielername(playerid));
    SendClientMessage(giveplayerid,COLOR_RED,string);
    format(string,sizeof(string),"%s hat %s zum Communityleiter befördert.",spielername(playerid),spielername(giveplayerid));
    SendAdminMessage(COLOR_RED,string);
    return 1;
    }
    case 7:
    {
    //new giveplayerid = strval(inputtext);
    SpielerInfo[giveplayerid][pAdmin] = 7;
    SaveMysqlPlayer(giveplayerid);
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 8 , 1 );//Administrator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 7 , 1 );//Head-Admin
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 6 , 1 );//Suporter
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 5 , 1 );//Moderator
    WBB_RemoveUserFromGroup ( spielername(giveplayerid), 4 , 1 );//Board-Admin
    format(string,sizeof(string),"%s hat dich zum Scripter befördert.",spielername(playerid));
    SendClientMessage(giveplayerid,COLOR_RED,string);
    format(string,sizeof(string),"%s hat %s zum Scripter befördert.",spielername(playerid),spielername(giveplayerid));
    SendAdminMessage(COLOR_RED,string);
    return 1;
    }
    }
    }
    }

  • Du musst die ID beim ersten Dialog auch zwischen speichern sonst ist der Wert immer 0. Da Dialoge unter sich nichts speichern musst du das übernehmen. also zb. PlayerTarget[playerid] = targetid; beim ersten dialog wo du den Spieler abfängst. Und bei den anderen dialogen dann PlayerTarget[playerid] anstatt giveplayerid nutzen. PlayerTarget[MAX_PLAYERS] vorher global definieren.