Skocz do zawartości

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
Modyfikacja

Edycja HPK

Modyfikacja

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

#1 Karpielek

    Wszechpomocny

  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:361
  • Lokalizacja:Zakopane
Offline

Napisano 02.11.2010 19:03

Witam...

Więc dzisiaj mam prośbę, aby przerobić plugin High Ping Kicker, tak aby jeśli ktoś ma za duży ping to go wywalało, i na jego ekranie pojawiło się: Kicked: Powod: Masz za duzy ping.

Z góry wielkie dziękuję!

/* AMX Mod script
*
* (c) 2002-2003, DynAstY
* This file is provided as is (no warranties).
*
* Players with immunity won't be checked
*/

#include <amxmodx>

new HIGHPING_MAX = 150 // set maximal acceptable ping
new HIGHPING_TIME = 6  // set in seconds frequency of ping checking
new HIGHPING_TESTS = 3  // minimal number of checks before doing anything

new iNumTests[33]

public plugin_init() {
    register_plugin("High Ping Kicker","1.2.0","DynAstY")
    if (HIGHPING_TIME < 10) HIGHPING_TIME = 6
    if (HIGHPING_TESTS < 4) HIGHPING_TESTS = 3
    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(30.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("banid 1 #%d", uID)
    client_cmd(id, "echo ^"[HPK] Twoj ping jest za duzy!^"; disconnect")
    return PLUGIN_CONTINUE
}

public checkPing(param[]) {
    new id = param[0]
    if ((get_user_flags(id) & ADMIN_IMMUNITY)) {
        remove_task(id)
        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[]) {
    set_task(float(HIGHPING_TIME), "checkPing", param[0], param, 1, "b")
    return PLUGIN_CONTINUE
}

  • +
  • -
  • 0

#2 Harsay

    Harsayus pospolitus

  • Użytkownik

Reputacja: 88
Zaawansowany

  • Postów:274
  • Imię:Michał
  • Lokalizacja:Bydgoszcz
Offline

Napisano 02.11.2010 19:30

kickPlayer(id) {
    new name[32]
    get_user_name(id, name, 31)
    new uID = get_user_userid(id)
    server_cmd("banid 1 #%d", uID)
    client_cmd(id, "echo ^"[HPK] Twoj ping jest za duzy!^"; disconnect")
    return PLUGIN_CONTINUE
}

Zmień na:

kickPlayer(id) {
    new name[32]
    get_user_name(id, name, 31)
    server_cmd("amx_kick ^"#%d^" ^"Twoj ping jest za duzy...^", name)
    client_cmd(id, "echo ^"[HPK] Twoj ping jest za duzy!^"; disconnect")
    return PLUGIN_CONTINUE
}

Użytkownik Harsay edytował ten post 02.11.2010 19:30

  • +
  • -
  • 0

#3 Karpielek

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:361
  • Lokalizacja:Zakopane
Offline

Napisano 03.11.2010 13:14

Nie udało sie sskompilowac ;/

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

hpk.sma(42) : error 037: invalid string (possibly non-terminated string)

1 Error.
Could not locate output file hpk.amxx (compile failed).

Dodano 03 listopad 2010 - 18:04:
Pomoże ktoś ?
  • +
  • -
  • 0

#4 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 03.11.2010 20:32

zamien to
server_cmd("amx_kick ^"#%d^" ^"Twoj ping jest za duzy...^", name)


na to
server_cmd("amx_kick ^"%s^" ^"Twoj ping jest za duzy...^"", name)


tu masz cały kod
/* AMX Mod script
*
* © 2002-2003, DynAstY
* This file is provided as is (no warranties).
*
* Players with immunity won't be checked
*/

#include <amxmodx>

new HIGHPING_MAX = 150 // set maximal acceptable ping
new HIGHPING_TIME = 6 // set in seconds frequency of ping checking
new HIGHPING_TESTS = 3 // minimal number of checks before doing anything

new iNumTests[33]

public plugin_init()
{
register_plugin("High Ping Kicker","1.2.0","DynAstY")
if (HIGHPING_TIME < 10) HIGHPING_TIME = 6
if (HIGHPING_TESTS < 4) HIGHPING_TESTS = 3
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(30.0, "showWarn", id, param, 1)
}
return PLUGIN_CONTINUE
}

kickPlayer(id)
{
new name[32]
get_user_name(id, name, 31)
server_cmd("amx_kick ^"%s^" ^"Twoj ping jest za duzy...^"", name)
client_cmd(id, "echo ^"[HPK] Twoj ping jest za duzy!^"; disconnect")
return PLUGIN_CONTINUE
}

public checkPing(param[])
{
new id = param[0]
if ((get_user_flags(id) & ADMIN_IMMUNITY))
{
remove_task(id)
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[])
{
set_task(float(HIGHPING_TIME), "checkPing", param[0], param, 1, "b")
return PLUGIN_CONTINUE
}

Użytkownik MisieQ edytował ten post 03.11.2010 20:38

  • +
  • -
  • 2





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

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

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