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


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


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Вт, 07.05.2013, 22:42 | Сообщение # 121
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Ааз,
Вы в диалоге пишете dialog_zaton.jup_document_x17_create, а файл скриптов называется dialogs_zaton
 
yakutiДата: Ср, 15.05.2013, 20:11 | Сообщение # 122
Отмычка
Пользователи
Сообщений: 46
Награды: 0
Репутация: [ 7 ]

Можете объяснить как реализовать квест как в оригинале: группа сталкеров встречает контролера и все зомбируются. При убийстве контра все обратно становятся сталкерами
 
sergej5500Дата: Ср, 15.05.2013, 20:36 | Сообщение # 123
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

yakuti,
Как вариант, можно удалить сквад сталкеров и заспавнить сквад зомби. Послу убийства контролера удалить сквад зомби и заспавнить сквад сталкеров. Пример кода из оригинала:
on_timer = 1000 | sr_idle@duty_go_home %+jup_b4_monolith_squad_in_duty =remove_squad(jup_b4_squad) =create_squad(jup_b4_squad_duty:jup_b4) =create_squad(jup_b4_squad_duty_leader:jup_b4) =enable_ui%. После прохождения инфопорции jup_b4_monolith_squad_in_duty удаляется сквад Монолита (=remove_squad(jup_b4_squad)) и спавнится сквад Долга (=create_squad(jup_b4_squad_duty:jup_b4) =create_squad(jup_b4_squad_duty_leader:jup_b4)).
 
denis2000Дата: Ср, 15.05.2013, 21:19 | Сообщение # 124
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

yakuti, Или другой вариант сделать сквад врагами, а после смерти контролера нейтралами к ГГ, при помощи функций из xr_effects.script:
Код
function set_squad_enemy_to_actor
function set_squad_neutral_to_actor


sergej5500, При этом важно чтобы ГГ не видел сквады иначе получиться фигня с исчезновениями и появлениями сталкеров. Другой вариант реализовать все это при помощи жесткой логики для всех НПС сквада, где можно организовать все гораздо лучше.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Ср, 15.05.2013, 21:55 | Сообщение # 125
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

denis2000, yakuti,
В примере с Монолитом данная логика используется вместе с функциями =disable_ui и =enable_ui. Используя их, экран на время удаления и спавна сквадов можно погасить.
 
denis2000Дата: Ср, 15.05.2013, 22:08 | Сообщение # 126
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

=disable_ui и =enable_ui не гасят экран, а отбирают/возвращают управление персонажем игроку и управляют отображением ХУДа игроку.
Затемнение: =run_postprocess(fade_in), где fade_in - имя .ppe файла
Чтобы темнота продлилась нужное время =run_postprocess(black:8710:true), где black - имя .ppe файла, 8710 - уникальный идентификатор постпроцесса, true - постпроцесс зациклен
Выключить черный экран: =stop_postprocess(8710), выключить постпроцесс с идентификатором 8710.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sniper777Дата: Пн, 24.06.2013, 15:06 | Сообщение # 127
Мастер
Пользователи
Сообщений: 598
Награды: 3
Репутация: [ 49 ]

Надеюсь, что пишу по теме.
Подскажите пожалуйста как удалить сюжетную линию в з.п. с самого первого квеста?
Заранее благодарю!



[cut=тл][/cut]
 
denis2000Дата: Пн, 24.06.2013, 15:35 | Сообщение # 128
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sniper777, Уберите выдачу квестов во всех диалогах и всех рестрикторах.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
АзазельДата: Вс, 30.06.2013, 13:50 | Сообщение # 129
Новичок
Пользователи
Сообщений: 77
Награды: 0
Репутация: [ 0 ]

Доброго времени суток. Такая проблема. Сделал квест по уроку товарища Геонезиса на последовательный поиск предметов. Квест назначается. Но спавн предметов не происходит. Метка же появляется рядом с железным лесом. Но там нет назначеного предмета. Функции и прочее взять с урока. Заменены лишь инфопоршни и диалог. (структура почти та же, спавн предмета первого, назначение квеста)
 
mizabrikДата: Вт, 02.07.2013, 16:50 | Сообщение # 130
Почетный инженер «Свободы»
Свобода
Сообщений: 360
Награды: 10
Репутация: [ 216 ]

Азазель, имя инфопоршней в скрипте поправлял?



Сообщение отредактировал VlAleVas - Вт, 02.07.2013, 16:51
 
sniper777Дата: Вт, 16.07.2013, 17:21 | Сообщение # 131
Мастер
Пользователи
Сообщений: 598
Награды: 3
Репутация: [ 49 ]

Можно пример квеста на тип: поговори с нпс, просто у меня выдача происходит, но при разговоре с нпс его завершение не происходит.


[cut=тл][/cut]
 
sergej5500Дата: Вт, 16.07.2013, 18:40 | Сообщение # 132
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

sniper777,
Надо в диалоге с НПС прописать инфопорцию завершения квеста.
 
sniper777Дата: Вт, 16.07.2013, 21:34 | Сообщение # 133
Мастер
Пользователи
Сообщений: 598
Награды: 3
Репутация: [ 49 ]

[off]sergej5500, дык, я прописал...[/off]


[cut=тл][/cut]
 
sergej5500Дата: Вт, 16.07.2013, 21:51 | Сообщение # 134
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

sniper777,
Если квест не работает, значит где-то есть ошибка. Выложите свои правки, скрипты, диалоги, относящиеся к квесту. Тогда, возможно, будет ясно, в чём дело.
 
SpiderMenДата: Сб, 24.08.2013, 19:01 | Сообщение # 135
Удаленные



Скажите пожалуйста, как сделать следующий квест?
Меченный берёт задание у Сидоровича – найти и принести модифицированный форт, который находиться у Кузнецова под мостом. После этого Меченный подходит к Кузнецову, и у Кузнецова появляется ветка с диалогом и задание:
Меченный
- Говорят, что у тебя есть модифицированный пистолет?
Кузнецов
- Есть, а тебе какое дело.
Меченный
- Да… я просто люблю уникальные вещи, вот и все. Думал, может обменяешь его на что-нибудь.
Кузнецов
- Не дорос ты ещё, что бы иметь такой ствол. Хотя я и так им не пользуюсь, могу обменять его на ящик водки. Без ствола все равно не останусь, и если решишь через мост без разрешения пройти, мне и калаша хватит что бы тебе застрелить.

Интересует момент, как сделать что бы именно после взятия задания у Сидоровича, появлялась ветка с диалогом и задание у Кузнецова.

Что такое инфопоршен я не знаю!
 
Поиск: