Сповіщення
Очистити все

Створення провідників


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
2 роки тому
 

Акт перший, основний 😉

Пропоную вам не марнувати часу, просто бігаючи по підключеній локації, а заміряти координати для створення переходу. Координати зніматимемо на 2-х локаціях: на тій з якою переходитимемо і на тій на яку ви хочете зробити перехід відповідно. На кожній локації нам потрібно зняти по одній координаті (координата розташування самого переходу на першій локації та координата місця, яке буде кидати при переході на підключену локацію). Як зняти координати, я думаю, всі знають, тому пояснювати тут не буду. (у комплект з цим уроком я помістив архів koord.rar зі скриптом для зняття координат, це для тих кому ліньки шукати).

Ми відміряли всі необхідні нам координати.

Потім розпаковуємо зроблений нами раніше all.spawn. Тепер у потрібних нам локаціях, в alife_ файлах (для даного прикладу файл alife_zaton.ltx) додаємо наступну секцію спавна: (примітка від Freezer: у наведеному нижче коді імена та стартові координати вказані для рівня Затон, сам перехід розташований лівій верхній області карти рівня праворуч від доріжки, а кінцеві координати для підключеного рівня Янтар, ГГ з'являється у бункері у Сахарова)

[1] 
; cse_abstract properties 
section_name = level_changer 
name = yan_actor_arrive_walk- уникальное имя
position = -278.19274902344,12.461790084839,621.68505859375 - координаты перехода
direction = 0,0,0 
cse_abstract__unk1_h16 = 0x1 
; cse_alife_object properties 
game_vertex_id = 33  – геймвертексы перехода
distance = 0
level_vertex_id = 389502  – левелвертексы перехода
object_flags = 0xffffff3e
; cse_shape properties 
shapes = shape0 
shape0:type = box 
shape0:axis_x = 1.25219917297363,0,0 
shape0:axis_y = 0,3.09340000152588,0 
shape0:axis_z = 0,0,1.25219917297363 
shape0:offset = 0,0,0 
; cse_alife_space_restrictor properties 
restrictor_type = 3 
; cse_alife_level_changer properties 
dest_game_vertex_id = 934 – геймвертексы локи на которую ведет переход
dest_level_vertex_id = 73102 - левелвертексы локи на которую ведет переход
dest_position = 28.876106262207,-11.706871032715,-277.9711303710 - позиция куда кидает
dest_direction = 0,0,0 - поворот гг
dest_level_name = l07_yantar - на какую локу кидает
dest_graph_point = start_actor_01
silent_mode = 1 
; se_level_changer properties

Змінюємо лише ті місця, які я прокоментував, коментарі відповідно видаляємо. Кінець цитати: Отже, сам перехід ми створили можна зібрати all.spawn і перевірити працездатність переходу. Перейдемо до наступного етапу.

 

Акт другий, Гламурний 😉

Перехід ми зібрали, ось тільки він невидимий, тому додамо гламуру і поставимо на місце переходу всім відому аномалію «Просторова Пузир» aka кулька-телепортатор. Знову відкриваємо alife_zaton.ltx (бо перехід ми розмістили на ньому) і додаємо наступну секцію:

[2]
; cse_abstract properties
section_name = space_restrictor
name = zat_teleport_sphere_to_yan – уникальное имя секции
position = -278.19274902344,12.461790084839,621.68505859375 – координаты шарика (они точно соответствуют координатам созданного нами ранее перехода)
direction = 0,0,0
 
; cse_alife_object properties
game_vertex_id = 33 –геймвертекс шарика (соответствует геймвертексу перехода)
distance = 0
level_vertex_id = 389502 –левелвертекс шарика (соответствует левелвертексу перехода)
object_flags = 0xffffff3e
custom_data = <<END
[logic]
cfg = scripts\zaton\zat_teleport_sphere.ltx – уникальное имя используемого скрипта
END
 
; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 1.40499997138977
 
; cse_alife_space_restrictor properties
restrictor_type = 3

Зберігаємо файл (якщо юзалі контрол+це контрол+ве незабутній видалити коментарі).

Відкриваємо way_zaton.ltx до нього додаємо наступну секцію:

[zat_teleport_sphere_to_yan]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -278.19274902344,12.461790084839,621.68505859375
p0:game_vertex_id = 33
p0:level_vertex_id = 389502

Думаю, що коментарі за координатами не потрібні. Зверніть увагу на ім'я секції, що відповідає унікальному імені в alife файлі. Все, поки з alife та way ми закінчили, можна зібрати all.spawn

Далі необхідно створити скрипт для кульки, ім'я скрипту ми вказали в alife файлі. Отже, у папці з грою в gamedata\configs\scripts\zaton створюємо файл zat_teleport_sphere.ltx . У файлі пишемо:

[logic]
active = sr_particle@ zat_teleport_sphere_to_yan – имя активного партикла
 
[sr_particle@ zat_teleport_sphere_to_yan] – собственно начало самого партикла
name = anomaly2\anomaly_spatial_bubble_idle
path = zat_teleport_sphere_to_yan – имя секции в way файле в которой описан шарик
mode = 2
looped = true

Зберігаємо файл вказаним шляхом, згадуємо що юзалі cntrl+c, cntr+v, знову відкриваємо файл і видаляємо мої коментарі 😉

Якщо все зроблено правильно, то можна запустити гру і насолодитися найкрасивішим явищем, аномалією «Просторова Пузир», розташованою в точці нашого переходу.

 

Акт третій, Ледачий

Отже, перехід створений, візуалізований і радує нас своєю красою та функціональністю, але думаю, що за час усіх перевірок ви вже добряче стерли кнопки на клаві, бігаючи по зоні пішки туди-сюди, тому, як казав один відомий пендоський мільйонер: «Я так добре виглядаю тому, що я ніколи не стояв якщо можна сидіти і ніколи не сидів якщо можна лежати». Ну ось, ми запустили нову гру, давайте пробіжимо трохи прямо. Хто це? Опа, нам на зустріч йдуть кілька неписів. З розмови ми дізнаємося, що за енну суму бабла вони можуть нас відвести хоч на край світу, та ось досада ці два віслюки з автоматами нічерта не знають про нашу прекрасну аномалію «Просторовий Міхур». Навіщо ж стала справа? Давайте просвітимо невігласів, і в майбутньому будемо на законних підставах користуватися їхніми послугами. Злочинимо. Для початку знову заміряємо координати на території куди нас приведуть npc (я зняв координати на пару метрів ліворуч від самої аномалії). Далі у файлі alife_zaton.ltx додамо наступну секцію:

[3]
; cse_abstract properties
section_name = smart_terrain
name = zat_b1000 – уникальное имя смарт террана на который нас приведут неписи
position = -317.98794555664,19.28000831604,608.48858642578 –координаты конечной точки на которую нас приведут неписи
direction = 0,0,0
 
; cse_alife_object properties
game_vertex_id = 212
distance = 0
level_vertex_id = 314120
object_flags = 0xffffff3e
custom_data = <<END
[smart_terrain]
cfg = scripts\zaton\smart\zat_b1000.ltx – уникальное имя используемого скрипта
END
 
; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 2
 
; cse_alife_space_restrictor properties
restrictor_type = 3
 
; se_smart_terrain properties

Зберігаємо файл.

Відкриваємо way_zaton.ltx Додаємо наступні секції:

У даній секції пишемо координати, куди нас повинні привести

[zat_b1000_traveller_actor] ;Это координаты по которых после телепорта будет спаунится ГГ, пишутся они так [Имя_смарта_traveller_actor]
points = p0
p0:name = wp00
p0:position = -317.98794555664,19.28000831604,608.48858642578
p0:game_vertex_id = 212
p0:level_vertex_id = 314120

Всі секції, наведені нижче це - вейпойнти для супроводжуючих неписів, вони потрібні інакше ніхто нікуди не йде, а всі стоять і тупо женуть один на одного приблизно так:

ГГ: Я ж тобі сволота грошей дав, пішли!

Непис: Та ліворуч мені якось… ГГ: Тоді бабло поверни!!!! Непис: Яке таке бабло? У цей час двигун вже відключив аї і управління, і як результат, ГГ вирує від злості за те, що його банально кинули на бабці, але навіть в пику неписю дати не може, а той, худоба, стоїть і посміхається. Ось таку картину я бачив поки не додав наведені нижче секції. Координати в них я не змінював, а секції банально скопіював з іншого місця, тому я йду до аномалії «Просторовий Міхур», а супроводжуючі неписи "йдуть лісом", тобто до аномалії кіготь (для бажаючих бачити провідників поруч із собою в кінцевій точці прибуття , невелике домашнє завдання з доопрацювання координат у наведених нижче секціях)

[zat_b1000_traveller_squad] ; Это координаты по которых после телепорта будут спаунится НПС, пишутся они [имя_смарта_traveller_squad]
points = p0,p1
p0:name = wp00
p0:position = -24.9449501037598,1.29261004924774,-196.022598266602
p0:game_vertex_id = 56
p0:level_vertex_id = 895313
p0:links = p1(1)
 
p1:name = wp01
p1:position = -26.4207763671875,1.04062795639038,-194.030059814453
p1:game_vertex_id = 56
p1:level_vertex_id = 892596
 
;;; Ниже Приведени не совсем нужные вейпоинты, это уже работа для НПС на самом смарте. Если у вас на смарте уже есть работа, то эти секции ниже не нужны. 
;;; В принципе если даже работ на смарте нет, то работать будет, НПС в ужасе разбегутся на пару метров и будут тупо по тупому сидеть =).
 
[zat_b1000_walker_1_look]
points = p0
p0:name = wp00|a=sit_ass
p0:flags = 0x1
p0:position = -35.1018524169922,0.350845992565155,-193.619186401367
p0:game_vertex_id = 56
p0:level_vertex_id = 876236
 
 
[zat_b1000_walker_1_walk]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -33.450439453125,0.419611006975174,-192.414947509766
p0:game_vertex_id = 56
p0:level_vertex_id = 879043
 
 
[zat_b1000_walker_2_look]
points = p0
p0:name = wp00|a=sit
p0:flags = 0x1
p0:position = -35.8835983276367,0.317862987518311,-193.98469543457
p0:game_vertex_id = 56
p0:level_vertex_id = 874818
 
 
[zat_b1000_walker_2_walk]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -35.9317092895508,0.310889005661011,-191.664642333984
p0:game_vertex_id = 56
p0:level_vertex_id = 874821
 
 
[zat_b1000_walker_3_look]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -35.1221542358398,0.349720001220703,-193.500946044922
p0:game_vertex_id = 56
p0:level_vertex_id = 876237
 
 
[zat_b1000_walker_3_walk]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -33.0930519104004,0.432388007640839,-191.15592956543
p0:game_vertex_id = 56
p0:level_vertex_id = 880435

Зберігаємо файл. ЗИ: видаліть мої коментарі при складанні all.spawn ! Можна збирати all.spawn .

Тепер згадаємо про те, що ми згадували якийсь унікальний скрипт, тож створимо його. У папці з грою gamedata\configs\scripts\zaton\smart створимо файл zat_b1000.ltx У ньому пишемо:

[smart_terrain]
squad_id = 32
max_population = 1
 
[exclusive]
;;; Секции которые здесь были я удалил потому-что это вообще эксклюзивные работы НПС в смарте, и они здесь не нужны(именно те которые были тут).

З вмістом файлу розбиратися часу не було, працює і добре, воно тупо скопійоване з іншого подібного файлу, так що ось вам ще одне домашнє завдання: розберіться для чого потрібні останні 3 рядки в цьому файлі. (Так я ледар ну і що 😉 прим. автора)

Далі в папці з розпакованою геймдатою gamedataconfigstextrus , знаходимо файл st_land_names.xml і кладемо його в папку з грою шлях gamedataconfigstextrus . Відкриваємо скопійований файл і додаємо до нього наступну секцію:

<string id="st_zat_b1000_name">
		<text>Пространственный Пузырь</text>

Зберігаємо файл.

Далі чухаємо в папку з розпакованою геймдатою, там в gamedataconfigsmisc знаходимо travel_manager.ltx і за аналогією з попереднім файлом копіюємо його в папку з грою. Відкриваємо travel_manager.ltx Знаходимо секції: «ідентифікатор st_<ком'юніті>_zaton_smart_name_1» Пишемо туди:

zat_b1000 = st_stalker_zat_b1000

Далі нижче знаходимо:

[traveler]; Список точок, куди провідники можуть відвести за бабоси. 
zat_stalker_base_smart; name смарта

і пишемо туди:

zat_b1000

Ну і наприкінці:

[zat_b1000] 
level = zaton
name = st_zat_b1000_name
condlist = true

Все, зберігаємо та запускаємо гру!!!!


   
Цитата