Raised This Month: $ Target: $400
 0% 

High ping kicker - delayed kick with motd


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
zerbbi
Junior Member
Join Date: Aug 2009
Old 04-16-2012 , 04:04   High ping kicker - delayed kick with motd
Reply With Quote #1

Hello, i would like some coding help. I want to add motd in high ping kicker plugin. In original plugin, player is kicked with message in console. So i would like to first display motd for 10 second and then kick player. I made public function called by set_task, but i probably did something wrong. Motd is shown but player is not kicked. Can you help me please? Thanks

I edited this:
Code:
public kickem(id)
{
	
	client_cmd(id,"echo ^"** Prepac ale lagujes, zriad si lepsi net...^"; disconnect")
}

kickPlayer( id ) 
{ 
	new name[32],authid[32]
	get_user_name(id,name,31)
	get_user_authid(id,authid,31)
	
	show_motd(id, "http://cs-server.tvojazona.net/motd/ping.htm", "Lagujes!") 
  	client_print(0,print_chat,"** Hrac %s bude automaticky vyhodeny koli vysokej latency",name)
	set_task(10.0, "kickem", id)
		
	remove_task(id)
	log_amx("Highpingkick: ^"%s<%d><%s>^" was kicked due highping (Average Ping ^"%d^")", 
    name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id]))

}
The whole code:

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

#include <amxmodx> 
#include <amxmisc>

new g_Ping[33]
new g_Samples[33]

public plugin_init()
{
  register_plugin("High Ping Kicker","0.16.2","OLO/shadow")
  register_concmd("amx_hpk","cmdHpk",ADMIN_KICK,"- configures high_ping_kicker plugin")
  register_cvar("amx_hpk_ping","150")
  register_cvar("amx_hpk_check","12")
  register_cvar("amx_hpk_tests","5")
  register_cvar("amx_hpk_delay","60")
  
  if ( get_cvar_num( "amx_hpk_check" ) < 5 ) set_cvar_num( "amx_hpk_check" , 5 )
  if ( get_cvar_num( "amx_hpk_tests" ) < 3 ) set_cvar_num( "amx_hpk_tests" , 3 )

}

public client_disconnect(id) 
  remove_task( id )

public client_putinserver(id) 
{    
  g_Ping[id] = 0 
  g_Samples[id] = 0

  if ( !is_user_bot(id) ) 
  {
    new param[1]
    param[0] = id 
    set_task( 10.0 , "showWarn" , id , param , 1 )
    
    if (get_cvar_num("amx_hpk_tests") != 0) {
	    set_task( float(get_cvar_num("amx_hpk_delay")), "taskSetting", id, param , 1)
    }
    else {	    
    	set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , id , param , 1 , "b" )
	}
	
  }
} 

public showWarn(param[])
  client_print( param[0] ,print_chat,"* Hraci s latency vyssou ako %d budu automaticky vyhodeni!", get_cvar_num( "amx_hpk_ping" ) )

public taskSetting(param[]) {
	new name[32]
	get_user_name(param[0],name,31)
	set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , param[0] , param , 1 , "b" )
}

public kickem(id)
{
	
	client_cmd(id,"echo ^"** Prepac ale lagujes, zriad si lepsi net...^"; disconnect")
}

kickPlayer( id ) 
{ 
	new name[32],authid[32]
	get_user_name(id,name,31)
	get_user_authid(id,authid,31)
	
	show_motd(id, "http://cs-server.tvojazona.net/motd/ping.htm", "Lagujes!") 
  	client_print(0,print_chat,"** Hrac %s bude automaticky vyhodeny koli vysokej latency",name)
	set_task(10.0, "kickem", id)
		
	remove_task(id)
	log_amx("Highpingkick: ^"%s<%d><%s>^" was kicked due highping (Average Ping ^"%d^")", 
    name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id]))

} 


public checkPing(param[]) 
{ 
  new id = param[ 0 ] 

  if ( get_user_flags(id) & ADMIN_LEVEL_H ) return

  new p, l 

  get_user_ping( id , p , l ) 

  g_Ping[ id ] += p
  ++g_Samples[ id ]

  if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpk_ping" ))  )    
    kickPlayer(id) 
}

  
public cmdHpk(id,level,cid){
  if (!cmd_access(id,level,cid,1))
    return PLUGIN_HANDLED
    
  new ping[5]
  new check_arr[5]
  new tests_arr[5]
  new delay_arr[5]
  read_argv(1,ping,4)
  read_argv(2,check_arr,4)
  read_argv(3,tests_arr,4)
  read_argv(4,delay_arr,4)
  
  new check = str_to_num(check_arr)
  new tests = str_to_num(tests_arr)
  new delay = str_to_num(delay_arr)
  
  
  if ( check < 5 ) check = 5
  if ( tests < 3 ) tests = 3
  

  if (read_argc() > 1){
    set_cvar_string("amx_hpk_ping",ping)
  }
  if (read_argc() > 2) {
	set_cvar_num("amx_hpk_check",check)
  }
  if (read_argc() > 3) {
	set_cvar_num("amx_hpk_tests",tests)
  }
  if (read_argc() > 4) {
	  set_cvar_num("amx_hpk_delay",delay)
 }

  console_print(id,"Syntax: amx_hpk <ping to get kicked> <checks before kicks> <time between checks> <delay before first check in sec.>")
  console_print(id,"Current High_Ping_Kicker Settings:")
  console_print(id,"Maxping: %d  Time between checks: %d Checkcount: %d Delay: %d",get_cvar_num("amx_hpk_ping"),get_cvar_num("amx_hpk_check"),get_cvar_num("amx_hpk_tests"),get_cvar_num("amx_hpk_delay"))
  return PLUGIN_HANDLED    
}

Last edited by zerbbi; 04-16-2012 at 12:33.
zerbbi is offline
Old 04-17-2012, 02:32
zerbbi
This message has been deleted by Exolent[jNr]. Reason: Don't bump until 2 weeks have passed since last post.
Old 04-17-2012, 02:55
rak
This message has been deleted by Exolent[jNr]. Reason: Don't bump until 2 weeks have passed since last post.
zerbbi
Junior Member
Join Date: Aug 2009
Old 05-01-2012 , 12:37   Re: High ping kicker - delayed kick with motd
Reply With Quote #2

Will someone help me? Only set_task is not working, everything works except set_task, public function called by set task is not called. I can not fix it myself. Please
zerbbi is offline
EpicMonkey
buttmonkey
Join Date: Feb 2012
Old 05-01-2012 , 14:51   Re: High ping kicker - delayed kick with motd
Reply With Quote #3

is it your set_task or your way of kicking?
EpicMonkey is offline
zerbbi
Junior Member
Join Date: Aug 2009
Old 05-01-2012 , 15:02   Re: High ping kicker - delayed kick with motd
Reply With Quote #4

original was:
Code:
kickPlayer( id ) 
{ 
	new name[32],authid[32]
	get_user_name(id,name,31)
	get_user_authid(id,authid,31)
	client_print(0,print_chat,"** Hrac %s bude automaticky vyhodeny koli vysokej latency",name)
	client_cmd(id,"echo ^"** Prepac ale lagujes, zriad si lepsi net...^"; disconnect")

	remove_task(id)
	log_amx("Highpingkick: ^"%s<%d><%s>^" was kicked due highping (Average Ping ^"%d^")", 
    name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id]))

}
so i added motd_show to notify player why he is going to be kicked and then i added set_task to delay kick for 10 seconds
zerbbi is offline
mottzi
Veteran Member
Join Date: May 2010
Location: Switzerland
Old 05-01-2012 , 19:46   Re: High ping kicker - delayed kick with motd
Reply With Quote #5

Try setting the Task before showing the motd. Also check whether kickem() actually is called (With client_print, log_amx...).
__________________
Quote:
#define true ((rand() % 2)? true: false) //Happy debugging suckers
mottzi is offline
Send a message via MSN to mottzi
zerbbi
Junior Member
Join Date: Aug 2009
Old 05-02-2012 , 12:29   Re: High ping kicker - delayed kick with motd
Reply With Quote #6

i put set_task before motd, still not working. Also i founf that kickem function is not called by set_task
zerbbi is offline
Old 05-03-2012, 17:44
simple_user
This message has been deleted by simple_user.
mottzi
Veteran Member
Join Date: May 2010
Location: Switzerland
Old 05-04-2012 , 01:51   Re: High ping kicker - delayed kick with motd
Reply With Quote #7

The problem is that you delete the task right after youve setted it. (remOve_task)
__________________
Quote:
#define true ((rand() % 2)? true: false) //Happy debugging suckers

Last edited by mottzi; 05-04-2012 at 01:52.
mottzi is offline
Send a message via MSN to mottzi
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 05-04-2012 , 04:18   Re: High ping kicker - delayed kick with motd
Reply With Quote #8

Quote:
Originally Posted by simple_user View Post
what happens if you change this:

PHP Code:
client_cmd(id,"echo ^"** Prepac ale lagujeszriad si lepsi net...^"; disconnect"
to:

PHP Code:
client_cmd(id, echo "Prepac ale lagujes, zriad si lepsi net""disconnect"
or even:

PHP Code:
client_cmd(id"disconnect"
?
It simply won't work since it's incorrect code.

Please refrain from offering advice when you have no clue what you are talking about.
__________________

Last edited by fysiks; 05-04-2012 at 04:19.
fysiks is offline
simple_user
Member
Join Date: Apr 2012
Location: Latvia, the cube
Old 05-04-2012 , 08:18   Re: High ping kicker - delayed kick with motd
Reply With Quote #9

No more inconsiderate posts from me. Deleted.
simple_user is offline
Send a message via Skype™ to simple_user
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:51.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode