Создание нпс и спавн через all.spawns
Создание нпс и спавн через all.spawns
Платформа: cop
1. Для начала создадим профиль создаваемого сталкера.
Заходим например, в файле character_desc_zaton.xml по адресу gamedata\config\gameplay\ Можно создать отдельный файл для наших неписей, это упрощает совмещение модов. В файле character_desc_zaton.xml, в самом низу, перед тегом </xml> пишем профиль нового непися:
<specific_character id="merc oleg" team_default = "1">
<name>Олег</name> -- имя
<icon>ui_inGame2_merc_2</icon> -- иконка при разговоре
<map_icon x="0" y="0"></map_icon>
<class>merc oleg</class>
<community>stalker</community> -- групировка
<terrain_sect>stalker_terrain</terrain_sect>
<money min="4000 " max="120000" infinitive="0"></money> -- деньги
<rank>200</rank>
<reputation>300</reputation>
<visual>actors\stalker_merc\stalker_merc_2</visual> ;ссылка на файл-модель персонажа без окончания .ogf
<snd_config>characters_voice\human_01\stalker\</snd_config> ; Вродебы это голос.
<crouch_type>-1</crouch_type>
<panic_treshold>0</panic_treshold>
<supplies>
[spawn] \n -- Это точто спавнится у нпс в инвентаре.
wpn_ak74 \n
ammo_5.45x39_fmj = 1 \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
grenade_rgd5 = 2 \n
#include "gameplay\character_items.xml" \n
#include "gameplay\character_drugs.xml" \n
#include "gameplay\character_food.xml"
#include "gameplay\character_dialogs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
<actor_dialog>zat_b215_stalker_guide_leave_zone</actor_dialog>
<actor_dialog>zat_b215_stalker_guide_maps</actor_dialog>
<actor_dialog>zat_b215_stalker_guide_to_pripyat_no_way</actor_dialog>
<actor_dialog>zat_b215_stalker_guide_to_pripyat</actor_dialog>
<actor_dialog>zat_b215_stalker_guide_to_jupiter</actor_dialog>
<actor_dialog>zat_b215_stalker_guide_to_zaton</actor_dialog>
<actor_dialog>zat_b215_stalker_guide_where_to</actor_dialog>
</specific_character>
2. Лезем в npc_profile.xml, который находится в той же папке. Где-нибуть внизу делаем запись:
<character id="merc oleg">
<class>merc oleg</class>
</character>
3. Ввод в симуляцию
Открываем файл gamedata\config\creatures\spawn_sections_zaton.ltx и прописываем в конце:
[merc oleg_spawn]:stalker
$spawn = "respawn\merc oleg_spawn" - опция спавна для Левел Едитора
character_profile = merc oleg - профиль непися
spec_rank = regular
community = stalker- группировка
custom_data = scripts\actor_oleg.ltx - логика
3.Спавн.
Используя прогу acdc от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на затоне:
[999999]
; cse_abstract properties
section_name = stalker
name = merc oleg
position = 263.614868164063, 18.7410755157471, 542.126892089844 -- местоположение на игровой карте
direction = -0.668316960334778, 0, 0.74387663602829 -- поворот
version = 128
script_version = 12
spawn_id = 3630
; cse_alife_trader_abstract properties
money = 4000
character_profile = merc oleg
; cse_alife_object properties
game_vertex_id = 287 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект
distance = 30.1
level_vertex_id = 1418615 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект
object_flags = 0xfffff7bf
custom_data = <<END
[dont_spawn_loot]
[logic]
cfg = scripts\actor_oleg.ltx -- конфиг с логикой
END
; cse_visual properties
visual_name = actors\stalker_merc\stalker_merc_2 -- внешний вид, указать путь к .ogf модели, без окончания формата файла!
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
dynamic_out_restrictions =
dynamic_in_restrictions =
; cse_alife_monster_abstract properties
equipment_preferences =
main_weapon_preferences =
; cse_ph_skeleton properties
; se_stalker properties
upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = 263.614868164063, 18.7410755157471, 542.126892089844 -- те же координаты, что и в секции position
; cse_alife_human_stalker properties
upd:start_dialog =
Все собираем спавн.
4.логика
Далее, создаём файл конфиг торговца, который указали в спавне - gamedata\config\scripts\actor_oleg.ltx и пишем в нём:
[logic]
active = remark1
danger = danger_ignore
commander = true
[remark1]
no_move = true
meet = meet
anim = wait
[danger_ignore]
ignore_distance = 10
[meet]
use = true
use_wpn = true
Ну вот и все теперь когда мы запускаем игру то возле дерева стоит наш нпс.
Внимание: ожидайте |
|
до открытия ссылки |
Добавил: ferr-um
05.11.2016 Просмотров: 6517
Комментарии