Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

brak danych na czacie / HighPingBan


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 orzel

    Życzliwy

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:28
  • Lokalizacja:PL
Offline

Napisano 27.05.2011 17:41

Na czacie nie wyswietlaja sie dane, trylko suchy tekst, np. "[HPB] Gracze z pingiem wiekszym niz 100ms zostana zbanowani na <powinno byc tu 1 a nie ma> minute." Brakuje na ile minut, ale jaki ping to jest.

#include <amxmodx>

new HIGHPING_MAX = 100 // Maksymalny dopuszczalny ping u gracza.
new HIGHPING_TIME = 1 // Czas po którym osoba z wysokim pingiem jest wyrzucana.
new HIGHPING_TESTS = 1 // Ilosc sprawdzen zanim cos zrobi.
new HIGHPING_BANTIME = 1 // Czas Bana

new iNumTests[33]

public plugin_init() {
register_plugin("High Ping Baned PL","1.1","Mis")
if (HIGHPING_TIME < 2) HIGHPING_TIME = 1
if (HIGHPING_TESTS < 2) HIGHPING_TESTS = 1
return PLUGIN_CONTINUE
}

public client_disconnect(id) {
remove_task(id)
return PLUGIN_CONTINUE
}

public client_putinserver(id) {
iNumTests[id] = 0
if (!is_user_bot(id)) {
new param[1]
param[0] = id
set_task(60.0, "showWarn", id, param, 1)
}
return PLUGIN_CONTINUE
}

kickPlayer(id) {
new name[32]
get_user_name(id, name, 31)
new uID = get_user_userid(id)
server_cmd("amx_ban %d #%d Lagujesz", HIGHPING_BANTIME, uID)
client_cmd(id, "echo ^"[HPB] Przykro mi, masz zbyt wysoki ping. Sprobuj pozniej...^"; disconnect")
client_print(0, print_chat, "[HPB] %s zostal zbanowany za wysoki ping na %s minute.", name, HIGHPING_BANTIME)
return PLUGIN_CONTINUE
}

public checkPing(param[]) {
new id = param[0]
if ((get_user_flags(id) & ADMIN_IMMUNITY) || (get_user_flags(id) & ADMIN_RESERVATION)) {
remove_task(id)
client_print(id, print_chat, "[HPB] Masz Immunited. Sprawdanie pingu Cie nie obowiazuje.")
return PLUGIN_CONTINUE
}
new p, l
get_user_ping(id, p, l)
if (p > HIGHPING_MAX)
++iNumTests[id]
else
if (iNumTests[id] > 0) --iNumTests[id]
if (iNumTests[id] > HIGHPING_TESTS)
kickPlayer(id)
return PLUGIN_CONTINUE
}

public showWarn(param[]) {
client_print(param[0], print_chat, "[HPB] Gracze z pingiem wiekszym niz %dms zostana zbanowani na %s minute.", HIGHPING_MAX, HIGHPING_BANTIME)
set_task(float(HIGHPING_TIME), "checkPing", param[0], param, 1, "b")
return PLUGIN_CONTINUE
}

Użytkownik orzel edytował ten post 27.05.2011 17:53

  • +
  • -
  • 0
Dołączona grafika

Dołączona grafika

#2 ;((

    Super Hero

  • Użytkownik

Reputacja: 347
Wszechpomocny

  • Postów:1157
  • Lokalizacja:Aha
Offline

Napisano 27.05.2011 18:00

Zobacz:

#include <amxmodx>

new HIGHPING_MAX = 100 // Maksymalny dopuszczalny ping u gracza.
new HIGHPING_TIME = 1  // Czas po którym osoba z wysokim pingiem jest wyrzucana.
new HIGHPING_TESTS = 1  // Ilosc sprawdzen zanim cos zrobi.
new HIGHPING_BANTIME = 1 // Czas Bana

new iNumTests[33]

public plugin_init() {
        register_plugin("High Ping Baned PL","1.1","Mis")
        if (HIGHPING_TIME < 2) HIGHPING_TIME = 1
        if (HIGHPING_TESTS < 2) HIGHPING_TESTS = 1
        return PLUGIN_CONTINUE
}

public client_disconnect(id) {
        remove_task(id)
        return PLUGIN_CONTINUE
}
        
public client_putinserver(id) {
        iNumTests[id] = 0
        if (!is_user_bot(id)) {
                new param[1]
                param[0] = id
                set_task(60.0, "showWarn", id, param, 1)
        }
        return PLUGIN_CONTINUE
}

kickPlayer(id) {
        new name[32]
        get_user_name(id, name, 31)
        new uID = get_user_userid(id)
        server_cmd("amx_ban %d #%d Lagujesz", HIGHPING_BANTIME, uID)
        client_cmd(id, "echo ^"[HPB] Przykro mi, masz zbyt wysoki ping. Sprobuj pozniej...^"; disconnect")
        client_print(0, print_chat, "[HPB] %s zostal zbanowany za wysoki ping na %d minute.", name, HIGHPING_BANTIME)
        return PLUGIN_CONTINUE
} 

public checkPing(param[]) {
        new id = param[0]
        if ((get_user_flags(id) & ADMIN_IMMUNITY) || (get_user_flags(id) & ADMIN_RESERVATION)) {
                remove_task(id)
                client_print(id, print_chat, "[HPB] Masz Immunited. Sprawdanie pingu Cie nie obowiazuje.")
                return PLUGIN_CONTINUE
        }
        new p, l
        get_user_ping(id, p, l)
        if (p > HIGHPING_MAX)
                ++iNumTests[id]
        else
                if (iNumTests[id] > 0) --iNumTests[id]
        if (iNumTests[id] > HIGHPING_TESTS)
                kickPlayer(id)
        return PLUGIN_CONTINUE
}

public showWarn(param[]) {
        client_print(param[0], print_chat, "[HPB] Gracze z pingiem wiekszym niz %d ms zostana zbanowani na %d minute.", HIGHPING_MAX, HIGHPING_BANTIME)
        set_task(float(HIGHPING_TIME), "checkPing", param[0], param, 1, "b")
        return PLUGIN_CONTINUE
}

Może lepiej weź High Ping Kicker? :P

Użytkownik DAMIANq edytował ten post 27.05.2011 18:00

  • +
  • -
  • 0

#3 orzel

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:28
  • Lokalizacja:PL
Offline

Napisano 27.05.2011 18:24

Zobaczę. Teraz zauważyłem, że ten kod co ja podałem nie banuje, lecz kickuje. Nie mam amx_bans jakby co :)
Co po HPK jak wbije zaraz z powrotem i znowu laguje...


//
Twoja wersja pokazuje w czacie, zobaczę jeszcze jak z banowaniem.

Dodano 27 maj 2011 - 21:05:
Powiedz mi czy HIGHPING_TESTS = 1 sprawia, że jak przy sprawdzaniu kolo ma ping>100ms to od razu banuje. Jeżeli ustawię na 2 to 2 razy pod rząd przy sprawdzaniu musi mieć >100? I gdzie reguluje się częstotliwość sprawdzania?

Użytkownik orzel edytował ten post 27.05.2011 18:36

  • +
  • -
  • 0
Dołączona grafika

Dołączona grafika




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych