←  Статьи по ковырянию игры

Форум Stalker Simbion Mod

»

Спавн через скрипт

фото Отшель[НИК] 07 июня 2009

В этой статье мы разберем как заспавнить НПС с помощью скриптовой функции. Для одиночных спавнов гораздо удобней использовать скрипт, а не редактировать all.spawn.

Для начала нам понадобятся координаты. Для их снятия есть очень полезный скрипт от камрада singapur22, который отображает координаты положения ГГ, а так же имеет еще несколько полезных функций, о которых написано в ридми к нему.

Итак запускаем игру с данным скриптом, встаем в точку, где бы нам хотелось создать НПС и делаем скрин. Или можете взять уже снятые мной координаты, которые будут прописаны ниже (НПС в этих координатах появится в деревне новичков в домике, сбоку которого стоит Волк.

Функций для спавна не мало. Мне известны минимум три, но использую я всегда эту:
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

Координаты у нас есть, функцию мы знаем. Приступим к спавну (в качестве примера буду разбирать спавн НПС из статьи "Создание и редактирование НПС").

Открываем файл к примеру escape_dialog.script и пропишем сюда нашу функцию с уже прописанными координатами (можете создать свой скриптовый файл если вам так удобней):
function spawn_viking()
local x= -187.171
local y= -19.491
local z= -132.909
local level_vertex= 64301
local game_vertex_id= 56
alife():create("escape_viking",vector():set(x,y,z),level_vertex,game_vertex_id)
end
Отлично. Теперь нужно активировать эту функцию из какого-нибудь диалога или инфопоршня. Я возьму диалог из статьи по созданию диалогов и пропишу в любое место свою функцию:
<phrase id="3">
	<text>prinesi_vodky_3</text>
	<action>escape_dialog.spawn_viking</action>
	<next>4</next>
</phrase>
Вот и все. Запускаем игру, проводим диалог с Сидором, и идем в дом, возле которого стоит Волк. Там будет стоять наш новый НПС.
Ответить

фото Atioz 20 авг. 2009

сократим..
Скрытый текст

таким образом...
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

Только у некоторых глючит, у большинства работает нормально.
Ответить

фото Тифлон 27 июля 2010

РЕБЯТ ПОДСКАЖИТЕ ПОЖАЛУЙСТА КАК СДЕЛАТЬ НОВОГО НПС(СКРИПТ) КВЕСТОДАТЕЛЕМ? НУ НИ КАК НЕ ПОЛУЧАЕТСЯ((((((((((



Капс залип? Али как?
Сообщение изменено: Lisaa (27 Июль 2010 - 14:34)
Ответить

фото strelok200 03 апр. 2011

Как сделать чтобы НПС спавнился не после диалога а в самом начале игры.Просто я создал новую локацию и мне нужно заспавнить там неписей
Ответить

фото Larry76 03 апр. 2011

strelok200,
Примерно начиная с этого поста. https://forum.stalke...ndpost&p=118660
Основная задача внести изменения в bind_stalker.script
Ответить

фото Loner 16 окт. 2012

Вылет без лога. Не понятно, в спавне или в НПС. Как вы считаете?
Ответить