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

SoC. Respawn предметів


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

Respawn предметів.

Респавн предметів в інвентарних ящиках, дещо відрізняється від способу респавна NPC.


1. Перше, що нам потрібно зробити, це створити інвентарну скриньку у файлі "all.spawn":

 
[ 10000 ]
 ; cse_abstract properties 
section_name = inventory_box 
name =   ім'я скриньки 
position = координати x,y,z 
direction = 0 , 0 , 0 
 
; cse_alife_object properties 
game_vertex_id = гейм-вертекс 
distance = 0 level_vertex_id = левел-вертекс object_flags = 0xffffffba 


 
story_id = стори ай-ді ящика
 
; cse_visual properties 
visual_name = equipments\item_box_01
 

 


2. Потім у файлі game_story_id.ltx реєструємо story_id ящика. (Вибираємо будь-яке вільне число).


3. Створюємо респавнер у файлі all.spawn . Координати та розміри зони респавнера повинні бути такими, щоб інвентарна скринька помістилася всередині зони респавнера:

 
[ 10001 ]
 ; cse_abstract properties 
section_name = respawn 
name = ім'я_споживача 
position = координати x,y,z 
direction = 0 , 0 , 0 
 
; cse_alife_object properties
 game_vertex_id = гейм -
 вертекс distance = 2 level_vertex_id = левел - вертекс object_flags = 0xffffff3e custom_data = << END [ respawn ] respawn_section = список речей респавна idle_spawn true max_count = 7 





 


 
END
 
; cse_shape
 properties shapes = shape0 shape0 
: type = box 
shape0 
: axis_x = 0.5 , 0 , 0 ; 
( ширина зони респавнера , по X ) _ _ _ _ , 1 ;(ширина зони респавнера, Z) 
shape0: offset = 0 , 0 , 0               
 
; cse_alife_space_restrictor properties 
restrictor_type = 3 
 
; se_respawn properties
 

Де:
respawn_section = список речей респавна, як їх спавн - секцій. Як і респавнерах неписей, можлива прописка співвідношень між речами.
Наприклад: respawn_section = wpn_pm,2, vodka,2, medkit,1, energy_drink,2, ammo_9x18_fmj,3

idle_spawn = тип спавна. Інвентар немає типів спавна, тому ставиться (-1).

parent = Story_id інвентарного ящика (з game_story_id.ltx), в якому виробляти респавн речей .

item_spawn = (true \ false) можливість включення та відключення респавна. Можна задавати умови, наприклад, інфопоршнем або функцією (зрозуміло прописаною в xr_conditions.script).

max_count = кількість респав-циклів за певний період. (Поки РР знаходиться на локації. Після переходу РР на іншу локацію, лічильник скидається).


4. Створюємо виклик респовна. Зазвичай дзвінок здійснюється з smart_terrain . У "custom_data" будь-якого відповідного smart_terrain , під секцією [smart_terrain], вписуємо виклик респавна:

 
[ smart_terrain ]
 respawn = ім'я респавнера
 

І респавн вироблятиметься, при кожному поповненні нпс, під даним смартом.


   
Цитата