|
Модостроение. Создание и редактирование квестов
|
|
| denis2000 | Дата: Пн, 10.10.2011, 21:25 | Сообщение # 1 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Создание и редактирование квестов Создание новых квестов и редактирование существующих Если у вас появились вопросы по созданию и редактированию квестов, изменению существующих и добавлению новых в игру. Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (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 | Дата: Ср, 15.05.2013, 22:08 | Сообщение # 121 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| =disable_ui и =enable_ui не гасят экран, а отбирают/возвращают управление персонажем игроку и управляют отображением ХУДа игроку. Затемнение: =run_postprocess(fade_in), где fade_in - имя .ppe файла Чтобы темнота продлилась нужное время =run_postprocess(black:8710:true), где black - имя .ppe файла, 8710 - уникальный идентификатор постпроцесса, true - постпроцесс зациклен Выключить черный экран: =stop_postprocess(8710), выключить постпроцесс с идентификатором 8710.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| sniper777 | Дата: Пн, 24.06.2013, 15:06 | Сообщение # 122 |
 Мастер
Пользователи
Сообщений: 598
| Надеюсь, что пишу по теме. Подскажите пожалуйста как удалить сюжетную линию в з.п. с самого первого квеста? Заранее благодарю!
[cut=тл] [/cut]
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sniper777 за это полезное сообщение: |
|
|
| denis2000 | Дата: Пн, 24.06.2013, 15:35 | Сообщение # 123 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sniper777, Уберите выдачу квестов во всех диалогах и всех рестрикторах.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| Азазель | Дата: Вс, 30.06.2013, 13:50 | Сообщение # 124 |
|
Новичок
Пользователи
Сообщений: 77
| Доброго времени суток. Такая проблема. Сделал квест по уроку товарища Геонезиса на последовательный поиск предметов. Квест назначается. Но спавн предметов не происходит. Метка же появляется рядом с железным лесом. Но там нет назначеного предмета. Функции и прочее взять с урока. Заменены лишь инфопоршни и диалог. (структура почти та же, спавн предмета первого, назначение квеста)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Азазель за это полезное сообщение: |
|
|
| mizabrik | Дата: Вт, 02.07.2013, 16:50 | Сообщение # 125 |
 Почетный инженер «Свободы»
Свобода
Сообщений: 360
| Азазель, имя инфопоршней в скрипте поправлял?
Сообщение отредактировал VlAleVas - Вт, 02.07.2013, 16:51 |
| |
|
| Эти 0 пользователя(ей) поблагодарили mizabrik за это полезное сообщение: |
|
|
| sniper777 | Дата: Вт, 16.07.2013, 17:21 | Сообщение # 126 |
 Мастер
Пользователи
Сообщений: 598
| Можно пример квеста на тип: поговори с нпс, просто у меня выдача происходит, но при разговоре с нпс его завершение не происходит.
[cut=тл] [/cut]
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sniper777 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Вт, 16.07.2013, 18:40 | Сообщение # 127 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| sniper777, Надо в диалоге с НПС прописать инфопорцию завершения квеста.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| sniper777 | Дата: Вт, 16.07.2013, 21:34 | Сообщение # 128 |
 Мастер
Пользователи
Сообщений: 598
| [off]sergej5500, дык, я прописал...[/off]
[cut=тл] [/cut]
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sniper777 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Вт, 16.07.2013, 21:51 | Сообщение # 129 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| sniper777, Если квест не работает, значит где-то есть ошибка. Выложите свои правки, скрипты, диалоги, относящиеся к квесту. Тогда, возможно, будет ясно, в чём дело.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| SpiderMen | Дата: Сб, 24.08.2013, 19:01 | Сообщение # 130 |
|
Удаленные
| Скажите пожалуйста, как сделать следующий квест? Меченный берёт задание у Сидоровича – найти и принести модифицированный форт, который находиться у Кузнецова под мостом. После этого Меченный подходит к Кузнецову, и у Кузнецова появляется ветка с диалогом и задание: Меченный - Говорят, что у тебя есть модифицированный пистолет? Кузнецов - Есть, а тебе какое дело. Меченный - Да… я просто люблю уникальные вещи, вот и все. Думал, может обменяешь его на что-нибудь. Кузнецов - Не дорос ты ещё, что бы иметь такой ствол. Хотя я и так им не пользуюсь, могу обменять его на ящик водки. Без ствола все равно не останусь, и если решишь через мост без разрешения пройти, мне и калаша хватит что бы тебе застрелить.
Интересует момент, как сделать что бы именно после взятия задания у Сидоровича, появлялась ветка с диалогом и задание у Кузнецова.
Что такое инфопоршен я не знаю!
|
| |
|
| Эти 0 пользователя(ей) поблагодарили SpiderMen за это полезное сообщение: |
|
|
| sergej5500 | Дата: Сб, 24.08.2013, 19:50 | Сообщение # 131 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| SpiderMen, Для начала скачайте и изучите учебник Геонезиса.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| NIV | Дата: Чт, 05.09.2013, 19:59 | Сообщение # 132 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 167
| Здравствуйте! Возник вопрос по меткам на задания. Как сделать перескакивающую метку при обновлении задания - это мне понятно. 1) А можно ли в одном задании выдать две метки одновременно, target то ведь один? И тогда - одно задание - одна метка? Например, в оригинале для установки сканеров у ПЫСов выдаётся 3 задания. 2) Вроде бы тип метки задается параметром storyline = true / false. Можно ли сменить стандартную метку на другую из файла configs\ui\map_spots.xml? 3) Если я поставил метку на какой-нибудь объект функцией, то при перезагрузке эта метка исчезает. Как сделать, чтобы она сохранялась? Что дописать и где (в bind_stalker. actor_binder:save(packet) и actor_binder:load(reader) )?
Изменяем реальность S.T.A.L.K.E.R. CoP: "Цена Новых Исследований" / "New Investigations' Value"
|
| |
|
| Эти 0 пользователя(ей) поблагодарили NIV за это полезное сообщение: |
|
|
| denis2000 | Дата: Чт, 05.09.2013, 21:50 | Сообщение # 133 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| 1. Вроде можно задать несколько целей, попробуйте. 2. Да это два вида меток, сюжетное и не сюжетное задание. Можно изменить вид метки для всех заданий quest_pointer вроде. 3. Нужно сохранять состояние метки в нетпакете объекта (только не в пакете актора!!!), для этого придется редактировать много файлов для всех типов объектов на которых может стоять метка. Или просто апдейтить состояние метки на выбранных объектах через периодически вызываемые функции скриптов binder:update.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
| NIV | Дата: Сб, 07.09.2013, 12:30 | Сообщение # 134 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 167
| denis2000, Цитата (denis2000) Или просто апдейтить состояние метки на выбранных объектах через периодически вызываемые функции скриптов binder:update. Может быть, вписать сюда: bind_stalker.actor_binder:info_callback ? Сама функция пустая
P.S. Кажется, так и есть. Посмотрел в ТЧ, там было Код function actor_binder:info_callback(npc, info_id) printf("*INFO*: npc='%s' id='%s'", npc:name(), info_id) --' Сюжет level_tasks.proceed(self.object) -- Отметки на карте level_tasks.process_info_portion(info_id) end
Изменяем реальность S.T.A.L.K.E.R. CoP: "Цена Новых Исследований" / "New Investigations' Value"
Сообщение отредактировал NIV - Сб, 07.09.2013, 12:52 |
| |
|
| Эти 0 пользователя(ей) поблагодарили NIV за это полезное сообщение: |
|
|
| denis2000 | Дата: Сб, 07.09.2013, 15:10 | Сообщение # 135 |
 Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| NIV, bind_stalker.actor_binder:info_callback - это колбек на выдачу ГГ инфопорции! А в ТЧ из этого колбека вызывается апдейт заданий и меток этих заданий (то есть собственно установка или перенос, но не сохранение и восстановление)
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
| |
|
| Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|