Пользователей: 1
Гостей: 1138
Всего: 1139

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
betven
    
Посты: 17
Откуда: Бийск
Возраст: 27
17-09-2010 07:39 GMT3 час. #1346079   
А чё такое ACDC menu?


Я за сталкер Тень Чернобыля
Deathdoor
    
Посты: 906
Откуда: Москва
Возраст: 48
17-09-2010 08:14 GMT3 час. #1346081   
скачивайте, копируете в папку spawns, запускаете, в "настройка" выбираете "запускать как исполняемый файл", потом в "ACDC" нажимаете "Распаковать all.spawn". на выходе получите кучу ltx файлов.
Редактируете их как вам нужно, и запускаете обратный процесс: "ACDC" - "Собрать all.spawn".

ACDC menu програмка для сборки/расборки файла all.spawn для тех, кто не смог справиться с чистой ACDC

скачать ACDC menu можно здесь http://www.stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewdownload&cid=8

вообще начните обучение с этого сайта http://www.stalkerin.gameru.net/

добавлено спустя 1 минуту


# сталкермэн :
сделал я версию 1.0004, распаковал архивы
раскомпилировал алл.спавн
добавил нового НПС
а вот обратно не компилируеться
ошибка все рано есть

дело не в программе, а в вашем неписе, добавляя которого вы допустили какую-то ошибку.

отредактировал(а) Deathdoor: 17-09-2010 08:16 GMT3 час.

До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
betven
    
Посты: 17
Откуда: Бийск
Возраст: 27
17-09-2010 09:27 GMT3 час. #1346091   
А где скачать all spawn?


Я за сталкер Тень Чернобыля
Deathdoor
    
Посты: 906
Откуда: Москва
Возраст: 48
17-09-2010 09:31 GMT3 час. #1346092   
есть один зарубежный сайтик модерский, там есть алл.спавны для любой версии игры. Правда регаться там муторно, но если надо могу подсказать адресок.


До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
betven
    
Посты: 17
Откуда: Бийск
Возраст: 27
17-09-2010 09:33 GMT3 час. #1346093   
Скажи сайт, а то я уж третий день пытаюсь моды научится делать


Я за сталкер Тень Чернобыля
сталкермэн
    
Посты: 76
Откуда: Ярославль
Возраст: 29
17-09-2010 09:48 GMT3 час. #1346099   
Deathdoor
так....
ошибка? хм...
я взял нпс из статьи по обучению создания НПС через АСДС
думаю нету ошибки


Если тебя послали убить меня, возьми, пожалуйста, номерок и жди своей очереди.
Deathdoor
    
Посты: 906
Откуда: Москва
Возраст: 48
17-09-2010 09:59 GMT3 час. #1346104   

# betven :
Скажи сайт, а то я уж третий день пытаюсь моды научится делать


друже, над тобой сейчас наверно смеются все посетители форума. файл all.spawn идёт вместе с игрой. лежит в папке spawns, которая лежит в папке gamedata, которую ты получишь распаковав все игровые архивы мода (файлы типа gamedata.db*)
не с того ты начал учится делать моды. начни с чего попроще и читай это
http://stalkerin.gameru.net/wiki/index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0

добавлено спустя 1 минуту


# сталкермэн :
ошибка? хм...
я взял нпс из статьи по обучению создания НПС через АСДС
думаю нету ошибки


из какой статьи?

отредактировал(а) Deathdoor: 17-09-2010 10:01 GMT3 час.

До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
сталкермэн
    
Посты: 76
Откуда: Ярославль
Возраст: 29
17-09-2010 10:12 GMT3 час. #1346108   
Deathdoor
ВОТ
ну и ЭТО
ну они практически одинаковы


Если тебя послали убить меня, возьми, пожалуйста, номерок и жди своей очереди.
Deathdoor
    
Посты: 906
Откуда: Москва
Возраст: 48
17-09-2010 11:37 GMT3 час. #1346124   

# сталкермэн :
ВОТ
ну и ЭТО
ну они практически одинаковы


по первой ссылке либо автор, либо тот кто у него скопипастил с ошибкой - долбоклюи
ошибка там в этом месте
custom_data = < [smart_terrains]

должно быть
custom_data = <

короче там отсутсвует кусок текста
статья на вики вроде без ошибок, но с приколами :-)
как я понял вы не смогли скопипастить статью оттуда (текст получился в строчку) и решили взять из другой статьи. Если исправите ошибку (посмотрев как это сделано на сталкеринсайде), то ван аллспавн без проблем соберётся (только что проверил).
так же не суйте в аллспавн логику персонажа (иначе ради её проверки доработки надо будет каждый раз распаковывать запаковывать аллспавн и начинать игру заново). Вообще спавнить персов через аллспавн желательно только простых, а не ключевых или тех с кем планируете разговаривать. Таких надо делать через скрипт (сами потом поймёте)

отредактировал(а) Deathdoor: 17-09-2010 11:44 GMT3 час.

До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
сталкермэн
    
Посты: 76
Откуда: Ярославль
Возраст: 29
17-09-2010 12:07 GMT3 час. #1346134   
Deathdoor
спасибо учту и проверю

добавлено спустя 2 часа 32 минут

Deathdoor

даже с исправленой ошибкой ( custom_data = < [smart_terrains] испрвленое на custom_data = < выдает ошибку.
вот:

C:\Users\User\Desktop\acdc>acdc -c all.ltx [-o outfile]
Died at C:\Users\User\Desktop\acdc\acdc.exe line 200, line 28041.

C:\Users\User\Desktop\acdc>pause
Для продолжения нажмите любую клавишу . . .

отредактировал(а) сталкермэн: 17-09-2010 14:40 GMT3 час.

Если тебя послали убить меня, возьми, пожалуйста, номерок и жди своей очереди.
Deathdoor
    
Посты: 906
Откуда: Москва
Возраст: 48
17-09-2010 15:36 GMT3 час. #1346270   
блиииин, ну а дальше кто дописывать отсутсвующий текст будет? сверяйте что указано на сталкеринсайде с тем, что у вас
я же писал

там отсутсвует кусок текста


До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Шалун
    
Посты: 9602
Откуда: Берлин
Возраст: 29
17-09-2010 21:53 GMT3 час. #1346616   

# Шалун :

# Stalk15 :
Шалун
Ниже строки названия т**5001f0b35c063c77f778**dont_has_info>твой инфопоршен[/code]
и на последней фразе выдавай инфопоршень:
[code]твой инфопоршен[/code]
Ну и инфопоршен свой создай.


А можно такое провернуть с функциями? Например, если функция выполнена - значит диалога нет. Если не выполнена - значит есть.


Может поможет кто всё таки? :)


Орден имени Святого Сталкера

Soble
    
Посты: 80
Откуда: от верблюда
Возраст:
17-09-2010 22:12 GMT3 час. #1346637   
Шалун Можно. делай условие в функции. и ретурн false, true
и в диалоге функция
если функц. возращает истину то диалог доступен иначе нет
----
ето ?


Смотри журнал
Черт бы побрал эту Зону, нигде от нее спасения нет. Куда ни
пойдешь, с кем ни заговоришь - Зона, Зона, Зона...
Шалун
    
Посты: 9602
Откуда: Берлин
Возраст: 29
17-09-2010 22:12 GMT3 час. #1346638   
Soble, о, спасибо огромное :) То что нужно.
Только желательно бы мне ещё примерчик привести :)

Например функция называется esc_gomosapiens. Как это будет выглядеть?


Орден имени Святого Сталкера

StalkerOtshelnik
    
Посты: 13
Откуда: Нерюнгри
Возраст: 28
19-09-2010 07:58 GMT3 час. #1347484   
Народ, как прописать в награду для 1 квеста все пути которые есть в игре, точнее в "Народной Солянке" ????

Да и еще можно какнить адаптировать мод "Наёмники" в "народную солянку" ????
Ну чтобы отмычек с собой брать можно было.


