Случайная подборка модов
Новое Время. Научный Подход
3.8
Road To The North
3.7
Смерти Вопреки. Послушник
3.4
Упавшая звезда. Честь наемника
4.2
MDRK mod 1.0
4.0
Выживший. Побег из Зоны
3.7
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 1
  • 1
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » Установка функций в диаолги (Для начинающих) (Рассмотрю установку функций в диалог тип выдача оружия и тд.)
Установка функций в диаолги (Для начинающих)
Украина  Cobalt32
Вторник, 19.12.2017, 15:37 | Сообщение # 1
Статус:
Гость:
Сообщений: 46
Награды: 3
Регистрация: 12.12.2017

Это мой первый урок.
Большинство начинающих модмейкеров, создав своего нпс, прописав для него диалог, хотели ,например, чтобы он выдавал оружие, как волк, или деньги либо делал что-то ещё(рассматривать инфопоршни и создание диалогов я не буду). Давайте ознакомимся с самой функцией. Функция должна находится в папке scripts/escape_dialog.
Код
function give_weapon_to_actor (trader, actor) -- (give_weapon_to_actor) это название функции, через него она будет вызываться;
    dialogs.relocate_item_section(trader, "wpn_pm", "in") -- ("wpn_pm") это название предмета, "in",3) -- так можно указать количество предметов;
    dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
    dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
    dialogs.relocate_item_section(trader, "wpn_knife", "in")     
end -- конец функции

Теперь посмотрим как все это реализовано в диалоге. Заходим в папку config/gameplay и ищем файл dialogs_escape. Ищем нашу функцию.
Код
         <phrase id="1111111111"> -- номер фразы;
                <text>escape_lager_volk_talk_1111111111</text> -- текст фразы;
                <action>escape_dialog.give_weapon_to_actor</action> -- (<action>) вызывает действие, в данном случае
  --функцию. (escape_dialog.)  Это название файла в котором содержится наша функция, точка значит, что внутри
  --данного файла нужно искать  give_weapon_to_actor  — это и есть функция.
         </phrase>

То есть при переходе на фразу 1111111111 осуществляется выполнение данной функции. Ещё одно, функция должна вписываться после <text>...</text>.
Не ставьте вызов функции после next или инфопоршня.
Ещё один момент что может вызвать вопрос. Функция не обязательно должна называться give_weapon_to_actor, это название функции и оно используется только при её вызове.
Функция
Код
function give_money_bro (trader, actor)
    dialogs.relocate_item_section(trader, "wpn_pm", "in")
    dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
    dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
    dialogs.relocate_item_section(trader, "wpn_knife", "in")     
end

Будет делать то же самое, но прописывать в диалог её нужно будет уже так:
Код
<action>escape_dialog.give_money_bro</action>

(Конечно же прописав её предварительно в escape_dialog)
Вот примеры функций(взято из другой статьи на этом же сайте.)


Ещё

<b></b>
Сообщение отредактировал Cobalt32 - Вторник, 19.12.2017, 19:13
  Злобная реклама
Вторник, 19.12.2017, 15:37
Статус:
Сообщений: 666
Регистрация: 12.12.2017
Российская Федерация  Overfirst
Вторник, 19.12.2017, 15:56 | Сообщение # 2
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

Доведи до ума оформление, пожалуйста.
  Злобная реклама
Вторник, 19.12.2017, 15:56
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Украина  PROFFESIONAL
Вторник, 19.12.2017, 16:23 | Сообщение # 3
Пространственная Аномалия
Статус:
Новичок:
Сообщений: 347
Награды: 5
Регистрация: 24.01.2014

Вы бы название темы без ошибки написали для начала, да и оформление мягко говоря хромает, не порядок.
  Злобная реклама
Вторник, 19.12.2017, 16:23
Статус:
Сообщений: 666
Регистрация: 24.01.2014
Украина  Cobalt32
Вторник, 19.12.2017, 16:37 | Сообщение # 4
Статус:
Гость:
Сообщений: 46
Награды: 3
Регистрация: 12.12.2017

Правил
  Злобная реклама
Вторник, 19.12.2017, 16:37
Статус:
Сообщений: 666
Регистрация: 12.12.2017
Форум » S.T.A.L.K.E.R. Модификации » Помощь в моддинге » Скрипты, конфиги, логика, движок » Установка функций в диаолги (Для начинающих) (Рассмотрю установку функций в диалог тип выдача оружия и тд.)
  • Страница 1 из 1
  • 1
Поиск: