Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Создание и редактирование квестов
denis2000Дата: Пн, 10.10.2011, 21:25 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Создание и редактирование квестов

Создание новых квестов и редактирование существующих

Если у вас появились вопросы по созданию и редактированию квестов, изменению существующих и добавлению новых в игру. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (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 по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
denis2000Дата: Сб, 30.11.2013, 22:17 | Сообщение # 166
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Venedict ()
что делать с квестовыми предметами, персонажами и т.д.? Удалять и редактировать диалоги и спавн?

Тоже удаляйте, редактируйте или оставляйте.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
VenedictДата: Вс, 01.12.2013, 12:41 | Сообщение # 167
Гражданский
Пользователи
Сообщений: 19
Награды: 0
Репутация: [ 0 ]

FantomICW, FantomICW,
Цитата FantomICW ()
Venedict, вот и вот.

С диалогами и спавном всё ясно. Как удалить рестрикторы в all.spawn? я распаковал его и получил файлы all.ltx, alife_zaton.ltx, alife_pripyat.ltx и тд - что же с ними делать? Я попробовал другой вариант: отключить логику. Шёл таким путём Config\scripts\zaton\далее много файлов. Например, я хочу отключить логику упавшего вертолёта в Топи. Какой файл править?


▒▒▒彡✘a-✘a-✘a彡 ▒▒▒ ✓
 
denis2000Дата: Вс, 01.12.2013, 17:31 | Сообщение # 168
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Venedict ()
Например, я хочу отключить логику упавшего вертолёта в Топи. Какой файл править?

Он там далеко не один: zat_b101_***.ltx


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
VenedictДата: Вс, 01.12.2013, 17:53 | Сообщение # 169
Гражданский
Пользователи
Сообщений: 19
Награды: 0
Репутация: [ 0 ]

denis2000, FantomICW, вопрос снят, я просто скачал мод, удалаяющий сюжет biggrin

▒▒▒彡✘a-✘a-✘a彡 ▒▒▒ ✓
 
avn1975Дата: Вт, 10.12.2013, 23:18 | Сообщение # 170
Гражданский
Пользователи
Сообщений: 15
Награды: 0
Репутация: [ 0 ]

добрый вечер не подскажите как сделать квест на подобие цехов подстанции а имено запустился диалог
 
denis2000Дата: Ср, 11.12.2013, 15:14 | Сообщение # 171
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

avn1975, Как делать свою модификацию, в том числе и квесты, есть в теме КМБ.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
lychagin0Дата: Пн, 03.03.2014, 19:23 | Сообщение # 172
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

Добрый вечер, подсоединил локацию к СГМ-2.2, всё работает, спавн, респавн, лагеря, аномалии, выброс, затмение в общем локация "действует". Сделал квест, но он не отображается в пда, хотя начинает работать. Квест запускается из диалога <action>anom_remover.gar_promzone_start</action> его можно полностью пройти и сдать. Причем если удалить
#include "tm_garbage.ltx" из task_manager.ltx квест появляется в пда с сообщением (дословно не помню, но смысл нет ini файла), но не работает не выполняется строка:
on_init = %=create_squad(gar_b310_dolg_atack_squad:gar_b310)%, подскажите, в чём может быть ошибка.

[cut noguest=Сам квест][gar_angar_shturm]
icon = ui_inGame2_BlockpostProtection
prior = 2
storyline = false
on_init = %=create_squad(gar_b310_dolg_atack_squad:gar_b310) =all_squads_online(gar_b310) =teleport_squad(gar_b310_dolg_atack_squad:gar_b310_spawn_point)%
title = {+gar_b310_dolg_atack_squad_start -gar_b310_dolg_atack_squad_death} gar_b310_dolg_atack_title2, {+gar_b310_dolg_atack_squad_start +gar_b310_dolg_atack_squad_death -gar_b310_poisck} gar_b310_dolg_atack_title1, {+gar_b310_poisck -gar_start_zavesa} gar_b310_dolg_atack_title0, {+gar_start_zavesa -gar_pole_complete} gar_b310_dolg_atack_title, {+gar_pole_complete -laser_turrel_dead} gar_b310_dolg_atack_title3, {+laser_turrel_dead -gar_b309_alfa_power_squad_death} gar_b310_dolg_atack_title4, {+laser_turrel_dead +gar_b309_alfa_power_squad_death} gar_b310_dolg_atack_title5
descr = gar_dolg_descr
target = gar_b35
condlist_0 = {+gar_b310_dolg_atack_complete} complete
reward_item =
reward_money = [/cut]


 
NIVДата: Пн, 03.03.2014, 20:30 | Сообщение # 173
Полевой исследователь
Ученые сталкеры
Сообщений: 167
Награды: 4
Репутация: [ 180 ]

lychagin0, м.б. попробовать подставить title без условий? Если будет отображаться - то проблема в условиях.

Изменяем реальность S.T.A.L.K.E.R. CoP: "Цена Новых Исследований" / "New Investigations' Value"
 
ListedДата: Вт, 04.03.2014, 03:33 | Сообщение # 174
Удаленные



Такое дело.Sgm 2.2 + Atmosfear3 установил и играл первый раз,выскачило задание TITLE_DOESNT_EXIST.Позже на форуме прочитал про файл адаптации который это фиксит.Установил,всё норм.Вот только задание висит в активных и на мапе не рисует куда бежать при выбросах,осадках и пси шторме.Кто может что подсказать толкового?

Нужно было после добавления фикса загрузить сейв до момента выпадения такого квеста, теперь такой квест никак не убить поскольку скрипт знает какое у него имя было. denis2000


Сообщение отредактировал Listed - Вт, 04.03.2014, 03:35
 
lychagin0Дата: Вт, 04.03.2014, 09:12 | Сообщение # 175
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

NIV, ставил, то же самое. Трудно передать проблему, в диалоге нет звукового сигнала, нет иконки нового задания. Это при правильной конфигурации. А при не правильной, в окне диалога появляется иконка, звуковой сигнал проходит.
Сейчас сделаю скрины и покажу.


 
makdmДата: Вт, 04.03.2014, 10:47 | Сообщение # 176
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

Цитата lychagin0 ()
Трудно передать проблему, в диалоге нет звукового сигнала

Выдавайте задание не через диалог, а через рестриктор.
В рестрикторе пишите

[sr_idle@_1]
on_info = { +поршень_окончания_диалога} sr_idle@_2 %=give_task(gar_angar_shturm)%

[sr_idle@_2]

Цитата lychagin0 ()
target = gar_b35


Я так понял, что указано имя смарта, а указывать необходимо story_id объекта.

Добавлено (04.03.2014, 10:47)
---------------------------------------------
Да, и ещё.
Если тайтлы следуют один за другим по мере прохождения квеста, то title имеет кучу ненужных проверок.
Можно написать короче

title = {+gar_b310_dolg_atack_squad_start} gar_b310_dolg_atack_title2, {+gar_b310_dolg_atack_squad_start +gar_b310_dolg_atack_squad_death} gar_b310_dolg_atack_title1, {+gar_b310_poisck} gar_b310_dolg_atack_title0, {+gar_start_zavesa} gar_b310_dolg_atack_title, {+gar_pole_complete} gar_b310_dolg_atack_title3, {+laser_turrel_dead} gar_b310_dolg_atack_title4, {+gar_b309_alfa_power_squad_death} gar_b310_dolg_atack_title5

А на самый первый тайтл при запуске задания можно вообще не ставить никаких проверок.


Терпение......
И все получится!
 
sergej5500Дата: Вт, 04.03.2014, 12:32 | Сообщение # 177
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Listed,
У меня надписи TITLE_DOESNT_EXIST появлялись, когда я ошибочно прописывал название квеста. То есть игра запускала несуществующий квест. Совет могу дать такой, проверять правильность запуска всех квестов мода на правильность их вызова. Название квеста в файлах tm_*** должно совпадать с названием квеста в скрипте или рестрикторе.
 
lychagin0Дата: Вт, 04.03.2014, 18:30 | Сообщение # 178
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

Цитата makdm ()
story_id объекта
это story_id

Цитата makdm ()
кучу ненужных проверок
кол-во проверок пока тестовое.

Попробую через рестриктор, но всё равно интересно узнать, что за проблема. Почему это происходит. Сделал не один квест, а с таким не сталкивался.

Добавлено (04.03.2014, 14:39)
---------------------------------------------
Попробовал через рестриктор, то же самое. Причём если всё правильно (есть #include "tm_garbage.ltx" и в вызове функции нет ошибки) то квест запускается без всяких внешних эффектов, т.е. нет звукового сигнала начала, нет иконки и в пда всё чисто. Но выполняется on_init = %=create_squad(gar_b310_dolg_atack_squad:gar_b310)% и квест идет нормально, но без сообщений о переключении. Если есть ошибка( нет #include "tm_garbage.ltx" или вызов сделать так %=give_task(gar_angar_shturm wacko то появляется сигнал начала квеста, появляется иконка с сообщением: TITLE_DOESNT_EXIST но сам квест не запускается нет выполнения on_init
Помогите разобраться.

Добавлено (04.03.2014, 18:30)
---------------------------------------------
[cut noguest=Скрины]
Это вызов квеста без ошибок, квест запускается. В пда пусто.




Эти две картинки с закомментированным инклудом файла. Сам квест не запускается.[/cut]




Сообщение отредактировал lychagin0 - Вт, 04.03.2014, 18:32
 
makdmДата: Вт, 04.03.2014, 19:33 | Сообщение # 179
Рожденный в СССР
Разработчики
Сообщений: 1294
Награды: 29
Репутация: [ 1909 ]

lychagin0, вот эти пустые строчки попробуйте убрать

reward_item =
reward_money =


Терпение......
И все получится!
 
lychagin0Дата: Ср, 05.03.2014, 01:43 | Сообщение # 180
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

Цитата makdm ()
вот эти пустые строчки попробуйте убрать

Убрал, не помогло. Всё то же самое. Даже не соображу в какую сторону думать.


 
Поиск: