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/
Graff46 620 Опубликовано 17 Августа 2017 Поделиться Опубликовано 17 Августа 2017 Не нахожу нет-пакета куда записываются не стартовые диалоги НПС, есть пакет только для стартовых диалогов. Кроме как в XML профиле, больше ни как нельзя НПС задать нестартовые диалоги? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113142
naxac 2 571 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 @Graff46 , да, только в xml Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113247
Wlad777 24 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 Камрады скриптовики! Не дайте помереть, да поможите провести дебаг! В моей сборке что-то адски жрёт fps. Адски именно. Движок от ОГСЕ. При максимальных настройках на паузе имею 150 fps. А при игре 20-30 fps на открытых уровнях и 40-50 fps в подземельях. Жрёт что-то в скриптах, ибо если иногда происходит какой-то сбой у актора при загрузке, то в игре подскакивают до этих 150 fps. Если при этом сохраниться, то сейв будет битый из-за nil актора. Вещи, висящие на апдейте актора, пробовал отключать - изменений нет. Где пробовать копать? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113305
abramcumner 1 229 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 1 час назад, Wlad777 сказал: Где пробовать копать? Понатыкать profile_timer в апдейте и увидеть, где надо копать? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113317
Wlad777 24 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 А можно чуть подробнее, для слабо разбирающегося, пожалуйста? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113318
abramcumner 1 229 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 С помощью profile_timer можно замерить время выполнения куска кода(методы в lua_help.script). Расставляешь пару замеров в апдейте, находишь тормозящий кусок, расставляешь в нем, и так пока не поймешь в чем дело. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113319
dsh 3 824 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 @Wlad777 вот так как-то local pt = profile_timer() pt:start() -- подозрительный код pt:stop() log2( "работало %s ms", pt:time() ) 2 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113328
Джива 0 Опубликовано 18 Августа 2017 Поделиться Опубликовано 18 Августа 2017 Хаюшки. Будьте любезны, подскажите, как спавнить вертолёт через скрипт. На Кордоне. Цель- актёр и нпс кроме армии. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113391
Капрал Хикс 561 Опубликовано 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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113453
Graff46 620 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 (изменено) У меня вопрос из области GUI, можно ли сделать скролл InitStatic'ку, а то большой текст за статик вылазит? Скрытый текст Изменено 19 Августа 2017 пользователем Graff46 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113462
Lebedev30 7 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 (изменено) Вопрос: можно через скрипты или как-то блокировать срабатывание перехода с локации на локацию до того, пока определённый квест не получит ГГ? Или к примеру поставить ворота и чтобы они не открывались т.к. скрипт проверяет и не видит, что у ГГ активен или выполнен определённый квест. Если это реально. То как. Прошу примера т.к. подобного не встречается ни в одной из игр оригинала? Изменено 19 Августа 2017 пользователем Lebedev30 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113473
Graff46 620 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Только что, Lebedev30 сказал: можно через скрипты или как-то блокировать срабатывание перехода с локации на локацию Можно спавнить переход по условию, до определённого события перехода просто не будет. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113476
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() Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113495
UnLoaded 313 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 1 час назад, dsh сказал: self.item_descr:AdjustHeightToText() этой ф-ции ведь нет в чистом ТЧ ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113522
Graff46 620 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Только что, UnLoaded сказал: этой ф-ции ведь нет в чистом ТЧ ? Нету Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113525
TIGER_VLAD 361 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 @Lebedev30 Как вариант: перед переходом поставить большой рестриктор и в логике вызывать функцию, когда ГГ будет внутри. А в функции телепортировать (например 2 метра назад) и развернуть ГГ и написать сообщение на экран типа "Переход заблокирован". После выполнения квеста, рестриктор удаляем. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113544
TIGER_VLAD 361 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 5 часов назад, Graff46 сказал: Можно спавнить переход по условию, до определённого события перехода просто не будет. Вот только тогда игрок сможет выйти за пределы локации и упасть например) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113545
nego 35 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Здравствуйте ВАМ. Как можно в ТЧ...04 сделать арты, увеличивающие переносимый вес? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113551
Lebedev30 7 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 3 минуты назад, nego сказал: Здравствуйте ВАМ. Как можно в ТЧ...04 сделать арты, увеличивающие переносимый вес? Меня этот вопрос интересовал и давно, но для ТЧ даже таких модов не встречалось или инструкций. Лучше на ЧН или ЗП переходи. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113553
Dennis_Chikin 3 664 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Прямо в соседней теме и было. Только к скриптам отношения не имеет: чистый конфиг. Создаем пистолет на n патронов, создаем для него патроны с отрицательным весом, устанавливаем в нем патроны через set_ammo_elapsed() Сами патроны ни куда не спавнить. Ни при каких обстоятельствах. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/427/#findComment-1113565
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти