Модостроение. Редактирование и создание скриптов
|
|
denis2000 | Дата: Пн, 10.10.2011, 21:17 | Сообщение # 1 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Редактирование и создание скриптов Редактирование и создание скриптов на языке LUA Если у вас появились вопросы по применению скриптов в игре. Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7
Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML [cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл: 1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R]) 2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx" 3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо) Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#" Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]
[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти? Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда. Для того чтоб найти LOG необходимо зайти вот сюда:
В Win хр лог находится:
C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs
Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.
В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs
Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка: ... $app_data_root$ = true | false| $fs_root$| users\(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx) ... $logs$ = true| false| $app_data_root$| logs\(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи) ... [/cut][cut=Получение более подробной информации о вылете (ХОВАН)] Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...) Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так: Code function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
Первый: Code Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil) Второй: Code Expression : 0 Function : ErrorLog File : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp Line : 49 Description : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic' [/cut]
Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы, статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
denis2000 | Дата: Пн, 10.10.2016, 19:02 | Сообщение # 841 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата av661194 ( ) Какое условие должно стоять вместо русских букв? Что за кнопка, где она?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
av661194 | Дата: Пн, 10.10.2016, 22:16 | Сообщение # 842 |
Отмычка
Пользователи
Сообщений: 39
| denis2000, Кнопка "Опции мода/Установки ХУДа/Отключить события статистики"
|
|
|
Эти 0 пользователя(ей) поблагодарили av661194 за это полезное сообщение: |
|
|
denis2000 | Дата: Вт, 11.10.2016, 08:51 | Сообщение # 843 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| av661194, Так вот в обработчике нажатия этой кнопки и устанавливайте флаг, на который будете ориентироваться включать или нет.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
men_stalker | Дата: Сб, 15.10.2016, 16:09 | Сообщение # 844 |
Инженер «Свободы»
Свобода
Сообщений: 184
| Здравствуйте, хотел бы спросить можно ли сделать так чтобы одно гуи не перекрывало другое? т.е. при двух открытых гуи работало не только верхнее(последнее включенное), но и нижнее(открывшееся первым)?
А и ещё, можно ли сделать так что бы одна кнопка действовала на два гуи? (прописана в одном класе но юзается и из второго) функция кнопки одна и та же - закрытие.
Сообщение отредактировал men_stalker - Сб, 15.10.2016, 16:10 |
|
|
Эти 0 пользователя(ей) поблагодарили men_stalker за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 15.10.2016, 18:21 | Сообщение # 845 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата men_stalker ( ) можно ли сделать так чтобы одно гуи не перекрывало другое? т.е. при двух открытых гуи работало не только верхнее(последнее включенное), но и нижнее(открывшееся первым)? Сомневаюсь, что движек на это рассчитан, но вы вполне можете поэкспериментировать.
Цитата men_stalker ( ) А и ещё, можно ли сделать так что бы одна кнопка действовала на два гуи? Вот тут не понятно, а что прописать две кнопки проблема? Одну в одном окне другую в другом окне. Имел дело с несколькими средами объектно-ориентированного программирования и ни в одной такое не предусматривалось иерархия классов знаете ли.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
men_stalker | Дата: Вс, 16.10.2016, 14:35 | Сообщение # 846 |
Инженер «Свободы»
Свобода
Сообщений: 184
| Здравствуйте, можно ли self:HideDialog() в одном классе, использовать для закрытя и другого? Т.е. нажимаем кнопку выключения в одном окне а закрываются и первое и второе.
|
|
|
Эти 0 пользователя(ей) поблагодарили men_stalker за это полезное сообщение: |
|
|
denis2000 | Дата: Пн, 17.10.2016, 08:37 | Сообщение # 847 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| men_stalker,
Код Frame_1:HideDialog() Frame_2:HideDialog() где Frame_1 - первый объект-окно, Frame_2 - второй объект-окно.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Мирия | Дата: Вт, 18.10.2016, 19:37 | Сообщение # 848 |
Караул Смерти
Тёмные
Сообщений: 274
| Добрый вечер, уважаемые Мастера.
Подскажите, пожалуйста, есть ли возможность перенести анимации использования нпс'ами укрытий и стрельбы из-за них из ЧН/ЗП в ТЧ? И если да, то каким образом? Заранее спасибо.
p.s. я - человек весьма далекий от технической части внутриигровых процессов, так что прошу сильно не лупить.Все ваши ответы, если таковые будут, постараюсь передать дословно внутрь своей команды.
"Они - сама ярость: жестокие, бесстрашные, неудержимые, беспощадные... Но ТЫ...Ты будешь еще хуже... Рви их в клочья, пока не уничтожишь всех..."
|
|
|
Эти 0 пользователя(ей) поблагодарили Мирия за это полезное сообщение: |
|
|
denis2000 | Дата: Ср, 19.10.2016, 19:39 | Сообщение # 849 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Мирия, Раз никто не отвечает, придется мне что то писать. 1. Поскольку скелеты НПС в ТЧ и ЗП/ЧН отличаются, то анимации несовместимы. Для приведения анимаций из ЗП к скелету ТЧ нужны некоторые манипуляции. 2. Поскольку укрытия обсчитывает движек и соответственно отправляет туда НПС и проигрывает анимации входа/выхода, атаки и тд. и тп. в укрытиях, то подключить новые анимации не получиться придется подменять старые.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
men_stalker | Дата: Чт, 20.10.2016, 16:40 | Сообщение # 850 |
Инженер «Свободы»
Свобода
Сообщений: 184
| Здравствуйте, можно ли создать функцию [cut=наподобии этой]--Запуск Gui function run_gui(gui, close_inv) if close_inv == true then gui:ShowDialog(true) game_hide_menu() level.show_weapon(false) else gui:ShowDialog(true) end end [/cut] Но при этом чтобы при её активации стрелка курсора не переводилась в центр? Возможно ли это?
|
|
|
Эти 0 пользователя(ей) поблагодарили men_stalker за это полезное сообщение: |
|
|
denis2000 | Дата: Чт, 20.10.2016, 21:12 | Сообщение # 851 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| men_stalker, Не уверен что это возможно, курсором управляет движек, он то его и ставит в центр.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
men_stalker | Дата: Ср, 09.11.2016, 13:44 | Сообщение # 852 |
Инженер «Свободы»
Свобода
Сообщений: 184
| Здравствуйте, хотел бы кое что спросить. Как известно бэкраунд (ui_inGame2_pda_buttons_background) окон в ПДА гг складывается [cut=из этого]<texture id="ui_inGame2_pda_buttons_background_lt" x="0" y="29" width="20" height="19" /> <texture id="ui_inGame2_pda_buttons_background_l" x="0" y="40" width="20" height="11" /> <texture id="ui_inGame2_pda_buttons_background_lb" x="0" y="52" width="20" height="11" /> <texture id="ui_inGame2_pda_buttons_background_t" x="20" y="29" width="56" height="19" /> <texture id="ui_inGame2_pda_buttons_background_back" x="20" y="40" width="56" height="11" /> <texture id="ui_inGame2_pda_buttons_background_b" x="20" y="52" width="56" height="11" /> <texture id="ui_inGame2_pda_buttons_background_rt" x="76" y="29" width="20" height="19" /> <texture id="ui_inGame2_pda_buttons_background_r" x="241" y="38" width="20" height="11" /> <texture id="ui_inGame2_pda_buttons_background_rb" x="76" y="52" width="20" height="11" />[/cut] В одно большое окно путём совмещений и растягиваний фрагментов текстур. Как эту функцию можно реализовать вне движка?
|
|
|
Эти 0 пользователя(ей) поблагодарили men_stalker за это полезное сообщение: |
|
|
denis2000 | Дата: Ср, 09.11.2016, 20:44 | Сообщение # 853 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| men_stalker, Обычными кастомстатиками ставишь текстуры на холсте и все нормально отображается, это заморочки с ПДА и реализацией в движке потребовали разных кусков текстур.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
men_stalker | Дата: Вс, 13.11.2016, 11:14 | Сообщение # 854 |
Инженер «Свободы»
Свобода
Сообщений: 184
| denis2000, спасибо!
Здравствуйте, хотел задать вопрос можно ли внутри нода создать несколько нодов (что бы сразу регестрировать несколько элементов в скрипте не загромождая его почти идинтичными нодами складывающийся в один элемент) Примерно так:
Код <background_ranking x="35" y="41" width="955" height="198" stretch="1"> <!--- не работает---> <texture>ui_inGame2_pda_buttons_background_back</texture> <background_ranking_1 x="990" y="41" width="100" height="198" stretch="1"> <texture>ui_inGame2_pda_buttons_background_r</texture> </background_ranking_1> </background_ranking>
Добавлено (13.11.2016, 11:14) --------------------------------------------- Как повысить яркость гуи элемента в ноде допустим есть (изображения сильно увеличины): [cut=вот это][/cut] а надо [cut=вот это][/cut] 2-2 из оригинала, 1-й этот же элемент отображается у меня
Сообщение отредактировал men_stalker - Вс, 13.11.2016, 11:16 |
|
|
Эти 0 пользователя(ей) поблагодарили men_stalker за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 13.11.2016, 15:19 | Сообщение # 855 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата men_stalker ( ) можно ли внутри нода создать несколько нодов Можно. Таких примеров в конфигах сплошь и рядом.
Цитата men_stalker ( ) Как повысить яркость гуи элемента Только графическим редактором.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|