|
楼主 |
发表于 2005-8-5 15:29:44
|
显示全部楼层
来自 中国–广东–深圳
另外,下面哪句是说登入或离开服务器信息的:
#include <amxmod>
public client_connect(id){
new userip[17]
new ips[8]
new name[33]
new g_amx_netbarip[8]
get_user_ip(id,userip,16,1)
copy(ips,7,userip)
get_cvar_string("amx_netbarip",g_amx_netbarip,7)
get_user_name(id,name,32)
if (equali(ips,g_amx_netbarip)){
set_user_flags(id,read_flags("b"))
client_print(0,print_chat,"*[AMX]LanPlayer: %s (%s)",name,userip)
new maxplayers = get_maxplayers()
new players = get_playersnum( 1 )
new limit = maxplayers - 1
if( players > limit ){
kickhping()
}
}else{
client_print(0,print_chat,"*[AMX]NetPlayer: %s (%s)trying to connect...",name,userip)
}
//client_print(0,print_chat,"*test: %s |%s",ips,g_amx_netbarip)
return PLUGIN_CONTINUE
}
kickhping() {
new who = 0, ping, loss, worst = -1
new maxplayers = get_maxplayers()
for(new i = 1; i <= maxplayers; ++i) {
if ( !is_user_connected(i) && !is_user_connecting(i) )
continue // not used slot
if (get_user_flags(i)&ADMIN_RESERVATION)
continue // has reservation, skip him
get_user_ping(i,ping,loss) // get ping
if ( ping > worst ) {
worst = ping
who = i
}
}
if(who)
if ( is_user_bot(who) )
server_cmd("kick #%d", get_user_userid(who) )
else{
client_cmd(who,"echo ^"Dropped due to high ping to free slot for an admin^";disconnect")
client_print(0,print_chat,"*[AMX]Dropped due to high ping to free slot for an admin!")
}
return who
}
public plugin_init() {
register_plugin("NetBar","0.2","YanOnline")
register_cvar("amx_netbarip","192.168")
return PLUGIN_CONTINUE
} |
|