Случайная подборка модов
Зимний Снайпер
3.8
EPILOGUE
3.5
Альтернатива 1.1 Beta
3.0
Thorny Way
3.5
Пространственная Аномалия 4.1
4.5
SZM CoP 0.2
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 2
  • 1
  • 2
  • »
Архив - только для чтения
Спавн НПС через скрипты в ЗП
Российская Федерация  MP3_IIJIEEP
Вторник, 01.02.2011, 19:53 | Сообщение # 1
Статус:
Гость:
Сообщений: 32
Награды: 0
Регистрация: 03.01.2011

Автор статьи: Johhan
Открываем файл
D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\configs\creatures\spawn_sections_zaton
В самое начало добавляем это:

Code
[my_stalker]:stalker
$spawn = "respawn\my_stalker"
character_profile = my_stalker
spec_rank = master
community = stalker
custom_data = scripts\zaton\my_stalker_npc_logic.ltx

Дальше идем в папку

D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\configs\gameplay

Открываем character_desc_zaton
В самый конец добавляем, но перед <\xml>!

Code
<specific_character id="my_stalker" team_default = "1">
<name>Johann</name>
<icon>ui_inGame2_neutral_4</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>

<class>my_stalker</class>
<community>stalker</community>
<terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\stalker\</snd_config>

<rank>65</rank>
<reputation>0</reputation>
<money min="2500" max="5000" infinitive="0"/>

<visual>actors\stalker_neutral\stalker_neutral_4</visual>
<supplies>
[spawn] \n
wpn_beretta = 1 \n
ammo_9x19_fmj = 1 \n
grenade_rgd5 = 1 \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>

#include "gameplay\character_criticals_4.xml"
</specific_character>

И открываем npc_profile
После строчки добавляем

Code
<character id="my_stalker">
<class>my_stalker</class>
</character>

А теперь создадим логику для него
D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\configs\scripts тут создаем папку new а там файл my_stalker_npc_logic
И пишим там
Если ты хочешь бесмертного то

Code
[logic]
active = remark1
danger = danger_ignore
invulnerable = true

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true
anim = choose
on_actor_dist_le = 2| remark@hello
invulnerable = true
meet = meet_guide

[meet_guide]
abuse = false
use = true
allow_break = false
meet_on_talking = false

[remark@hello]
no_move = true
invulnerable = true
meet = meet_guide
on_actor_dist_le = 10| remark1

А если смертного то
Code
[logic]
active = remark1
danger = danger_ignore
invulnerable = false

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true
anim = choose
on_actor_dist_le = 2| remark@hello
invulnerable = false
meet = meet_guide

[meet_guide]
abuse = false
use = true
allow_break = false
meet_on_talking = false

[remark@hello]
no_move = true
invulnerable = false
meet = meet_guide
on_actor_dist_le = 10| remark1

Открываем D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\scripts
И создаем скрипт sniper_add.script
И пишим там (открываем с помощью блокнота)

Code
function start_add_spawn()--\\
--\\
--
spawn_sniper_one()
end

function spawn_sniper_one()
local x= 111.75521087646
local y= -3.9362425804138
local z= 185.2212677022
local level_vertex= 1158851
local game_vertex_id= 316
alife():create("my_stalker",vector():set(x,y,z),level_vertex,game_vertex_id)
end

function save_variable(variable_name, value)
xr_logic.pstor_store(db.actor, variable_name, value)
end
function load_variable(variable_name, value_if_not_found)
return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found)
end

И открываем скрипт тут же bind_stalker.script

Ищим строку

Code
function actor_binder:update(delta)
object_binder.update(self, delta)

if string.find(command_line(), "-designer") then
return
end

И после неё пишим это
Code
if sniper_add.load_variable("spawn_sniper",false)==false then
sniper_add.start_add_spawn()
sniper_add.save_variable("spawn_sniper",true)
end

Всё, мы сделали нпс, он появится около сыча слева от стойки.
Удачи!

P.S. когда я делаю нпс смертным,то он просто шляется без дела по локации

Сообщение отредактировал MP3_IIJIEEP - Вторник, 01.02.2011, 19:56
  Злобная реклама
Вторник, 01.02.2011, 19:53
Статус:
Сообщений: 666
Регистрация: 03.01.2011
Российская Федерация  Исполнитель
Вторник, 04.10.2011, 17:22 | Сообщение # 2
Статус:
Неопытный:
Сообщений: 557
Награды: 4
Регистрация: 06.09.2010

Получилась smile
Вот только логика не работает на бессмертие
  Злобная реклама
Вторник, 04.10.2011, 17:22
Статус:
Сообщений: 666
Регистрация: 06.09.2010
Российская Федерация  Steag
Понедельник, 09.01.2012, 01:09 | Сообщение # 3
Статус:
Новичок:
Сообщений: 272
Награды: 0
Регистрация: 16.12.2011

Всем привет! Кому в падлу копировать и прописовать эти строки пишите в ЛС я дам вам ссылку на скачивание обсолютно прекрасной проги! По созданию NPS в ЗП!
1. Можно спавнить через скрипт.
2. Можно спавнить через all.spawn.
3. Красивое оформление.
4. Большая библеотека визуалов, иконок и т.д.
5. Возможность создания точек спавна.
6. И многое другое.
Кому надо пишите!

P.S. Программа преднозначена для созжания NPS в ЗП!
  Злобная реклама
Понедельник, 09.01.2012, 01:09
Статус:
Сообщений: 666
Регистрация: 16.12.2011
Российская Федерация  ALEX13
Пятница, 18.01.2013, 14:48 | Сообщение # 4
Статус:
Опытный:
Сообщений: 1625
Награды: 12
Регистрация: 26.12.2012

вылет, создал на подключенной локе:

Expression : !m_DefaultCharacters.empty()
Function : CSE_ALifeTraderAbstract::specific_character
File : D:\prog_repository\sources\trunk\xrServerEntities\xrServer_Objects_ALife_Monsters.cpp
Line : 351
Description : no default specific character set for class
Arguments : my_stalker
  Злобная реклама
Пятница, 18.01.2013, 14:48
Статус:
Сообщений: 666
Регистрация: 26.12.2012
Российская Федерация  AzzzA
Пятница, 18.01.2013, 14:55 | Сообщение # 5
Clear sky: Время перемен
Статус:
Опытный:
Сообщений: 3933
Награды: 11
Регистрация: 14.08.2012

Цитата (ALEX13)
no default specific character set for class

Неправильный класс wacko
  Злобная реклама
Пятница, 18.01.2013, 14:55
Статус:
Сообщений: 666
Регистрация: 14.08.2012
Российская Федерация  ALEX13
Пятница, 18.01.2013, 16:33 | Сообщение # 6
Статус:
Опытный:
Сообщений: 1625
Награды: 12
Регистрация: 26.12.2012

AzzzA, а по конкретней можно? Как исправить? Я перевёл: по умолчанию нет определённого набора символов для класса.
  Злобная реклама
Пятница, 18.01.2013, 16:33
Статус:
Сообщений: 666
Регистрация: 26.12.2012
Российская Федерация  AzzzA
Пятница, 18.01.2013, 16:38 | Сообщение # 7
Clear sky: Время перемен
Статус:
Опытный:
Сообщений: 3933
Награды: 11
Регистрация: 14.08.2012

ALEX13,
Или ты неправильно сам код скописпастил.
Или на локации смарты не введены.
  Злобная реклама
Пятница, 18.01.2013, 16:38
Статус:
Сообщений: 666
Регистрация: 14.08.2012
Российская Федерация  ALEX13
Пятница, 25.01.2013, 16:21 | Сообщение # 8
Статус:
Опытный:
Сообщений: 1625
Награды: 12
Регистрация: 26.12.2012

Аzzz, как смарты ввести? У меня была проблема, хотел сделать респавн монстров и вылет указывает на файл конфига.

Добавлено (25.01.2013, 16:21)
---------------------------------------------
Есть рабочие статьи по созданию нпс на подключеных локах?

  Злобная реклама
Пятница, 25.01.2013, 16:21
Статус:
Сообщений: 666
Регистрация: 26.12.2012
Российская Федерация  АСТРОНОМ
Понедельник, 28.01.2013, 10:57 | Сообщение # 9
Статус:
Бывалый:
Сообщений: 959
Награды: 1
Регистрация: 30.11.2012

Ответьте пожалуйста, не несколько вопросов:
1) Как заспавнить NPC в другом месте?;
2) Как прописать заспавненному NPC диалоги?.
  Злобная реклама
