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

HPK - kick z powodem


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

#1 kubex

    Pomocny

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:43
  • Lokalizacja:wawa
Offline

Napisano 19.02.2010 16:54

Witam,
Chciałbym przerobić moje HPK tak aby przy wyrzuceniu gracza pojawil mu sie powód a ja zabardzo nie wiem jak sie do tego zabrać.
Dzięki.

/* 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 = 95 // 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("kickid #%d", uID)
	client_cmd(id, "echo ^"*** Twoj ping jest za duzy ***"; disconnect")
	client_print(0, print_chat, "*** Gracz %s opuscil serwer z powodu wysokiego pingu ***", name)
	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[]) {
	client_print(param[0], print_chat, "*** Maksymalny dozwolony ping na serwerze to 100 ms ***", HIGHPING_MAX)
	set_task(float(HIGHPING_TIME), "checkPing", param[0], param, 1, "b")
	return PLUGIN_CONTINUE
}



#2 Gość_deLLek_*

  • Gość

Reputacja: 0

Offline

Napisano 19.02.2010 18:08

Może tak:

/* 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 = 95 // 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("kickid #%d", uID)
server_cmd("amx_kick ^"%d^" ^"Twoj ping jest za duzy..^"", uID)
client_print(id, print_console, "*** Twoj ping jest za duzy ***")
client_print(0, print_chat, "*** Gracz %s opuscil serwer z powodu wysokiego pingu ***", name)
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[]) {
client_print(param[0], print_chat, "*** Maksymalny dozwolony ping na serwerze to 100 ms ***", HIGHPING_MAX)
set_task(float(HIGHPING_TIME), "checkPing", param[0], param, 1, "b")
return PLUGIN_CONTINUE
}


Spójrz na kickPlayer

#3 kubex

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:43
  • Lokalizacja:wawa
Offline

Napisano 19.02.2010 18:56

teraz tylko cały czas spamuje ze gracz został wyrzucony ale go nie kickuje.

#4 Gość_deLLek_*

  • Gość

Reputacja: 0

Offline

Napisano 19.02.2010 18:58

Spróbuj zmienić:

server_cmd("amx_kick ^"%d^" ^"Twoj ping jest za duzy..^"", uID)


Na:

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


#5 kubex

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:43
  • Lokalizacja:wawa
Offline

Napisano 19.02.2010 19:25

teraz wywala tylko ze oprocz tekstu "Gracz X zostal wyrzocony" to pod spodem pojawia sie ADMIN: wykopal X

#6 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 19.02.2010 19:28

a nie możecie użyć normalnego kick zamiast amx_kick ??
  • +
  • -
  • 0

#7 kubex

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:43
  • Lokalizacja:wawa
Offline

Napisano 19.02.2010 19:47

Ok. Niby działa.
Dzięki serdeczne.

#8 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7 492
  • Lokalizacja:AMXX.PL
Offline

Napisano 19.02.2010 20:03

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: niby działa

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




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

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