Мне наплевать, что вы обо мне думаете. Я о вас не думаю вообще...
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
19-09-2010 09:01 GMT3 час. #1347508   
Шалун[/**5001f0b35c063c77f778**


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
сталкермэн
    
Посты: 76
Откуда: Ярославль
Возраст: 29
19-09-2010 13:02 GMT3 час. #1347684   
StalkerOtshelnik
если ты так хочеш сделать в "народной солянке" то вернее бедет спросить в теме
"про народную солянку"

добавлено спустя 34 секунд

ВОТ

добавлено спустя 6 минут

есть кстати для солянки спавнер
для получения предметов, вот САЙТ про спавнер написано в спойлере (ПРЕДМЕТЫ И ИХ ПОЛУЧЕНИЕ
->> использование аддона к солянке , известного как ...)

только способ читерский

отредактировал(а) сталкермэн: 19-09-2010 13:12 GMT3 час.

Если тебя послали убить меня, возьми, пожалуйста, номерок и жди своей очереди.
Чёрный картограф
    
Посты: 13
Откуда:
Возраст:
19-09-2010 18:11 GMT3 час. #1347926   
Наверное я нуб, но при любых изменениях в gemadata, gametrap выдает ошибку и не дает запустить игру, помогите пожалуйста ребят!

добавлено спустя 5 часа 25 минут

ошибку выдает на уровне движка кстати

отредактировал(а) Чёрный картограф: 19-09-2010 23:37 GMT3 час.

Кто к нам с чем зачем, тот от того и того!
сталкермэн
    
Посты: 76
Откуда: Ярославль
Возраст: 29
20-09-2010 10:02 GMT3 час. #1348216   
Чёрный картограф
ты изменяеш в файлах типа gamedata.db или в папке gamedata?
если файлы то ни че не получиться.
чтобы что то изменить надо распаковать игровые архивы с помощью программы
STALKER_Data_Unpacker_RU в зарание созданую папку gamedata пака должна лежать в директории куда установлена игра
и потом уже что то менять
(гровые архивы это файлы типа gamedata.db)


Если тебя послали убить меня, возьми, пожалуйста, номерок и жди своей очереди.
Чёрный картограф
    
Посты: 13
Откуда:
Возраст:
20-09-2010 14:36 GMT3 час. #1348324   
Нет я меняю распакованные архивы. Воспользовался распаковщиком правда с плйеграунда. папка gamedata находиться в папке с игрой ряддом с bin.


Кто к нам с чем зачем, тот от того и того!
сталкермэн
    
Посты: 76
Откуда: Ярославль
Возраст: 29
20-09-2010 17:14 GMT3 час. #1348455   
Чёрный картограф
ну значит допускаеш ошибку какуюто


Если тебя послали убить меня, возьми, пожалуйста, номерок и жди своей очереди.
ОТИС
    
Посты: 198
Откуда: Минск
Возраст: 27
20-09-2010 19:34 GMT3 час. #1348571   
У меня прблемка в моде: когда ты выпиваешь водку то количество бутылок в инвентаре не изменяется, посути дело водка бесконечная. Выбросить из инвентаря водку можно. С другой едой всё в порядке. Я раньше изменял характеристики водки (раньше не замечал этой проблемы), врядли конечно дело в этом .


Priboj37
    
Посты: 458
Откуда: Симферополь
Возраст:
20-09-2010 23:22 GMT3 час. #1348760   

# ОТИС :
У меня прблемка в моде: когда ты выпиваешь водку то количество бутылок в инвентаре не изменяется, посути дело водка бесконечная. Выбросить из инвентаря водку можно. С другой едой всё в порядке. Я раньше изменял характеристики водки (раньше не замечал этой проблемы), врядли конечно дело в этом .

Три вaриaнтa.1-зaмeни фaйл,2-удaли,3-пeрeустaнови мод,дeлaй коппии фaйлов которыe прaвиш.

отредактировал(а) Priboj37: 21-09-2010 07:38 GMT3 час.

"Стaрый в дeлe"
Silver Raven
    
Посты: 415
Откуда:
Возраст:
21-09-2010 09:57 GMT3 час. #1348820   
Нашел в интернете хороший скрипт для спавна НПС, предметов, оружия и пр.

Вроде все правильно, но при начале новой игры, слетает с таким логом:

Лог:
LUA error: ...бряное Издание\shoc\gamedata\scripts\xr_logic.script:586: attempt to index global 'xr_effects' (a nil value)


Если кто-нибудь знает в чем проблема, отпишитесь!!!

Сама функция:

*Удалено воизбежание незаконного копирования*


Зарание спасибо!

отредактировал(а) Stalker_Alex333: 23-09-2010 10:40 GMT3 час.

erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-09-2010 10:16 GMT3 час. #1348825   
Stalker_Alex333
Скачай luacheker - это прога для быстрой проверки файлов скриптов на синтаксические ошибки (ссылка есть на инсайд вики).
Просто твою портянку вряд ли кто будет вычитывать, а я сразу скажу - скорей всего очепятка есть где то в таблице. Надо внимательней писать скрипты - они требуют точности во всем. Ищи.
Кстати копирайт автора скрипта (singapur22) в своем моде укажи.

...Повезло тебе - нашел ее (луачекером кстати)
function random_spawn_data_zombie_40()
вот здесь - лишняя точка
local tbl = {{589.842.40722656,-49.0,-335.11514282227,209701,1880}} -- здесь указать координаты x, y, z,


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Silver Raven
    
Посты: 415
Откуда:
Возраст:
21-09-2010 10:27 GMT3 час. #1348831   
erlik

Благодарю!

З.Ы. Действительно, забыл указать автора самого скрипта, т.е. singapur22

добавлено спустя 3 часа 27 минут

Кто-нибудь знает ссылку на хороший тутор по созданию сложных квестов?

(На S.T.A.L.K.E.R. - Inside Wiki ничего интересного не нашел.)

отредактировал(а) Stalker_Alex333: 21-09-2010 13:54 GMT3 час.

сталкермэн
    
Посты: 76
Откуда: Ярославль
Возраст: 29
21-09-2010 15:24 GMT3 час. #1348992   
Stalker_Alex333
ссылку не знаю но у меня есть такой урок по созданию квеста ,
Создание квестов
Создание квестов и диалогов
Создание базового диалога
Итак, приступим к созданию диалога, в котором нам будет выдаваться новый квест. Участвующие лица: Сидорович (С) и Меченый (М)
М: Здравствуй, Сидорыч! Есть работенка?
С: О, неужели заглянул к нам на огонек, Меченый? Ладно... ближе к телу... эээ, к делу. У меня к тебе следующая просьба: сбегай к Волку, у него что-то намечалось.
М: Без проблем! Уже бегу.
Будем считать, определились с фразами базового диалога. Теперь необходимо добавить его в соответствующем виде, чтобы игре он был «понятен».
Создание «скелета» диалога.
Для того, чтобы добавить наш диалог, необходимо открыть для редактирования файл gamedata\config\gameplay\dialogs_escape.xml
Для тех, кто знаком с языком XML структура данного файла будет ясна с первого взгляда. Но, поподробнее об этом.
Для того, чтобы добавить в игру диалог предусмотрены так называемые тэги. В данном случае, тэгами являются такие конструкции:
1. и закрывающий к нему -
2. закрывающий -
3. -
4. -
5.
6.
В принципе, этих конструкций уже достаточно для того, чтобы создать диалог. Но, диалог, созданный на основе этих конструкций, не сможет стать основой для нового квеста. Для того, чтобы во время диалога вам выдавался квест, есть соответствующий тэг. Но об этом – чуть позже.
Поясню, что обозначает каждый тэг в отдельности.
1. Определяет содержимое файла (в данном случае, говорит о том, что файл содержит диалоги);
2. Определяет новый диалог с id = «». Где содержимое кавычек есть идентификатор диалога. Идентификатор диалога задается в файлах типа character_description_***.xml ;
3. Этот тэг говорит XML-парсеру игры о том, что далее следуют фразы диалога. Иными словами, между и содержатся фразы диалога;
4. Этот тэг определяет фразу с id = «». Внутри кавычек содержится идентификатор фразы (ВНИМАНИЕ: идентификатором в данном случае могут быть ТОЛЬКО цифры);
5. Внутри этих двух тэгов содержится ссылка на соответствующий данной фразе текст (пример, esc_trader_talk_info_123). Сам текст берется из файлов типа stable_dialogs_*****.xml, в котором содержатся все фразы в текстовом виде. О создании текста фразы поговорим позже;
6. Внутри этого тэга содержится ссылка (в числовом формате) на следующую (или следующие) фразы.
Теперь приступим к тэгам, позволяющим производить какие-то действия во время диалога.
. Представляет собой предусловие, в случае выполнения которого (то есть предусловие вернуло ИСТИНУ) данный диалог, или фраза будут появляться в списке доступных во время игры у NPC.
. Данный тэг позволяет производить какое-либо действие во время диалога (например, передачу предметов между общающимися... так же позволяет производить более сложные действия). Внутри тэга располагается ссылка на какую-либо функцию (например, dialogs. actor_set_dolg сделает игрока членом группировки Долг).
. Позволяет выдавать игроку во время диалога так называемые info_portion'ы (кстати, инфопоршны можно выдавать так же и через , только это потребует создания специальной функции). info_portion – является основой для квестов, info_portion’ы определяются в файлах типа info****.xml. Инфопоршны могут, как начинать квест, так и заканчивать (завершать) его. Так же, с помощью инфопоршнов можно отслеживать действия игрока, для того, чтобы, например, вывести в нужное время диалог. и являются предусловиями для текущей фразы/диалога. Первый тэг проверяет наличие данного инфопоршна у игрока, второй – отсутствие.
Ну что, теперь мы можем создать диалог, в котором нам будет выдаваться квест. Но мы не создали самих info_portion'оф, которые позволяет активировать квест.
Создание info_portion'ов
Итак, открываем файл gamedata\config\gameplay\ info_l01escape.xml. Что мы там видим? Правильно, все ту же структуру XML. В данном файле нас интересуют только два тэга:


Первый объявляет сам info_portion. Второй – объявляет задание (идентификатор задания id содержится внутри тэга )
Для примера, создадим 3 info_portion, которые понадобятся нам для будущего квеста:

new_task

Это инфопоршн с именем new_task_started. Он активирует квест с именем new_task.




Создание нового квеста
Сами квесты содержаться в файлах типа tasks_*****.xml
Откроем файл gamedata\config\gameplay\tasks_escape.xml. Структура – все тот же XML.
Для примера исследуем уже существующий квест:

esc_help_wounded_from_raid

esc_help_wounded_from_raid_0
ui_iconsTotal_esc_help_wounded_from_raid
escape_tasks.task_fox_complete
garbage_meetstalker_start
esc_fox_help



esc_help_wounded_from_raid_1
green_location
Escape_stalker_from_raid
escape_fox_heal
esc_dogs_return


esc_help_wounded_from_raid_2
green_location
Escape_stalker_from_raid
escape_stalker_done


По кусочкам:

Задает имя (id) нового квеста. В данном случае, esc_help_wounded_from_raid. prio = “” задает приоритет задачи. Чем выше приоритет, тем больше вероятность того, что текущий маркер квеста будет переключен на ваше задание.
esc_help_wounded_from_raid
Задает заголовок квеста. Т. е. его название. Название можно прописать в виде текста, либо в виде ссылки. В данном случае используется ссылка на текст, который хранится в файле string_table_tasks_escape.xml.
escape_tasks.task_fox_complete
Вызывает функцию из файла escape_tasks.script под именем task_fox_complete. При выполнении данной функции дается info_portion, который завершает данную подзадачу, в случае, если все условия функции соблюдаются.
escape_fox_heal
Текущее подзадание будет завершено в случае, если игроку будет дан этот info_portion.
esc_dogs_return
Текущее подзадание будет провалено в случае, если игроку будет дан этот info_portion.
green_location
Создает указатель на карте с подсказкой esc_fox и типом green_location.
Escape_stalker_from_raid
Указывает на sid из файла gamedata\config\game_story_ids.ltx
garbage_meetstalker_start
Автоматически устанавливает данную подзадачу в положение «Выполнено», если у игрока есть данный info_portion. //!!!!!!Не уверен – не пользовался не разу.
esc_help_wounded_from_raid_0
Содержит описание подзадачи. Может содержать внутри как текст, так и ссылку на текст.
Создадим задание, которое потребуется нам для диалога:

Поговорить с Волком

Вернуться к Сидорычу
blue_location
Escape_Trader
player_complete_new_task


Поговорить с Волком
green_location
Escape_novice_lager_volk
player_talked_with_wolf


Вернуться к Сидорычу
blue_location
Escape_Trader
player_complete_new_task


Теперь создадим скелеты диалогов для нашего квеста. Потребуется три: один для Волка и два для Сидорыча.

new_task_started
player_talked_with_wolf
player_complete_new_task


esc_volk_new_quest_0
1


esc_volk_new_quest_1
player_talked_with_wolf
2


esc_volk_new_quest_2
dialogs.break_dialog






player_complete_new_task
player_talked_with_wolf


esc_trader_new_quest _0
1


esc_trader_new_quest _1
new_task_started
2


esc_trader_new_quest _2
dialogs.break_dialog






player_complete_new_task


esc_trader_new_quest_complete _0
1


esc_trader_new_quest_complete _1
player_complete_new_task
2


esc_trader_new_quest_complete _2
dialogs.break_dialog



Все «скелеты» добавляем в файл dialogs_escape.xml. Между и !
Примечание: посмотрите на уже готовые диалоги, которые создали разработчики игры – это облегчит вам жизнь.
Теперь бежим в файл character_desc_escape.xml
Ищем там NPC с id = “escape_trader” и добавляем два новых :
esc_trader_new_quest_complete
esc_trader_new_quest
Там же ищем NPC с id = “esc_wolf” и добавляем один актор_диалог:
volk_new_quest
Примечание: является диалогом, который активируется самим игроком по желанию. А активируется только при выполнении определенных условий, заданных в нем, и обычно недоступен.
Осталось только добавить текст трех диалогов, чтобы наш квест стал полноценным. Открываем файл stable_dialogs_escape.xml и добавляем в него новый текст в таком виде:

Все, я выполнил поручение Влока!


Молодец, Меченый. На тебя можно положиться.


Рад был помочь, Сидорыч.


Здравствуй, Сидорыч! Есть работенка?


О, неужели заглянул к нам на огонек, Меченый? Ладно… ближе к телу… эээ, к делу. У меня к тебе следующая
просьба: сбегай к Волку, у него что-то намечалось.



Без проблем! Уже бегу.


Здорово, Волк. Меня тут Сидорыч послал, говорит у тебя работа есть.


Привет, Меченый. Верь ты ему больше, этому старому маразматику! Все спокойно сейчас. Так что иди к нему и
скажи, что все хорошо.



Все, ухожу.

Все! Поздравляю! Вы только что написали новый квест.

сам не читал(и не делал), не знаю сложно или нет


Если тебя послали убить меня, возьми, пожалуйста, номерок и жди своей очереди.
ОТИС
    
Посты: 198
Откуда: Минск
Возраст: 27
21-09-2010 19:16 GMT3 час. #1349204   
Priboj37 спасибо,но я уже сам разобрался.:ye)
Stalker_Alex333
ниже
Создание квестов (базовый уровень)
Вступление

Небольшие правила, следуя которым, можно сберечь себе много нервов:
- всегда сохраняйте резервные копии модифицируемых файлов - старайтесь почаще тестировать внесенные изменения - так проще понять, в чем вы ошиблись (если активно работать пару часов без остановки, не разу не протетировав внесенные изменения, то потом будет очень сложно понять - почему же, черт возьми, игра вылетает при попытке поговорить с Сидоровичем?) - перед началом работы создайте новую папку gamedata, а свои моды спрячьте подальше: работать с "чистой" версией игры не в пример удобнее и проще; особенно противопоказан Repair Mod, который с новыми диалогами часто конфликтует. О том, как создать диалоги и квесты, исключающие возможность конфликта с другими подобными модами, см. часть 4.
Создание базового диалога
Начнем создание квеста с написания небольшого линейного диалога.
Открываем файл gamedata\config\gameplay\character_desc_escape.xml и проводим такие манипуляции:
- находим строку "escape_trader_done_blockpost_box" - добавляем после нее новую - "escape_trader_oops" - сохраняем изменения
Мы добавили к Диалогу с Сидоровичем новую ветку, вернее, только ссылку на неё. Сама внутренняя структура ветки хранится в файле gamedata\config\gameplay\dialogs_escape.xml, который мы открываем и производим:
- находим в любом месте файла промежуток между и - засовываем туда такую конструкцию:

escape_dialog.trader_alredy_give_job
tutorial_end


escape_trader_oops_0
1


escape_trader_oops_1
2


escape_trader_oops_2
1


escape_trader_oops_3



- сохраняем изменения
Теперь у нас прописана структура новой ветки диалога. Осталось сделать еще одну вещь - прописать строки, которые будут отображаться вместо "escape_trader_oops_...".
Для этого откроем файл gamedata\config\text\rus\stable_dialogs_escape.xml и сделаем следующее:
- находим любой удобный промежуток между и - прописываем туда следующие строки:

Сидрыч, давай поговорим о... водке.


водке? Да какая водка? Нет её у меня, кончилась. Вроде у Волка на чердаке была, что-то он
однажды об этом упоминал... Принеси, а?




Да сбегаю я сейчас, сбегаю... алкоголик, блин.


Беги, беги... сил уж нет ждать.

- сохраняем изменения
Всё. Диалог готов. Можно грузить игру и смотреть, работает ли новая ветка. А теперь будем прикреплять к этому безобразию квест ""Принеси водки Сидоровичу".

Создание базового квеста
Активацию квеста в диалог прикрепить достаточно просто. Проводим с файлом gamedata\config\gameplay\ dialogs_escape.xml следующие манипуляции:
- добавляем содержимое фразы следующим:


escape_trader_oops_2
kvest_vodka_started
3

- сохраняем изменения
Теперь после фразы Меченого "Да сбегаю я сейчас, сбегаю..." Сидорович таки всучивает нам квест "Принеси водку". Но не спешите тестировать изменения. Мы добавили в диалог упоминание о квесте, хотя он еще не создан.
Исправим это недоразумение. Откройте файл gamedata\config\gameplay\tasks_escape.xml и в начале файла создайте такую конструкцию:

Принести водки

Принести водки Сидоровичу
ui_iconsTotal_find_item
test_quest_vodka_otdana


Вернуться с водкой обратно
green_location
Escape_novice_lager_volk
test_quest_vodka_otdana


Найти водку на чердаке
blue_location
Escape_Trader
test_quest_vodka_otdana


Мы прописали данные о квесте: название, иконку, строки заданий, расположение маркеров и т.д.
К этому файлу мы еще вернемся, т.к. в этом варианте многое проставлялось не иначе как от балды. Я еще подумаю, как заставить задание "Вернуться с водкой обратно" появиться в PDA, а то оно что-то не желает явить себя народу... впрочем, ладно, главное, что все работает и не вылетает. А исправление столь мелких багов - дело десятое. Продолжим.
Откроем файл gamedata\config\gameplay\info_l01escape.xml и зарегистрируем до того отсутствовавшие в игре типы условий (они нам еще пригодятся для завершения работы над квестом):
- после строки прописываем:



esc_test_vodka_task



С прописыванием условий - всё.
Теперь займемся одной небольшой, но нужной вещью - прописыванием экранных подсказок, которые высвечиваются при получении/выполнении этапа/завершении задания.
Для этого откроем файл gamedata\config\text\rus\string_table_tasks_escape.xml и пропишем там:

Принести бутылку водки


Найти водку на чердаке у Волка


Принести водку Сидоровичу

Теперь можно тестировать, что получилось. Сверяем результаты:
- по окончанию разговора про водку у вас появляется новое задание - в задании маркером отмечен Волк (ближайший к чердаку маркер, потому и отмечен) - при получении задания на экране высвечивается уведомление
Можно приступать к третьей стадии. Что мы забыли? Правильно - возможность выполнить квест.

Реализация возможности выполнить квест
На самом деле - все просто. Все условия и т.д. уже нами созданы, осталось только применить их в диалоге. Давайте несколько изменим его структуру, сделаем его ветвистым и функциональным:
0. Сидрыч, давай поговорим о... водке. ( переход к 1)
1. О водке? Да какая водка? Нет её у меня, кончилась. Вроде у Волка на чердаке была, что-то он однажды об этом упоминал... Принеси, а? ( выбор - переход к 2, 4, 5; изначально доступен только 2 вариант )
2. Да сбегаю я сейчас, сбегаю... алкоголик, блин. ( получение квеста, переход к 3, после этого перестает быть доступен )
3. Беги, беги... сил уж нет ждать. ( конец, переход к списку веток Сидоровича )
4. Вот она, твоя бутылка водки. Ну, вернее, не твоя, а Волка... ( появляется только при наличии водки в инвентаре, при выборе водка передается Сидоровичу, квест выполняется, идет переход к 7 )
5. Извини, Сидрыч, я пока еще не раздобыл, терпи... ( появляется только если взять квест, переход к 6 )
6. А ну марш отсюда! Без бутылки пришел... ууу, вражина... ( переход к 8 )
7. Теперь моя будет, Меченый! Ты так Волку и передай. Спасибо, выручил... держи награду. ( выдача награды, переход к 8 )
8. Ну тебя в пень... ( конец, переход к списку веток Сидоровича )
А вот так это будет выглядеть в файле gamedata\config\gameplay\dialogs_escape.xml:

escape_dialog.trader_alredy_give_job
tutorial_end


escape_trader_oops_0
1


escape_trader_oops_1
2
4
5


kvest_vodka_started
escape_trader_oops_2
kvest_vodka_started
3


escape_trader_oops_3
dialogs.break_dialog


escape_trader_oops_4
escape_dialog.have_a_vodka
escape_dialog.otday_vodku
7


kvest_vodka_started
escape_trader_oops_5
6


escape_trader_oops_6
8


escape_trader_oops_7
test_quest_vodka_otdana
escape_dialog.transfer_deneg
8


escape_trader_oops_8



Теперь добавим в игру скрипты "передача денег" и "передача водки". Откройте файл gamedata\scripts\escape_dialog.script и перед разделителем "Trader" добавьте туда следующие строки:
function transfer_deneg(first_speaker, second_speaker)
dialogs.relocate_money(second_speaker, 4000, "in")
end

function otday_vodku (npc, actor)
dialogs.relocate_item_section(npc, "vodka", "out")
end

function have_a_vodka (stalker, player)
return stalker:object ("vodka") ~= nil
end
Готово. Запускайте игру и любуйтесь.
Для тех, кто еще с нами - сейчас мы модифицируем квест так, чтобы исключить конфликты с другими подобными модами.

Реализация совместимости
Из-за чего наш мод не может работать вместе с аналогичными ему модами? Да потому, что файлы dialogs_escape.xml и некоторые другие у них пересекаются. Поэтому выделим их отдельно от основных диалогов:
Вместо dialogs_escape.xml мы будем испольховать новый - dialogs_new.xml Вместо stable_dialogs_escape.xml мы будем использовать файл stable_dialogs_new.xml (важно! не знаю почему, но он должен лежать в text\..., а не в text\rus\...)
Соответственно, весь реализованный нами новый контент перекидываем в пустые файлы (соблюдая форматирование), подчистив за собой на старом месте.
Единственное, что останется сделать после установки того же Repair Mod'а - заново добавить ветку диалога Сидоровичу в файле character_desc_escape.xml. Остальное в новом варианте нашего мода переписывать не придется - для диалогов отведено три файла.
Остальные файлы относятся уже к квестовой части и ни с чем пересекаться не могут - где вы видели другие моды с новыми квестами? Я - нет.
Откройте файл gamedata\config\localization.ltx и зарегистрируйте там stable_dialogs_escape.ltx. Потом откройте файл gamedata\config\system.ltx и в разделе "Dialogs" в конце строки (после dialogs_aes) пропишите dialogs_new (без ".ltx"!).
Все. Теперь ваши диалоги будут подгружаться из сторонних файлов.

Отдельное спасибо:
XiaNi - за страшный и непричесанный, но работающий пример квеста, на основе которого я и освоил принципы квестостроения =)
Keha – за урок по созданию новых диалогов
Дополнения
1. Если изменить шапку нашего диалога в файле dialogs_escape.xml со старого варианта на такой, то ветка исчезнет после выполнения задания:

escape_dialog.trader_alredy_give_job
tutorial_end
test_quest_vodka_otdana

...
Не тестировал. Дело за вами =)
Фух, вроде всё... Всем спасибо, занавес =)
Авторы
Статья создана: BAC9-FLCL


крысобелка
    
Посты: 1185
Откуда: Россия-матушка
Возраст: 131
23-09-2010 23:39 GMT3 час. #1350657   
Товарищи, как в гулаге (который находится на кордоне, в лагере новичков, где ещё волк распологается в начале игры) увеличить колличевство НПС, которые могут зайти в этот гулаг (сесть у костра и тд), и как сделать что-бы в этот гулаг могли заходить не только одиночки, но и свободовцы?


tubichek
    
Посты: 77
Откуда:
Возраст:
24-09-2010 15:13 GMT3 час. #1350889   
а как сделать так, чтобы в трупах ВСЕХ сталкеров, долговцев и свободовцев спавнился предмет XXX ?




Форумы Архив » Свалка Как сделать свой мод по ТЧ? (старое, по 14.06.11)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»