Svoboда 3 Опубликовано 23 Апреля 2009 Поделиться Опубликовано 23 Апреля 2009 Тема для обсуждения скриптов всего и всех в серии игр STALKER. Задавая вопрос (!): 1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего; 2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме); 3. Изучите информацию которая может вам помочь: Stalkerin. Там есть много хороших статей касательно данной темы.Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения. Справочное руководство по языку Lua 5.1https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ruСправочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены. Логика со вступлением и четырьмя частями: ВступлениеЧасть перваяЧасть втораяЧасть третьяЧасть четвертая. Smart_terrain (в простонароде - гулаг)Интересный способ настроики логики для гулаговСкриптовая часть игровой логики 4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос; 5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе; 6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода; 7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины. 8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ. 9. И помните: «Правильно заданный вопрос – половина ответа». Какие вопросы следует задавать, а какие нет... Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу. Вопросы которые будут удалятся, следовательно их задавать не нужно:-- Где находится та или иная функция? Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;-- Как сделать что-то/то-то? С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов? В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос. И последнее: очень рекомендовано к прочтению Правила форума 1 2 Ссылка на комментарий
DibokDibokin 1 Опубликовано 29 Марта 2021 Поделиться Опубликовано 29 Марта 2021 (изменено) Здравствуйте. Я опять со своими воронами. Получилось сделать их спавн до выброса и сделать траекторию движения на юг. Заготовил функции проигрывания звуков (изначально они проигрывались с определённым интервалом до начала выброса, но как только появились реальные вороны - это уже выглядит не так хорошо, банально вороны могут сперва пролететь над игроком, а звуки спустя время начнут проигрываться или наоборот). Теперь вопрос - как можно отследить дистанцию (примерно 100-150 метров) от ГГ до ближайшего ворона (секция "m_presurge_crow") чтобы начать запуск звуков? Изменено 29 Марта 2021 пользователем DibokDibokin Ссылка на комментарий
Zander_driver 10 343 Опубликовано 30 Марта 2021 Поделиться Опубликовано 30 Марта 2021 Только что, DibokDibokin сказал(а): секция "m_presurge_crow" Ну, это игровой объект или как? У любого объекта в игре есть координаты. Позиция. И по хорошему эти звуки из тех координат и воспроизводить бы... 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. Ссылка на комментарий
DibokDibokin 1 Опубликовано 30 Марта 2021 Поделиться Опубликовано 30 Марта 2021 7 минут назад, Zander_driver сказал(а): игровой объект Да, за основу взята секция обычной вороны, "m_crow". И тех ворон много, около 150 штук, я вот и пытаюсь сделать проверку на расстояние между ГГ и ближайшим вороном этим. Ссылка на комментарий
Zander_driver 10 343 Опубликовано 30 Марта 2021 Поделиться Опубликовано 30 Марта 2021 Только что, DibokDibokin сказал(а): сделать проверку на расстояние между ГГ и ближайшим вороном этим. Если правильно настроить звуки (настроить дальность слышимости), и воспроизводить из координат ворона, то проверку на расстояние будет делать сам движок, автоматически... Я просто не понимаю, зачем делать костыль, дублируя то, что уже и так работает? Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
DibokDibokin 1 Опубликовано 30 Марта 2021 Поделиться Опубликовано 30 Марта 2021 (изменено) 7 минут назад, Zander_driver сказал(а): воспроизводить из координат ворона В этом есть смысл. Просто у меня есть звуки трёх типов, far, medium и close. Они разные по звучанию и по громкости. Тип я хотел чтобы сначала играли с типом far (среднее расстояние около 100-150 метров), потом medium(50-75 метров), а за ним close (около 25 метров). А дальше наоборот, после close воспроизводятся тип medium и far. Изменено 30 Марта 2021 пользователем DibokDibokin Ссылка на комментарий
Баба ЯГА 7 Опубликовано 31 Марта 2021 Поделиться Опубликовано 31 Марта 2021 Как отловить и вывести в лог момент, когда ГГ взял в руки ящик? Есть ли такие колбэки? Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
gam 117 Опубликовано 31 Марта 2021 Поделиться Опубликовано 31 Марта 2021 function actor_binder:info_callback(npc, info_id) - биндер актора. 1 Ссылка на комментарий
Zander_driver 10 343 Опубликовано 31 Марта 2021 Поделиться Опубликовано 31 Марта 2021 @gam это колбек на инфопорции. А не на взятие физ.объектов. 4 часа назад, Баба ЯГА сказал(а): Есть ли такие колбэки? В оригинале - разве что callback.use_object подойдет. Правда, он на использование предмета, в т.ч. физ.объектов и нпс, трупов. Подойдет ли под ваши задачи - не знаю. 1 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. Ссылка на комментарий
gam 117 Опубликовано 31 Марта 2021 Поделиться Опубликовано 31 Марта 2021 2 часа назад, Zander_driver сказал(а): это колбек на инфопорции. Так точно, согласен не со всеми утверждениями... ага. и енто только ИМХО. 1 Ссылка на комментарий
Баба ЯГА 7 Опубликовано 1 Апреля 2021 Поделиться Опубликовано 1 Апреля 2021 @Zander_driver 17 часов назад, Zander_driver сказал(а): ... В оригинале - разве что callback.use_object подойдет. Правда, он на использование предмета, в т.ч. физ.объектов и нпс, трупов. Подойдет ли под ваши задачи - не знаю. Думаю - подойдёт. Но как реализовать? Ума не приложу... Что именно требуется: ГГ берёт в руки по SHIFT + F ящик - и в лог выводится сообщение, что ГГ взял в руки ящик, или ГГ берёт в руки труп по SHIFT + F - и в лог тоже выводится сообщение, так же когда ГГ выпускает предмет из рук (именно ящик, бочка, труп) - тоже выводится сообщение - что ГГ поставил объект на землю. Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
UriZzz 1 004 Опубликовано 1 Апреля 2021 Поделиться Опубликовано 1 Апреля 2021 @Баба ЯГА я так подозреваю что без ковыряния движка, ни как. 2 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
AndreySol 215 Опубликовано 1 Апреля 2021 Поделиться Опубликовано 1 Апреля 2021 2 часа назад, Баба ЯГА сказал(а): Думаю - подойдёт. use_object - кэллбэк на использование предмета, как то выпивание, съедание, применение аптечки или антирада. Каким боком это связано с перетаскиванием физобъектов, где, как я понимаю, имеет место аттач объекта к ГГ? 2 Ссылка на комментарий
Баба ЯГА 7 Опубликовано 1 Апреля 2021 Поделиться Опубликовано 1 Апреля 2021 28 минут назад, AndreySol сказал(а): use_object - кэллбэк на использование предмета, как то выпивание, съедание, применение аптечки или антирада. Каким боком это связано с перетаскиванием физобъектов, где, как я понимаю, имеет место аттач объекта к ГГ? Есть предложения по решению вопроса? Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
I am Dead 918 Опубликовано 1 Апреля 2021 Поделиться Опубликовано 1 Апреля 2021 (изменено) @Баба ЯГА Ну если у тебя ящик то это наверно получается тебе bind_physic_object ковырять. Ниже привел use_callback из bind_physic_object и treasure_manager, попробуй их поковырять. Скрытый текст -- MARKER: use_callback function generic_physics_binder:use_callback(obj, who) if self.st.active_section then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "use_callback", obj, who) end self.am:call( "on_ph_obj_use", self.object, who ) end Скрытый текст function on_npc_use( obj ) if obj:alive() then return end -- local sobj = alife():object( obj:id() ) if not sobj.treasure_processed and not GetShift() then -- Проверка на шифт сделана, чтоб не срабатывало при попытке перетащить труп. get_treasure_manager():use( obj ) -- give_money( obj ) -- sobj.treasure_processed = true end end P.S данный код из OGSR\OGSE мода. Изменено 1 Апреля 2021 пользователем I am Dead Ссылка на комментарий
AndreySol 215 Опубликовано 1 Апреля 2021 Поделиться Опубликовано 1 Апреля 2021 1 час назад, Баба ЯГА сказал(а): Есть предложения по решению вопроса? Да как обычно - править движок... 1 Ссылка на комментарий
Баба ЯГА 7 Опубликовано 3 Апреля 2021 Поделиться Опубликовано 3 Апреля 2021 И всё же я надеюсь на помощь зала. Вопрос пока не решён. Ведь каким-то образом реализовано это дело, когда труп перетаскиваешь в комбезе? Значит можно как-то отловить когда ГГ берёт в руки какой-то физ объект? Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
Zander_driver 10 343 Опубликовано 4 Апреля 2021 Поделиться Опубликовано 4 Апреля 2021 13 часов назад, Баба ЯГА сказал(а): Значит можно как-то отловить когда ГГ берёт в руки какой-то физ объект? Конечно можно. Найти это место в движке, и добавить туда свой колбек. И в посте выше вам это уже сказали. 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. Ссылка на комментарий
AndreySol 215 Опубликовано 4 Апреля 2021 Поделиться Опубликовано 4 Апреля 2021 14 часов назад, Баба ЯГА сказал(а): каким-то образом реализовано это дело, когда труп перетаскиваешь в комбезе? Что имеется в виду? Где реализовано? Ссылка на комментарий
Баба ЯГА 7 Опубликовано 7 Апреля 2021 Поделиться Опубликовано 7 Апреля 2021 @AndreySol в соли реализовано. Когда в комбезе то ГГ роняет труп и не может тащить, если снять комбез - то нормально тягает трупы. Значит где-то в скриптах есть коллбэк на взятие ГГ в руки физобъекта. а т.к. труп - это физобъект - то значит можно отловить и то когда ГГ берёт в руки бочку или ящик - но как и где? Вот об этом и спрашиваю. 1 Мы, вчера, соседям сказали, что материализация - состоялась, чтобы ваш авторитет не уронить. Вот, мол, было изваяние, а теперь - стала Марья Ивановна. Многие верят ... © Ссылка на комментарий
dsh 3 824 Опубликовано 7 Апреля 2021 Поделиться Опубликовано 7 Апреля 2021 @Баба ЯГА господибожемой. Это не реализовано. Это баг оригинального движка. Ну совсем докатились. 1 3 2 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти