Admin System [kleines Problem] [Hilfe gesucht]

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
  • Hallo,
    habe eine kleine frage ob mir jemand schreiben könnte wie ich dies machen soll:


    Wenn ich einen spieler mit /kick kicke dann steht bei mir das er von mir mit meinem angegebenen Grund gekickt wurde. Auch den anderen Spielern steht dies. Aber bei dem gekickten steht nur "server closed the conection". Könnte mir jemand schreiben, was ich da hinschreiben soll, damit der gickte auch sieht das er gekickt wurde ??


    Beispiel:
    Bei dem geckickten:


    Du wurdest von dem Admin "Max Mustermann" gekickt. Grund: .........
    Server closed the connection.


    Hier die PWN Codes:
    if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /kick [spielerid/teildesnamens] [grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /kick [spielerid/teildesnamens] [grund]");
    return 1;
    }
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
    KickLog(string);
    Kick(giveplayerid);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    return 1;
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    | Green Day - Nickelback - Rise Against - 3 Doors Down | \m/

  • hier wird er gekickt bevor der text gesendet wird, allso taucht er bei ihm nicht auf
    Kick(giveplayerid);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);



    jetzt wird erst der text gesendet, danach wird er gekickt, allso kann er ihn noch sehen
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(giveplayerid);

  • ich würde es an deiner stelle so machen:


    format(string, sizeof(string), "Du wurdest von %s gekickt, Grund: %s", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);


    also da sieht er dass er gekickt wurde, dann wird er gekickt, und dann erfahren alle anderen dass er gekickt wurde ;)

    Einmal editiert, zuletzt von Zacharias ()

  • format(string, sizeof(string), "Du wurdest von %s gekickt, Grund: %s", sendername, (result));
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);


    hastn kleinen Fehler drinne: "SendClientMessage(playerid, COLOR_LIGHTRED, string);", muss aber ebenfalls giveplayerid sein
    format(string, sizeof(string), "Du wurdest von %s gekickt, Grund: %s", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);