Перейти к контенту

Баги и вылеты 4


n6260

Рекомендуемые сообщения

Один из распространенных советов следить за размером нетпакета. Из того что нашел понял, что это в файле "bind_stalker". Подскажите какая строка указывает на его размер?

function actor_binder:save(packet)

 

if rx_ai then rx_ai.actor_save(packet) end

 

local pk1=fake_net_packet.fake_net_packet()

self:save_old(pk1)

amk.mylog("Packet size is "..pk1:w_tell())

if pk1:w_tell()>7500 then

self.warning=true

self.critical=1

self.wt=time_global()+60000

amk.emergency_cleanup()

self:save_old(packet)

amk.mylog("Actor packet size is "..packet:w_tell().."!")

amk.send_tip("Actor packet size critical=2 >7500 ","Размер нетпакета ГГ критический:"..pk1:w_tell(),0,15,"gen_info") -- это добавляем

amk.emergency_restore()

elseif pk1:w_tell()>6000 then

self.warning=true

self.wt=time_global()+60000

self:save_old(packet)

amk.send_tip("Actor packet size critical=1 >6000 ","Размер нетпакета ГГ допустимый:"..pk1:w_tell(),0,15,"gen_info") -- это добавляем

else

self:save_old(packet)

self.wt=time_global()

amk.send_tip("Actor packet size <6000 ","Размер нетпакета ГГ мал. Всё ОК:"..pk1:w_tell(),0,15,"gen_info") -- это добавляем

end

self.is_saved = true

end

 

 

function actor_binder:save_old(packet)

 

local save_treasure_manager = true

 

printf("actor_binder:save(): self.object:name()='%s'", self.object:name())

object_binder.save(self, packet)

 

--' Сохраняем уровень сложности

if save_treasure_manager == true then

packet:w_u8(level.get_game_difficulty() + 128)

else

packet:w_u8(level.get_game_difficulty())

end

 

 

--' Сохраняем данные об отключенном вводе

if self.st.disable_input_time == nil then

packet:w_bool(false)

else

packet:w_bool(true)

utils.w_CTime(packet, self.st.disable_input_time)

end

 

xr_logic.pstor_save_all(self.object, packet)

self.weather_manager:save(packet)

 

sr_psy_antenna.save( packet )

 

if save_treasure_manager == true then

treasure_manager.save(packet)

end

 

task_manager.save(packet)

self.actor_detector:save(packet)

end

 

 

Следить за нетпакетом, это не лазить по скриптам, а в игре выполнять квесты, что бы его не переполнить... Виталий Зверь

Изменено пользователем Виталий Зверь

Поделиться этим сообщением


Ссылка на сообщение

После отключения Выжигателя при возврате с Х-10 на Радар безлоговый вылет на рабочий стол. Вылет после загрузки "Клиент: Синхронизация" когда начинаются меняться застаки, в момент когда должна запуститься игра. Вылет как при запуске автосейва, так и непосредственно с игры при переходе с Х-10 на Радар. Пробовал очень много раз. Всем отозвавшимся искреннее спасибо.

Солянка: Полуфинал от 13.12.09 + кумулятивный патч от 24.12.09 + фикс от 07.01.10.

Мать GA-MA780G-UD3H, Phenom II x3 720, GTX 260 Inno3D, Corsair Dominator 2Gb DDR2 1066Mhz, Windows XP SP 3.

 

Уменьшил switch_distance до 100 и все получилось пошел дальше. Благодарю за помощь dimos.

Изменено пользователем Golkiper

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...