AndrewMor 517 Опубликовано 2 Марта 2021 Поделиться Опубликовано 2 Марта 2021 @AndreySol Потому и написал, что костыльно использовать инфо-порции. Сталкер - наше всё! Ссылка на комментарий
Капрал Хикс 461 Опубликовано 2 Марта 2021 Поделиться Опубликовано 2 Марта 2021 (изменено) Как-то всё в итоге к уборке трупов свелось, мда. Скрипты уборщика трупов-то уже на любой вкус есть, только под себя подогнать. Я вот вроде нашёл функцию в ranks.script: Скрытый текст -- возвращает название ранга заданного game_object (персонажа) function get_obj_rank_name( obj ) if not ranks_loaded then read_all_ranks() end local obj_rank -- HACK if obj.m_story_id ~= nil then obj_rank = obj:rank() else obj_rank = obj:character_rank() end --добавляем проверку в следующей строке на живость NPC: if IsStalker(obj) and obj:alive() then return get_rank_name( obj_rank, stalker_rank_intervals ) or stalker_max_rank_name else return get_rank_name( obj_rank, monster_rank_intervals ) or monster_max_rank_name end end Но честно говоря, не знаю, где ещё эта проверка ранга дёргается, может быть звания NPC при обыске трупов перестанут отображаться или ещё что... Интересно, если монстрам добавить эту проверку можно ли будет забороть баг вида: при обыске трупа мутанта строка отношения копирует строку отношения последнего обысканного трупа, из-за чего может оказаться нейтральным или дружественным. Изменено 2 Марта 2021 пользователем Капрал Хикс 1 Подарки Ссылка на комментарий
_Sk8_AsTeR_ 117 Опубликовано 3 Марта 2021 Поделиться Опубликовано 3 Марта 2021 Всем доброго. Вопрос такой - каким образом реализованы в игре вороны? Они ведь не обрабатываются скриптами вообще? Имею в виду их логику, траекторию. Это движковое? Есть ли возможность задать вектор движения вороне? Подарки Ссылка на комментарий
Капрал Хикс 461 Опубликовано 4 Марта 2021 Поделиться Опубликовано 4 Марта 2021 9 часов назад, _Sk8_AsTeR_ сказал(а): Они ведь не обрабатываются скриптами вообще? Можно добавить им в конфиг скриптовую обвязку вида: script_binding = bind_crow.init. Я так делал для выдачи инфопоршня при убийстве вороны. 1 Подарки Ссылка на комментарий
naxac 2 372 Опубликовано 6 Марта 2021 Поделиться Опубликовано 6 Марта 2021 @Капрал Хикс , емнип, за добавление/удаление в этот список неписей отвечают две строчки в se_stalker.script: actor_stats.add_to_ranking(self.id) и actor_stats.remove_from_ranking(self.id) 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Подарки Ссылка на комментарий
_Sk8_AsTeR_ 117 Опубликовано 7 Марта 2021 Поделиться Опубликовано 7 Марта 2021 Господа, а каким образом можно вызвать свою функцию при условии, что ГГ только что пришлёпнул непися? Через каллбеки? Если да, то через какие? Чет я туплю... Подарки Ссылка на комментарий
ted.80 223 Опубликовано 7 Марта 2021 Поделиться Опубликовано 7 Марта 2021 1 час назад, _Sk8_AsTeR_ сказал(а): каким образом можно вызвать свою функцию при условии, что ГГ только что пришлёпнул непися? В файле xr_motivator.script ищи function motivator_binder:death_callback(victim, who) там есть проверка: if who:id() == db.actor:id() then xr_statistic.addKillCount(self.object) -- Отсюда вызывай end 1 2 Ссылка на комментарий
_Sk8_AsTeR_ 117 Опубликовано 7 Марта 2021 Поделиться Опубликовано 7 Марта 2021 @ted.80 нашёл абсолютно идентичные строки в бинд_сталкер, только там похоже этот каллбек не работает судя по всему, ибо я там ковырял эти строки. Тогда ясно в чем моя ошибка :) Подарки Ссылка на комментарий
Zander_driver 10 166 Опубликовано 7 Марта 2021 Поделиться Опубликовано 7 Марта 2021 Только что, _Sk8_AsTeR_ сказал(а): в бинд_сталкер, только там похоже этот каллбек не работает Работает. Но относится к ГГ, а не НПС. Когда ГГ кто-нибудь убьет, там можно проверять, кто... 1 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
_Sk8_AsTeR_ 117 Опубликовано 7 Марта 2021 Поделиться Опубликовано 7 Марта 2021 @Zander_driver о как! Век живи - век учись! 1 1 Подарки Ссылка на комментарий
hArdplAyer22_22 0 Опубликовано 8 Марта 2021 Поделиться Опубликовано 8 Марта 2021 Доброго времени суток. Возник вопрос к опытным скриптерам. В ТЧ есть функция выдачи тайника: treasure_manager.get_treasure_manager():give_treasure("esc_secret_truck_goods") Как переделать так, чтобы выдавало рандомный тайник из заданного списка? Буду очень благодарен за помощь. Ссылка на комментарий
mole venomous 2 989 Опубликовано 8 Марта 2021 Поделиться Опубликовано 8 Марта 2021 @hArdplAyer22_22 Вот прям со всеми потрохами: Скрытый текст esc_tbl = { "esc_secret_bridge_vagon", "esc_secret_anomaly_dead", "esc_secret_bandit_cross", "esc_secret_bandit_supply", "esc_secret_under_cross", "esc_secret_refuge", "esc_secret_safe_farm", "esc_secret_vagon_container", "esc_secret_stalker_things", "esc_secret_box_bridge", "esc_secret_village_rucksack", "esc_secret_village_roof", "esc_secret_nice_place", "esc_secret_vorpal", "esc_secret_commander_goods", "esc_secret_road", "esc_secret_thief", "esc_secret_gas_pipe", "esc_secret_truck_goods", "esc_secret_kpp_tower", } function give_treasure_esc_random() treasure_manager.get_treasure_manager():give_treasure(esc_tbl[math.random(#(esc_tbl))]) end 1 1 Здесь могла быть ваша реклама. Подарки 2 4 4 5 Ссылка на комментарий
Colder 12 Опубликовано 9 Марта 2021 Поделиться Опубликовано 9 Марта 2021 Нашёл скрипт на хит от артов. При загрузке сохранения если есть в инвентаре гг арт, то хит опять бьёт гг! Может кто глянуть https://yadi.sk/d/gnrvCoK2NEvN0g Подарки Ссылка на комментарий
hArdplAyer22_22 0 Опубликовано 9 Марта 2021 Поделиться Опубликовано 9 Марта 2021 Здраствуйте, нужна помощь. Сталкер ТЧ с модом ОГСМ на движке ОГСР. При получении игроком любого тайника, все содержимое тайника автоматически перемещается ГГ в инвентарь. Может кто сталкивался? Ссылка на комментарий
Colder 12 Опубликовано 10 Марта 2021 Поделиться Опубликовано 10 Марта 2021 Скрытый текст function workshop_ui:Init_Controls() self:Init(0,0,1024,768) local xml self.xml = CScriptXmlInit() xml = self.xml xml:ParseFile("ui_workshop.xml") self.dialog = xml:InitStatic("workshop:workshop_window",self) self.button_repair_tab = self.xml:Init3tButton("workshop:btn_repair_workshop", self.dialog) self:Register(self.button_repair_tab, "btn_repair_workshop") self.button_sewing_tab = self.xml:Init3tButton("workshop:btn_disassembly_workshop", self.dialog) self:Register(self.button_sewing_tab, "btn_disassembly_workshop") self.dlg_repair = workshop_repair(xml, self, 0, 0) self.dlg_repair:Show (false) self.dialog:AttachChild (self.dlg_repair) xml:InitWindow ("tab_size", 0, self.dlg_repair) self.dlg_sewing = workshop_disassembly(xml, self, 0, 0) self.dlg_sewing:Show (false) self.dialog:AttachChild (self.dlg_sewing) xml:InitWindow ("tab_size", 0, self.dlg_sewing) end --// ------------------------------------------------------------------------------ function workshop_ui:InitCallBacks() self:AddCallback("btn_quit_workshop", ui_events.BUTTON_CLICKED, self.on_quit, self) self:AddCallback("btn_repair_workshop", ui_events.BUTTON_CLICKED, self.on_repair, self) self:AddCallback("btn_disassembly_workshop", ui_events.BUTTON_CLICKED, self.on_disassembly, self) end --// ------------------------------------------------------------------------------ function workshop_ui:on_quit() self:GetHolder():start_stop_menu(self, true) end function workshop_ui:on_repair() self.dlg_sewing:Show(false) self.dlg_repair:Show(true) end function workshop_ui:on_disassembly() self.dlg_repair:Show(false) self.dlg_sewing:Show(true) end Может кто подсказать что я пишу не так! Хочу сделать переключение между окнами в GUI. Когда открываю одну вкладку то вторая кнопка даже не горит при наведении на неё! Подарки Ссылка на комментарий
dsh 3 820 Опубликовано 10 Марта 2021 Поделиться Опубликовано 10 Марта 2021 @Colder тебе табы что-ли нужны? Существует готовый класс для этого, костыли не нужны. Пример <window> <main_dialog x="80" y="5" width="860" height="680"> <tab x="14" y="40" width="202" height="28"> <button x="0" y="0" width="100" height="28" stretch="1" accel="k1"> <texture_offset x="0" y="0"/> <texture>ui_cop_button_left</texture> <text font="graffiti22" align="c">Рюкзак</text> <text_color> <e r="0" g="0" b="0"/> <t r="240" g="217" b="182"/> <d r="135" g="123" b="116"/> <h r="0" g="0" b="0"/> </text_color> </button> <button x="101" y="0" width="100" height="28" stretch="1" accel="k2"> <texture_offset x="0" y="0"/> <texture>ui_cop_button_right</texture> <text font="graffiti22" align="c">Инвентарь</text> <text_color> <e r="0" g="0" b="0"/> <t r="240" g="217" b="182"/> <d r="135" g="123" b="116"/> <h r="0" g="0" b="0"/> </text_color> </button> </tab> и инициализация self.tab = xml:InitTab( "main_dialog:tab", self.dialog ) self:Register( self.tab, "tab" ) ... self:dshAddCallback( "tab", ui_events.TAB_CHANGED, self.OnTabChange, self ) Это все не для копипасты, а для размышлений. 2 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
ARTLantist 12 Опубликовано 11 Марта 2021 Поделиться Опубликовано 11 Марта 2021 как в ЗП отследить, что броня или шлем были перемещены в слот, или наоборот убраны из слота? Ссылка на комментарий
Zander_driver 10 166 Опубликовано 11 Марта 2021 Поделиться Опубликовано 11 Марта 2021 Только что, ARTLantist сказал(а): в ЗП А разве там нет колбеков on_item_to_slot, on_item_to_ruck? Если нету там, то можно в OGSR подсмотреть, как их сделать. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
ARTLantist 12 Опубликовано 11 Марта 2021 Поделиться Опубликовано 11 Марта 2021 @Zander_driver не, нет таких колбеков, буду пытаться вставить 1 Ссылка на комментарий
Colder 12 Опубликовано 18 Марта 2021 Поделиться Опубликовано 18 Марта 2021 Возник такой вопрос. Можно ли сделать использование предмета с условием если зажата какая либо клавиша? Если да то где можно подсмотреть? Платформа: ТЧ Подарки Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти