09:29:35, 18.05.2024, Сб



Бар Реактор готов принять новых постояльцев!

Место общения для гостей сайта

Выбрать дизайн:
Обновленные темы Популярные темы Последние файлы Последние новости

  • Страница 1 из 1
  • 1
Форум » Игровая Мастерская » Азбука мододела » Диалоги. Часть 4
Диалоги. Часть 4
Дата: Ср, 14.11.2012, 18:51:16 | Сообщение # 1
Мастер файлов
Сообщений:
18
Статус:
Cложность: Сложно.

-Как сделать разные precondition в диалогах.
Прекондишоны - это проверки на появление диалога

1.Создаём обычный диалог:

<dialog id="test_dialog">
<phrase_list>
<phrase id="0">
<text>test_dialog_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>test_dialog_1</text>
<next>2</next>
<next>3</next>
</phrase>
<phrase id="2">
<text>test_dialog_2</text>
</phrase>
<phrase id="3">
<text>test_dialog_3</text>
</phrase>
</phrase_list>
</dialog>

C такими текстами:

<string id="test_dialog_0">
<text>Тест прекондишонов.</text>
</string>
<string id="test_dialog_1">
<text>Какой?</text>
</string>
<string id="test_dialog_2">
<text>Эта фраза появляется если у ГГ есть ??? рублей.</text>
</string>
<string id="test_dialog_3">
<text>Эта фраза появляется если у ГГ есть ??? предмет.</text>
</string>

2.Создаём свой скрипт в папке gamedata/script например test.script и пишем в него 3

функции-прекондишона:

function has_money_???()
local money = math.floor(200 *

xr_statistic_freeplay.get_freeplay_statistic():get_found_pda_discount())
return db.actor:money()>=money
end

Это функция проверки количества денег ГГ. На месте 200 любое число.
На месте has_money_??? любое название.
------------------------------------------------------------
function has_item(task, objective)
if db.actor ~= nil then
return db.actor:object("wpn_pm") ~= nil
end
return false
end

Это функция проверки наличия какого либо предмета у ГГ. На месте wpn_pm любой предмет.
На месте has_item любое название.
------------------------------------------------------------

3.Впишем функции в диалог:

<dialog id="test_dialog">
<phrase_list>
<phrase id="0">
<text>test_dialog_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>test_dialog_1</text>
<next>2</next>
<next>3</next>
</phrase>
<phrase id="2">
<text>test_dialog_2</text>
<precondition>test.has_money???</precondition>
</phrase>
<phrase id="3">
<text>test_dialog_3</text>
<precondition>test.has_item</precondition>
</phrase>
</phrase_list>
</dialog>

Это значит что фраза <text>test_dialog_2</text> появится если у ГГ есть 200рублей
Это значит что фраза <text>test_dialog_3</text> появится если у ГГ есть ПМ.


My zone, my Hardcore
Дополнительная информация

Сталкер Фантом..
В Зоне: 13.11.2012
Ранг: Ветеран сайта
Страна: Российская Федерация
город: Maloyaz



Дата: Чт, 15.11.2012, 07:43:26 | Сообщение # 2
Сообщений:
566
Статус:
[admin]Фантом, молодец, хорошая (ковырялка) людям в помощь.[/admin]


Дополнительная информация

Сталкер vitto..
В Зоне: 31.03.2011
Ранг: Вольный сталкер
Страна: Российская Федерация
город: Chicago



Дата: Чт, 15.11.2012, 13:41:47 | Сообщение # 3
Мастер файлов
Сообщений:
18
Статус:
vitto,
Спасибо за похвалу)


My zone, my Hardcore
Дополнительная информация

Сталкер Фантом..
В Зоне: 13.11.2012
Ранг: Ветеран сайта
Страна: Российская Федерация
город: Maloyaz



Форум » Игровая Мастерская » Азбука мододела » Диалоги. Часть 4
  • Страница 1 из 1
  • 1
Поиск:
Использование материалов сайта только с разрешения Администрации! ☆ kapa- bar-reaktor.ucoz.ru

Яндекс.Метрика