有关hook的疑问:如何写只屏蔽某个武器的杀人信息?
有关hook的疑问。下面的代码把所有的武器杀人的消息都屏蔽了,如何改可以实现只屏蔽某个武器的杀人信息?
因为如果在Change_Death中设置一个变量来改变武器杀死人的信息标识,但是还没等这个值变化的时候,Block_Message已经执行了,下面的2个函数执行是同步的。
代码摘自fight club 1.0
register_event("DeathMsg", "Change_Death", "a","4&kni")
register_message(get_user_msgid("DeathMsg"),"Block_Message");
public Change_Death()
{
new Attacker = read_data(1)
new Victim = read_data(2)
new Headshot = read_data(3)
// new wpnname
//read_data(6,wpnname,5)
if(Victim != Attacker)
{
message_begin(MSG_ALL, get_user_msgid("DeathMsg"))
write_byte(Attacker)
write_byte(Victim)
write_byte(Headshot)
write_string("fight")
message_end()
}
return PLUGIN_HANDLED
}
public Block_Message(msg_id,msg_dest,msg_entity)
{
if(msg_id == get_user_msgid("DeathMsg"))
{
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
回复: 有关hook的疑问:如何写只屏蔽某个武器的杀人信息?
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Test"
#define AUTHOR "Jim"
#define VERSION "1.0"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_message(get_user_msgid("DeathMsg"), "death")
}
public death(msg_id, msg_dest, msg_entity)
{
new weapon
get_msg_arg_string(4, weapon, 19)
if(equal(weapon, "grenade"))
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
这个例子是不显示手雷杀人信息
回复: 有关hook的疑问:如何写只屏蔽某个武器的杀人信息?
Post by jim_yang#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Test"
#define AUTHOR "Jim"
#define VERSION "1.0"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_message(get_user_msgid("DeathMsg"), "death")
}
public...
感谢,我已经按照你的改了,晚上我再测试一下。
回复: 有关hook的疑问:如何写只屏蔽某个武器的杀人信息?
测试ok,特来表示感谢。。
页:
[1]