Ya hace bastante se me bugea el player death. O se me cae el servidor cuando mato al player o tambien cuando matan al player y el sv no se cae lo que pasa es que el player queda tirado en el piso con la camara de costado y en 0 de vida
PHP Code:
RegisterHam(Ham_Killed, "player", "fwPlayerDeath" )
new const numbers[][] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }
new const values[] = { 0, 30, 60, 100, 130, 170, 300, 450, 720, 800, 1000 }
public fwPlayerDeath( victim, attacker, shouldgib)
{
if( victim == attacker || !is_user_connected(attacker) || !is_user_connected(victim) )
return HAM_IGNORED;
Save(attacker)
++g_Combo[Master][Member2][Member3]
while(PlayerXP[attacker] >= LEVELS(PlayerLevel[attacker]))
{
PlayerXP[attacker] -= PlayerLevel[attacker]
ColorChat(attacker, GREEN, "%s^1 Felicitaciones, avanzaste al nivel ^4%i", sz_Prefix, PlayerLevel[attacker] )
}
if( In_Party[attacker] )
{
new combo = g_Combo[Master][Member2][Member3]
ColorChat(Master, GREEN, "%s Combo Party: %s", sz_Prefix, numbers[combo])
ColorChat(Member2, GREEN, "%s Combo Party: %s", sz_Prefix, numbers[combo] )
ColorChat(Member3, GREEN, "%s Combo Party: %s", sz_Prefix, numbers[combo] )
set_user_xp(Party_Ids[attacker][Master], values[combo], attacker == Party_Ids[attacker][Master] ? MULTIPLICAR : SUMA)
set_user_xp(Party_Ids[attacker][Member2], values[combo], attacker == Party_Ids[attacker][Member2] ? MULTIPLICAR : SUMA)
if(Party_Ids[attacker][Member3])
{
set_user_xp(Party_Ids[attacker][Member3], values[combo], attacker == Party_Ids[attacker][Member3] ? MULTIPLICAR : SUMA)
}
if( combo >= 11 )
{
ColorChat(Member3, RED, "%s Llegaron al combo maximo! (11)", sz_Prefix )
ColorChat(Member2, RED, "%s Llegaron al combo maximo! (11)", sz_Prefix )
ColorChat(Master, RED, "%s Llegaron al combo maximo! (11)", sz_Prefix )
return HAM_IGNORED;
}
return HAM_IGNORED;
}
else if( In_Party[victim] )
{
return HAM_IGNORED;
}
if( !Carnage )
{
PlayerXP[attacker] += get_pcvar_num(XP_Kill)
PlayerXP[attacker] += (g_happytime) ? 2 : 1
ShowHud(attacker)
}
else
{
++g_variablecarnage[attacker]
set_hudmessage(255, 0, 0, 0.0, 0.07, 1, 6.0, 3.0, 5.0, 5.0)
show_hudmessage(attacker, "Frags Carnage %d/10", g_variablecarnage[attacker])
if( (g_variablecarnage[attacker] == 10) || (get_user_frags(attacker) == 10))
{
switch( cs_get_user_team(attacker) )
{
case CS_TEAM_CT:
{
PuntosCT[ attacker ]++
client_print(attacker, print_chat, "Ganaste 1 punto CT")
}
case CS_TEAM_T:
{
PuntosTT[ attacker ]++
client_print(attacker, print_chat, "Ganaste 1 punto TT")
}
}
arrayset(g_variablecarnage, 0, 33)
return HAM_IGNORED;
}
if( (PlayerXP[attacker] += get_pcvar_num(XP_Kill)) || (PlayerXP[attacker] += (g_happytime) ? 2 : 1))
return HAM_IGNORED;
}
return HAM_IGNORED;
}
No entiendo por qué pasa esto, si ni siquiera uso supercede y tampoco handled :/