hi all
how to auto save position before client dropped with reason adsl fault ?
Code:
reason: reliable channel overflowed
or
Code:
reason: client sent drop
it's important for kz mode ) to continue saved game.)
here part of code:
PHP Code:
public SavePos(id)
{
new authid[33];
get_user_authid(id, authid, 32)
if(get_pcvar_num(kz_save_pos) == 0)
{
kz_chat(id, "%L", id, "KZ_SAVEPOS_DISABLED")
return PLUGIN_HANDLED
}
if(equal(authid, "VALVE_ID_LAN") || equal(authid, "STEAM_ID_LAN") || strlen(authid) > 18)
{
ColorChat (id, GREEN, "%s^x01 %L", prefix, id, "KZ_NO_STEAM")
return PLUGIN_HANDLED
}
if( !( pev( id, pev_flags ) & FL_ONGROUND2 ) )
{
kz_chat(id, "%L", id, "KZ_NOT_ON_GROUND")
return PLUGIN_HANDLED
}
if(!timer_started[id])
{
kz_chat(id, "%L", id, "KZ_TIMER_NOT_STARTED")
return PLUGIN_HANDLED
}
if(Verif(id,1))
{
ColorChat(id, GREEN, "%s^x01 %L", prefix, id, "KZ_SAVEPOS_ALREADY")
savepos_menu(id)
return PLUGIN_HANDLED
}
if(get_user_noclip(id))
{
ColorChat(id, GREEN, "%s^x01 %L", prefix, id, "KZ_SAVEPOS_NOCLIP")
return PLUGIN_HANDLED
}
new Float:origin[3], scout
pev(id, pev_origin, origin)
new Float:Time,check,gocheck
if(IsPaused[id])
{
Time = g_pausetime[id]
Pause(id)
}
else
Time=get_gametime() - timer_time[id]
check=checknumbers[id]
gocheck=gochecknumbers[id]
ColorChat(id, GREEN, "%s^x01 %L", prefix, id, "KZ_SAVEPOS")
if (user_has_scout[id])
scout=1
else
scout=0
kz_savepos(id, Time, check, gocheck, origin, scout)
reset_checkpoints(id)
return PLUGIN_HANDLED
}
sorry for my eng. thx in advance