So, I have the following code which sets the VIP status:
Code:
public plugin_init()
register_message(get_user_msgid("ScoreAttrib"), "Message_ScoreAttrib")
public Message_ScoreAttrib()
{
if (get_msg_arg_int(2))
return;
/* static id
id = get_msg_arg_int(1);
if (!is_user_alive(id))
return;
*/
if (g_iTime || g_iVIP[get_msg_arg_int(1)])
set_msg_arg_int(2, ARG_BYTE, (1<<2))
}
...but on infection(ZP 4.3 Fix5a), a death message is sent, immediately followed by a fix dead attrib("alive") message:
Code:
// Send death notice and fix the "dead" attrib on scoreboard
SendDeathMsg(infector, id)
FixDeadAttrib(id)
Code:
// Send Death Message for infections
SendDeathMsg(attacker, victim)
{
message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg"))
write_byte(attacker) // killer
write_byte(victim) // victim
write_byte(1) // headshot flag
write_string("infection") // killer's weapon
message_end()
}
// Fix Dead Attrib on scoreboard
FixDeadAttrib(id)
{
message_begin(MSG_BROADCAST, get_user_msgid("ScoreAttrib"))
write_byte(id) // id
write_byte(0) // attrib
message_end()
}
...and the players lose their VIP status but don't regain it back:
How to fix it?
__________________