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

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

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

Перейти к: навигация, поиск
Строка 1: Строка 1:
−
== Что,как,зачем ==
+
Стаття удалена. За нарушения авторского права. Возобновление возможно.
−
Итак, я хочу рассказать вам как создать NPC через all.spawn.
+
−
Метод был выявлен мною путем проб и ошибок.
+
−
Конечно же у вас появился вопрос: « Ну а зачем же мучатся с all.spawn, если можно сделать тоже самое через скрипт?».
+
−
Ответ:
+
−
Хоть этот способ и не такой быстрый и легкий, но у него есть свои плюсы, необходимые многим, один из них - мы можем задать story id нашему NPC.
+
−
"А что дает нам это?"
+
−
Много чего, ну для примера - мы сможем поставить отметку на него.
+
−
Я не буду объяснять такие простые вещи как декомпиляция 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
+
−
 
+
−
; 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 -// ссылка на логику
+
−
 
+
−
 
+
−
; 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_npc_u_stalker_neytral_balon_1</icon>
+
−
<bio>esc_ckryacker</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_logik.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
+
−
 
+
−
Все, все готово!
+
−
Начинаем новую игру, и видем сталкера с именем Нубик = )
+
−
 
+
−
 
+
−
== Послесловие ==
+
−
Ну вот, если вы все сделали правильно, все будет работать.
+
−
Это был тутор по созданию нового непися с нуля, тобишь не имея его Нигде прописаным.
+
−
Спасибо Николай ФеНиКс, Futura за помощь в находке метода = )
+
−
 
+
−
 
+
−
Автор статьи - stalkers-life
+
−
 
+
−
[[Категория:скрипты]]
+

Версия 09:59, 28 февраля 2010

Стаття удалена. За нарушения авторского права. Возобновление возможно.

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