[HILFE]Dialog Kick

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
  • Servus Leute, so dann mache ich mal mein Problem public.
    Ich habe bisher


    if(listitem == 6)
    {
    new string[MAX_PLAYER_NAME*MAX_PLAYERS];
    for(new i; i != GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i))continue;
    new dName[MAX_PLAYER_NAME];
    GetPlayerName(i, dName, sizeof dName);
    format(string, sizeof string, "%s\n%s", string, dName);
    item[playerid][iItem] = i;
    iItem ++;
    }
    ShowPlayerDialog(playerid, DIALOG_SPIELER_KICKEN, DIALOG_STYLE_LIST, "{FF0066}A{FFFFFF}dmin {FF0066}C{FFFFFF}ontrol {FF0066}P{FFFFFF}anel", string,"Ausführen","Spielen");
    return 1;
    }


    if(dialogid == 22)
    {
    if(response == 1)
    {
    if(!IsPlayerConnected(strval(pN))) return SendClientMessage(playerid, ROT, "Ungültiger Spieler");
    new string[125], strii[125];
    SendClientMessageToAll(GELB ," [NEWS]jj[NEWS]");
    format(string, sizeof(string),""#COL_MAGENTA"Spieler %s "#COL_YELLOW"wurde von "#COL_MAGENTA"%s "#COL_YELLOW"gekickt "#COL_MAGENTA"(Grund: %s)",pN, aN,inputtext);
    SendClientMessageToAll(grün, string);
    format(strii, sizeof(strii), "{D1A513}Server Regeln{FFFFFF}\nSupport-Tickets\nCheater-Meldungen\nAbstimmungen\nSpieler beobachten\nSpieler muten\nSpieler kicken\nSpieler bannen\nStatistiken bearbeiten\nEigenen Namen ändern | %s\nEigenes Passwort ändern\nServer Einstellungen", SpielerName(playerid));
    ShowPlayerDialog(playerid,Adminpanel,DIALOG_STYLE_LIST, "{FF0066}A{FFFFFF}dmin {FF0066}C{FFFFFF}ontrol {FF0066}P{FFFFFF}anel", strii,"Ausführen","Spielen");
    Kick(strval(pN));
    return 1;
    }
    return 1;
    }


    Den ersten Spieler kann man kicken, jedoch bei jedem weiteren kommt Ungültiger Spieler
    Wie muss ich nun die Ausgabe verändern, damit es im Zusammenhang zu dem vorgestellten MAXPLAYER System von SynonymousZ funktioniert?
    Jegliche andere Methoden die zur Lösung des Problems führen sind natürlich auch gerne gesehen :)


    mfg

    KleineHilfe 2.0

  • Ich habe jetzt schon bestimmt 40-50 verschiedene Methoden probiert, es zum laufen zu kriegen.
    Darunter auch dies.


    Folgen INGame:
    Es wird angezeigt, das der 2. Spieler gekickt wurde, aber wirklich gekickt wurde er nicht.
    Trotzdem danke für deinen Beitrag.


    //Edit damit man alles nachvollziehen kann, hier auch der zwischen Dialog.


    new aN[128], str[128], pN[128];
    GetPlayerName(playerid, aN, sizeof(aN)), GetPlayerName(strval(pN), pN, sizeof(pN));
    if(dialogid == DIALOG_SPIELER_KICKEN)
    {
    if(response == 1)
    {
    format(str,sizeof(str),"Bitte gebe den Grund ein weshalb der Spieler %s gekickt werden soll.",pN);
    ShowPlayerDialog(playerid,22,DIALOG_STYLE_INPUT,"Spieler kicken", str,"Weiter","Weiter");
    return 1;
    }
    return 1;
    }
    if(dialogid == 22)
    {
    if(response == 1)
    {
    if(!IsPlayerConnected(strval(pN))) return SendClientMessage(playerid, ROT, "Ungültiger Spieler");
    new string[125], strii[125];
    SendClientMessageToAll(GELB ," [NEWS]jj[NEWS]");
    format(string, sizeof(string),""#COL_MAGENTA"Spieler %s "#COL_YELLOW"wurde von "#COL_MAGENTA"%s "#COL_YELLOW"gekickt "#COL_MAGENTA"(Grund: %s)",pN, aN,inputtext);
    SendClientMessageToAll(grün, string);
    format(strii, sizeof(strii), "{D1A513}Server Regeln{FFFFFF}\nSupport-Tickets\nCheater-Meldungen\nAbstimmungen\nSpieler beobachten\nSpieler muten\nSpieler kicken\nSpieler bannen\nStatistiken bearbeiten\nEigenen Namen ändern | %s\nEigenes Passwort ändern\nServer Einstellungen", SpielerName(playerid));
    ShowPlayerDialog(playerid,Adminpanel,DIALOG_STYLE_LIST, "{FF0066}A{FFFFFF}dmin {FF0066}C{FFFFFF}ontrol {FF0066}P{FFFFFF}anel", strii,"Ausführen","Spielen");
    Kick(strval(pN));
    return 1;
    }

    KleineHilfe 2.0

  • Hab jetzt oben den zwischen Dialog, wo man den Grund eintippt ebenfalls hinzugefügt.


    /E
    Der Verlauf:
    Ich öffne ein Dialog -> Alle Spieler werden angezeigt -> Ich klicke auf einen Spieler und gebe den Grund ein -> Spieler wird gekickt.
    Beim 2. Funktioniert alles bis zum Spieler wird gekickt^^

    KleineHilfe 2.0