TomlnFerno 1 Опубликовано 5 Февраля 2019 (изменено) Попробовал накатить версию 2.0f4 на движок OGSR -> Скрытый текст [05.02.19 21:18:14.315] [print_output([CScriptEngine::lua_pcall_failed])] SCRIPT RUNTIME ERROR: ....a.l.k.e.r. Тень Чернобыля\gamedata\scripts\rx_ai.script:792: attempt to call global 'enabled_evaluator' (a nil value) stack traceback: [C]: in function 'enabled_evaluator' ....a.l.k.e.r. Тень Чернобыля\gamedata\scripts\rx_ai.script:792: in function 'common_planner_pair' ....a.l.k.e.r. Тень Чернобыля\gamedata\scripts\rx_ai.script:141: in function 'npc_net_spawn' ...e.r. Тень Чернобыля\gamedata\scripts\xr_motivator.script:117: in function <...e.r. Тень Чернобыля\gamedata\scripts\xr_motivator.script:65> [05.02.19 21:18:14.315] ********************************************************************************* [05.02.19 21:18:14.315] FATAL ERROR [error]Expression : FATAL ERROR [error]Function : CScriptEngine::lua_pcall_failed [error]File : c:\projects\ogsr-engine\ogsr_engine\common_ai\script_engine.cpp [error]Line : 52 [error]Description : [CScriptEngine::lua_pcall_failed]: ....a.l.k.e.r. Тень Чернобыля\gamedata\scripts\rx_ai.script:792: attempt to call global 'enabled_evaluator' (a nil value) [05.02.19 21:18:14.315] ***************************[ScriptCrashHandler]********************************** [05.02.19 21:18:14.315] stack traceback: [C]: in function 'enabled_evaluator' ....a.l.k.e.r. Тень Чернобыля\gamedata\scripts\rx_ai.script:792: in function 'common_planner_pair' ....a.l.k.e.r. Тень Чернобыля\gamedata\scripts\rx_ai.script:141: in function 'npc_net_spawn' ...e.r. Тень Чернобыля\gamedata\scripts\xr_motivator.script:117: in function <...e.r. Тень Чернобыля\gamedata\scripts\xr_motivator.script:65> [05.02.19 21:18:14.315] Locals: [05.02.19 21:18:14.315] string (*temporary) : ....a.l.k.e.r. Тень Чернобыля\gamedata\scripts\rx_ai.script:792: attempt to call global 'enabled_evaluator' (a nil value) [05.02.19 21:18:14.315] End [05.02.19 21:18:14.315] Locals: [05.02.19 21:18:14.315] userdata npc : (game_object): 000000002A021C80 [05.02.19 21:18:14.315] Table: st [05.02.19 21:18:14.315] Table: st.events [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] userdata st.planner : (action_planner): 000000002CCF2300 [05.02.19 21:18:14.316] Userdata: action [05.02.19 21:18:14.316] boolean action.enabled : false [05.02.19 21:18:14.316] function (*temporary) : [[function]] [05.02.19 21:18:14.316] number (*temporary) : 0.000000 [05.02.19 21:18:14.316] number (*temporary) : 18799.000000 [05.02.19 21:18:14.316] nil (*temporary) : [not available] [05.02.19 21:18:14.316] function (*temporary) : [[function]] [05.02.19 21:18:14.316] string (*temporary) : eva_animation_player [05.02.19 21:18:14.316] string (*temporary) : attempt to call global 'enabled_evaluator' (a nil value) [05.02.19 21:18:14.316] End [05.02.19 21:18:14.316] Locals: [05.02.19 21:18:14.316] userdata npc : (game_object): 000000002A021C80 [05.02.19 21:18:14.316] Table: st [05.02.19 21:18:14.316] Table: st.events [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] boolean st.events.(null) : true [05.02.19 21:18:14.316] userdata st.planner : (action_planner): 000000002CCF2300 [05.02.19 21:18:14.316] End [05.02.19 21:18:14.316] Locals: [05.02.19 21:18:14.316] Userdata: self [05.02.19 21:18:14.316] boolean self.loaded : false [05.02.19 21:18:14.316] boolean self.first_update : false [05.02.19 21:18:14.316] number self.last_update : 0.000000 [05.02.19 21:18:14.316] Table: self.st [05.02.19 21:18:14.316] string self.st.gulag_name : pre_bar [05.02.19 21:18:14.316] table self.st.post_combat_idle : [...] [05.02.19 21:18:14.316] table self.st.pstor : [...] [05.02.19 21:18:14.316] Userdata: self.st.move_mgr [05.02.19 21:18:14.316] number self.st.move_mgr.syn_signal_set_tm : 28893.000000 [05.02.19 21:18:14.316] number self.st.move_mgr.pt_wait_time : 5000.000000 [05.02.19 21:18:14.316] number self.st.move_mgr.run_until : 32893.000000 [05.02.19 21:18:14.316] string self.st.move_mgr.default_state_moving1 : patrol [05.02.19 21:18:14.316] userdata self.st.move_mgr.patrol_walk : (patrol): 000000002A26DA30 [05.02.19 21:18:14.316] string self.st.move_mgr.cur_state_moving : patrol [05.02.19 21:18:14.316] string self.st.move_mgr.path_walk : pre_bar_visitor_3_walk [05.02.19 21:18:14.316] string self.st.move_mgr.default_state_standing : guard [05.02.19 21:18:14.316] boolean self.st.move_mgr.can_use_get_current_point_index : false [05.02.19 21:18:14.316] userdata self.st.move_mgr.object : (game_object): 000000002A021C80 [05.02.19 21:18:14.316] number self.st.move_mgr.keep_state_until : 27893.000000 [05.02.19 21:18:14.316] userdata self.st.move_mgr.patrol_look : (patrol): 000000002A26DA70 [05.02.19 21:18:14.316] string self.st.move_mgr.default_state_moving2 : rush [05.02.19 21:18:14.316] table self.st.move_mgr.path_walk_info : [...] [05.02.19 21:18:14.316] table self.st.move_mgr.suggested_state : [...] [05.02.19 21:18:14.316] number self.st.move_mgr.walk_until : 30893.000000 [05.02.19 21:18:14.316] string self.st.move_mgr.path_look : pre_bar_visitor_3_look [05.02.19 21:18:14.316] string self.st.move_mgr.cur_state_standing : guard [05.02.19 21:18:14.316] number self.st.move_mgr.state : 1.000000 [05.02.19 21:18:14.316] boolean self.st.move_mgr.at_terminal_waypoint_flag : false [05.02.19 21:18:14.316] table self.st.move_mgr.path_look_info : [...] [05.02.19 21:18:14.316] string self.st.move_mgr.default_state_moving3 : sprint [05.02.19 21:18:14.316] table self.st.rx_knife : [...] [05.02.19 21:18:14.316] table self.st.danger : [...] [05.02.19 21:18:14.316] table self.st.rx_ai : [...] [05.02.19 21:18:14.316] string self.st.active_section : walker@pre_bar_visitor_3 [05.02.19 21:18:14.316] table self.st.walker : [...] [05.02.19 21:18:14.316] Userdata: self.st.state_mgr [05.02.19 21:18:14.316] Userdata: self.st.state_mgr.animstate [05.02.19 21:18:14.316] userdata self.st.state_mgr.animstate.npc : (game_object): 000000002A021C80 [05.02.19 21:18:14.316] string self.st.state_mgr.animstate.target_state : stand [05.02.19 21:18:14.316] string self.st.state_mgr.animstate.current_state : stand [05.02.19 21:18:14.316] boolean self.st.state_mgr.combat : false [05.02.19 21:18:14.316] boolean self.st.state_mgr.alife : true [05.02.19 21:18:14.316] userdata self.st.state_mgr.mgr : (action_planner): 000000002CCF2300 [05.02.19 21:18:14.316] string self.st.state_mgr.target_state : patrol [05.02.19 21:18:14.316] userdata self.st.state_mgr.planner : (action_planner): 000000002B4C2200 [05.02.19 21:18:14.316] table self.st.state_mgr.properties : [...] [05.02.19 21:18:14.317] table self.st.state_mgr.operators : [...] [05.02.19 21:18:14.317] number self.st.state_mgr.subanim : 0.000000 [05.02.19 21:18:14.317] number self.st.state_mgr.look_position_type : 1.000000 [05.02.19 21:18:14.317] Userdata: self.st.state_mgr.animation [05.02.19 21:18:14.317] table self.st.state_mgr.animation.states : [...] [05.02.19 21:18:14.317] table self.st.state_mgr.animation.clb_settings : [...] [05.02.19 21:18:14.317] number self.st.state_mgr.animation.clb_cnt : 0.000000 [05.02.19 21:18:14.317] boolean self.st.state_mgr.reset_state : false [05.02.19 21:18:14.317] table self.st.state_mgr.emerg : [...] [05.02.19 21:18:14.317] table self.st.reload : [...] [05.02.19 21:18:14.317] table self.st.launch_grenade : [...] [05.02.19 21:18:14.317] table self.st.grenadier : [...] [05.02.19 21:18:14.317] table self.st.help_wounded : [...] [05.02.19 21:18:14.317] string self.st.section_logic : logic@pre_bar_visitor_3 [05.02.19 21:18:14.317] table self.st.bandage : [...] [05.02.19 21:18:14.317] userdata self.st.ini : (ini_file): 000000000FB46BA0 [05.02.19 21:18:14.317] table self.st.rx_combat : [...] [05.02.19 21:18:14.317] string self.st.active_scheme : walker [05.02.19 21:18:14.317] userdata self.st.activation_game_time : (CTime): 000000002A14C1A0 [05.02.19 21:18:14.317] string self.st.ini_filename : misc\gulag_tasks.ltx [05.02.19 21:18:14.317] table self.st.wounded : [...] [05.02.19 21:18:14.317] number self.st.activation_time : 27893.000000 [05.02.19 21:18:14.317] number self.st.stype : 0.000000 [05.02.19 21:18:14.317] table self.st.abuse : [...] [05.02.19 21:18:14.317] table self.st.followers : [...] [05.02.19 21:18:14.317] table self.st.overrides : [...] [05.02.19 21:18:14.317] table self.st.meet : [...] [05.02.19 21:18:14.317] table self.st.facer : [...] [05.02.19 21:18:14.317] table self.st.death : [...] [05.02.19 21:18:14.317] table self.st.corpse_detection : [...] [05.02.19 21:18:14.317] table self.st.rx_ff : [...] [05.02.19 21:18:14.317] table self.st.kill_wounded : [...] [05.02.19 21:18:14.317] table self.st.heli_hunter : [...] [05.02.19 21:18:14.317] boolean self.treasure_processed : false [05.02.19 21:18:14.317] Userdata: sobject [05.02.19 21:18:14.317] boolean sobject.ini_initialized : false [05.02.19 21:18:14.317] boolean sobject.death_droped : false [05.02.19 21:18:14.317] boolean sobject.dont_spawn_online : false [05.02.19 21:18:14.317] boolean sobject.job_online : true [05.02.19 21:18:14.317] boolean sobject.smart_terrain_conditions_initialized : false [05.02.19 21:18:14.317] boolean sobject.spawner_present : false [05.02.19 21:18:14.317] boolean sobject.was_in_smart_terrain : true [05.02.19 21:18:14.317] userdata manager : (action_planner): 000000002CCF2300 [05.02.19 21:18:14.317] End [05.02.19 21:18:14.317] ********************************************************************************* [05.02.19 21:18:14.317] ******************************************************************************** [05.02.19 21:18:15.046] !!stack trace: В подобном не шибко силен, может кто уже пробовал адаптировать ? Изменено 5 Февраля 2019 пользователем TomlnFerno Поделиться этим сообщением Ссылка на сообщение
TomlnFerno 1 Опубликовано 4 Октября 2020 (изменено) 30.05.2020 в 06:31, Rudolf2725 сказал: @ted.80, при попытке сохранится иногда может произойти вылет. Ставил на OGSM v2.3.1, адаптация соответствующая. Вот лог. Expression : e_entity->ID_Parent == id_parent Function : xrServer::Process_event_reject File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp Line : 23 Description : wpn_bm161746 Arguments : rx_wmgr_box6382 Спустя почти полгода , но да и ладно))) Может быть кому-то пригодиться. Вылет связан с тем, что скорее всего при адаптации в bind_stalker метод save переписали с OGSM'овского. Вот этот кусок кода: Скрытый текст function actor_binder:save(packet) local pk1 = fake_net_packet.fake_net_packet() self:save_old(pk1) --get_console():execute("Packet_size_is_"..pk1:w_tell()) if pk1:w_tell()>7500 then ogsm_debug.clean_pstor() end self:save_old(packet) end function actor_binder:save_old(packet) if rx_ai then rx_ai.actor_save(packet) end 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 packer: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 Возвращаем на оригинальный: Скрытый текст function actor_binder:save(packet) local pk1 = fake_net_packet.fake_net_packet() if pk1:w_tell()>7500 then ogsm_debug.clean_pstor() end if rx_ai then rx_ai.actor_save(packet) end 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 packer: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 После этого вылет должен исчезнуть. P.S. Если кто-то знает зачем этот метод изменяли как показано под первым спойлером - буду благодарен если расскажите) Изменено 4 Октября 2020 пользователем TomlnFerno 1 Поделиться этим сообщением Ссылка на сообщение
TomlnFerno 1 Опубликовано 6 Октября 2020 (изменено) 13 часов назад, ted.80 сказал: Ну наверно потому что это адаптация для OGSM? Ну так надо же с умом делать) Из-за использования ОГСМ-ного варианта метода происходит тот вылет, а вот если взять вариант из моего предыдущего поста, то все в порядке, хотя я не претендую на то, что это является единственно верным решением, я просто предлагаю рабочие варианты, которые помогли мне и могут помочь ещё кому-то(кстати я там случайно вставил одинаковый код под оба спойлера и не могу повторно отредактировать пост,косяк) Может быть мои формулировки не совсем точно отражают мысль, которую я пытаюсь донести, но все же не стоит так возмущаться ) Изменено 6 Октября 2020 пользователем TomlnFerno Поделиться этим сообщением Ссылка на сообщение