Pingkicker mit 3 verwarnungen

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 Breadfish community,
    soweit habe ich es mit meinem Pingkicker mit 3 verwarnungen geschafft das Problem ist das man aber wen man 1 mal den maximal ping überschreitet direkt gekickt wird man soll aber eine meldung bekommen das man die 1 verwarnung gekriegt hat und bei 3 soll man gekickt werden. das problem wollte ich mit timern lösen aber wen ich nach erst 30sekunden lang den nächsten public aufrugen lasse dann schickt er mir die gleich meldung immer also 1 von 3 verwarnungen


    public PingCheck1(playerid)
    {
    if(GetPlayerPing(playerid) >= MAX_PING)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "* Du wirst gekickt wen du deinen Ping nicht seknst! (1 von 3 Verwarnungen)");
    Ping[playerid] = 1;
    SetTimer("PingCheck2",30000,1);
    }
    return 1;
    }
    public PingCheck2(playerid)
    {
    if(GetPlayerPing(playerid) >= MAX_PING)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "* Du wirst gekickt wen du deinen Ping nicht seknst! (2 von 3 Verwarnungen)");
    Ping[playerid] = 2;
    PingCheck(playerid);
    }
    return 1;
    }
    public PingCheck(playerid)
    {
    new string[128];
    new pName[16];
    GetPlayerName(playerid, pName, sizeof(pName));
    if(GetPlayerPing(playerid) >= MAX_PING && Ping[playerid]== 2)
    {
    format(string, sizeof(string), "* %s wurde gekickt wegen einem zu hohen Ping ! ", pName);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    SendClientMessage(playerid, COLOR_LIGHTRED, "* Du wurdest gekickt wegen einem zu hohen Ping! (3 von 3 Verwarnungen)");
    Kick(playerid);
    }
    return 1;
    }


    SetTimer("PingCheck1",10000,1);



    MFG milanboy

  • oh my gooooood, 2 Timer für 1ne funktion o.O.


    1. Erstell 1 Timer
    2. abfrage ob Verwarnung 0, oder 1 beträgt ~> Else wert == Kick
    3. bei 0 & 1 die Variable für Verwarnung hochzählen sowie dein Ping getten und je nachdem handeln


    hmm kleine anleitung aber mehr brauchste nicht, schmücks aus und pass es an ;)


    Bitte keine Script/Supportanfragen via PN!!!
    (Ausnahme: Scripten gegen Bezahlung!)

  • forward pingcheck();
    SetTimer("pingcheck", 5000, 1);



    public pingcheck(playerid)
    {
    new i = 0;
    for(; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerPing(i) >= MAX_PING)
    {
    SetPVarInt(i, "ping", GetPVarInt(playerid)+1);

    if(GetPlayerPVarInt(playerid) == 1)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* Du wirst gekickt wen du deinen Ping nicht senkst! (1 von 3 Verwarnungen)");
    }
    else if(GetPlayerPVarInt(playerid) == 2)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* Du wirst gekickt wen du deinen Ping nicht senkst! (2 von 3 Verwarnungen)");
    }
    else if(GetPlayerPVarInt(playerid) == 3)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* Letzte Warnung, senke deinen Ping!! (3 von 3 Verwarnungen)");
    }
    else if(GetPlayerPVarInt(playerid) == 4)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* BB!)");
    DeletePVar(playerid,"ping");
    Kick(i);
    }
    }
    }
    return 1;
    }


    //edit ungetestet, ich formatier das gleich
    //edit2 so teste es mal habs im editor geschrieben