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 Ссылка на комментарий
Norman Eisenherz 322 Опубликовано 10 Августа 2021 Поделиться Опубликовано 10 Августа 2021 Здрасьте. Есть ли способ подставить название клавиши в скриптовый текст по ссылке вроде $$ACTION_use_bandage$$, не создавая новую запись с этой ссылкой в текстовых файлах? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Марка демченков 5 Опубликовано 10 Августа 2021 Поделиться Опубликовано 10 Августа 2021 Всем здравствуйте. Можно ли как-то отрисовать текст на карте в ПДА в ЗП? Ссылка на комментарий
ted.80 371 Опубликовано 11 Августа 2021 Поделиться Опубликовано 11 Августа 2021 @Марка демченков не очень понятно что именно нужно, а так на вскидку - ставим метку и в "hint" пишем нужный текст Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
Norman Eisenherz 322 Опубликовано 12 Августа 2021 Поделиться Опубликовано 12 Августа 2021 Здрасьте. Как получить ссылку на связанный файл с конфигами торговли, имея ссылку на объект NPC? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
naxac 2 477 Опубликовано 13 Августа 2021 Поделиться Опубликовано 13 Августа 2021 @Norman Eisenherz , прочитав логику из spawn_ini? 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Labadal 68 Опубликовано 13 Августа 2021 Поделиться Опубликовано 13 Августа 2021 (изменено) Всем привет Как узнать имя нпс, кто его убил и чем? на выходе хочу получить что-то типа "вы убили волка ножом" Изменено 13 Августа 2021 пользователем Labadal God save Hatsune Miku! Ссылка на комментарий
Norman Eisenherz 322 Опубликовано 13 Августа 2021 Поделиться Опубликовано 13 Августа 2021 @naxac Ссылку именно на конфиг торговли можно получить только после трех подстановок ini-файла, или есть более прямой способ? Spoiler -- Сидорович (ТЧ) local npc = level_object_by_sid(3) local custom_data = npc:spawn_ini() local logic = ini_file( custom_data:r_string("logic", "cfg") ) local trade = ini_file( logic:r_string("logic", "trade") ) local str = trade:r_string("supplies_start", "wpn_groza_m1") Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
dsh 3 824 Опубликовано 13 Августа 2021 Поделиться Опубликовано 13 Августа 2021 @Norman Eisenherz конечно есть. Добавь нужное тебе в trade_manager.script dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Norman Eisenherz 322 Опубликовано 13 Августа 2021 Поделиться Опубликовано 13 Августа 2021 @dsh Зацепился за update(npc) – вижу спам с данными ближайшего стационарного торговца, но ссылка на [trade_generic.ltx] для обычных NPC не всплывает даже при начале торговли с ними. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
WinCap 316 Опубликовано 13 Августа 2021 Поделиться Опубликовано 13 Августа 2021 @Norman Eisenherz, попробуй добавить в trade_manager.script такую функцию: function get_trade_ini(id) if trade_manager[id] then return trade_manager[id].config end return end и потом используй в своем коде: local npc = level_object_by_sid(3) local trade_ini = trade_manager.get_trade_ini(npc:id()) if trade_ini then local str = trade_ini:r_string("supplies_start", "wpn_groza_m1") end 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Labadal 68 Опубликовано 14 Августа 2021 Поделиться Опубликовано 14 Августа 2021 Как определить от какого оружия умер нпс? Конструкция, типа: function name() local wpn = db.actor:active_item() if wpn and wpn:section()=="grenade_f1" then return true else return false end end Не очень подходит, я могу кинуть гранату и достать другое оружие, тогда функция вернёт false, даже, если нпс умер от гранаты актора. God save Hatsune Miku! Ссылка на комментарий
AndreySol 215 Опубликовано 14 Августа 2021 Поделиться Опубликовано 14 Августа 2021 @Labadal xr_motivator.script, класс "motivator_binder", обработчики кэллбэков hit_callback и death_callback. Там в переменной who должен быть объект, от которого хит и смерть пришла. 1 1 1 Ссылка на комментарий
Labadal 68 Опубликовано 14 Августа 2021 Поделиться Опубликовано 14 Августа 2021 (изменено) @AndreySol так ведь в ней содержится объект, который убил, т.е. актор, а не оружие, из которого он это сделал upd: что-то я не проснулся ещё. who:active_item():section() В общем, это возращает то, что в руках на момент смерти нпс, что неподходит, ибо если кинуть гранату и взять в руки нож, вернет нож, а не гранату, которой был убит нпс. Копаем дальше, интересно Изменено 14 Августа 2021 пользователем Labadal God save Hatsune Miku! Ссылка на комментарий
Zander_driver 10 343 Опубликовано 14 Августа 2021 Поделиться Опубликовано 14 Августа 2021 11 минут назад, Labadal сказал: Копаем дальше, интересно Ну если зачем-то очень надо, можно сделать две вещи: 1) В биндере актора хранить в некой табличке, историю его активных итемов. 2) В хит-колбеке нпс, проверять тип хита, и, совпадает ли он с типом хита, наносимым тем оружием которое у актора активный итем. И если не совпадает - значит это не тот итем, и надо смотреть предыдущий, сохраненный в п.1 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. Ссылка на комментарий
Labadal 68 Опубликовано 14 Августа 2021 Поделиться Опубликовано 14 Августа 2021 @Zander_driver С первым пунктом более менее разобрался, а как получить тип хита, от которого умер нпс? upd: такое чувство, что решение где-то близко, а я его не вижу. Вдвойне интересно God save Hatsune Miku! Ссылка на комментарий
AndreySol 215 Опубликовано 15 Августа 2021 Поделиться Опубликовано 15 Августа 2021 @Labadal Нет решения, кроме движковой правки... В движке объект класса CHit(если не ошибаюсь) хранит всю инфо по хиту, но в скриптовый кэллбэк передается только часть этой инфы. Ссылка на комментарий
Labadal 68 Опубликовано 15 Августа 2021 Поделиться Опубликовано 15 Августа 2021 (изменено) @AndreySol А хит оружия ,которое в руках, без правки движка получить можно? upd: да, можно Кажется, с ума сойду быстрее, чем определю как отследить тип хита, от которого умер нпс Пойду дальше пытаться, будут идеи - не стесняйтесь, пишите:3 Изменено 15 Августа 2021 пользователем Labadal God save Hatsune Miku! Ссылка на комментарий
_Sk8_AsTeR_ 122 Опубликовано 16 Августа 2021 Поделиться Опубликовано 16 Августа 2021 Ребят, а вот такой странный вопрос. Вот неписи (ТЧ) перемещаются в оффлайне по локациям и между ними, а в каких скриптах эти перемещения регулируются и описываются? Это в какую сторону нужно копать? Ссылка на комментарий
Labadal 68 Опубликовано 16 Августа 2021 Поделиться Опубликовано 16 Августа 2021 @_Sk8_AsTeR_ емнип, секции таких персонажей в файлах character_desc_локация, начинаются с "sim_", попробуй начать поиски отсюда God save Hatsune Miku! Ссылка на комментарий
UriZzz 1 004 Опубликовано 16 Августа 2021 Поделиться Опубликовано 16 Августа 2021 21 час назад, Labadal сказал: upd: да, можно Хм, интересно, а в X-ray ext коллбэк before_hit (Чи как он там?) Какие данные передаёт??? Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти