Універсальний урок ...
 
Сповіщення
Очистити все

Універсальний урок зі створення повноцінного смарт-террейну. Частина 2


NazarTmm
Ранг:
Досвідчений
Роль:
Модмейкер
Угруповання:
Бандити
Записи:
35
Приєднався:
9 місяців тому
Початок теми  

Тепер, після складання спавна, зареєструємо локацію і пропишемо сквад сталкерів для спавна в цьому смарті.
Відкриваємо папку, вона повинна знаходитися ось за цим шляхом. S.T.A.L.K.E.R - Call Of Pripyat\gamedata\configs\scripts\marsh\smart і створюємо файл mar_sta_base.ltx та відкриваємо його і пишемо логіку смарту.

[smart_terrain];mar_sta_base

squad_id = 1

max_population = 6

def_restr = mar_sta_base_sr_noweap

safe_restr = mar_sta_base_sr_light

smart_control = smart_control

respawn_params = respawn@mar_sta_base

max_population = 6

arrive_dist = 65




[respawn@mar_sta_base]

spawn_stalker@novice

spawn_stalker@advanced

spawn_stalker@master




[spawn_stalker@novice]

spawn_squads = stalker_marsh_squad_novice

spawn_num = 3




[spawn_stalker@advanced]

spawn_squads = stalker_marsh_squad_advanced, stalker_marsh_squad_novice

spawn_num = 2

[spawn_stalker@master]

spawn_squads = stalker_marsh_squad_veteran, stalker_marsh_squad_advanced

spawn_num = 1




[smart_control]

noweap_zone = mar_sta_base_sr_noweap

ignore_zone = mar_sta_base_sr_light

alarm_start_sound = mar_sta_base_alarm

alarm_stop_sound = mar_sta_base_relax
image

Прописали, зберігаємо і закриваємо.
Тепер відкриємо папку misc, яка знаходиться за ось цим шляхом S.T.A.L.K.E.R - Call Of Pripyat\gamedata\configs\misc
І вставляємо файли, які скопіюєте з оригіналу гри.
simulation.ltx
simulation_objects_props.ltx
smart_terrain_masks.ltx
squad_descr.ltx
squad_descr_marsh.ltx - цей файл копіюєте (затонівський) і перейменовуєте в ім'я своєї локації.
Відкриваємо файл simulation.ltx
І в самому кінці пишемо секцію нашої локації.

;;;;;;;;;;;;;;;;;;;;;; FINAL MARSH ;;;;;;;;;;;;;;;;;;;;;;;;;




[start_position_marsh]

stalker_marsh_squad_novice = mar_sta_base

stalker_marsh_squad_advanced = mar_sta_base

stalker_marsh_squad_veteran = mar_sta_base

ОСЬ ТАК І ПИШІТЬ три СКВАДи новачків, досвідчених і ветеранів.
Див. скріншот

image

Прописали, зберігаємо і відкриваємо файл.
simulation_objects_props.ltx І пропишемо наш смарт-террейн як базу.
[mar_sta_base]:default_base
territory = 1
sim_avail = true
surge = 4
Див. скріншот

image

Зберігаємо і закриваємо та відкриваємо файл smart_terrain_masks.ltx і зареєструємо наш смарт

[mar_sta_base]
255,255,255,255,142 --дотримуйтесь нумерації
Див. скріншот

image

Зберігаємо і закриваємо та відкриваємо файл squad_descr.ltx і зареєструємо файл з ім'ям нашої локації.
#include "squad_descr_marsh.ltx"
Див. скріншот

image

Тепер у цьому ж файлі в самому низу пишемо секцію для наших симуляційних загонів.

;--------------- stalkers simulation squads marsh -----------------------




[stalker_marsh_squad_novice]:online_offline_group

faction = stalker

npc_random = sim_default_stalker_0, sim_default_stalker_1, sim_default_stalker_2

npc_in_squad = 2, 3




[stalker_marsh_squad_advanced]:online_offline_group

faction = stalker

npc_random = sim_default_stalker_1, sim_default_stalker_1, sim_default_stalker_2, sim_default_stalker_2

npc_in_squad = 2, 3




[stalker_marsh_squad_veteran]:online_offline_group

faction = stalker

npc_random = sim_default_stalker_2, sim_default_stalker_2, sim_default_stalker_3, sim_default_stalker_3, sim_default_stalker_4

npc_in_squad = 2, 3
image

Зберігаємо і закриваємо і відкриємо файл
squad_descr_marsh.ltx ----- цей файл має бути порожнім і все затонівське треба видалити.
Тепер зареєструємо ім'я локації в скриптах, а саме у файлах
sim_board.script ------копіюємо з оригіналу гри
smart_terrain.script ------копіюємо з оригіналу гри
Ці файли повинні знаходитися ось за цим шляхом S.T.A.L.K.E.R - Call Of Pripyat\gamedata\scripts
Ось у папці скриптс.
Відкриваємо файл
sim_board.script і пишемо ім'я локації.
Див. скріншот

image

Зберігаємо і закриваємо.
Відкриваємо файл
smart_terrain.script і в трьох місцях пропишемо ім'я локації.
Див. скріншоти

image
image

Прописали, зберігаємо і закриваємо.
Сспавн я перезібрав, скомпілював і замінив файл спавна з сдк у гру.
Перевірив гра запустилася без проблем.

image

Тепер пропишемо, зареєструємо і створимо всі файли наших рестрикторів, зони збирання зброї, зона від викиду, камп зона і т.д.
Перше, відкриваємо папку scripts що знаходиться по ось цьому шляху S.T.A.L.K.E.R. - Call Of Pripyat\gamedata\scripts і відкриваємо файл surge_manager.script (копіюємо з оригіналу гри і вставляємо в свій мод).
Відкрили і пишемо секції з ім'ям нашої локації.
1.Шукаємо ось цю секцію function CSurgeManager:initialize()

image

2. Знаходимо ось цю секцію if(diff_sec>=self.surge_time) then копіюємо юпітерську та пишемо ім'я своєї локації, тобто під час викиду озвучка буде торговця мовляв йде викид, ховайтеся.

image

3. Знаходимо ще ось цю секцію if(diff_sec>=185) and not(self.ui_disabled) then і копіюємо юпітерську і пишемо ім'я своєї локації.

image

4. Знаходимо ще секцію elseif(diff_sec>=0) and not(self.task_given)then копіюємо Юпітерську і пишемо ім'я своєї локації.

image

5. Знаходимо ось цю секцію function CSurgeManager:skip_surge() і пишемо ім'я своєї локації.

image

6.Шукаємо наступну секцію function CSurgeManager:end_surge(manual) і пишемо ім'я локації.

image

7. Шукаємо ось цю секцію function CSurgeManager:save(packet), копіюємо будь-яку і пишемо ім'я своєї локації.

image

8.Шукаємо ось цю секцію function CSurgeManager:load(packet), копіюємо будь-яку і пишемо ім'я своєї локації

image

Прописали зберігаємо і закриваємо.
Файл має бути ось тут.
Див. скріншот

image

Тепер заходимо по ось тому шляху S.T.A.L.K.E.R - Call Of Pripyat\gamedata\configs\misc
Відкриваємо папку misc і відкриваємо файл surge_manager.ltx (копіюємо з оригіналу гри)
І пишемо наші зони від викиду.
Починаємо писати після ось цього
pri_surge_hide_b303
pri_surge_hide_a28
pri_surge_hide_a28_2
pri_surge_hide_a17
pri_surge_hide_b36
пишемо наші зони перераховуємо я поставив чотири зони від викиду
;marsh
mar_surge_hide_b1
mar_surge_hide_b2
mar_surge_hide_b3
mar_surge_hide_b4
потім трохи нижче після
;test
;sr_out_1
;sr_out_2
Пишемо ось це
[mar_surge_hide_b1]
condlist = {=check_smart_alarm_status(mar_sta_base:normal)} true, false

[mar_surge_hide_b2]
condlist = {=check_smart_alarm_status(mar_sta_base:normal)} true, false

[mar_surge_hide_b3]

condlist = {=check_smart_alarm_status(mar_sta_base:normal)} true, false

[mar_surge_hide_b4]

condlist = {=check_smart_alarm_status(mar_sta_base:normal)} true, false

image

Зберігаємо і закриваємо.

Тепер оформимо зону сну.

Копіюємо з оригіналу гри файл pda.script він має бути ось за цим шляхом: S.T.A.L.K.E.R - Call Of Pripyat\gamedata\scripts і вставляємо анологічно в папку scripts.(у ваш мод).

image

Відкриваємо файл і шукаємо ось цю секцію local sleep_zones_tbl = (в цій секції пишемо сторі ід нашої зони).

image

Зберігаємо і закриваємо.
Тепер у цю ж папку треба вставити файл xr_effects.script, його теж копіюємо з оригіналу гри.
Відкриваємо і шукаємо ось цю секцію. function sleep(actor, npc) і пишемо ім'я нашої зони сну.

image

Зберігаємо і закриваємо.

Тепер оформимо зону збирання зброї та зону вимкнення ліхтариків.
Ось цим шляхом S.T.A.L.K.E.R. - Call Of Pripyat\gamedata\configs\scripts\marsh відкриваємо папку з ім'ям вашої локації і створюємо два файли
mar_sta_base_sr_light.ltx ---------зона вимкнення ліхтариків
mar_sta_base_sr_noweap.ltx -----зона прибирання зброї.
Створили і перейменували і відкриваємо файл mar_sta_base_sr_light.ltx і пишемо логіку.

[logic]

active = sr_light




[sr_light]

light_on = false
image

Зберігаємо і закриваємо.
Відкриваємо файл
mar_sta_base_sr_noweap.ltx
і пишемо логіку.

[logic]

active = sr_idle@wait




[sr_idle@wait]

on_actor_inside = {=check_smart_alarm_status(mar_sta_base:normal) !actor_has_weapon} sr_no_weapon@wait

on_info = {=actor_in_zone(mar_sta_base_sr_noweap)} sr_no_weapon@wait




[sr_no_weapon@wait]

on_actor_outside = sr_idle@wait
image

Зберігаємо і закриваємо і перевіримо в грі.

Тепер оформимо камп зону.
Відкриваємо папку scripts вона знаходиться gj шляху S.T.A.L.K.E.R - Call Of Pripyat\gamedata\configs\scripts і вставляємо файл camp.ltx, який копіюємо з оригіналу гри.

image

Скопіювали і вставили.
Кінець 2 частини.


   
Цитата
Теги теми