Выдача info portion
Выдача info_portion | |
Автор | aka_sektor |
Дополнил | Overf1rst |
Тип статьи | руководство |
Актуальность | ТЧ, ЧН, ЗП |
Необходимый софт | Текстовый редактор |
В данной статье, представлены известные способы выдачи инфопорций в игре.
Для ТЧ/ЧН необходимо зарегистрировать info_portion
в любом из файлов подключенных в секции [info_portions]
, файла gamedata\config\system.ltx:
<info_portion id="infoportion_name"></info_portion>
Для ЗП этого делать не нужно, т.к. чтение секции [info_portions]
закомментировано в движке.
В диалоге
Путь: gamedata\config\gameplay\dialogs_$.xml
Выберите диалог, потом активирующую фразу, и после неё вставьте следующий код:
<give_info>infoportion_name</give_info>
infoportion_name
— имя инфопорции.
Пример:
<phrase id="dialog_name">
<text>dialog_text</text>
<give_info>infoportion_name</give_info>
<next>12</next>
</phrase>
Готово. Инфопорция будет выдана при активации указанной фразы в игре.
Функцией
function funct_name()
give_info("infoportion_name")
end
-
funct_name
— имя вашей функции, оно же используется для вызова. Пишется только по-английски и без пробелов. Вместо пробелов используйте знак подчеркивания (_
). -
give_info
— стандартная функция использующаяся для выдачи инфопорций.
При этом, обратите внимание, что функция может быть вызвана повторно, т.е. инфопорция будет повторно выдана.
Чтобы инфопорция выдалась только один раз, используйте код:
function funct_name()
if not has_alife_info("infoportion_name") then
give_info("infoportion_name")
end
end
Подробнее о вызове функции в статье: Вызов функции
Готово. Инфопорция будет выдана при вызове указанной функции в игре.
Функцией, при взятии предмета[1]
Путь: gamedata\scripts\xr_conditions.script
function funct_name()
if db.actor ~= nil and db.actor:object("item_section_name") ~= nil and not db.actor:has_info("infoportion_name") then
db.actor:give_info_portion("infoportion_name")
end
end
item_section_name
— имя секции предмета.
Подробнее о вызове функции в статье: Вызов функции
Готово. Инфопорция будет выдана при вызове указанной функции после взятия указанного предмета в игре.
Callback функцией
Подробности в статье Callback функции
При обыске тела NPC
Для ТЧ/ЧН задайте в графе Custom Data спавн-секции выбранного NPC, следующий код:
[known_info]
infoportion_name
Для ЗП такой код:
[logic]
active = nil
known_info = known_info
[known_info]
infoportion_name
Готово. Инфопорция будет выдана при обыске тела выбранного NPC.