Szachraj Posted December 5, 2013 Report Share Posted December 5, 2013 Witajcie!Po wielu zmarnowanych godzinach i trzech podejściach w ciągu kilku miesięcy, udało mi się wreszcie uruchomić grę z Soljanką. Jednak moja radość długo nie trwała, bo po rozpoczęciu nowej gry po paru sekundach wywala do pulpitu i pojawia się monit o tym, że aplikacja została nieoczekiwanie zamknięta. Wersja gry to 1.0004, system to Windows 7 64-bit. Ramu sześć giga, procesor AMD E2-3000M z zintegrowaną grafiką ATI HD 6380G (zintegrowana nie znaczy zła, bo ta jest całkiem niezła). Gram na cracku, bo do szału doprowadza mnie hałas napędu w laptopie. Mod instalowany na świeżo zainstalowanej grze, wszystkie aktualizacje i spolszczenie zainstalowane. Dodam, że vanilla działa jak powinna. Oto log:FATAL ERROR[error]Expression : fatal error[error]Function : CInifile::r_section[error]File : E:stalkerpatch_1_0004xrCoreXr_ini.cpp[error]Line : 342[error]Description : <no expression>[error]Arguments : Can't open section 'wpn_mossberg590'stack trace:Mi to wygląda na błąd związany z bronią, może ktoś by podesłał inną kopię pliku tej broni? EDIT:Przed chwilą odkryłem, że braknie pliku mossberga w folderze weapons. Przeszukałem również pliki od arsenala i innych, jednak szukając nie znajduje frazy "mossberg" w żadnym z plików. Moja hipoteza jest taka, że któryś z plików zawiera odniesienie do wpn_mossberg590, ale nie jest on obecny w plikach, więc wywala do pulpitu... EDIT2:Razem brakowało trzech broni: Mossberga, G3 i M14. Skopiowałem istniejące pliki, pozmieniałem nazwy w konfigach i podpiąłem pod weapons.ltx. Zaczęło się normalnie ładować, ale przy "Przygotuj się do gry" wywaliło (tak po połowie minuty). Log następujący:FATAL ERROR[error]Expression : fatal error[error]Function : CScriptEngine::lua_error[error]File : E:stalkerpatch_1_0004xr_3daxrGamescript_engine.cpp[error]Line : 73[error]Description : <no expression>[error]Arguments : LUA error: ...ow of chernobylgamedatascriptsbind_stalker.script:94: attempt to index global 'art_hit' (a nil value) Quote Link to comment Share on other sites More sharing options...
The Emperor Posted December 5, 2013 Report Share Posted December 5, 2013 Podeślij mi plik bind_stalker.script do sprawdzenia.Mała uwaga edycyjna - log wstaw w tag:[code] Treść błędu od fatal Error [/code]zamiast powyższego użyłeś tagu[quote]...[/quote]służącego za cytowanie odpowiedzi. Quote Link to comment Share on other sites More sharing options...
Szachraj Posted December 5, 2013 Author Report Share Posted December 5, 2013 -- kumul 04.08.10 tłumaczenie trurl3-- patch 08.04.13 PL Yurek-- ôŕéë čç ěîäŕ "Íŕđîäíîé ńîë˙íęč 2009" îň 14.06.-- Ŕäŕďňčđîâŕí äë˙ Ěĺíĺäćĺđŕ îđóćč˙. Rulix aka Bak îň 2.07.09-- Ŕäŕňčđîâŕë: Idler.local upd_timelocal upd_time1local upd_time2local upd_time3local upd_time4local table_sort = table.sortlocal math_ceil = math.ceilfunction init(obj) xr_motivator.AddToMotivator(obj)endfunction actor_init(npc) npc:bind_object(actor_binder(npc)) -- level_tasks.add_location(707,"blue_location","Łukasz") -- level_tasks.add_location(702,"blue_location","Maks") -- level_tasks.add_location(728,"blue_location","Kuchmistrz")endlocal det_suit_id = nillocal game_difficulty_by_num = { [0] = "gd_novice", [1] = "gd_stalker", [2] = "gd_veteran", [3] = "gd_master" }lasthealth = 0lasttime = 0post_process = 0local weapon_hide = false-- local arts = false----------------------------------------------------------------------------------------------------------------------class "actor_binder" (object_binder)----------------------------------------------------------------------------------------------------------------------function actor_binder:__init (obj) super(obj) self.bCheckStart = false self.weather_manager = level_weathers.WeatherManager() self.actor_detector = xr_detector.actor_detector() self.is_saved = falseend----------------------------------------------------------------------------------------------------------------------function actor_binder:net_spawn(data) --amk.updateGameTime() spawn_level_changer.remove_old_teleport() printf("actor net spawn")-- skunk.dbglog("actor net spawn") zamok.restore() babah.collectBombs() level.show_indicators() self.bCheckStart = true self.weapon_hide = false -- ńďđ˙ňŕíî čëč íĺň îđóćčĺ ďđč đŕçăîâîđĺ. weapon_hide = false -- óńňŕíŕâëčâŕĺě ăëîáŕëüíűé äĺôîëňîâűé ôëŕă. if object_binder.net_spawn(self,data) == false then-- skunk.dbglog("actor net spawn 1") return false end-- skunk.dbglog("actor net spawn 2") db.add_actor(self.object) if self.st.disable_input_time == nil then level.enable_input() end self.weather_manager:reset()-- game_stats.initialize () if(actor_stats.add_to_ranking~=nil)then actor_stats.add_to_ranking(self.object:id()) end --' Çŕăđóćŕĺě íŕńňđîéęč äđîďŕ death_manager.init_drop_settings() -- added by xStream for AMK miniSDK if xrs_ai then xrs_ai.actor_net_spawn(self) end if rx_ai then rx_ai.actor_net_spawn() end amk.on_game_load(obj) art_hit.net_spawn()--===============================--[[local bad_object_names = {"wpn_lr30053522", "wpn_lr30058409" } --"wpn_lr30025601", "wpn_lr30028817","wpn_lr30033589"local i, se_name, se_objfor i, se_name in ipairs(bad_object_names) do se_obj = alife():object(se_name) if se_obj then news_manager.send_tip(db.actor,"Usunięto błędną broń:"..se_name,nil,nil,1000) alife():release(se_obj, true) endend]]--=============================== sak.add_tail() braad_test.false_info() -- end of addition meceniy_work.main() meceniy_utils.net_spawn_callback() -- kostya_level -- spawn_teleport.spawn_teleport_exit() spawn_teleport.spawn_teleport_hospital() bind_det_arts.start_update() netpacket_pda_id = netpacket_pda_create.create_pda() return trueend----------------------------------------------------------------------------------------------------------------------function actor_binder:net_destroy() -- added by xStream for AMK miniSDK amk.on_game_save(obj) -- end of addition if(actor_stats.remove_from_ranking~=nil)then actor_stats.remove_from_ranking(self.object:id()) end-- game_stats.shutdown () db.del_actor(self.object) sr_light.clean_up () self.object:set_callback(callback.inventory_info, nil) self.object:set_callback(callback.article_info, nil) self.object:set_callback(callback.on_item_take, nil) self.object:set_callback(callback.on_item_drop, nil) --self.object:set_callback(callback.actor_sleep, nil) self.object:set_callback(callback.task_state, nil) self.object:set_callback(callback.level_border_enter, nil) self.object:set_callback(callback.level_border_exit, nil) self.object:set_callback(callback.take_item_from_box, nil) if sr_psy_antenna.psy_antenna then sr_psy_antenna.psy_antenna:destroy() sr_psy_antenna.psy_antenna = false end valerich_treasures.net_destroy() xr_sound.stop_all_sound_object() if iniStatistic then get_console():execute("load ~~~ amk.dump_table(iniLines):") amk.dump_table(iniLines) get_console():execute("load ~~~ amk.dump_table(iniOtherLines):") amk.dump_table(iniOtherLines) get_console():execute("load ~~~ amk.dump_table(iniStat):") local t = {} for sect, count in pairs(iniStat) do table.insert(t, {sect, count}) end table_sort(t, sortStat) amk.dump_table(t) end object_binder.net_destroy(self)endfunction sortStat(t1, t2) return t1[2] > t2[2]end----------------------------------------------------------------------------------------------------------------------function actor_binder:reinit() object_binder.reinit(self) local npc_id = self.object:id() db.storage[npc_id] = { } self.st = db.storage[npc_id] self.st.pstor = nil self.next_restrictors_update_time = -10000 self.object:set_callback(callback.inventory_info, self.info_callback, self) self.object:set_callback(callback.article_info, self.article_callback, self) self.object:set_callback(callback.on_item_take, self.on_item_take, self) self.object:set_callback(callback.on_item_drop, self.on_item_drop, self) self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats --self.object:set_callback(callback.actor_sleep, self.sleep_callback, self) self.object:set_callback(callback.task_state, self.task_callback, self) --self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self) self.object:set_callback(callback.level_border_enter, self.level_border_enter, self) self.object:set_callback(callback.level_border_exit, self.level_border_exit, self) self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self) self.object:set_callback(callback.use_object, self.on_use_object, self) self.object:set_callback(callback.death, self.death_callback, self)end----------------------------------------------------------------------------------------------------------------------function actor_binder:death_callback(victim, who) if victim:id() == db.actor:id() then difficulty_manager.deathStatCollect() endendfunction actor_binder:take_item_from_box(box, item)------------ if string.sub(item:section(),1,10)=="val_zapis_" then valerich_treasures.spawn_next( tonumber(string.sub(item:section(),11,-1)) ) end if box:is_inv_box_empty() then if box:section()=="m_inventory_box" then level.start_stop_menu(level.main_input_receiver(), true) alife():create("treasure_item",box:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id()) alife():release(alife():object(box:id())) elseif string.sub(box:section(),1,11)=="val_taynik_" then level.start_stop_menu(level.main_input_receiver(), true) alife():create("treasure_item",box:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),0) alife():release(alife():object(box:id())) end end------------ local story_id = box:story_id() if story_id == nil then return end treasure_manager.take_item_from_box(box, story_id)zamok.remove(box, item) --AMK UTILS-- amk.on_item_take_from_box(box,item) amk_utils.actor_item_from_box(box, item) --AMK UTILS--end----------------------------------------------------------------------------------------------------------------------function actor_binder:level_border_enter(npc, info_id) self.actor_detector:actor_enter() --AMK UTILS-- amk_utils.actor_level_border_enter(npc, info_id) --AMK UTILS-- end----------------------------------------------------------------------------------------------------------------------function actor_binder:level_border_exit(npc, info_id) self.actor_detector:actor_exit() --AMK UTILS-- amk_utils.actor_level_border_exit(npc, info_id) --AMK UTILS-- end----------------------------------------------------------------------------------------------------------------------function actor_binder:info_callback(npc, info_id) printf("*INFO*: npc='%s' id='%s'", npc:name(), info_id) --' Ńţćĺň level_tasks.proceed(self.object) -- Îňěĺňęč íŕ ęŕđňĺ hidden_slots.on_info(info_id) level_tasks.process_info_portion(info_id) --AMK UTILS-- amk.on_info(npc,info_id) amk_utils.actor_info(npc, info_id) inventory.on_inventory_info(info_id) --AMK UTILS-- if npc:id() == db.actor:id() then meceniy_spawn.respawn(info_id) endend----------------------------------------------------------------------------------------------------------------------function actor_binder:on_trade (item, sell_bye, money) if sell_bye == true then game_stats.money_trade_update (money) else game_stats.money_trade_update (-money) end end----------------------------------------------------------------------------------------------------------------------function actor_binder:article_callback(npc, group, name) --printf("article_callback [%s][%s]", group, name) if device().precache_frame >1 then return end if group == "Diary" then news_manager.send_encyclopedy("diary", group) else news_manager.send_encyclopedy("encyclopedy", group) end --AMK UTILS-- amk.on_info(npc,info_id) amk_utils.actor_article(npc, group, name) --AMK UTILS-- end--------------------------------------------------------------------------------------------------function actor_binder:on_item_take (obj) level_tasks.proceed(self.object) --game_stats.update_take_item (obj, self.object) local item = obj --AMK UTILS-- amk.on_item_take(obj) amk_utils.actor_item_take(obj) if obj:clsid() == clsid.wpn_ammo then dunin_ammo.on_take(obj) end sak.check_used_item(obj) braad_test.checking_use_item(obj) if xrs_ai then xrs_ai.actor_item_take(obj) end art_hit.hit_by_art(obj) --AMK UTILS-- babah.on_item_take(obj) inventory.on_item_take(item)spawn_zombi.checking_taken_item(obj)spawn_zombi.checking_taken_item2(obj)spawn_zombi.checking_taken_item3(obj)spawn_zombi.checking_taken_item4(obj)spawn_zombi.checking_taken_item5(obj)spawn_zombi.checking_taken_item6(obj)spawn_zombi.checking_taken_item7(obj)spawn_zombi.checking_taken_item8(obj)spawn_zombi.checking_taken_item9(obj)spawn_zombi.checking_taken_item10(obj)spawn_zombi.checking_taken_item11(obj)spawn_zombi.checking_taken_item12(obj)spawn_zombi.checking_taken_item13(obj)spawn_zombi.checking_taken_item14(obj)spawn_zombi.checking_taken_item15(obj)spawn_zombi.checking_taken_item16(obj)spawn_zombi.checking_taken_item17(obj)spawn_zombi.checking_taken_item18(obj)spawn_teleport.checking_taken_item19(obj)spawn_teleport.checking_taken_item20(obj)spawn_teleport.checking_taken_item21(obj)spawn_teleport.checking_taken_item22(obj)new_spawn.checking_taken_item23(obj)spawn_teleport.checking_taken_item24(obj)spawn_teleport.checking_taken_item25(obj)spawn_teleport.checking_taken_item26(obj)spawn_teleport.checking_taken_item27(obj)spawn_teleport.checking_taken_item28(obj)spawn_restrictor.checking_taken_item29(obj)spawn_restrictor.checking_taken_item30(obj)spawn_teleport.checking_taken_item31(obj)spawn_restrictor.checking_taken_item32(obj)spawn_teleport.checking_taken_item33(obj)spawn_teleport.checking_taken_item34(obj)spawn_teleport.checking_taken_item35(obj)spawn_teleport.checking_taken_item36(obj)new_spawn.checking_taken_item37(obj)arhara_dialog.checking_taken_item38(obj)spawn_zombi.checking_taken_item39(obj)spawn_zombi.checking_taken_item40(obj)meceniy_utils.on_item_take_callback(obj)spawn_zombi.checking_taken_item41(obj)spawn_zombi.checking_taken_item42(obj)spawn_zombi.checking_taken_item43(obj)arhara_dialog.checking_taken_item44(obj)arhara_dialog.checking_taken_item45(obj)arhara_dialog.checking_taken_item46(obj)arhara_dialog.checking_taken_item47(obj)arhara_dialog.checking_taken_item48(obj)arhara_dialog.checking_taken_item49(obj)arhara_dialog.checking_taken_item50(obj)arhara_dialog.checking_taken_item51(obj)arhara_dialog.checking_taken_item52(obj)arhara_dialog.checking_taken_item53(obj)arhara_dialog.checking_taken_item54(obj)arhara_dialog.checking_taken_item55(obj)arhara_dialog.checking_taken_item56(obj)arhara_dialog.checking_taken_item57(obj)arhara_dialog.checking_taken_item58(obj) valerich_treasures.on_item_take(obj) -- Ňŕéíčęč Valerich'a if rx_ai then rx_ai.actor_item_take(obj) end end----------------------------------------------------------------------------------------------------------------------function actor_binder:on_item_drop (obj)babah.li(obj) -- Vergas ogg-player player_ogg.lose_item(obj) level_tasks.proceed(self.object) --game_stats.update_drop_item (obj, self.object) -- if level.vertex_position(db.actor:level_vertex_id()):distance_to(db.actor:position())>1 then -- amk.mylog("Çäĺńü íĺň âĺđňĺęńîâ") -- else -- amk.mylog("Âĺđňĺęń "..db.actor:level_vertex_id().." "..db.actor:game_vertex_id()) -- end --AMK UTILS-- amk.on_item_drop(obj) amk_utils.actor_item_drop(obj) --AMK UTILS-- inventory.on_item_drop(obj) sak.check_droped_item(obj) braad_test.drop_actor(obj) braad_test.drop_lim(obj) --Čçáŕâë˙ĺěń˙ îň Çîěáčđîâŕíč˙-- meceniy_work.on_item_use(obj) meceniy_utils.on_item_drop_callback(obj) -------------------------------spawn_level_changer.checking_droped_obj(obj)--[[spawn_level_changer.checking_droped_item(obj)spawn_level_changer.checking_droped_item2(obj)spawn_level_changer.checking_droped_item3(obj)spawn_level_changer.checking_droped_item4(obj)spawn_level_changer.checking_droped_item5(obj)spawn_level_changer.checking_droped_item6(obj)spawn_level_changer.checking_droped_item7(obj)spawn_level_changer.checking_droped_item8(obj)spawn_level_changer.checking_droped_item11(obj)spawn_level_changer.checking_droped_item12(obj)spawn_level_changer.checking_droped_item13(obj)spawn_level_changer.checking_droped_item14(obj)]]--spawn_level_changer.checking_droped_item10(obj)zamok.add(obj)end----------------------------------------------------------------------------------------------------------------------function actor_binder:task_callback(_task, _objective, _state) task_manager.task_callback(_task:get_id(), _objective:get_idx(), _state) if _objective:get_idx() == 0 then if _state == task.fail then news_manager.send_task(db.actor, "fail", _task, _objective) elseif _state == task.completed then task_manager.reward_by_task(_task) news_manager.send_task(db.actor, "complete", _task, _objective) else news_manager.send_task(db.actor, "new", _task, _objective) end else if _task:get_objective(0):get_state() == task.in_progress then news_manager.send_task(db.actor, "update", _task, _objective) end end --AMK UTILS-- amk_utils.actor_task(_task, _objective, _state) --AMK UTILS-- end----------------------------------------------------------------------------------------------------------------------function actor_binder:map_location_added_callback(spot_type_str, object_id) if (false==app_ready()) or (device().precache_frame>1) then return end --'news_manager.send_task(db.actor, "new")end------------------------------------------------------------------------------------------------------------------------ malandrinus--watch_value = 0-- malandrinusscopeUsed = falsefunction actor_binder:update(delta)-- malandrinus-- watch_value = game.time()-- /malandrinus amk.oau_watchdog=200 amk.oau_reason="actor_binder:update" --amk.updateGameTime() amk.oau_watchdog=2001 object_binder.update(self, delta) amk.oau_watchdog=199 local time = time_global() game_stats.update (delta, self.object)if db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section() == "exo_doktor_outfit" thenif not det_suit_id thenif db.actor:object("detector_suit") thendet_suit_id = db.actor:object("detector_suit"):id()elsedet_suit_id = (alife():create("detector_suit",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())).idendendelseif det_suit_id and alife():object(det_suit_id) thenalife():release(alife():object(det_suit_id),true)det_suit_id = nilendendlocal fov = device().fovlocal wpnif fov < 35 and xr_logic.pstor_retrieve(db.actor, "use_scope", 0) == 0 thenwpn = db.actor:item_in_slot(db.actor:active_slot())if wpn and wpn:section() == "wpn_crossbow" thenlevel.add_pp_effector("bast.ppe", 1034, true)get_console():execute ("r2_sun_lumscale_amb 3")get_console():execute ("r2_mblur 0.6")xr_logic.pstor_store(db.actor, "use_scope", 1)endelseif fov > 35 and xr_logic.pstor_retrieve(db.actor, "use_scope", 0) == 1 thenxr_logic.pstor_store(db.actor, "use_scope", 0)level.remove_pp_effector(1034)get_console():execute ("r2_sun_lumscale_amb 1")get_console():execute ("r2_mblur 0.")end if upd_time3 == nil then upd_time3 = time + 500 elseif upd_time3 < time then upd_time3 = time + 500 local accuracy = math_ceil(db.actor:accuracy()*1000) if accuracy == 1 then if not scopeUsed then local item = db.actor:active_item() if item then --get_console():execute("load ~#I#: db.actor:active_item():section()="..tostring(item:section())) if item:section() == "wpn_binoc" then scopeUsed = true elseif IAmAWeapon[item:clsid()] then local t = amk.get_weapon_data(alife():object(item:id())) scopeUsed = (bit_and(t.addon_flags, 1) == 1 or rx_utils.get_addon_status(item, "sc") == 1) --amk.dump_table(t) end end end else scopeUsed = false end end -- $DreamMod ŕďäĺéň ńőĺěű ńíŕ if sleep_manager.is_sleep_active() and xr_conditions.actor_dead() then xr_logic.issue_event(db.actor, db.storage[db.actor:id()]["ar_sleep"], "update") end amk.oau_watchdog=198 -- ŕďäĺéň ďîăîäű self.weather_manager:update() amk.oau_watchdog=197 -- ŕďäĺéň ńőĺěű äĺňĺęňîđŕ self.actor_detector:update() amk.oau_watchdog=196 --ms_ai.sleep_manager() amk.oau_watchdog=195 -- ŕďäĺéň çâóęîâîé ńőĺěű ŕęňĺđŕ xr_sound.update_actor() amk.oau_watchdog=194 meceniy_work.set_invisible() amk.oau_watchdog=193 -- meceniy_utils.on_actor_update_callback()-- by Monnoroch if upd_time == nil then upd_time = time + 10000 elseif upd_time < time then upd_time = time + 10000 monnoroch.upd_time(time) end amk.oau_watchdog=1931 if upd_time1 == nil then upd_time1 = time + 1000 elseif upd_time1 < time then upd_time1 = time + 1000-- meceniy_work.set_invisible() meceniy_utils.on_actor_update_callback() amk.oau_watchdog=1932 sak.show_time() amk.oau_watchdog=1933 arc_main.actor_update() amk.oau_watchdog=1934 meceniy_work.mainw() end amk.oau_watchdog=1935-- sak.out_teleport() --â net_spawn() ýňîěó ěĺńňî! if upd_time2 == nil then upd_time2 = time + 5000 elseif upd_time2 < time then upd_time2 = time + 5000 if not self.object:is_talking() then dunin_ammo.on_update() end amk.oau_watchdog=1936 sak.nepis_umer() amk.oau_watchdog=1937 braad_test.dead_npc() amk.oau_watchdog=1938 braad_test.check_info() amk.oau_watchdog=1939 braad_test.new_info() amk.oau_watchdog=19391 braad_test.kot_info() amk.oau_watchdog=19392 braad_test.forest_info() amk.oau_watchdog=19393 braad_test.grib_respawn() amk.oau_watchdog=19394 braad_test.update_new() amk.oau_watchdog=19395 braad_test.kot_update() end amk.oau_watchdog=192 valerich_treasures.update() art_hit.update()-- ----------------------------------------------------- ARENA_EXTENSION_MOD-------------------------------------------------------- aem_manager.get_aem():update()-- ----------------------------------------------------- ARENA_EXTENSION_MOD-------------------------------------------------------- amk.oau_watchdog=191 --' Ďđîâĺđęŕ ďîňĺđč ćčçíč--[[ if self.object.health - lasthealth > 0.001 or self.object.health - lasthealth < -0.001 then printf("%f | %f", self.object.health, self.object.health - lasthealth, game.time() - lasttime) lasthealth = self.object.health lasttime = game.time() end]] -- Îáíîâëĺíčĺ îňęëţ÷ĺíč˙ ââîäŕ ń ęëŕâčŕňóđű. if self.st.disable_input_time ~= nil and game.get_game_time():diffSec(self.st.disable_input_time) >= self.st.disable_input_idle then level.enable_input() self.st.disable_input_time = nil end -- Îáíîâëĺíčĺ ńíŕ ń ďĺđĺíîńîě ÷óâŕęŕ â óęŕçŕííóţ ďîçčöčţ if self.st.sleep_relocate_time ~= nil and game.get_game_time():diffSec(self.st.sleep_relocate_time) >= self.st.sleep_relocate_idle then self.object:set_actor_position(self.st.sleep_relocate_point) local dir = self.st.sleep_relocate_point:sub(self.st.sleep_relocate_look) self.object:set_actor_direction(dir:getH()) self.st.sleep_relocate_time = nil end -- Ŕďäĺéň ďđ˙ňŕíčĺ îđóćč˙ čăđîęŕ âî âđĺě˙ äčŕëîăŕ if weapon_hide == true or self.object:is_talking() then if self.weapon_hide == false then self.object:hide_weapon() self.weapon_hide = true end else if self.weapon_hide == true then self.object:restore_weapon() self.weapon_hide = false end end amk.oau_watchdog=191 -- îáíîâëĺíčĺ đĺńňđčęňîđîâ, ęîňîđűĺ ďîä ëîăčęîé, ńđŕáŕňűâŕĺň ÷ĺđĺç číňĺđâŕëű âđĺěĺíč if self.next_restrictors_update_time < time then bind_restrictor.actor_update(delta) -- Ŕďäĺéňčě íŕř ňĺëĺďîđň (Kostya_level) bind_mteleport.actor_update(delta) self.next_restrictors_update_time = time + 200 task_manager.actor_update() end amk.oau_watchdog=190 -- îáíîâëĺíčĺ ďîńňďđîöĺńńîâ if post_process ~= 0 then if post_process:update () == true then post_process = 0 end end -- îáíîâëĺíčĺ ďńč-ŕíňĺííű if sr_psy_antenna.psy_antenna then sr_psy_antenna.psy_antenna:update(delta) end --[[ local hud_demo = get_hud() local custom_static_demo = hud_demo:GetCustomStatic("cs_demo_play") if custom_static_demo == nil then hud_demo:AddCustomStatic("cs_demo_play", true) hud_demo:GetCustomStatic("cs_demo_play"):wnd():SetTextST("st_demo_play") end ]] inventory.update() --' Âűâîä ńîîáůĺíč˙ î áîëüřîé đŕäčŕöčč if self.object.radiation >= 0.7 then local hud = get_hud() local custom_static = hud:GetCustomStatic("cs_radiation_danger") if custom_static == nil then hud:AddCustomStatic("cs_radiation_danger", true) hud:GetCustomStatic("cs_radiation_danger"):wnd():SetTextST("st_radiation_danger") end else local hud = get_hud() local custom_static = hud:GetCustomStatic("cs_radiation_danger") if custom_static ~= nil then hud:RemoveCustomStatic("cs_radiation_danger") end end amk.oau_watchdog=189-- if not self.object:is_talking() then -- dunin_ammo.on_update()-- end amk.oau_watchdog=188 if self.bCheckStart then printf("SET DEFAULT INFOS") if not has_alife_info("storyline_actor_start") and (level.name() == "l01_escape") then self.object:give_info_portion("storyline_actor_start") _G.g_start_avi = true printf("*AVI* RUN START AVI") end-- if not has_alife_info("encyclopedy") then-- self.object:give_info_portion("encyclopedy")-- end if not has_alife_info("global_dialogs") then self.object:give_info_portion("global_dialogs") end if not has_alife_info("level_changer_icons") then self.object:give_info_portion("level_changer_icons") end level_tasks.add_lchanger_location() self.bCheckStart = false end amk.oau_watchdog=187 --AMK UTILS-- amk.on_actor_upade(delta)-- amk_utils.actor_update(delta) --AMK UTILS-- amk.oau_watchdog=186-- amk.oau_reason="actor_binder:update" -- sak.out_teleport() -- amk.oau_watchdog=185-- sak.nepis_umer()-- amk.oau_watchdog=184-- braad_test.dead_npc()-- braad_test.check_info()-- braad_test.new_info()-- braad_test.kot_info()-- braad_test.forest_info()-- braad_test.grib_respawn()-- braad_test.update_new()-- braad_test.kot_update()-- amk.oau_watchdog=183 -- added by Red75. Ęîíňđîëü çŕ ďĺđĺďîëíĺíčĺě if self.warning then self.warning=nil get_hud():AddCustomStatic("hud_save_warning") local wnd=get_hud():GetCustomStatic("hud_save_warning"):wnd() if self.critical==1 then wnd:SetTextST(game.translate_string("amk_warn_trans")) self.critical=nil elseif self.critical==2 then wnd:SetTextST(game.translate_string("amk_warn_trans_critical")) self.critical=nil else wnd:SetTextST(game.translate_string("amk_warn_attention")) end elseif self.wt and self.wt<time_global() then self.wt=nil if get_hud():GetCustomStatic("hud_save_warning") then get_hud():RemoveCustomStatic("hud_save_warning") end end amk.oau_watchdog=182 if xrs_ai then xrs_ai.actor_update(delta) end if rx_ai then rx_ai.actor_update() end amk.oau_watchdog=181 -- end of addition if biodetector then biodetector.update() end amk.oau_watchdog=180 --------- meceniy_work.mains() --/îáüĺęňű-- amk.oau_watchdog=179-- meceniy_work.mainw() --/Çîěáčđîâŕíčĺ -- amk.oau_watchdog=179-- by Monnoroch-- if upd_time == nil then -- upd_time = time + 10000 -- elseif upd_time < time then -- upd_time = time + 10000 -- monnoroch.upd_time(time) -- end -- by Monnoroch --ďđîâĺđęŕ çŕâčńŕíč˙ áčíäĺđîâ ÍĎÖ č ěîáîâ đŕç â 0,5ńĺę --çŕęîěěĺíňčđîâŕíî íŕ ńëó÷ŕé đŕçáîđŕ ďîë¸ňîâ--[[ if upd_time3 == nil then upd_time3 = time + 500 elseif upd_time3 < time then upd_time3 = time + 500 if db and db.storage then for k,v in pairs(db.storage) do if v.us ~= nil and v.us ~= 0 then abort("binder(%s) zavis(%s)", db.creatures[k]:name(), v.us) v.us = nil break end end self.is_saved = false end end]]-- drrr.dropgg() if upd_time4 == nil then upd_time4 = time + 500 elseif upd_time4 < time then upd_time4 = time + 500 doc_viewer.update() amk.oau_watchdog=181babah.update(delta) amk.oau_watchdog=182stco.update()-- if upd_time5 == nil then-- upd_time5 = time + 1500-- elseif upd_time5 < time then-- upd_time5 = time + 1500--îí č ňŕę âĺřŕĺňń˙ íŕ áűńňđűé âűçîâ ń ďîěîůüţ db.actor:set_fastcall(update, db.actor) --bind_det_arts.update() amk.oau_watchdog=183 end--[[ňĺńňîâűé ńďŕâí äĺňĺęňîđîâ â číâĺíňŕđĺ ŕęňîđŕalife():create('det_artefact_indy', db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())alife():create('detektor_amorf', db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())alife():create('det_artefact_super', db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())end]] amk.oau_watchdog=0 amk.oau_reason="" end----------------------------------------------------------------------------------------------------------------------function actor_binder:save(packet) if rx_ai then rx_ai.actor_save(packet) end art_hit.save() 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 ","Rozmiar netpakietu GG krytyczny:"..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 ","Rozmiar netpakietu GG dopuszczalny:"..pk1:w_tell(),0,15,"gen_info") -- ýňî äîáŕâë˙ĺě else self:save_old(packet) self.wt=time_global()-- amk.send_tip("Actor packet size <6000 ","Rozmiar netpakietu GG mały. Wszystko O.K.:"..pk1:w_tell(),0,15,"gen_info") -- ýňî äîáŕâë˙ĺě end self.is_saved = trueendfunction 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 amk.oAmkLauncher:SaveData(self.object) 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:load(reader) printf("actor_binder:load(): self.object:name()='%s'", self.object:name()) object_binder.load(self, reader) printf("actor_binder:object_binder.load(): self.object:name()='%s'", self.object:name()) --' Çŕăđóćŕĺě óđîâĺíü ńëîćíîńňč local game_difficulty = reader:r_u8() local load_treasure_manager = false if game_difficulty >= 128 then game_difficulty = game_difficulty - 128 load_treasure_manager = true end get_console():execute("g_game_difficulty "..game_difficulty_by_num[game_difficulty]) if reader:r_eof() then abort("SAVE FILE IS CORRUPT actor_binder:load "..self.object:name().." çŕâčń ŕęňîđ - ńóřčňĺ âĺńëŕ!") end local stored_input_time = reader:r_u8() if stored_input_time == true then self.st.disable_input_time = utils.r_CTime(reader) end xr_logic.pstor_load_all(self.object, reader) amk.oAmkLauncher:LoadData(self.object) self.weather_manager:load(reader) sr_psy_antenna.load(reader) if load_treasure_manager == true then treasure_manager.load(reader) end task_manager.load(reader) self.actor_detector:load(reader) if xr_logic.pstor_retrieve(self.object,"emerg",false) then -- íĺëüç˙ čńďîëüçîâŕňü amk.load_varible(), ňŕę ęŕę db.actor ĺů¸ íĺ îďđĺäĺë¸í self.warning=true self.critical=2 self.wt=time_global()+60000 endend------------------------------------------------------------------------------------------------------------------------ńňŕđň ďđĺôĺň÷ŕ çâóęîâ--if string.find(command_line(), "-noprefetch") == nil then-- sound_prefetch.prefetch_sounds()--end-- Weapon functionsfunction hide_weapon() weapon_hide = trueendfunction restore_weapon() weapon_hide = falseend--// this is test for section iteration--/**local function test_section_iteration(file_name, section_name) printf ("file : %s",file_name) printf ("section : %s",section_name) local file = ini_file(file_name) local n = file:line_count(section_name) printf ("lines : %d",n) local id, value = "", "", result for i=0,n-1 do result, id, value = file:r_line(section_name,i,"","") printf ("line %d : %s = %s",i,id,value) endendtest_section_iteration("system.ltx","space_restrictor")--/**/function actor_binder:on_use_object(obj) --medkit_use.lose_item(obj) meceniy_outfit.on_item_drop(obj)endProszę bardzo. A czy ma ktoś może pliki od tych broni, których u mnie brakowało? To jest G3, Mossberg 590 i M14. Quote Link to comment Share on other sites More sharing options...
The Emperor Posted December 5, 2013 Report Share Posted December 5, 2013 Pierwsza sprawa - edytuj poprzedni post, dodając całość w spoiler - tak duże pliki należy odpowiednio tagować. Popraw też 1 post - zanim administrator zareaguje. Jeśli chodzi o błąd - w swojej wersji pliku bind_stalker.script z Solijanki którą ukończyłem pół roku temu - nie znalazłem wpisu art_hit.net_spawn(), który w twoim pliku znajduje się w wierszu nr. 94 - o czym wspomina log.Spróbuj zakomentować ten wiersz dopisując przed wyróżnionym wpisem --W praktyce ma wyglądać tak:--art_hit.net_spawn()W/w sposobem wyłączasz funkcje z użycia...ciekaw tylko jestem konsekwencji. Ponadto wpis odsyła do funkcji net_spawn() zawartej w pliku art_hit.script, którego brakuje w mojej wersji Solijanki.Jeśli nie będzie działać - podrzuć mi spakowany cały folder skryptów, wrzucając na bezpłatny hosting plików. Quote Link to comment Share on other sites More sharing options...
Szachraj Posted December 6, 2013 Author Report Share Posted December 6, 2013 (edited) Ja w skryptach nie taki nowy, możesz mi bardziej w naszym (programistów) języku tłumaczyć. Mi się wydaje, że z loga wynika to, że funkcja/zmienna net_spawn nie może być pusta. W każdym bądź razie moja specjalizacja to php i pochodne C, więc mogę się mylić. Zaraz napiszę, jak zareagowała gra po tym, co mi kazałeś zrobić.FATAL ERROR[error]Expression : fatal error[error]Function : CScriptEngine::lua_error[error]File : E:stalkerpatch_1_0004xr_3daxrGamescript_engine.cpp[error]Line : 73[error]Description : <no expression>[error]Arguments : LUA error: ...ow of chernobylgamedatascriptsbind_stalker.script:265: attempt to index global 'hidden_slots' (a nil value) Z tą zmienną to samo zrobić?EDIT:Wywaliłem, kolejne błędy się posypały (choćby niepoprawne ścieżki do modeli czy dźwięków broni).EDIT2:Teraz już natrafiłem na coś, z czym nie dam rady:w modelu bizona braknie jointa/grupy/bipa "muzzle". To już jest dla mnie problem nie do przejścia, bo ja kuśkę zrobię w modelu, programów brak, umiejętności też. Edited December 7, 2013 by metek58 Usunięcie wulgara Quote Link to comment Share on other sites More sharing options...
The Emperor Posted December 6, 2013 Report Share Posted December 6, 2013 Za-komentowany fragment odsyła do funkcji net_spawn() w pliku art_hit.script, o czym pisałem powyżej. Przywróć poprzednią wersję skryptu i sprawdź ten fragment ze swoją wersją funkcji:function net_spawn()local sim=alife()local sobjfor i=1,65534 do sobj=sim:object(i) if sobj and art_hit[sobj:section_name()] and sobj.parent_id == 0 then art_cnt=art_cnt+1 endendendDrugi błąd świadczy o źle wykonanym modelu, więc rozważ ponowną instalację gry z uwagi na bardzo dużą ilość błędów. Czy aby nie masz wersji z Torrent'a? z najnowszym patchem 8.04.2013 ? Quote Link to comment Share on other sites More sharing options...
Szachraj Posted December 6, 2013 Author Report Share Posted December 6, 2013 Mam wersję z narod.ru, wszystkie patche instalowałem plus repack spolszczenia z tymże patchem. Spróbuję od nowa wszystko zrobić, tylko z tym drugim spolszczeniem. Quote Link to comment Share on other sites More sharing options...
The Emperor Posted December 6, 2013 Report Share Posted December 6, 2013 Spróbuj wyłączyć antywirusa podczas wypakowywania plików. Czasami taka błahostka może wpłynąć na brak kompletu wymaganych do gry plików. Jeśli chodzi o modele broni - niewykluczone, że akurat ten może zawierać błędy. Jeśli błąd z modelem bizona lub inną bronią - powtórzy się, postaram się wysłać pliki z mojej wersji. Pamiętaj o sprawdzeniu podanej funkcji z posta nr. 6 - ze swoją wersją w pliku art_hit.script. Quote Link to comment Share on other sites More sharing options...
Szachraj Posted December 7, 2013 Author Report Share Posted December 7, 2013 (edited) Akurat antywirusa to ja nie miałem, nie mam i nie będę miał ;) A co do pliku art_hit.script, to dziwne wydaje się to, że go również nie mam. W bind_stalker.script doszukałem się kolejnego odwołania do nieistniejącego pliku - hiddenslots.script. Wygląda to na to, że wgrałem jakiegoś złego patcha... Dzisiaj zainstaluję wszystko od nowa, tylko z inną wersją spolszczenia, tą bez patcha z 2013. Wczoraj nie miałem siły się za to zabrać, poza tym cały wieczór prądu nie było.EDIT:Cóż, działać to działa, ale lagi są niebotyczne... Czyste Niebo z TFW + AF też niezbyt dobrze chodzi, ale nieporównywalnie lepiej. Zauważyłem jeszcze to, że jeżeli kamera zwrócona jest na ziemię, to wszystko bardzo płynnie chodzi, więc chyba problem leży w renderowaniu nieba. Mi chyba format tylko został, bo karta graficzna sprawia wrażenie, jakby chciała odmówić posłuszeństwa (ostatnio w ogóle musiałem przeinstalować sterowniki, bo gry ledwo chodziły). Edited December 7, 2013 by Szachraj Quote Link to comment Share on other sites More sharing options...
The Emperor Posted December 7, 2013 Report Share Posted December 7, 2013 Zanim zaczniesz realizować pomysł z formatowaniem...wpierw przeczytaj ten dział dot. optymalizacji gry. Może spróbuj zainstalować Solijankę, wg. tej porady. Skoro brakuje wielu plików - zainstaluj bez ostatniego patcha - dobrym pomysłem będzie przeczytanie pozostałych postów ze wspomnianego powyżej linka. Quote Link to comment Share on other sites More sharing options...
Szachraj Posted December 7, 2013 Author Report Share Posted December 7, 2013 Soljanka ruszyła, zero błędów, tylko właśnie te lagi (około 10fps, więc gra na tym mija się z celem). Czyste Niebo na TFW + AF niewiele lepiej. Dopiero teraz ogarnąłem, że mój folder z danymi i innym ścierwem jest na dysku C i waży... 70 giga!!! Powywalam wszystko, co niepotrzebne, przeniosę na D, zrobię totalne oczyszczanie systemu i wszystko raczej pójdzie. Quote Link to comment Share on other sites More sharing options...
The Emperor Posted December 7, 2013 Report Share Posted December 7, 2013 Jeśli nie pozbędziesz się lagów - sprawdź jeszcze to. Quote Link to comment Share on other sites More sharing options...
Arni68 Posted January 19, 2014 Report Share Posted January 19, 2014 Mam problem z Soljanką, podstawa 1.0004. Po następnej x wizycie wywala mnie z Baru - nie mogę podejść do budynku 100 radów , to samo przed Monolitem w sarkofagu.Proszę o pomoc. Pozdrawiam. FATAL ERROR [error]Expression : xml_doc.NavigateToNode(path,index) [error]Function : CUIXmlInit::InitStatic [error]File : E:stalkerpatch_1_0004xr_3daxrGameuiUIXmlInit.cpp [error]Line : 172 [error]Description : XML node not found [error]Arguments : target_dot_26 Quote Link to comment Share on other sites More sharing options...
The Emperor Posted January 19, 2014 Report Share Posted January 19, 2014 @Arni68niech pomyślę...masz bioradar na pasie, czyż nie? Znany błąd występujący, gdy w naszym otoczeniu przebywa więcej niż 20 NPC'ów. Najprostsze rozwiązanie to zdjęcie bioradaru przed wejściem na dany obszar: Bar, baza Wolności, Pieczara (kryjówka monolitu), Stara Wieś, Warlab. Możesz również zmodyfikować bioradar - przeczytaj ten temat, wątek opisany przez Kobala (przedostatnia z porad w pierwszym poście). Quote Link to comment Share on other sites More sharing options...
Arni68 Posted January 20, 2014 Report Share Posted January 20, 2014 @Arni68niech pomyślę...masz bioradar na pasie, czyż nie? Znany błąd występujący, gdy w naszym otoczeniu przebywa więcej niż 20 NPC'ów. Najprostsze rozwiązanie to zdjęcie bioradaru przed wejściem na dany obszar: Bar, baza Wolności, Pieczara (kryjówka monolitu), Stara Wieś, Warlab. Możesz również zmodyfikować bioradar - przeczytaj ten temat, wątek opisany przez Kobala (przedostatnia z porad w pierwszym poście). @Arni68niech pomyślę...masz bioradar na pasie, czyż nie? Znany błąd występujący, gdy w naszym otoczeniu przebywa więcej niż 20 NPC'ów. Najprostsze rozwiązanie to zdjęcie bioradaru przed wejściem na dany obszar: Bar, baza Wolności, Pieczara (kryjówka monolitu), Stara Wieś, Warlab. Możesz również zmodyfikować bioradar - przeczytaj ten temat, wątek opisany przez Kobala (przedostatnia z porad w pierwszym poście).Dziękuję za pomoc.Pozdrawiam. Pomogło, dzięki. Quote Link to comment Share on other sites More sharing options...
Szachraj Posted February 2, 2014 Author Report Share Posted February 2, 2014 Cóż, nie odzywalem się długo, jakoś stalker poszedł w kąt. Format musiał się odbyć, zauważyłem ogólny spadek wydajności komputera, czyszczenie nic nie dało, ale format pomógł. Do zamknięcia, ave. Wysyłane z mojego GT-S6500D za pomocą Tapatalk 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.