Respawn NPC.
Для створення респавна NPC, знадобиться два файли: all.spawn і spawn_section.ltx .
Це мінімальний набір. Для повного настроювання респавнера, потрібні ще character_desc_simulation.xml та npc_profile.xml .
1. У all.spawn створюємо секцію респавнера:
[ 10000 ] ; cse_abstract properties section_name = respawn name = ім'я респонера position = координати ( x, y, z ) direction = 0 , 0 , 0 ; cse_alife_object properties game_vertex_id = гейм-вертекс distance = 10 level_vertex_id = левел -вертекс object_flags = 0xffffff3e custom_data = << END [ respawn ] respawn_section = esc_urody_respawn_1 , sk = 8 min_count = 4 max_spawn = 2 idle_spawn = medium conditions = 100 END ; cse_shape properties shapes = shape0 shape0: type = sphere shape0: offset = 0 , 0 , 0 shape0: radius = 1 ; cse_alife_space_restrictor properties restrictor_type = 0 ; se_respawn properties
Якщо використовується програма XrSpawner , то копіюємо будь-яку секцію "respawn"; міняємо ім'я об'єкта, координати, і в віконці "скрипт" прописуємо:
[ respawn ] respawn_section = esc_urody_respawn_1, 12 , esc_urody_respawn_2, 9 max_count = 8 min_count = 4 max_spawn = 2 idle_spawn = medium conditions = 100
Де:
respawn_section = id респавн-секцій із файлу spawn_section.ltx . Цифри після коми означають відношення однієї секції до іншої. Якщо планується однакова кількість респовна з кожної секції, то цифри ставити не потрібно.
max_count = кількість респавн-запитів за період часу, поки ГГ знаходиться на локації. При переході на іншу локацію лічильник max_count скидається. (ставити не обов'язково)
min_count = мінімальна кількість нпс, для екстреного респовна. (ставити не обов'язково)
max_spawn = кількість нпс за один цикл респавна.
idle_spawn = тип спавна. Відомо три типи medium, often, seldom . Зазвичай використовується тип medium .
conditions = Умова респавна. Можна встановити перевірку умов (інфопоршень), де респовн відбуватиметься лише за умови. Номер означає загальний відсоток виконання респавна. Наприклад так:
conditions = {+інфо} 100, 0 де, респавн відбуватиметься зі стовідсотковою ймовірністю, тільки за наявності встановленого інфопоршну.
2. У файлі spawn_section.ltx створюємо респавн-секції:
[ esc_urody_respawn_1 ] : stalker $ spawn = "respawn\esc_urody_respawn_1" character_profile = sim_urody_novice spec_rank = novice community = bandit [ esc_urody_respawn_2 ] : stalker $ spawn = "respawn\esc_urody_respawn_2" character_profile = sim_urody_regular spec_rank = regular community = bandit
Де:
esc_urody_respawn_1 id респавн-секції.
sim_urody_novice та sim_urody_regular класи профайлів нпс.
novice та regular ранги нпс.
bandit угруповання нпс.
3. У файлі npc_profile.xml реєструємо класи sim_urody_regular та sim_urody_novice
<character id="sim_urody_regular"> <class>sim_urody_regular</class> </character> <character id="sim_urody_novice"> <class>sim_urody_novice</class> </character>
4. Створюємо профілі, у файлі character_desc_simulation.xml , з класами sim_urody_regular та sim_urody_novice та угрупуванням bandit .