All.spawn. Создание NPC — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

All.spawn. Создание NPC — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(оформление)
Строка 22: Строка 22:
 
Добавляем туда вот такой код(в конец):
 
Добавляем туда вот такой код(в конец):
  
<code>
+
<ini>
 
[870]
 
[870]
 
; cse_abstract properties
 
; cse_abstract properties
Строка 87: Строка 87:
  
 
; se_stalker properties
 
; se_stalker properties
</code>
+
</ini>
  
 
Разъясню некоторые пункты, чтобы в след. раз не пришлось прибегать к тутору.
 
Разъясню некоторые пункты, чтобы в след. раз не пришлось прибегать к тутору.
  
<code>
+
<ini>
 
section_name = stalker -//это для игры тут пишется к примеру если ето у тебя сталкера или бандюки то должно быть section_name = stalker
 
section_name = stalker -//это для игры тут пишется к примеру если ето у тебя сталкера или бандюки то должно быть section_name = stalker
 
name = noobik -//пишем что хотим
 
name = noobik -//пишем что хотим
Строка 139: Строка 139:
 
upd:distance_from_point = 0
 
upd:distance_from_point = 0
 
upd:distance_to_point = 0
 
upd:distance_to_point = 0
</code>
+
</ini>
  
 
Компилируем, получаем файл all.spawn.new , копируем его в геймдату/спавнс и переименовываем просто в олл спавн.
 
Компилируем, получаем файл all.spawn.new , копируем его в геймдату/спавнс и переименовываем просто в олл спавн.
 
Это еще не все!
 
Это еще не все!
  
еперь
+
теперь
  
 
открываем файл character_desc_escape
 
открываем файл character_desc_escape
Строка 150: Строка 150:
 
перед профилем волка вставляем это:
 
перед профилем волка вставляем это:
  
<code>
+
<xml>
 
<!---------------------------------------esc_noobik----------------------------------------------------->
 
<!---------------------------------------esc_noobik----------------------------------------------------->
 
<specific_character id="esc_noobik" team_default = "1">
 
<specific_character id="esc_noobik" team_default = "1">
Строка 179: Строка 179:
  
 
</specific_character>
 
</specific_character>
</code>
+
</xml>
  
 
у нас будет чел с визуалом военного, иконкой волка, и голосом обычного сталкера
 
у нас будет чел с визуалом военного, иконкой волка, и голосом обычного сталкера
Строка 188: Строка 188:
 
и пишем туды:
 
и пишем туды:
  
<code>
+
<ini>
 
[logic]
 
[logic]
 
active = remark1
 
active = remark1
Строка 198: Строка 198:
 
[remark1]
 
[remark1]
 
no_move = true
 
no_move = true
</code>
+
</ini>
  
 
все, он никуда не уйдет пока на него не нападут = )
 
все, он никуда не уйдет пока на него не нападут = )
Строка 210: Строка 210:
 
вставляем сие:
 
вставляем сие:
  
<code>
+
<xml>
 
<character id="esc_noobik">
 
<character id="esc_noobik">
 
<class>esc_noobik</class>
 
<class>esc_noobik</class>
 
<specific_character>esc_noobik</specific_character>
 
<specific_character>esc_noobik</specific_character>
 
</character>
 
</character>
</code>
+
</xml>
  
 
Все, мы на финишной прямой!
 
Все, мы на финишной прямой!
Строка 221: Строка 221:
  
 
и в писываем:
 
и в писываем:
<code>
+
<ini>
 
[esc_noobik]:stalker
 
[esc_noobik]:stalker
 
$spawn = "respawn\esc_noobik"
 
$spawn = "respawn\esc_noobik"
Строка 227: Строка 227:
 
spec_rank = novice
 
spec_rank = novice
 
community = stalker
 
community = stalker
</code>
+
</ini>
  
 
Все, все готово!
 
Все, все готово!

Версия 15:02, 12 апреля 2011

Что,как,зачем

Итак, я хочу рассказать вам как создать NPC через all.spawn. Метод был выявлен мною путем проб и ошибок. Конечно же у вас появился вопрос: « Ну а зачем же мучатся с all.spawn, если можно сделать тоже самое через скрипт?». Ответ: Хоть этот способ и не такой быстрый и легкий, но у него есть свои плюсы, необходимые многим, один из них - мы можем задать story id нашему NPC.(Можно прописать в секции нпс которого спауните в низу в файле spawn_sections.ltx Пример:story_id = 10000) "А что дает нам это?" Много чего, ну для примера - мы сможем поставить отметку на него. Я не буду объяснять такие простые вещи как декомпиляция all.spawn и остальное, но если же вы все таки не знаете как, пишите мне в лс на Гейменаторе(stalkers-life, или Идиот) Итак, хватит лишних слов, перейдем к работе...

Работаем!!!

С помощью ACDC декомпилируем all.spawn

Получаем кучу файлов типа : alife_l01_escape , way_l01_escape и тд.

Создадим нового непися на Кордоне. Открываем alife_l01_escape, и крутим в самый низ.

Если у вас чистая игра и вы ничего не делали в Олл спавне то посленяя секция у вас будет под номером 869. Добавляем туда вот такой код(в конец):

 
[870]
; cse_abstract properties
section_name = stalker
name = noobik
position = -172.21215820313,-19.941787719727,-161.09272766113
direction = 0,0,0
 
; cse_alife_trader_abstract properties
money = 5000
character_profile = esc_noobik
 
; cse_alife_object properties
game_vertex_id = 52
distance = 0
level_vertex_id = 76655
object_flags = 0xffffffbf
custom_data = <<END
 
[logic]
cfg = scripts\noobik_logic.ltx
 
; cse
[smart_terrains]
none = true
END
story_id = 10000
 
; cse_visual properties
visual_name = actors\soldier\soldier_beret_1
 
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 2
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =
 
upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -172.21215820313,-19.941787719727,-161.09272766113
upd:o_model = 0
upd:o_torso = 0.028013030067086,0,0.9996075630188
upd:g_team = 0
upd:g_squad = 1
upd:g_group = 2
 
; cse_alife_monster_abstract properties
 
upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0
 
; cse_alife_human_abstract properties
predicate5 = 1,2,2,1,2
predicate4 = 0,1,1,1
 
; cse_ph_skeleton properties
 
upd:start_dialog =
 
; se_stalker properties
 

Разъясню некоторые пункты, чтобы в след. раз не пришлось прибегать к тутору.

 
section_name = stalker -//это для игры тут пишется к примеру если ето у тебя сталкера или бандюки то должно быть section_name = stalker
name = noobik -//пишем что хотим
position = -172.21215820313,-19.941787719727,-161.09272766113 -//позиция
direction = 0,0,0 -// направление взгляда(можно писать всегда нули)
 
 
; cse_alife_trader_abstract properties
money = 5000 -//его бабло
character_profile = esc_noobik -//ссылка на профиль в character_desc_локация(раз создаем в алайф эскейп значит и профиль будет искатсья в чарактер_деск_ескейп)
 
 
; cse_alife_object properties
game_vertex_id = 52 -// гейм вертекс
distance = 0
level_vertex_id = 76655 -//левел вертекс
object_flags = 0xffffffbf
custom_data = <<END
 
 
[logic]
cfg = scripts\noobik_logic.ltx -// ссылка на логику
 
 
; cse[smart_terrains]
none = true
END
story_id = 10000 -//его стори айди
 
; cse_visual properties
visual_name = actors\soldier\soldier_beret_1 -// его визуал
 
 
upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -172.21215820313,-19.941787719727,-161.09272766113 -//опять пишем позицию
upd:o_model = 0
upd:o_torso = 0.028013030067086,0,0.9996075630188
upd:g_team = 0
upd:g_squad = 1
upd:g_group = 2
 
 
upd:next_game_vertex_id = 65535-//честно не знаю что это, я всегда пишу эти цифры
upd:prev_game_vertex_id = 65535-//не знаю, но пишем всегда это
upd:distance_from_point = 0
upd:distance_to_point = 0
 

Компилируем, получаем файл all.spawn.new , копируем его в геймдату/спавнс и переименовываем просто в олл спавн. Это еще не все!

теперь

открываем файл character_desc_escape

перед профилем волка вставляем это:

 
<!---------------------------------------esc_noobik----------------------------------------------------->
<specific_character id="esc_noobik" team_default = "1">
<name>Нубик</name>
<icon>ui_iconsNpc_stalker_sv_balon_1</icon>
<bio>esc_noobik</bio>
 
<class>esc_noobik</class>
<community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect>
 
<rank>434</rank>
<reputation>5</reputation>
<money min="600" max="2000" infinitive="0"/>
 
<snd_config>characters_voice\human_01\stalker\</snd_config>
<crouch_type>-1</crouch_type>
 
<visual>actors\soldier\soldier_beret_1</visual>
<supplies>
[spawn] \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
wpn_ak74u \n
ammo_5.45x39_fmj \n
</supplies>
 
#include "gameplay\character_criticals_4.xml"
 
</specific_character>
 

у нас будет чел с визуалом военного, иконкой волка, и голосом обычного сталкера


теперь создаем файл логики, в папке config/scripts создаем файл noobik_logic.ltx и пишем туды:

 
[logic]
active = remark1
danger = danger_ignore
 
[danger_ignore]
ignore_distance = 5
 
[remark1]
no_move = true
 

все, он никуда не уйдет пока на него не нападут = )

Теперь открываем файл game_story_ids

и в самый низ вписываем: 10000 = "esc_noobik"

теперь открываем файл npc_profile вставляем сие:

 
<character id="esc_noobik">
<class>esc_noobik</class>
<specific_character>esc_noobik</specific_character>
</character>
 

Все, мы на финишной прямой! Открываем файл spawn_sections

и в писываем:

 
[esc_noobik]:stalker
$spawn = "respawn\esc_noobik"
character_profile = esc_noobik
spec_rank = novice
community = stalker
 

Все, все готово! Начинаем новую игру, и видем сталкера с именем Нубик = )

Статью создал stalker-life С поправками Melnik

Другие места
LANGUAGE