Оцените мой сайт
Всего ответов: 12


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Диалоги ч.4

Как сделать разные 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> появится если у ГГ есть ПМ.

Категория: Работа со скриптами | Добавил: Alexthunder (06.03.2020)
Просмотров: 335 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar

  • Alexthunder|Репутация: 0
  • stop177mailru|Репутация: 0
  • kulakovskyzheka|Репутация: 0
  • tureskiye|Репутация: 0
  • kirillloskarev77|Репутация: 0
  • Тем на форуме: 30
    Новостей: 11
    Файлов: 17
    Статей: 16

    Работа со звуками [1]
    Респавн [1]
    Работа с текстурами [2]
    Работа со скриптами [9]
    По вопросам сотрудничества обращаться к Администрации

    uCoz By gsc-mod