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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/
ARTLantist 16 Опубликовано 16 Мая 2022 Поделиться Опубликовано 16 Мая 2022 Как сделать для НПС систему лута тайников/монстров/зажигания костров? Не особо что-то получается разобраться в оригинальном xr_corpse_detection.script. Как именно находится цель для НПС, и как его туда направить для дальнейших действий с этой целью? Мб кто подскажет, или есть какие посты на эту тему, не могу найти... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1428952
ARTLantist 16 Опубликовано 19 Мая 2022 Поделиться Опубликовано 19 Мая 2022 Как добавить костру надпись и сделать действия при нажатии клавиши действия? Пытался поставить скриптом надпись через self.object:set_tip_text, и вызывать коллбэк self.object:set_callback(callback.use_object, self.use_campfire, self), но ничего не вышло, костёр как не реагировал, так и не реагирует. Я так понял, это фишка рестрикторов. Хотелось бы сделать зажигание не через использование предмета рядом с костром, а через взаимодействие с самим костром Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429192
AndreySol 215 Опубликовано 20 Мая 2022 Поделиться Опубликовано 20 Мая 2022 @ARTLantist Скорее всего ошибаюсь, но пробуй смотреть в сторону юсабле_обжект(извиняюсь, но не вспомнил как по англицки правильно написать). Скорее всего, объект костра, не предполагает явного взаимодействия с ним. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429254
ARTLantist 16 Опубликовано 20 Мая 2022 Поделиться Опубликовано 20 Мая 2022 @AndreySol в конфигах или в движке? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429255
ARTLantist 16 Опубликовано 21 Мая 2022 Поделиться Опубликовано 21 Мая 2022 @AndreySol не знаю, покопался в движке, parent класса костра - класс CSpaceRestrictor, у которого parent в свою очередь CGameObject, а у него среди парентов есть и CUsableScriptObject (вроде так), который и даёт возможность вызова коллбека use и выставлять надписи методом set_tip_text. Однако для ВСЕХ рестрикторов эти методы ничего не дают. Почему - пока не разобрался... Мб костыли какие-то придётся делать, заменять все объекты (именно объекты) костров в СДК на спавн элементы с их моделями и им логику прописывать... Но это все локации перекомпилировать🤔 Не очень большое желание что-то делать так. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429322
WinCap 324 Опубликовано 21 Мая 2022 Поделиться Опубликовано 21 Мая 2022 @ARTLantist, может ты про set_nonscript_usable забыл? S.T.A.L.K.E.R. CoP Objects >200 шт (upd 21.05.26) - Скачать (Яндекс-диск) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429351
AndreySol 215 Опубликовано 22 Мая 2022 Поделиться Опубликовано 22 Мая 2022 @ARTLantist Вот напомни мне, как вылечить не работающий пункт меню LE( у меня сейчас 10-ка) и я посмотрю в СДК, что я там менял для костров, чтоб они отрабатывали как обычные спейс-рестрикторы. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429408
ARTLantist 16 Опубликовано 23 Мая 2022 Поделиться Опубликовано 23 Мая 2022 (изменено) @AndreySol не знаю, я на 10-ке на диск Х устанавливал СДК по "инструкции" и он бесперебойно работает🤔 @WinCap та костёр вообще никакую логику не воспринимает, он же рестриктор, пишу ему логику рестриктора (для теста вывод сообщения по событию actor_inside (не помню щас дословно название в логике)), но ему всё равно @AndreySol короче, создал невидимый объект на основе моделей в equipment_cache (которые для inventory_box), так будет проще, как по мне. Подогнал размер под костры. Буду расставлять в каждом костре и логику прописывать соответствующую. Изменено 23 Мая 2022 пользователем ARTLantist Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429482
Prophet13 1 144 Опубликовано 24 Мая 2022 Поделиться Опубликовано 24 Мая 2022 Можно как-то при помощи скрипта узнать, по какой поверхности ходит ГГ (Асфальт, дерево, металл и т.п.)? OP OGSR Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429556
phalcor 60 Опубликовано 25 Мая 2022 Поделиться Опубликовано 25 Мая 2022 Добрый день! Подскажите пожалуйста, есть ли возможность задать в схеме поведения произвольное условие в add_precondition: например, так (желаемое выделено синим): action:add_precondition(world_property(xr_evaluators_id.sidor_wounded_base,false)) -- не ранен action:add_precondition(_G.value_A == true) -- проверка значения глобальной переменной p.s. Нужно для того, чтобы отключать/включать схему поведения по горячей клавише. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429593
Norman Eisenherz 355 Опубликовано 26 Мая 2022 Поделиться Опубликовано 26 Мая 2022 Можно создать проверку в [xr_effects.script] и сослаться на нее 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429671
phalcor 60 Опубликовано 26 Мая 2022 Поделиться Опубликовано 26 Мая 2022 4 часа назад, Norman Eisenherz сказал: Можно создать проверку в [xr_effects.script] и сослаться на нее Посмотрел, совсем не соображу. Опиши, пожалуйста, хотя бы слегка подробнее, как это должно выглядеть. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429682
Norman Eisenherz 355 Опубликовано 27 Мая 2022 Поделиться Опубликовано 27 Мая 2022 (изменено) Не то – не дочитал описание вопроса. Теория: • занять новый id на базе известного номера из [xr_evaluators_id.script]: new_id = xr_evaluators_id.(имя) + 1 • добавить проверку в менеджер поведения: local manager = npc:motivation_action_manager() manager:add_evaluator(new_id, new_class) • создать описание проверки на базе класса property_evaluator Spoiler class "new_class" (property_evaluator) … function new_class:evaluate () return (условие) ИЛИ if (условие) then return true end return false end Пример: [xr_talker.script] function add_to_binder(npc) Изменено 27 Мая 2022 пользователем Norman Eisenherz 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1429775
EGER.OVERKILL WF 3 Опубликовано 3 Июня 2022 Поделиться Опубликовано 3 Июня 2022 Здравствуйте, появился вопрос. Допустим, я играю в модификацию, в которой присутствует правка "по одежке встречают", и она мне только мешает. Вопрос в состоит в том, как бы ее отключить. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1430471
_g.script 3 670 Опубликовано 4 Июня 2022 Поделиться Опубликовано 4 Июня 2022 (изменено) Возможно ли одно из четырёх значений, определяющих пар-тр hit_power в конфиге оружия, вернуть как число? Или, на крайняк, вернуть подстрокой до первой запятой... Скрытый текст hit_power = 0.47,0.523,0.581,0.653 Изменено 4 Июня 2022 пользователем mole venomous Здесь могла быть ваша реклама. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1430530
Chypakabra 989 Опубликовано 4 Июня 2022 Поделиться Опубликовано 4 Июня 2022 1 час назад, mole venomous сказал: Возможно ли одно из четырёх значений, определяющих пар-тр hit_power в конфиге оружия, вернуть как число? Скрытый текст if system_ini():line_exist(item:section(), "hit_power") then local Hitpower = system_ini():r_string(item:section(), "hit_power") if Hitpower then Hitpower = string.gsub(Hitpower,"[,]"," ") for k, v in string.gmatch(Hitpower,"[%p0-z]+") do -- k перебирает все значения hit_power end end end 1 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1430535
AndreySol 215 Опубликовано 4 Июня 2022 Поделиться Опубликовано 4 Июня 2022 @ted.80 Может я не прав, но там видимо значения прописаны для разных уровней сложности? 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1430541
_g.script 3 670 Опубликовано 4 Июня 2022 Поделиться Опубликовано 4 Июня 2022 (изменено) Именно это мне и нужно - вернуть значение параметра на текущем уровне сложности для визуального отображения ТТХ оружия. Однако пока получилось увидеть только строку (с заменой "нежелательных" символов), а конкретное число либо, скажем, среднее арифметическое от этих четырёх, пока не выходит. Изменено 4 Июня 2022 пользователем mole venomous Здесь могла быть ваша реклама. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1430544
Manool 147 Опубликовано 4 Июня 2022 Поделиться Опубликовано 4 Июня 2022 (изменено) 3 часа назад, mole venomous сказал: вернуть значение параметра на текущем уровне Скрытый текст if system_ini():line_exist(item:section(), "hit_power") then local hp = system_ini():r_string(item:section(), "hit_power") if hp then local t = {} for a in string.gfind(hp, "[%w_%-%.]+") do table.insert(t, a) end local dhp = t[level.get_game_difficulty() + 1] or t[1] -- параметр hit_power в зависимости от уровня сложности игры end end Изменено 4 Июня 2022 пользователем Manool 1 Объединённый Пак OGSR Engine Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1430557
Ghilli 0 Опубликовано 5 Июня 2022 Поделиться Опубликовано 5 Июня 2022 Привет. Вопрос, может, нубасский, но: Есть ли на стоковом движке функция отслеживания состояния ГГ в плане присест/стоя/прыжок? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/588/#findComment-1430652
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти