Добро пожаловать,
Сталкер!
|
Прохождение Народная Солянка +ООП + МАК + ЧШ + Аддон Очаг Семьи
(1 чел.) (1) гость
|
Прохождение Народная Солянка +ООП + МАК + ЧШ + Аддон Очаг Семьи
27.02.2017 22:18
#220082
ПРОХОЖДЕНИЕ Народная Солянка + ООП + МАК + ЧШ + Аддон Очаг Семьи Зона Отчуждения переполнена слухами и байками о каком-то кровавом маньяке, о его злодеяниях и о его страшных тайниках... кто-то не верит и посмеивается... кто-то воспринимает эти слухи всерьез. И только Главному Герою предстоит узнать всю правду об этом страшном человеке, идти по его следам, теряя друзей и обретая новых врагов, пройти через предательство и искушение, оказаться не в выгодном свете в глазах соратников, потерять доверие Свободовцев и даже Долговцев и еще больше разозлить Слуг Монолита! Но иногда надо жертвовать репутацией, платить по счетам и крутиться, как белка в колесе, чтобы хоть на сантиметр приблизится к истине. Истина где-то рядом... но каждый раз, когда кажется, что Шахматист уже на крючке, правда ускользает от Меченого, как лесная гадюка в мокрой зеленой траве. Кто выиграет эту последнюю шахматную партию? Меченый или Шахматист? Кто чудом выживет, а кто погибнет от рук злодея? Вы это узнаете, если пройдете эту квестовую ветку, не сломаетесь и не свернете с правильного пути! ОПИСАНИЕ МОДА и ССЫЛКИ НА СКАЧИВАНИЕ
Вы сможете на ЭТОЙ СТРАНИЦЕ. Гид по Поиску Чернобыльского Шахматиста 1. Идем на разговор к Акиму, попутно говорим с Вороном и обязательно с Прапором на Свалке. Из общения со Сталкерами понимаем, что в "Баре 100 рентген", кто-то владеет более интересной и детальной информацией. 2. Идем в Бар, говорим с Фрименом, который с большого будуна и с Лысым, который не верит ни в какого Шахматиста, и понимаем, что дыма без огня не бывает, а значит в пещере что-то есть! 3. Как и у многих, у Меченого на пещеру невыносимая аллергия, но что поделать? Идти-то надо! Хорошо еще, что не в Лабиринт! 4. Идем в пещеру и в ее закоулках находим первый Диктофон Шахматиста. Вставляем его в пистолетный слот и, прослушав аудиозапись, понимаем, что надо идти к Шахтеру, который даст нам подсказку на первый тайник! 5. Идем к Шахтеру, старик рассказывает нам душещипательную историю про ностальгическое прошлое и в разговоре, сам того не понимая, намекает на местонахождение первого Тайника Шахматиста. Меченый не умеет играть в Шахматы и Шахтер рекомендует в первую очередь категорически поговорить с Костей. Тот в шахматах дока и поэтому мы направляемся к Косте на переговоры! 6. После того, как Костя соглашается вместо Меченого играть шахматную партию, идем в Центральную Припять искать злополучный первый Тайник Шахматиста! 7. В Ц.Припяти находим тайник и внимательно осматриваем его содержимое, читаем описания предметов, берем диктофон (прослушиваем) и шахматный ход (его советую брать в последнюю очередь, чтобы прочитать переговоры Меченого с Костей о дальнейших событиях на шахматной доске, в ПДА в разделе Журнал откроется новая тема "Шахматная партия"), видим непонятные предметы и среди них ПДА Костяна. Что за фокусы? Значит надо опять идти к Косте на АС, чтобы прояснить ситуацию в целом. Идем на АС к другану Косте! Справочник вылетов Вылет: FATAL ERROR
[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ...\ֽׁ+־ֿ+׳״+־קאד ׁול�ט\gamedata\scripts\amk_mod.script:2469: attempt to call field 'biodetectorRemove' (a nil value) Решение: Цитата открой файл gamegata\scripts\amk_mod.script, найди в нем строку: biodetector.biodetectorRemove() -- alen-fantom и поставьте перед ней два знака "минус": "--". Должно получиться вот так: -- biodetector.biodetectorRemove() -- alen-fantom Ну это как вариант. И прежде чем править, сохрани оригинальный файл. Вылет: FATAL ERROR
[error]Expression : no_assert
[error]Function : CXML_IdToIndex<class CPhraseDialog>::GetById
[error]File : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h
[error]Line : 112
[error]Description : item not found, id
[error]Arguments : history_doctor Решение: Установить чистую игру с патчем 1.0004 Вылет: FATAL ERROR
[error]Expression : no_assert
[error]Function : CALifeStoryRegistry::add
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_story_registry.cpp
[error]Line : 30
[error]Description : Specified story object is already in the Story registry! Решение: Обычно вылет происходит при переходе между локациями. Загрузите предпоследний сейв (сейв до перехода на ту локацию, где начало вылетать с Specified story object is...) переждите выброс и тогда переходите куда вам нужно. Вылет: Expression : fatal error
Function : IRender_Visual::Load
File : E:\stalker\patch_1_0004\xr_3da\FBasicVisual.cpp
Line : 58
Description : <no expression>
Arguments : Invalid visual Причина: Ошибка модели какого-то объекта. Лечение: Найти объект и либо исправить модель, либо заменить, или же удалить сам объект. Правки Адаптация под широкоформат, 100% выпадение частей мутантов, улучшенная графика от Вспышка yadi.sk/d/1MHxV0hj3F4Q4a Правка по вылету "biodetectorRemove" yadi.sk/d/1lnYrc8o3F6vDN читаем инструкцию в архиве. Видимые телепорты yadi.sk/d/ThD1gyyp3GL64i Сокращено количество аномалий для слабых ПК yadi.sk/d/r7BkWYMq3BX8VE Список квестовых предметов в аддоне Очаг семьи. Составил Старый ВНИМАНИЕ: СПОЙЛЕР!
Газовый баллон --- gas_cylinder
Газовая плита --- gas_fire
Холодильник --- household_refrigerator
Диван --- sofa_bed
Стол деревянный --- table_wooden
Стол металлический --- table_metal
Табуретка --- stool_wooden
Компьютерный стул --- stool_computer
Чайник --- green_teapot
Кастрюля --- kitchen_pan
Тарелка --- table_plate
Кружка --- alyuminivy_mug
Ложка --- alyuminivy_spoon
Телевизор Горизонт --- tv_hero
Радиоприемник Горизонт--- receiver_horizon
Кальян --- smoking_hookah
Бильярд --- billiard_table
Видеомагнитафон --- videotape_recorder
Глобус --- geography_globe
Кактус (Вазон)--- flowerpot_cactus
Книга Афоризмов --- reference_book
Видеокассета --- video_cartridge
Подушка --- sleeping_pillow
Диванная подушка --- small_pillow
Полосатый ковер --- carpet_striped
Зеленый ковер --- green_carpet
Настольная лампа --- desk_lamp
Абажур --- lamp_shade
Красная чашка --- red_cup
Женские часики --- watch_anniversary
Уголовное дело №1 --- person_underinvestigation
Записки на полях --- marginal_notes
Предупреждение --- prevention_lawyer
Тетрис --- toy_tetris
Охотничий нож --- hunting_knife
Военный планшет --- military_tablet
Шахматы --- chess_casket
Деревянная лошадка --- horse_castors
Старинная картина --- girl_picture
Часы с цепочкой --- hours_chain
Фото в рамке (Путин) --- photo_politician
Церковные иконы --- church_icon_1..._2..._3
Коллекционные монеты --- collection_coin_1....._12
Газета ТV Антенна --- publicity_material
Последняя фотография --- foto_father
Плейбой Валентайн --- playboy_12
Дополнительная ссылка на скачивание с ЯДиска Удачного прохождения! |
|
Изменено: 09.10.2020 16:57 от zima59.
|
25.03.2017 03:32
#222019
zima59 Вот мой bind
ВНИМАНИЕ: СПОЙЛЕР! -- Адаптирован для Менеджера оружия. Rulix aka Bak от 2.07.09 -- Адатировал: Idler. local upd_time local upd_time1 local upd_time2 local upd_time3 local upd_time4 local table_sort = table.sort local math_ceil = math.ceil function init(obj) xr_motivator.AddToMotivator(obj) end function actor_init(npc) npc:bind_object(actor_binder(npc)) -- level_tasks.add_location(707,"blue_location","Лукаш") -- level_tasks.add_location(702,"blue_location","Макс") -- level_tasks.add_location(728,"blue_location","Повар") end local det_suit_id = nil local game_difficulty_by_num = { [0] = "gd_novice", [1] = "gd_stalker", [2] = "gd_veteran", [3] = "gd_master" } lasthealth = 0 lasttime = 0 post_process = 0 local 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 = false end ---------------------------------------------------------------------------------------------------------------------- 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_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.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 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) 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) end function 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() end end function 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 --Proper72 удаление рюкзаков if box:is_inv_box_empty() then if (string.sub(box:section(),2,15)=="_inventory_box" and string.find(rx_utils.read_from_ini(nil, box:section(), "visual", "", 1),"item_rukzak")) or 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 ------------ -- Proper72 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) end 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 --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 -- Proper70 kostya kostya_dialog.checking_taken_item59(obj) -- Proper70 Bitva KL braad_test.checking_taken_item60(obj) -- Proper71 docs kostya_dialog.checking_taken_item61(obj) -- Proper70 strelok kostya_dialog.checking_taken_item62(obj) -- Proper70 end chess.item_take(obj) 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) chess.on_item_drop(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 -- malandrinus scopeUsed = false function actor_binder:update(delta) -- malandrinus -- watch_value = game.time() -- /malandrinus chess.update() 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" then if not det_suit_id then if db.actor:object("detector_suit") then det_suit_id = db.actor:object("detector_suit"):id() else det_suit_id = (alife():create("detector_suit",db.actor:position(), db.actor:level_vertex_id(),db.actor:game_vertex_id(), db.actor:id())).id end end else if det_suit_id and alife():object(det_suit_id) then alife():release(alife():object(det_suit_id),true) det_suit_id = nil end end local fov = device().fov local wpn if fov < 35 and xr_logic.pstor_retrieve(db.actor, "use_scope", 0) == 0 then wpn = db.actor:item_in_slot(db.actor:active_slot()) if wpn and wpn:section() == "wpn_crossbow" then level.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) end elseif fov > 35 and xr_logic.pstor_retrieve(db.actor, "use_scope", 0) == 1 then xr_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() --[----------- Proper70 keylogger if upd_time5 == nil then upd_time5 = time + 500 elseif upd_time5 < time then keylogger.update() end --------------- Proper70 end]] if upd_time4 == nil then upd_time4 = time + 500 elseif upd_time4 < time then upd_time4 = time + 500 doc_viewer.update() amk.oau_watchdog=181 babah.update(delta) amk.oau_watchdog=182 stco.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="" --[-----------Proper70------------------------ Вывод инвормации level_vertex_id, game_vertex_id, pos if true then local hud = get_hud() local cs = hud:GetCustomStatic("cs_debug" ) if cs == nil then hud:AddCustomStatic("cs_debug", true) cs = hud:GetCustomStatic("cs_debug" ) end local lvid, gvid = db.actor:level_vertex_id(), db.actor:game_vertex_id() local pos, dir = db.actor: position(), db.actor:direction() local pos2 = level.vertex_position(lvid) local valid = pos2:distance_to(pos) <= 0.7 local msg = string.format("lvid: %d\\n", lvid) .. string.format("gvid: %d\\n", gvid) .. string.format("pos: %f,%f,%f\\n", pos.x, pos.y, pos.z) .. string.format("dir: %f,%f,%f\\n", dir.x, dir.y, dir.z) .. string.format("valid: %s", tostring(valid)) if cs ~= nil then cs:wnd():SetText(msg) end end]] 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 ","Размер нетпакета ГГ критический:"..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 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 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 test_section_iteration("system.ltx","space_restrictor") --/**/ function actor_binder:on_use_object(obj) --medkit_use.lose_item(obj) meceniy_outfit.on_item_drop(obj) zvuki.use_snd(obj) end |
|
|
25.03.2017 06:55
#222021
BbIDRA, всё у тебя есть. 474-я строка. Вот, смотри кусок из твоего текста:
ВНИМАНИЕ: СПОЙЛЕР! 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 -- malandrinus scopeUsed = false function actor_binder:update(delta) Только не забывай перед тем как править файл его скопировать. Не получится - пришли мне свой bind_stalker.scripts только нужен сам файл, а не скопированный текст, что ты здесь выложил. -------------------------------------------------------------------- viktor-156, диалог ты до конца читал? Вот и иди к дому, где наймы обычны сидят. Ну а дальше собачки нападут и танки монолита. Вот где танки бегают в этих камнях и ищи. |
|
Изменено: 25.03.2017 07:02 от zima59.
|
25.03.2017 08:15
#222025
Всем привет. Такая проблема у меня не стреляют винтовки с компьютерным навидением патроны на них в рюкзаке есть но зарядить не получается,при нажатии лкм просто прицеливается.
Ilia__70 Спс файлик я так понимаю в bin с заменой? Все заработало!!! еще раз спс. |
|
Изменено: 25.03.2017 11:28 от zima59.
Спасибо сказали: Ilia__70
|
25.03.2017 08:31
#222026
zolldex, привет. Поставь вот эту правку.
|
|
|
25.03.2017 08:49
#222027
Всем привет. Пытаюсь забрать 16 тайник коллекционера на горе(Радар). Исходя из записки, надо искать телепорт на дереве. Кто то подскажет где это находится. Спасибо.
В западной части рыжего леса. А лучше посмотри на ютубе "Тайник Коллекционера на холмах Радара". Поставь gamedata этой правки - Все телепорты видимые, проще искать будет. ВНИМАНИЕ: СПОЙЛЕР! |
|
Изменено: 25.03.2017 11:32 от zima59.
|
25.03.2017 11:29
#222036
Всем привет! При попытке сдать Прапору глаза плоти вылет:
ВНИМАНИЕ: СПОЙЛЕР! FATAL ERROR [error]Expression : fatal error [error]Function : xrServer::Process_update [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_update.cpp [error]Line : 37 [error]Description : <no expression> [error]Arguments : Beer from the creator of 'O_ACTOR Поменял actor.ltx на родной из 10004, то же самое. Если кому не трудно, скиньте актора из игры. Да не причем тут actor. Вылет рандомный. Если не используешь трейнер, ArtMoney то достаточно переиграть с другой сохранки. ArtMoney уже использовал в самом начале игры. Может, деньги обнулить? Или всё необратимо? |
|
Изменено: 25.03.2017 16:09 от goblin777.
|
25.03.2017 18:26
#222049
goblin777, привет.
ВНИМАНИЕ: СПОЙЛЕР! Не советую пользоваться сторонними правками. Если нужно что-то то пиши. Вот тебе спавнер сделанный специально для этой сборки. Там есть возможность и деньги ГГ увеличить. Только не спавни квестовые предметы. Если не поможет переигровка с другого сохранения, советую всё удалить и поставить мод и игру по новой. Свои сохранки скинь в отдельную папку, потом вставишь в папку мода. |
|
Изменено: 25.03.2017 18:26 от Ilia__70.
|
26.03.2017 04:24
#222065
Народ, не получается сдать Прапору глаза плоти. Пожалуйста, сдайте квест , сделайте сохранку и пришлите. Мой сейв:
ВНИМАНИЕ: СПОЙЛЕР! Буду очень-преочень признателен! |
|
Изменено: 26.03.2017 04:28 от goblin777.
|
26.03.2017 06:12
#222067
|
|
|
26.03.2017 13:12
#222075
Всем привет, играю ООП + МАК + ЧШ + Аддон Очаг Семьи, - прошел солянку до момента, когда гг нашел призрака и выполнил некоторые его квесты и вот вопрос надо ли брать задание у лысого и вообще спускаться к шахтеру и выполнять там квесты!? Читал в гиде . что минимум надо найти призрака! Или все же без квестов в пещере идти дальше по игре солянки!?
|
|
|
|
Время создания страницы: 0.68 секунд