Участник
Пользователь
- Сообщения
- 106
- Реакции
- 8
- Помог
- 2 раз(а)
О, понимяу, у меня эта ошибка уже 3 года, падает раз в неделю стабильно)
public OnPlayerSpawn_post(const pPlayer)
{
if(!is_user_connected(pPlayer))
return;
if(is_user_duelist(pPlayer) && get_user_flags(pPlayer) & VIP_FLAG)
{
g_bPlayerDoingDoubleJump[pPlayer] = false;
for(new i = GRAVITY; i < TEAM; i++)
{
g_bPlayerData[pPlayer][i] = false;
}
new iOldMenu, iNewMenu;
new bool:bIsViewingMenu = bool:player_menu_info(pPlayer, iOldMenu, iNewMenu);
if(bIsViewingMenu && iNewMenu == g_iMenuIndentifier[pPlayer])
{
menu_cancel(pPlayer);
reset_menu(pPlayer);
}
}
else if(!is_user_duelist(pPlayer) && get_user_flags(pPlayer) & VIP_FLAG)
{
RequestFrame("OnNextFrame", pPlayer);
}
}
public OnNextFrame(const pPlayer)
{
==> if(get_entvar(pPlayer, var_flags) & FL_ONGROUND) <==
{
if(g_bPlayerData[pPlayer][GRAVITY])
{
set_entvar(pPlayer, var_gravity, 0.5);
}
if(g_bPlayerData[pPlayer][SPEED])
{
set_entvar(pPlayer, var_maxspeed, 400.0);
}
if(g_bPlayerData[pPlayer][GODMODE])
{
set_entvar(pPlayer, var_takedamage, DAMAGE_NO);
}
if(g_bPlayerData[pPlayer][INVISIBILITY])
{
set_entvar(pPlayer, var_effects, get_entvar(pPlayer, var_effects) | EF_NODRAW);
rg_set_user_footsteps(pPlayer, true);
}
if(g_bPlayerData[pPlayer][NOCLIP])
{
set_entvar(pPlayer, var_movetype, MOVETYPE_NOCLIP);
}
}
else
{
RequestFrame("OnNextFrame", pPlayer);
}
}
1) [ReAPI] get_entvar: invalid entity index 24857 [arg_index]
2) [ReAPI] get_entvar: invalid entity index 665522 [arg_index]
is_user_connected
на is_user_alive
.get_entvar: invalid entity index 24857
RequestFrame
каким-то образом искажает передаваемые данные?Вероятно, ошибки всплывали в момент отключения игрока в момент спавна.
Во время тестирования на сервере был только я и два бота-наблюдателя. И я не отключался. Так что тут спорный момент...Такой индекс может быть при еще не подключившемся или только отключившемся игроке.
Да, уже подумал об этом. Спасибо.Короче говоря, у тебя ни одной безопасной проверки в следующем фрейме