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 Ссылка на комментарий
Graff46 598 Опубликовано 17 Августа 2017 Поделиться Опубликовано 17 Августа 2017 Не нахожу нет-пакета куда записываются не стартовые диалоги НПС, есть пакет только для стартовых диалогов. Кроме как в XML профиле, больше ни как нельзя НПС задать нестартовые диалоги? Ссылка на комментарий
naxac 2 477 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 @Graff46 , да, только в xml Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Wlad777 24 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 Камрады скриптовики! Не дайте помереть, да поможите провести дебаг! В моей сборке что-то адски жрёт fps. Адски именно. Движок от ОГСЕ. При максимальных настройках на паузе имею 150 fps. А при игре 20-30 fps на открытых уровнях и 40-50 fps в подземельях. Жрёт что-то в скриптах, ибо если иногда происходит какой-то сбой у актора при загрузке, то в игре подскакивают до этих 150 fps. Если при этом сохраниться, то сейв будет битый из-за nil актора. Вещи, висящие на апдейте актора, пробовал отключать - изменений нет. Где пробовать копать? --------------------------------- www.amk-zone.de Ссылка на комментарий
abramcumner 1 172 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 1 час назад, Wlad777 сказал: Где пробовать копать? Понатыкать profile_timer в апдейте и увидеть, где надо копать? Ссылка на комментарий
Wlad777 24 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 А можно чуть подробнее, для слабо разбирающегося, пожалуйста? --------------------------------- www.amk-zone.de Ссылка на комментарий
abramcumner 1 172 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 С помощью profile_timer можно замерить время выполнения куска кода(методы в lua_help.script). Расставляешь пару замеров в апдейте, находишь тормозящий кусок, расставляешь в нем, и так пока не поймешь в чем дело. 1 Ссылка на комментарий
dsh 3 824 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 @Wlad777 вот так как-то local pt = profile_timer() pt:start() -- подозрительный код pt:stop() log2( "работало %s ms", pt:time() ) 2 2 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Джива 0 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 Хаюшки. Будьте любезны, подскажите, как спавнить вертолёт через скрипт. На Кордоне. Цель- актёр и нпс кроме армии. Ссылка на комментарий
Капрал Хикс 541 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 (изменено) Вопрос по воронам - их класс вообще полностью поддерживает скриптовую обвязку bind_monster? Попробовал добавить строку вида: script_binding = bind_monster.bind в конфиг, вроде эффект есть, функция хита при обыске трупа вороны срабатывает, например, но выдача инфопоршня при убийстве - нет. Последнее делал по аналогии с OGSM, где при убийстве монстра даётся статья о нём. Код: --if string.find(self.object:section(), "m_crow") then - не работает if self.object:section() == "m_crow" then - тоже метод не работает if not has_alife_info("crow_dead") then db.actor:give_info_portion("crow_dead") end end Upd. подсмотрел метод в моде OLR, кому интересно - смотрите скрипт bind_crow. Изменено 19 Августа 2017 пользователем Капрал Хикс неактуальность помощи 1 Ссылка на комментарий
Graff46 598 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 (изменено) У меня вопрос из области GUI, можно ли сделать скролл InitStatic'ку, а то большой текст за статик вылазит? Скрытый текст Изменено 19 Августа 2017 пользователем Graff46 Ссылка на комментарий
Lebedev30 7 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 (изменено) Вопрос: можно через скрипты или как-то блокировать срабатывание перехода с локации на локацию до того, пока определённый квест не получит ГГ? Или к примеру поставить ворота и чтобы они не открывались т.к. скрипт проверяет и не видит, что у ГГ активен или выполнен определённый квест. Если это реально. То как. Прошу примера т.к. подобного не встречается ни в одной из игр оригинала? Изменено 19 Августа 2017 пользователем Lebedev30 Ссылка на комментарий
Graff46 598 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Только что, Lebedev30 сказал: можно через скрипты или как-то блокировать срабатывание перехода с локации на локацию Можно спавнить переход по условию, до определённого события перехода просто не будет. 1 Ссылка на комментарий
dsh 3 824 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 1 hour ago, Graff46 said: сделать скролл InitStatic'ку Я делаю scroll <descr_scroll x="247" y="10" width="355" height="150" always_show_scroll="0"/> self.descr_scroll = xml:InitScrollView( "main_dialog:descr_scroll", self.dialog ) и к нему уже аттачу статик с текстом <descr_text x="0" y="0" width="335" height="250" complex_mode="1"> <font font="letterica16" r="255" g="255" b="255"/> </descr_text> self.item_descr = self.xml:InitStatic( "main_dialog:descr_text", self.descr_scroll ) self.item_descr:SetText( self:get_item_description( ui_item.data ) ) self.item_descr:AdjustHeightToText() dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
UnLoaded 313 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 1 час назад, dsh сказал: self.item_descr:AdjustHeightToText() этой ф-ции ведь нет в чистом ТЧ ? Ссылка на комментарий
Graff46 598 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Только что, UnLoaded сказал: этой ф-ции ведь нет в чистом ТЧ ? Нету Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 @Lebedev30 Как вариант: перед переходом поставить большой рестриктор и в логике вызывать функцию, когда ГГ будет внутри. А в функции телепортировать (например 2 метра назад) и развернуть ГГ и написать сообщение на экран типа "Переход заблокирован". После выполнения квеста, рестриктор удаляем. 1 Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 5 часов назад, Graff46 сказал: Можно спавнить переход по условию, до определённого события перехода просто не будет. Вот только тогда игрок сможет выйти за пределы локации и упасть например) Ссылка на комментарий
nego 35 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Здравствуйте ВАМ. Как можно в ТЧ...04 сделать арты, увеличивающие переносимый вес? Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч. Ссылка на комментарий
Lebedev30 7 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 3 минуты назад, nego сказал: Здравствуйте ВАМ. Как можно в ТЧ...04 сделать арты, увеличивающие переносимый вес? Меня этот вопрос интересовал и давно, но для ТЧ даже таких модов не встречалось или инструкций. Лучше на ЧН или ЗП переходи. Ссылка на комментарий
Dennis_Chikin 3 661 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Прямо в соседней теме и было. Только к скриптам отношения не имеет: чистый конфиг. Создаем пистолет на n патронов, создаем для него патроны с отрицательным весом, устанавливаем в нем патроны через set_ammo_elapsed() Сами патроны ни куда не спавнить. Ни при каких обстоятельствах. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти