В этой статье мы разберем как заспавнить НПС с помощью скриптовой функции. Для одиночных спавнов гораздо удобней использовать скрипт, а не редактировать all.spawn.
Для начала нам понадобятся координаты. Для их снятия есть очень полезный скрипт, Position Informer, который отображает координаты положения ГГ, а так же имеет еще несколько полезных функций, о которых написано в ReadMe к нему.
Итак запускаем игру с данным скриптом, встаем в точку, где бы нам хотелось создать НПС и делаем скрин. Или можете взять уже снятые мной координаты, которые будут прописаны ниже (НПС в этих координатах появится в деревне новичков в домике, сбоку которого стоит Волк.
Функций для спавна не мало. Мне известны минимум три, но использую я всегда эту:
Код
function spawn_girl()
local x= координаты Х
local y= координаты У
local z= координаты Z
local level_vertex= lvid
local game_vertex_id= gvid
alife():create("название_нпс_из_spawn_sections",vector():set(x,y,z),level_vertex,game_vertex_id)
end
Координаты у нас есть, функцию мы знаем. Приступим к спавну (в качестве примера буду разбирать спавн НПС из темы "Создание / Редактирование нового NPC").
Открываем файл к примеру escape_dialog.script и пропишем сюда нашу функцию с уже прописанными координатами ( можете создать свой скриптовый файл если вам так удобней ):
Код
function spawn_viking()
local x, y, z = -187.171, -19.491, -132.909
local LVid, GVid = 64301, 56
alife():create("escape_viking",vector():set(x,y,z),LVid,GVid)
end
Отлично. Теперь нужно активировать эту функцию из какого-нибудь диалога или инфопоршня. Я возьму диалог из темы по созданию диалогов и пропишу в любое место свою функцию:
Код
<phrase id="3">
<text>prinesi_vodky_3</text>
<action>escape_dialog.spawn_viking</action>
<next>4</next>
</phrase>