| Спавн НПС через скрипты в ЗП | 
| 
				
			 | 
|  
|  |   
|  
 
  
  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Гость: |  |   
 | Сообщений: | 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 |  |  |  |  | 
|  
|  |   
|  
 
 
 Понедельник, 09.01.2012, 01:09 | Сообщение # 3 Steag  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Новичок: |  |   
 | Сообщений: | 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 |  |  |  |  | 
|  
|  |   
|  
 
 
 Пятница, 18.01.2013, 14:48 | Сообщение # 4 ALEX13  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 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 |  |  |  |  | 
|  
|  |   
|  
 
 
 Пятница, 18.01.2013, 14:55 | Сообщение # 5 AzzzA  
  
 | 
 
 
 
 
 
Clear sky: Время перемен  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 3933 |   
 | Награды: | 11 |   
 | Регистрация: | 14.08.2012 |  | Цитата (ALEX13)  no default specific character set for classНеправильный класс
  |  |  Пятница, 18.01.2013, 14:55   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 14.08.2012 |  |  |  |  | 
|  
|  |   
|  
 
 
 Пятница, 18.01.2013, 16:33 | Сообщение # 6 ALEX13  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 1625 |   
 | Награды: | 12 |   
 | Регистрация: | 26.12.2012 |  | AzzzA, а по конкретней можно? Как исправить? Я перевёл: по умолчанию нет определённого набора символов для класса. |  |  Пятница, 18.01.2013, 16:33   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 26.12.2012 |  |  |  |  | 
|  
|  |   
|  
 
 
 Пятница, 18.01.2013, 16:38 | Сообщение # 7 AzzzA  
  
 | 
 
 
 
 
 
Clear sky: Время перемен  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 3933 |   
 | Награды: | 11 |   
 | Регистрация: | 14.08.2012 |  | ALEX13, Или ты неправильно сам код скописпастил.
 Или на локации смарты не введены.
 |  |  Пятница, 18.01.2013, 16:38   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 14.08.2012 |  |  |  |  | 
|  
|  |   
|  
 
 
 Пятница, 25.01.2013, 16:21 | Сообщение # 8 ALEX13  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 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 |  |  |  |  | 
|  
|  |   
|  
 
 
 Среда, 30.01.2013, 16:05 | Сообщение # 10 AzzzA  
  
 | 
 
 
 
 
 
Clear sky: Время перемен  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 3933 |   
 | Награды: | 11 |   
 | Регистрация: | 14.08.2012 |  | Цитата (АСТРОНОМ) Как заспавнить NPC в другом месте?Снять новые координаты или(и) сменить local game_vertex_id))
 
 Цитата (АСТРОНОМ) Как прописать заспавненному NPC диалоги?Это даже легче чем спавн,посмотри уроки.
 |  |  Среда, 30.01.2013, 16:05   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 14.08.2012 |  |  |  |  | 
|  
|  |   
|  
 
 
 Вторник, 05.03.2013, 21:03 | Сообщение # 11 Qexs51  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Отмычка: |  |   
 | Сообщений: | 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 |  |  |  |  | 
|  
|  |   
|  
 
 
 Среда, 20.03.2013, 15:58 | Сообщение # 14 BozKurt  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 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 |  |  |  |  | 
|  
|  |   
|  
 
 
 Среда, 20.03.2013, 16:00 | Сообщение # 15 ALEX13  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 1625 |   
 | Награды: | 12 |   
 | Регистрация: | 26.12.2012 |  | zhuravel11021997, фиг его знает, лучше так-же создай отдельно файл my_stalker_2 и вставь свои координаты, про другие файлы не забудь. |  |  Среда, 20.03.2013, 16:00   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 26.12.2012 |  |  |  |  |