Понедельник, 28.01.2013, 10:57
Статус:
Сообщений: 666
Регистрация: 30.11.2012
Российская Федерация  AzzzA
Среда, 30.01.2013, 16:05 | Сообщение # 10
Clear sky: Время перемен
Статус:
Опытный:
Сообщений: 3933
Награды: 11
Регистрация: 14.08.2012

Цитата (АСТРОНОМ)
Как заспавнить NPC в другом месте?

Снять новые координаты или(и) сменить local game_vertex_id))
Цитата (АСТРОНОМ)
Как прописать заспавненному NPC диалоги?

Это даже легче чем спавн,посмотри уроки.
  Злобная реклама
Среда, 30.01.2013, 16:05
Статус:
Сообщений: 666
Регистрация: 14.08.2012
Российская Федерация  Qexs51
Вторник, 05.03.2013, 21:03 | Сообщение # 11
Статус:
Отмычка:
Сообщений: 96
Награды: 1
Регистрация: 26.12.2012

хм... спасибо за статью) всё работает, но всё же я не понел, где менять ему одежду:? в профиле или где:?
  Злобная реклама
Вторник, 05.03.2013, 21:03
Статус:
Сообщений: 666
Регистрация: 26.12.2012
Российская Федерация  Аристократ
Вторник, 05.03.2013, 21:06 | Сообщение # 12
Модмейкер-одиночка
Статус:
Опытный:
Сообщений: 2272
Награды: 17
Регистрация: 30.06.2012

Qexs51,

character_desc_твоя_локация находишь прфиль своего НПС и строчка

<visual>actors\stalker_bandit\stalker_bandit_3_face_1</visual> - тут пишешь путь к своей модели.
  Злобная реклама
Вторник, 05.03.2013, 21:06
Статус:
Сообщений: 666
Регистрация: 30.06.2012
Украина  zhuravel11021997
Среда, 20.03.2013, 15:31 | Сообщение # 13
Статус:
Новичок:
Сообщений: 240
Награды: 0
Регистрация: 14.03.2013

Народ а можно ли в функцыю спавна вписать несколько секцый пример:
function start_add_spawn()--\\
--\\
--
spawn_sniper_one()
end

function spawn_sniper_one()
local x= 111.75521087646
local y= -3.9362425804138
local z= 185.2212677022
local level_vertex= 1158851
local game_vertex_id= 316
alife():create("my_stalker",vector():set(x,y,z),level_vertex,game_vertex_id)
end
alife():create("my_stalker_2",vector():set(x,y,z),level_vertex,game_vertex_id)
end


function save_variable(variable_name, value)
xr_logic.pstor_store(db.actor, variable_name, value)
end
function load_variable(variable_name, value_if_not_found)
return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found)
end
  Злобная реклама
Среда, 20.03.2013, 15:31
Статус:
Сообщений: 666
Регистрация: 14.03.2013
Украина  BozKurt
Среда, 20.03.2013, 15:58 | Сообщение # 14
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

zhuravel11021997, конечно можно, только не так как ты написал.
Во-первых, нужно саму функцию спавна поднять на одну строчку выше и end ставить не нужно. К тому же можно координаты писать прямо в функцию, так будет проще и быстрее:
Код
function spawnSniperMany ()
      alife():create("my_stalker_1", vector():set(121.75, -3.93, 175.22), 1158851, 316)
      alife():create("my_stalker_2", vector():set(111.75, -3.93, 185.22), 1158851, 316)
      alife():create("my_stalker_3", vector():set(101.75, -3.93, 195.22), 1158851, 316)
end
Сообщение отредактировал ColR_iT - Среда, 20.03.2013, 15:58
  Злобная реклама
Среда, 20.03.2013, 15:58
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  ALEX13
Среда, 20.03.2013, 16:00 | Сообщение # 15
Статус:
Опытный:
Сообщений: 1625
Награды: 12
Регистрация: 26.12.2012

zhuravel11021997, фиг его знает, лучше так-же создай отдельно файл my_stalker_2 и вставь свои координаты, про другие файлы не забудь.
  Злобная реклама
Среда, 20.03.2013, 16:00
Статус:
Сообщений: 666
Регистрация: 26.12.2012
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: