Меню






Опрос
В каком формате вы бы хотели видеть стримы?
Всего ответов: 30

Стрим

Подписывайтесь на наш канал на youtube! Каждый день стримы по сталкеру.
Сюда!

Категории раздела
Работа со скриптами [9]
Работа с текстурами [3]
Респавн [2]
Работа со звуками [2]

Свежие моды
Материалов за текущий период нет.


Новое на форуме
  • Пожелания (5)
  • Набор модераторов (3)
  • Создание моделей и их добавление в Stalker (0)
  • Бар "100 Рентген" (3)
  • Обсуждение проекта (2)

  • Опрос
    Как вы попали на наш сайт?
    Всего ответов: 46

    Главная » Статьи » Модостроение Зов Припяти » Работа со скриптами

    Диалоги ч.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.11.2016)
    Просмотров: 78 | Рейтинг: 0.0/0
    Всего комментариев: 0
    avatar
    PDA


    Stalker STREAM


    PDA
    Логин:
    Пароль:

    Сталкер-сеть

    Статистика

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

    Друзья
    Моды Тени Чернобыля, Чистое Небо, Зов Припяти. Карты, Читы, Прохождение модификаций Stalker 2, сюжет, скачать моды stalker



    Авторское право на игру и использованные в ней материалы принадлежат GSC Game World.
    Любое использование материалов сайта возможно только с разрешения администрации

    uCoz© 2017