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/
naxac 2 578 Опубликовано 23 Сентября 2017 Поделиться Опубликовано 23 Сентября 2017 @power-cat , ну и что, что не используются. Файл-то весь грузится. Если эти переменные у тебя используются один раз одной функцией, то и пихай их в эту функцию, зачем выносить за ее пределы? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1120638
Akcok 164 Опубликовано 24 Сентября 2017 Поделиться Опубликовано 24 Сентября 2017 (изменено) И выходит function at line N has more up 60 значений. p.s. в другое место сунул, всё стало ок, канеш помогло, но тем не менее этот чёртов лимит не устраивает. Изменено 24 Сентября 2017 пользователем power-cat Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1120747
_g.script 3 668 Опубликовано 24 Сентября 2017 Поделиться Опубликовано 24 Сентября 2017 В 07.09.2017 в 11:46, _Sk8_AsTeR_ сказал: как заставить НПС съесть водку Думаю, тут надо ковырять логику НПС, где через условия заставлять его проигрывать нужные анимации по порядку. В итоге, когда НПС очнётся, маленько хитовать его, как бы похмелье. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1120978
BossBoroda 7 Опубликовано 26 Сентября 2017 Поделиться Опубликовано 26 Сентября 2017 Expression : xml_doc.NavigateToNode(path,index) Function : CUIXmlInit::InitStatic File : E:\stalker\sources\trunk\xr_3da\xrGame\ui\UIXmlInit.cpp Line : 172 Description : XML node not found Arguments : tab_client:check_with_battleye ai_add_shoc_2.0f4 ставил эту логику для нпс Как исправить вылет, или посоветуйте аналоги, или может пойти на уступки и что-то вылезать из скриптов чтобы вылет пропал, пусть лучше нпс что-то не делают, чем вылет игры! Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1121449
Overfirst 637 Опубликовано 28 Сентября 2017 Поделиться Опубликовано 28 Сентября 2017 Есть таблица key = value: local params = { ["Name"] = obj:name(), ["Character name"] = obj:character_name(), ["Profile name"] = obj:profile_name() -- и т. д. } При печати этой таблицы элементы идут не том порядке, в котором расположены изначально. Читал про функцию table.sort, всячески применял, но ни вылета, ни результата. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1121837
naxac 2 578 Опубликовано 28 Сентября 2017 Поделиться Опубликовано 28 Сентября 2017 @BoBaH_671 , Цитата как можно отловить наведение прицела на .. объект В X-Ray Extensions для ТЧ есть функция level.get_target_obj(), которая возвращает объект, на который наведён прицел, либо nil, если ни на что не наведён. Функция table.sort работает только для индексированных массивов, используй их, если хочешь упорядочивать значения. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1121842
Overfirst 637 Опубликовано 28 Сентября 2017 Поделиться Опубликовано 28 Сентября 2017 Без функции сортировки, но с индексацией: for i = 1, #params do for k,v in pairs(params[i]) do if v ~= nil then -- // -- end end end Пашет. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1121910
Graff46 621 Опубликовано 28 Сентября 2017 Поделиться Опубликовано 28 Сентября 2017 16 часов назад, BoBaH_671 сказал: как можно отловить наведение прицела на физический объект, Можно векторами, если не хотите с правками возится, у класса рендер_девайс есть метод или св-во которые возвращают вектор направленный перпедикулярно плоскости экрана, он как раз на уровне прицела. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122081
Graff46 621 Опубликовано 28 Сентября 2017 Поделиться Опубликовано 28 Сентября 2017 У меня вопрос: way- look- и остальные поинты "имют" нэт-пакеты и какой у них класс если есть? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122082
naxac 2 578 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 @Graff46 , доступ к путям есть только через класс 'patrol'. Нет-пакета у путей нет, т.к. у класса нет серверной части. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122094
shahvkit 3 747 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 (изменено) Добрый день. Подскажите пожалуйста как прописать рецепт на варку артефакта в качестве награды за квест? То есть, как к стандартной выдаче награды в виде предмета добавляется выдача какого либо рецепта. p.s. Это нужно для модов типа "Народная солянка", "NLC7". p.p.s. Поиск информации выдал только уроки по прописыванию предметов в качестве награды. Изменено 29 Сентября 2017 пользователем shahvkit Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122113
dsh 3 824 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 @shahvkit в этих модах, рецепт - это просто инфопоршень, т.ч. в качестве награды просто выдавай соотв. инфопоршень. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122142
BFG 7 583 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 @dsh Слишком упрощаешь. Не просто поршень, а внутри поршня ещё артикль с описанием рецепта в ПДА + ещё проверка на наличие поршня при варке вручную или трансмутатором в амк_мод.скрипт + ещё парочка каких нибудь проверок, о которых я и понятия не имею. Скорее всего он хочет делать новый рецепт, а не юзать старые. А это уже не так просто. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122155
dsh 3 824 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 @BFG теперь ты слишком усложняешь. Все, что ты описал, нужно только для создания нового рецепта. А для выдачи уже существующего, достаточно выдать соотв. инфопоршень. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122156
shahvkit 3 747 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 Всем спасибо за ответы и подсказки. Буду разбираться. Главное, я узнал к чему привязываются рецепты - к схемам диалогов. Дальше проще Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122158
BFG 7 583 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 16 минут назад, shahvkit сказал: я узнал к чему привязываются рецепты - к схемам диалогов. Неверно. Рецепт. как было сказано выше. привязан к поршню. А поршень может быть выдан где угодно : в диалоге, по поднятию итема, открыванию двери, обыске трупа, смерти вертолёта, заходы\выходу из рестриктора, да вообще на любое событие. Вопрос собсно реализации ТВОЕГО сюжета, а там уже конкретней смотреть надо. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122161
aka_sektor 1 478 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 (изменено) 4 минуты назад, BFG сказал: по поднятию итема Пишут такое: Цитата при загрузке уровня создаются клиентские объекты предметов , лежащих в инвентаре и они в нем регистрируются в сам факт регистрации в скриптах и отдается колбеком item_take то значит что этот код будет постоянно вызываться при загрузке уровня или просто сейв\лоад Изменено 29 Сентября 2017 пользователем aka_sektor 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122162
BFG 7 583 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 1 минуту назад, aka_sektor сказал: то значит что этот код будет постоянно вызываться при загрузке уровня. Я уж не знаю как оно сделано, но что-то по логам я не припомню, чтоб в Соли на каждый заход на локу вызывался код на поршень. А итем мог быть поднят на локе неделю назад. Значит есть методы обхода. Шах ведь не пишет что конкретно он задумал и что собственно хочет от всей этой рецептуры. Толку то переливать из пустого... Напишет, тогда сразу будут конкретные примеры. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122163
aka_sektor 1 478 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 (изменено) 6 минут назад, BFG сказал: есть методы обхода Заглушка: if obj:section() == "имя_предмета" and not has_alife_info("фэйковый_инфопоршень") then give_info("фэйковый_инфопоршень") end И ещё: Цитата При взятии любого предмета (и после загрузки, да) выполняется весь код метода этого коллбека. Изменено 29 Сентября 2017 пользователем aka_sektor Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122165
Капрал Хикс 561 Опубликовано 29 Сентября 2017 Поделиться Опубликовано 29 Сентября 2017 Вопрос такой - как монстрячую логику Сидоровича отвязать от скрипта mob_trader.script? Есть нормальная модель с сидячими анимациями из ЗП, хочу её посадить в каморку, так скрипт ругается на анимки. Если нужно, предоставлю логи вылетов и переписанную логику Сидора без анимок оригинального. По-хорошему, можно конечно удалить оригинального и заспавнить нового НПС с его диалогами, но не хочется дополнительной возни. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/433/#findComment-1122171
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти