Инок_отшельник, попробуй синюю строчку удалить - -https://yadi.sk/i/MgG2kvnToYZEs в том файле что я скинул. А ты игру перезапускал? Или просто перезагрузил7
Ночью в дом постучалась Норис, взял задание к наймам на Затон, а у главного нет диалога, и у остальных тем более нет. Пришёл к ним утром в 9 час. Что не так делаю? Ещё в Предзонье наведался на вертолётную площадку ночью, втихаря, ныкался в ожидании пересменки иначе один начинает бегать и стрелять, попродавал Лазареву конечности мутантов, арты лишние, берёт дорого, нормально, купил у его детектор аномалий за 19500, баллоны с кислородом, взломал ком - получил все карты переходов.
Главное чпокнуть глючного контраса с пестиком, неизвестно куда его хрен понесёт дальше и где очередная хрень вылезит.
У меня этот "глючник" на Кордоне когда брал Экзу Бандосскую возле тоннеля с переходом на Затон заспавнился со своим корешом, и вылет был когда я у его пистик хотел взять, так я плюнул и вааще ничего у него не хапал.
Сообщение отредактировал atfinridi - Вторник, 09.02.2016, 14:38
-- added by xStream for AMK miniSDK if rx_ai then rx_ai.actor_net_spawn() end
amk.on_game_load(obj) -- end of addition -- kostya_level -- spawn_teleport.spawn_teleport_exit() spawn_teleport.spawn_teleport_hospital() -------------------------------------------------
local bad_object_names = {"mil_Svoboda_master_zombi"} --"wpn_lr30025601", "wpn_lr30028817","wpn_lr30033589" local i, se_name, se_obj
for 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,"Удалили глючный ствол:"..se_name,nil,nil,1000) alife():release(se_obj, true) end end ----------------------------------------------- sak_off_corpses.off_corpses() verg_art_hit.spawn_art() return true end ---------------------------------------------------------------------------------------------------------------------- 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)
if sr_psy_antenna.psy_antenna then sr_psy_antenna.psy_antenna:destroy() sr_psy_antenna.psy_antenna = false end
xr_sound.stop_all_sound_object()
object_binder.net_destroy(self) 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.use_object, self.on_use_object, self) 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) end ---------------------------------------------------------------------------------------------------------------------- function actor_binder:take_item_from_box(box, item) local story_id = box:story_id() if story_id == nil then return end
end ---------------------------------------------------------------------------------------------------------------------- function actor_binder:level_border_enter(npc, info_id) self.actor_detector:actor_enter()
end ---------------------------------------------------------------------------------------------------------------------- function actor_binder:level_border_exit(npc, info_id) self.actor_detector:actor_exit()
end ---------------------------------------------------------------------------------------------------------------------- function actor_binder:info_callback(npc, info_id) printf("*INFO*: npc='%s' id='%s'", npc:name(), info_id) --' Сюжет level_tasks.proceed(self.object) -- Отметки на карте level_tasks.process_info_portion(info_id)
end ---------------------------------------------------------------------------------------------------------------------- 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
end ---------------------------------------------------------------------------------------------------------------------- function actor_binder:on_item_take (obj) level_tasks.proceed(self.object) --game_stats.update_take_item (obj, self.object) repack_ammo.on_take(obj)
if rx_ai then rx_ai.actor_item_take(obj) verg_art_hit.on_item_take(obj) end
end ---------------------------------------------------------------------------------------------------------------------- function actor_binder:on_item_drop (obj) level_tasks.proceed(self.object) player_ogg.lose_item(obj) anom_remover.on_item_drop(obj) level_tasks.proceed(self.object) amkII.actor_item_drop(obj)
--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
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
---------------------------------------------------------------------------------------------------------------------- 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 ---------------------------------------------------------------------------------------------------------------------- function actor_binder:update(delta) object_binder.update(self, delta) psy_blowout.update() -- DEBUG slowdown -- slowdown.update()
local time = time_global()
game_stats.update (delta, self.object) -- effect_blood.wounded_pp_update() -- $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
--'for debug only --aem_grenade.scan_dif() -- ----------------------------------------------------- ARENA_EXTENSION_MOD--------------------------------------------------------
--' Проверка потери жизни --[[ 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
-- обновление рестрикторов, которые под логикой, срабатывает через интервалы времени 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
-- обновление постпроцессов 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 ]]
--' Вывод сообщения о большой радиации 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
if self.bCheckStart then printf("SET DEFAULT INFOS")
if not has_alife_info("tutorial_wounded_start") and (level.name() == "l01_escape") then self.object:give_info_portion("tutorial_wounded_start") _G.g_start_avi = true printf("*AVI* RUN START AVI") art_mgr.del_xlam()
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 if dinamic_hud then dinamic_hud.update() end
sk_actor_death.is_killed()
--запуск скрипта детекторов артефактов if not arts then bind_det_arts.start_update() arts = true
-- 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
if xrs_ai then xrs_ai.actor_update(delta) end
-- end of addition
local sim = alife() if sim then local obj = sim:story_object(19854) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19853) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19852) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19851) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19850) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19849) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19900) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19901) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19902) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19903) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end local obj = sim:story_object(19904) if obj then level.map_add_object_spot(obj.id, "level_changer", "переход") end end _tracking_of_mobile.open_mobile() _tracking_of_mobile_add.open_mobile() doc_viewer.update() amkII.actor_update(delta) repack_ammo.on_update() art_mgr.update() end ---------------------------------------------------------------------------------------------------------------------- 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.emergency_restore() elseif pk1:w_tell()>6000 then self.warning=true self.wt=time_global()+60000 self:save_old(packet) else self:save_old(packet) self.wt=time_global() end end
--' Сохраняем уровень сложности 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
if reader:r_eof() then abort("SAVE FILE IS CORRUPT") 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)
amkII.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) art_mgr.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 end end ---------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------if string.find(command_line(), "-noprefetch") == nil then -- sound_prefetch.prefetch_sounds() --end
-- Weapon functions function hide_weapon() weapon_hide = true end function restore_weapon() weapon_hide = false end
--// 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) end end
function actor_binder:on_use_object(obj) zvuki.use_snd(obj) end
Добавлено (09.02.2016, 14:43) --------------------------------------------- atfinridi, Поговори сначала с наймом в баре на предзонье, а потом на Затон. Вспомнил найма Гордоном кличут.
Сообщение отредактировал Инок_отшельник - Вторник, 09.02.2016, 14:49
Kyo97, перейди на динамику. А ты с архива все закинул, а то там есть файл-gamedata.dbmm его тоже надо закинуть в игру.
Добавлено (09.02.2016, 15:51) --------------------------------------------- atfinridi, Удалил строчку все равно вылетает, пойду в обход для хорошего кабеля 100 верст не крюк.
Сообщение отредактировал Инок_отшельник - Вторник, 09.02.2016, 17:03