Eugen81 1 008 Опубликовано 7 Июня 2016 (изменено) Хмм, а подменить логику через нет-пакет, как это сделано в Соли? В ОП-2 осталась эта функция: function switch_timer_stancia() local obj=alife():object("aes_space_restrictor_timer") if obj then local params=get_restrictor_data(obj) params.custom="[logic]\ncfg = scripts\\aes\\aes_space_timer.ltx" -- здесь путь к файлу логики set_restrictor_data(params,obj) end end Осталось либо изменить путь до нового файла с логикой, либо отредактировать aes_space_timer.ltx и потом вызвать эту ф-цию. [sr_idle] on_info = {+aes_actor_road} sr_timer1 ;; начало: ГГ на дороге - переход на секцию таймера on_info2 = {+strelok_pda_have} nil ;; если взят ПДА Стрелка, рестриктор удаляется. [sr_timer1] ... start_value = 1800000 ;; добавить сколько надо ... Изменено 7 Июня 2016 пользователем Eugen81 2 Поделиться этим сообщением Ссылка на сообщение
Eugen81 1 008 Опубликовано 26 Июня 2016 где и как внести изменения, что бы части монстров срезались при наличии ножа в руке? monster_parts.script function actor_has_knife() local actor = db.actor -- это добавь для, т.с. оптимизации for i, section in ipairs(knives) do -- в следующей строке везде, вместо db.actor пиши actor -- между if и then все возьми в скобки, а затем добавь and actor:active_slot() == 0 if (actor:object(section) or actor:object("fake_"..section)) and actor:active_slot() == 0 then По желанию, в ф-ции on_part_take(obj), закомменти строку bind_stalker.hide_weapon() чтобы не убирался нож, когда, типа, режешь, а то не логично 1 1 4 Поделиться этим сообщением Ссылка на сообщение
Eugen81 1 008 Опубликовано 2 Октября 2016 (изменено) после посещения ЧАЭС переход "Припять - ЧАЭС" задаёт вопрос о смене уровня.Хорошо бы чтобы и до. После пролета камеры гранатометчиков пострелять... Очень полезная правка. Ну, там же как-бы сюжетная кат-сцена, не стал менять.Это, наверное, баг GSC. Там когда камера над дальней трибуной пролетает, на горизонте силуэт станции маячит, типа, вот твоя цель, но сначала разберись с этими на стадионе. Камера должна вернуться ко входу, но попадает в радиус перехода.В каком-то моде было исправлено, не помню уже в каком. ----------- В all.spawn name = pri_space_restrictor_0011 ... [logic] active = sr_idle@wait [sr_idle@wait] on_actor_inside = sr_cutscene %+pri_stadium_reached% [sr_cutscene] point = pri_stadium_eff_point look = pri_stadium_eff_look cam_effector = pri_fly_to_aes on_signal = cameff_end | nil %=teleport_actor(pri_tele_point:pri_tele_look)% Варианты:- переспавн с созданием и повесить на какое то событие до, вынос новой логики через какой-то нет-пакет, где нет %=teleport_actor(pri_tele_point:pri_tele_look)%; - по скольку правка wey не требует НИ: изменить координаты pri_tele_point, pri_tele_look близкие к name = pri_stadium_restr, а раз лезть в all. - то нафиг это надо - лучше править логику pri_space_restrictor_0011 с последующим переспавном оного... Изменено 9 Октября 2016 пользователем alen_fantom 1 1 Поделиться этим сообщением Ссылка на сообщение
Eugen81 1 008 Опубликовано 18 Декабря 2016 Наткнулся на интересное, попробовал реализовать.Результат такой же как и здесь. Для ОП-2 2.09-2: Правка проваливающихся сквозь текстуры предметов из разбиваемых ящиков. На самых ранних версиях работать не будет. Не помню в каком патче расширили модуль нет-пакетов в амк скрипте - лень разбираться Искать добавленные ф-ции get_item_params и set_item_params. C той версии может и будет работать - пробовать надо. 6 8 3 Поделиться этим сообщением Ссылка на сообщение
Eugen81 1 008 Опубликовано 8 Апреля 2017 А где изменяется предмет обмена? Т.е. та пресловутая "слизь"? Это надо править уже в двух функциях. Смотри опять dialogs_trading.xml: <precondition>sak_dialog.ameba_slime_have</precondition> - это проверка, есть ли у актора нужный арт <text>trade_dialog_barman_241</text> <action>sak_dialog.give_ameba_slime</action> - отбор арта у гг <action>sak_dialog.add_5ammo_556x45_ss190</action> - выдача патронов Ищи в sak_dialog нужные ф-ции и правь: function ameba_slime_have() return sak.have_item_namber("af_ameba_slime",1) ~= false -- проверка наличия 1 шт. af_ameba_slime у актора function give_ameba_slime(first_speaker, second_speaker) sak.out_item_namber("af_ameba_slime", 1) -- отбор арта у гг Предмет (af_ameba_slime) в обеих ф-циях должен совпадать. Поделиться этим сообщением Ссылка на сообщение