Создание нового персонажа в ЗП,ЧН и ТЧ | Разное
Stalker Clear Sky Информация [105] Сталкер Видео [302] Сталкер Зов Припяти информация [133] Первый литконкурс от stalker-gsc.ru [69]
Фан рассказы [2616] Стихи, песни, поэмы [727] Интервью [140] Чернобыль [304]
Сталкер - основное [119] Сталкинг [39] Превью, обзоры игр Stalker [34] Рецензии на игру Сталкер [30]
Разное [333] Интересные игры [30] Каталог [407] Второй литконкурс от stalker-gsc.ru [112]
Обзор модификаций [44]

Stalker 2 » Статьи » Разное

09:08:16

Создание нового персонажа в ЗП,ЧН и ТЧ

Автор:RaDJa

Уроков по созданию npc много, но многие из них не понятны, поэтому я сделал свою статью по этой теме.

Урок прменим и к ТЧ, и к ЧН, и к ЗП.
Для работы нужна программа Active Perl (её нужно просто скачать и установить) и ACDC (в ней мы и будем работать) Замечу, что для каждого Сталкера нужен свой ACDC.

После того как скачали эти программы в папке с ACDC создаём .bat файлы: decompile и compile. Первый батник будет распаковывать all.spawn, второй запаковывать обратно изменённый all.spawn. В батнике decompile прописываем вот это:

perl acdc.pl -d all.spawn
pause - для ТЧ

или

perl acdccop.pl -d all.spawn
pause - для ЗП

perl acdc_cs.pl -d all.spawn
pause - для ЧН

в батнике compile прописываем:

acdc.pl -c all.ltx
pause - для ТЧ

acdccop.pl -c all.ltx
pause - для ЗП и т.д.

далее закидываем all.spawn( путь gamedata\ spawns) в папку с acdc и запускаем decompile. Появилось много файлов ltx. Нам нужны файлы типа alife... и выбираем файл с нужной локацией.

Теперь приступаем к работе. Я буду показывать пример на базе ЗП.

-открываем alife_zaton
-в самый конец добавляем нашего сталкера

[1865] -номер объекта должен быть выше последнего объекта в файле
; cse_abstract properties
section_name = stalker
name = mudak -имя объекта
position = 62.0999984741211,-3.55999994277954,37.5999984741211 - место где он появится(рассмотрим позже)
direction = -0.0120869996026158,2.81339907646179,-0.0158249996602535 - угол поворота сталкера

; cse_alife_trader_abstract properties
money = 416
character_profile = mudak -имя в character desc...

; cse_alife_object properties
game_vertex_id = 292 - для каждого уровня это значение своё
distance = 0
level_vertex_id = 76655 - не трогаем
object_flags = 0xffffffbf
custom_data = <<END

[logic]
cfg = scripts\mudak_logic.ltx - ссылка на файл логики нашего сталкера

; cse
[smart_terrains]
none = true
END
story_id = 10000 - будем считать его порядковым номером (для новых npc лучше ставить больше 10000)

; cse_visual properties
visual_name = actors\stalker_merc\stalker_merc_4

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 2
health = 1 -поставим 0 будет лежать труп
dynamic_out_restrictions =
dynamic_in_restrictions =

upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = 62.0999984741211,-3.55999994277954,37.5999984741211 - место где он появится(рассмотрим позже) Важно! Нужно писать то же самое что и в строке position
upd:o_model = 0
upd:o_torso = 2.81339907646179,-0.0120869996026158,0
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

ПРИМЕР БЕЗ КОМЕНТОВ:

[1865]
; cse_abstract properties
section_name = stalker
name = mudak
position = 62.0999984741211,-3.55999994277954,37.5999984741211
direction = -0.0120869996026158,2.81339907646179,-0.0158249996602535

; cse_alife_trader_abstract properties
money = 416
character_profile = mudak

; cse_alife_object properties
game_vertex_id = 292
distance = 0
level_vertex_id = 76655
object_flags = 0xffffffbf
custom_data = <<END

[logic]
cfg = scripts\mudak_logic.ltx

; cse
[smart_terrains]
none = true
END
story_id = 10000

; cse_visual properties
visual_name = actors\stalker_merc\stalker_merc_4

; 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 = 62.0999984741211,-3.55999994277954,37.5999984741211
upd:o_model = 0
upd:o_torso = 2.81339907646179,-0.0120869996026158,0
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

ТЕПЕРЬ ЗАПАКОВЫВАЕМ ОБРАТНО в all.spawn (внимание!если что-то сделано не правильно, то запаковки не будет) Если же всё правильно, то должен появится файл all.spawn.new Закидываем его в вашу gamedata\spawns и переименовываем файл в all.spawn

Осталась работа в скриптах и конфигах

-В папку gamedata\config(s) вкладываем файл game_story_ids, открываем его и конце пишем: 10000 = "mudak"

-В папку gamedata\config(s)\creatures вставляем файл spawn_sections_zaton, открываем его и в самом конце вписываем:

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

-Теперь по пути gamedata\config(s)\gameplay вставляем файл npc_profile и в нём пишем:

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

-По этому же пути gamedata\config(s)\gameplay вставляем character_desc_zaton и вставляем в конце:

<!---------------------------------------mudak----------------------------------------------------->
<specific_character id="mudak" team_default = "1">
<name>Мудак</name>
<icon>ui_inGame2_merc_4</icon>
<bio>mudak</bio>

<class>mudak</class>
<community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect>

<rank>434</rank>
<reputation>5</reputation>
<money min="10000" max="10000" infinitive="0"/>

<snd_config>characters_voice\human_01\stalker\</snd_config>
<crouch_type>-1</crouch_type>

<visual>actors\stalker_merc\stalker_merc_4</visual>
<supplies>
[spawn] \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
wpn_ak74 \n
ammo_5.45x39_fmj \n
</supplies>

#include "gameplay\character_criticals_4.xml"

<!--<start_dialog>zat_b5_stalker_commander_dialog</start_dialog>-->

</specific_character>

-Осталось только дать логику нашему сталкеру, чтобы он тупо не бродил по Затону
В папке gamedata\config(s)\script создаём пустой файл mudak_logic.ltx и в нём пишем:

[logic]
active = remark1
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true

Теперь можно поглазеть на нашего сталкера в игре (Он должен появится на Шевченко)

Но хочу обратить внимание, что для упрощения снятия координат месторасположения npc в ТЧ можно воспользоваться во время игры консольной командой rs_stats on, а в ЗП rs_camera on

Автор: RaDJa


Дата: 21.08.2010 | Категория: Разное | Просмотров: 13508
Добавил: RaDJa | Рейтинг: 4.4/19
ComForm">
avatar

Комментарии к материалу Создание нового персонажа в ЗП,ЧН и ТЧ

Всего комментариев: 20

avatar
1 Шелби • 15:42:59, 22.08.2010
Эээээ.!??! Не обижайтесь, но я ни чё не понял! pity
avatar
2 RaDJa • 17:23:37, 22.08.2010
Проще врятли найдешь. Указанные в статье действия придётся выполнять по -любому, если хочешь создать нового npc.
avatar
16 StalkerSiries • 16:31:56, 29.08.2012
Не . Я через скрипт делал и просто npc и уникальных . pity
avatar
3 Monster_d • 23:12:58, 22.08.2010
Понял только первый абзац :(
avatar
4 RaDJa • 18:32:10, 23.08.2010
Создание npc-дело мододелов с опытом.
avatar
5 ЧЕКАН • 09:09:02, 22.09.2010
что, не фига не понял. %)
avatar
6 sergeyich • 20:24:35, 05.01.2011
у меня получилось!!!
avatar
7 Sтержень • 22:03:04, 18.03.2011
Всё просто!!!
avatar
8 Сильный • 14:32:55, 22.05.2011
Я создавал нпс без all.spawn но в тч.Я не понял как all.spawn распоковать на чн
avatar
17 StalkerSiries • 16:32:48, 29.08.2012
Качай ACDC под чн и active perl ;)
avatar
9 ellwan • 11:05:39, 14.08.2011
Я делал по другому на тч и всё вышло только не могу понять как добавить к нему какую то анимацию ато он стоит тупо как укопан:D
avatar
10 Strelok98 • 16:35:57, 24.11.2011
кто нибудь скажите как создать персонажана перенесённой локи в зп. Создал его через спец проги запускаю, выкидывает
avatar
11 den111 • 14:08:22, 03.01.2012
У МЕНЯ В ЗП НЕТ ФАЙЛА all.spawn !!! ВСЁ ПЫТАЛСЯ СДЕЛАТЬ ЧТОБЫ ЕГО НАЙТИ, НО НЕ НАШЁЛ, ПРИЧЁМ ИГРА НОРМАЛЬНО РАБОТАЕТ !!!! ЧТО МНЕ С ЭТИМ ДЕЛАТЬ ?????? КТО ЗНАЕТ ПОЖАЛУЙСТА ОТПИШИТЕСЬ !!!!
avatar
12 Avp777 • 00:04:44, 06.02.2012
Люди,когда ввожу консольную команду rs_camera on пишет,что такой нет!Есть только rs_cam_pos on!
avatar
13 Avp777 • 00:33:57, 06.02.2012
Сделал как написано (скопировал)!Packую и пишет в конце :Died at stkutils/ini_file.rp line 80, <GEN9> line 58454
avatar
14 Парашютист • 15:07:59, 30.06.2012
Прописываю в батники то, что здесь написано, копирую all.spawn в папку с программой, открываю батник decompile. Он пишет: "Can't open perl script "acdc.pl": No such file or directory". И никах файлов типа "alife" я не наблюдаю. Помогите пожалуйста.
avatar
15 rotwood • 15:40:42, 03.07.2012
Короче, тут неправильно написано:

Для ТЧ, например (да и для остальных, думаю тоже):

acdc.pl -d all.spawn
pause

Т.е. не надо писать "perl"

Потом, сказано,

level_vertex_id = 76655 - не трогаем

Что значит не трогаем? Нужно писать левел вертекс конкретного уровня, его можно узнать с помощью такого же метода, как и узнавать координаты.
avatar
18 Daniil_Sokolov • 15:35:20, 07.09.2012
Блин, помогите пожалуйста :), все правильно сделал, но все равно вылетает :с
Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : .... - Зов Припяти\gamedata\scripts\xr_motivator.script:159: attempt to index field 'arriving_npc' (a nil value)
avatar
19 zmey123 • 23:24:03, 17.02.2013
Блин , помогите он у меня не появляется , всё сделал так и перепроверил 3 раза и нету моего НПС
avatar
20 Максим Дергунов • 14:22:48, 25.06.2014
Помогите найти прогу. Там было всё проще пареной репы. Наводишь прицел на землю, (предварительно в проге выставив ранг, звание, отношение), нажимаешь кнопку и появляется сталкер.


Рекомендуем:

Вверх
Правила чата
Пользователи онлайн
Мини-чат
+Мини-чат
0
Онлайн всего: 1
Гостей: 1
Сталкеров: 0