Спавн НПС через скрипты в ЗП
|
|
|
Статус: |
 |
Гость: |
 |
Сообщений: |
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
|
Статус: |
 |
Сообщений: |
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 Неправильный класс 
|
|
Пятница, 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 |
|
|
|
|
|
Модмейкер-одиночка
Статус: |
 |
Опытный: |
 |
Сообщений: |
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 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
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 |
|
|
|
|