Norman Eisenherz 317 Опубликовано 13 Сентября 2023 Поделиться Опубликовано 13 Сентября 2023 1. ED (hex) = 237 (16^1 * 14 + 16^0 * 13), иначе не сходится. 2. Картинка сложилась: в [lua_help.script] указаны действующие ссылки и неправильные значения, а при проверке if dik == DIK_keys.MOUSE_1 и т. п. читаются движковые значения. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
wdfgosdgf 62 Опубликовано 13 Сентября 2023 Поделиться Опубликовано 13 Сентября 2023 Подскажите, пожалуйста, можно ли делать проверку расстояния от актора до произвольных координат, не привязанных к игровому объекту? Мне нужна просто проверка расстояния до заданной мной фиксированной точки на локации, не хотелось бы спавнить объекты без необходимости. Как это сделать правильно? Anomaly 1.5.2. Вот пример (оно работает, если что): function is_swamp() local actor = db.actor local obj_pos = vector():set(44.860466003418,-3.8407301902771,-361.91436767578) if actor and obj_pos then if actor:position():distance_to(obj_pos) < 75 then log("ambient_sound: actor in swamp zone! ") --return true end end end ПОСЛЕДНИЕ ВЕРСИИ ПРАВОК И АДДОНОВ: Турель расходует патроны v1.01 ОП2.2 Миноискатель v1.3 + фикс разброса вещей ОП2.2 Объемный звук дождя v1.1 ОП2.2 Дистанция и инфа только со смарт-биноклем в руках ОП2.2 Возврат травы в Тёмную лощину. Фикс пака HD текстур ОП2.2 Аномальные документы с вертолёта v1.0 ОП2.2 + адапт. для LSC 30.08 БТРы и турели издают звук v1.41 ОП2.2 Ссылка на комментарий
I am Dead 918 Опубликовано 15 Сентября 2023 Поделиться Опубликовано 15 Сентября 2023 14.09.2023 в 02:34, wdfgosdgf сказал: Вот пример (оно работает, если что): Ну так в чем суть вопроса если есть рабочий код?) 3 Ссылка на комментарий
Stalkersof 185 Опубликовано 21 Сентября 2023 Поделиться Опубликовано 21 Сентября 2023 Привет друзья. Подскажите как скриптом прочитать параметр из user.ltx Freeplay Graphic Mod(FGM) Ссылка на комментарий
Norman Eisenherz 317 Опубликовано 21 Сентября 2023 Поделиться Опубликовано 21 Сентября 2023 (изменено) В ТЧ через файловую систему: local file = getFS():r_open(полный путь) или …($app_data_root$, "user.ltx") local text = file:r_stringZ() -- дальше разбирать полученный текст через string.find, string.match и прочие методы В ЧН через библиотеку io: local filename = "_appdata_\\user.ltx" for line in io.iines(filename) do -- построчное чтение local x = line:find(…) … Еще через консоль можно: get_console():get_тип(название параметра или привязки клавиши). Изменено 21 Сентября 2023 пользователем Norman Eisenherz 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Stalkersof 185 Опубликовано 21 Сентября 2023 Поделиться Опубликовано 21 Сентября 2023 Забыл уточнить для ТЧ. А нет ли у кого полного кода или функции. Разбирать и парсить еще не умею. Freeplay Graphic Mod(FGM) Ссылка на комментарий
Norman Eisenherz 317 Опубликовано 21 Сентября 2023 Поделиться Опубликовано 21 Сентября 2023 При одном параметре можно обойтись консолью. Если надо больше, требуется полное описание задачи. 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Stalkersof 185 Опубликовано 27 Сентября 2023 Поделиться Опубликовано 27 Сентября 2023 (изменено) Привет всем у меня опять проблемка. В начале скрипта помещаю некую переменную и присваиваю ей значение, по этому условию выполняю некое действие в функции по нажатию кнопки. Смысл в том чтоб по условию выполнить действие один раз при нажатии кнопки. Все прекрасно работает только до перезагрузки сейва и вообще при любой загрузке кроме ни. Весь код приводить не буду просто кусочек. Простая задача вроде а всю голову сломал. --в начале скрипта local outfit = false --в кусок кода в функции при нажатии кнопки if not outfit then item:set_condition(1) self:GetStatic("no_money"):SetText("Костюм отремонтирован") outfit = true else self:GetStatic("no_money"):SetText("Закончились кевларовые пластины") end Да забыл уточнить ремнабор многоразовый вернее трех разовый. т.е скрипт запускается три раза до удаления предмета из инвентаря. Все ломается после загрузки сейва. Изменено 27 Сентября 2023 пользователем Stalkersof Freeplay Graphic Mod(FGM) Ссылка на комментарий
Kirgudu 1 240 Опубликовано 27 Сентября 2023 Поделиться Опубликовано 27 Сентября 2023 @Stalkersof разумеется, так и будет, поскольку при каждой загрузке из сохранения твоя строка в начале скрипта выполняется заново, и переменная приобретает первоначальное значение. Чтобы этого не происходило, значение переменной нужно не просто присваивать, но также сохранять в сейве (и читать оттуда при загрузке). Примеров достаточно на любой вкус, даже в оригинале: см. xr_logic.pstor_store / xr_logic.pstor_retrieve (но это не лучший из вариантов, разве что для единичного использования). 1 1 1 Инструмент Ссылка на комментарий
Max_Raf 35 Опубликовано 27 Сентября 2023 Поделиться Опубликовано 27 Сентября 2023 Здравствуйте. Интересует пару вопросов. 1. Есть ли у кого какой-либо парсер xml данных нпс по specific_character id, чтобы получить этим самым парсером данные по спавну оружия и предметов у конкретного нпс? (всё думаю сделать скриптовую замену спавна предметов нпсам при спавне, через условную Lua-таблицу. В теории можно было бы просто <supplies> закоментить и спавнить что хош уже в скриптах, но было бы здорово получить хоть какие то данные из xml, чтобы хоть как то не подтереть что квестовое ненароком) 2. Словил прикол с поведением зверушек. А именно: 1) заспавнил зверушку и перманентно её ослепил. (set_fov(0)) 2) далее просто сделал движение и зверушка меня услышала и начала бежать на меня. 3) Я убежал, аж за АИ-сетку, чтобы зверушка отстала от меня. 4) Зверушка отагрилась и уселась под кустом отдыхать 5) Самый сок: я возвращаюсь на АИ-сетку за овер9999 метров от неё, она начинает бежать на меня. Самое интересное что best_enemy == nil , а get_enemy == 0. По моему монстры не обнуляют что то у себя, тем самым и возникают проблемы с тем что они порой "видят спиной". Вот интересно мнение спеца на подобное. 3. Монстры "видят спиной", как лечить? 4. Ребят, как реализовать рандомные апгрейды в ЗП на заспавненных предметах? В наличии есть m_netpk, но не знаю какой параметр и как "подкручивать" 5. есть у кого рабочая схема работы подствольников для нпс на COC 1.4.22 ? 6. в COC 1.4.22 когда нпс стреляют из РГ-6 то у них затем в некоторой области зависает danger_inertion: стоят тупо озираются и ничего больше не делают. Мало ли у кого есть правка. 7. Пытаюсь перенести музыку из бара на базе ЧН в ЧН - в ЗП COC 1.4.22. Столкнулся с проблемой при установке комментария на музыку . Использовал oggcommentfix ver. 8 и ничего не вышло,звучит всё так же "из головы" а не от бара. Может кто подсказать в чём дело? Мб каким другим софтом коммент править? ... А наше дело маленькое - с ружьём да по болотам. (с) Ссылка на комментарий
Zander_driver 10 341 Опубликовано 28 Сентября 2023 Поделиться Опубликовано 28 Сентября 2023 9 часов назад, Max_Raf сказал: было бы здорово получить хоть какие то данные из xml, чтобы хоть как то не подтереть что квестовое ненароком Для того чтоб составить луа-таблицу под ваши нужды, совершенно нет нужды пользоваться луа. Давно есть готовые инструменты для парсинга xml на любом удобном языке, из массово-употребимых. php, C++, или другие по вкусу. Пишете там свой парсер, он вам дает данные, а их уже Ctrl+C -> Ctrl+V в свой Lua-скрипт. Ну, я лично делал бы так. Если все же категорически хочется юзать Луа - тут это обсуждалось. 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Norman Eisenherz 317 Опубликовано 1 Октября 2023 Поделиться Опубликовано 1 Октября 2023 Кто-нибудь разбирал методы биндеров подробно? 1. Что такое net_Relcase и почему этот метод вызывается 10–20 раз подряд при спавне объекта, а после по 1–2 раза при обращении к инвентарю и прочих вроде бы не связанных с отдельным объектом действиях? Есть старый пост, но он мало похож на правду – метод net_destroy показывает, что объект находится в онлайне при всех вызовах net_Relcase. В движке под таким методом вроде как удаляются ссылки на объект. 2. При каких условиях вызываются методы net_import и net_export? Есть другой старый пост, но он, видимо, вообще не про биндеры. 3. Зачем нужен метод reinit(section), если ссылку на секцию объекта можно получить через self.object в методе reload, который вызывается при тех же условиях "спавн / онлайн"? 4. Обязательно ли выполнять обновление объекта через общий класс object_binder в методах reload, reinit и update? 5. Обязательно ли проверять объект через object_binder.net_spawn? 6. Обязательно ли удалять биндер через object_binder.net_destroy? 7. Почему для разрушаемых объектов вроде ящиков привязка событий через set_callback указана не в reinit, а в net_destroy? 8. Обязательно ли отключать обработку событий в net_destroy? 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
wdfgosdgf 62 Опубликовано 5 Октября 2023 Поделиться Опубликовано 5 Октября 2023 Подскажите, пожалуйста, как правильно запускать звук на воронах, чтобы он двигался вместе с ними? НПС, например, при движении ведут звук за собой, а на воронах он остаётся в точке начала воспроизведения. snd:play_no_feedback(obj, sound_object.s3d, 0, obj:position(), 1) -- звук не движется за объектом Я что-то неправильно делаю или для ворон это не работает в принципе? Через play_at_pos тот же результат. Если для ворон движение звука не сделать в принципе, то ещё вопрос: snd:play_at_pos(obj, obj:position(), 5, sound_object.s3d) Если задать timeout 5 секунд для звука движущегося объекта, в какой позиции он начнёт воспроизводиться?: 1. в той, где объект был на момент выполнения функции 2. в той, где объект будет находиться в момент начала воспроизведения звука после истечения таймера 1 ПОСЛЕДНИЕ ВЕРСИИ ПРАВОК И АДДОНОВ: Турель расходует патроны v1.01 ОП2.2 Миноискатель v1.3 + фикс разброса вещей ОП2.2 Объемный звук дождя v1.1 ОП2.2 Дистанция и инфа только со смарт-биноклем в руках ОП2.2 Возврат травы в Тёмную лощину. Фикс пака HD текстур ОП2.2 Аномальные документы с вертолёта v1.0 ОП2.2 + адапт. для LSC 30.08 БТРы и турели издают звук v1.41 ОП2.2 Ссылка на комментарий
RayTwitty 509 Опубликовано 9 Октября 2023 Поделиться Опубликовано 9 Октября 2023 (изменено) @wdfgosdgf https://xray-engine.org/index.php?title=Класс_sound_object Автоматическое изменение позиции звука не реализовано, нужно делать ручками. В твоем случае надо подвязаться на апдейт биндера вороны и обновлять позицию звука через метод set_position. Разумеется, для каждой вороны свой экземпляр звукового объекта, ссылка на который сохраняется в биндере. Изменено 9 Октября 2023 пользователем RayTwitty 3 1 Ссылка на комментарий
Norman Eisenherz 317 Опубликовано 13 Октября 2023 Поделиться Опубликовано 13 Октября 2023 On 12/8/2014 at 11:51 AM, Dennis_Chikin said: Ну, помним, незабвенный watcher_act.scrip, когда непись прямо во время боя прется через всю локацию, ни на что не обращая внимания, подбирать упавший бинтик, на другом краю этой локации, причем ориентируясь НА СЛУХ. Надо полагать, это файл из НС-2010, в котором "ориентирование на слух" представлено перебором стандартного списка memory_sound_objects. Потестил в ТЧ: бинты и прочие медикаменты при сбросе даже рядом с NPC в список источников звука не заносятся. В "солянке" не правленый движок, скрипты только – была ли в действительности такая проблема? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Zander_driver 10 341 Опубликовано 14 Октября 2023 Поделиться Опубликовано 14 Октября 2023 13.10.2023 в 09:02, Norman Eisenherz сказал: не правленый движок, скрипты только – была ли в действительности такая проблема? Была в свое время на наверное львиной доле модов на базе оригинального движка 1.0004 - 1.0006 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Colder 12 Опубликовано 17 Октября 2023 Поделиться Опубликовано 17 Октября 2023 Всем привет. Хочу выдать инфопорцию при сдачи второстепенных квестов. Делаю так: Скрытый текст В task_manager.script пишу: в function CRandomTask:__init() self.reward_info = utils.cfg_get_string(self.task_ini, id, "reward_info", nil, false, "") в function CRandomTask:init_reward_dialog(dlg, parent) if self.reward_info ~= nil then phrase_script:AddGiveInfo(self.reward_info) end Соответственно в ltx: reward_info = инфопорция Но ничего не происходит. Что я пишу не так? Ссылка на комментарий
WinCap 316 Опубликовано 17 Октября 2023 Поделиться Опубликовано 17 Октября 2023 @Colder, попробуй так: в function CRandomTask:__init() curr_task_info.reward_info = utils.cfg_get_string(self.task_ini, id, "reward_info", nil, false, nil) в function CRandomTask:init_reward_dialog(dlg, parent) if self.task_info[v].reward_info ~= nil then phrase_script:AddGiveInfo(self.task_info[v].reward_info) end 1 1 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Norman Eisenherz 317 Опубликовано 18 Октября 2023 Поделиться Опубликовано 18 Октября 2023 При отслеживании события callback.hit в обработчик передается аргумент local_direction – какой-то вектор из трех дробных значений. В движке есть комментарий "convert impulse into local coordinate system". Что за значения пишутся в этот вектор и куда их можно применить? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Капрал Хикс 540 Опубликовано 21 Октября 2023 Поделиться Опубликовано 21 Октября 2023 Подскажите, в оригинале ТЧ можно влиять на голод ГГ скриптами? Скажем, повесить на апдейт увеличение сытости при наличии в инвентаре определённой брони? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти