|
发表于 2008-3-30 17:30:06
|
显示全部楼层
来自 中国–广西–钦州
回复: CS中文ID插件(带源码)(3/25更新)
解决方法:修改插件代码,用下面这个函数代替get_user_name()
引用: #include <fakemeta>
#include <memhack>
stock get_name(id, name[], len)
{
new buffer = engfunc(EngFunc_GetInfoKeyBuffer, id)
new strtmp1[256]
copy_infokey_buffer(buffer, strtmp1, 255)
new offset = contain(strtmp1, "\name\") + 6
new thischr
new i
for (;;i++)
{
thischr = memhack_get_char(buffer + offset + i, MEM_NULLBASE, MEMTYPE_DATA, MEM_SIGNED)
if (thischr == '\' || thischr == 0)
{
name = 0
break
}
else
{
name = thischr
}
}
name[len - 1] = 0
}
这个是什么意思?用哪个函数代替get_user_name(),我的跟netbar.amxx有冲突,所以我想改netbar的源码,把get_user_name()改成其他的,应该怎么改/?
netbar2源码
#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
} |
|