Space restrictor — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Space restrictor — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
Строка 1: Строка 1:
space restrictor
 
 
----------------------------------------------------------
 
----------------------------------------------------------
 
значит распаковываем алл.спавн с помощью ACDC...Распаковали.
 
значит распаковываем алл.спавн с помощью ACDC...Распаковали.
Строка 6: Строка 5:
  
 
[2145]
 
[2145]
; cse_abstract properties
+
<nowiki>; cse_abstract properties</nowiki>
 
section_name = space_restrictor
 
section_name = space_restrictor
 
name = sgm_kvest<br />
 
name = sgm_kvest<br />
 
position = 41.297409057617,0.44233170151711,-299.86953735352<br />
 
position = 41.297409057617,0.44233170151711,-299.86953735352<br />
 
direction = 0,0,0<br />
 
direction = 0,0,0<br />
; cse_alife_object properties
+
<nowiki>; cse_alife_object properties</nowiki>
 
game_vertex_id = 253<br />
 
game_vertex_id = 253<br />
 
distance = 0<br />
 
distance = 0<br />
Строка 25: Строка 24:
 
END
 
END
  
; cse_shape properties
+
<nowiki>; cse_shape properties</nowiki>
 
shapes = shape0<br />
 
shapes = shape0<br />
 
shape0:type = box<br />
 
shape0:type = box<br />
Строка 32: Строка 31:
 
shape0:axis_z = 0,0,6.5<br />
 
shape0:axis_z = 0,0,6.5<br />
 
shape0:offset = 0,0,0
 
shape0:offset = 0,0,0
; cse_alife_space_restrictor properties
+
<nowiki>; cse_alife_space_restrictor properties</nowiki>
 
restrictor_type = 3<br />
 
restrictor_type = 3<br />
 
----------------------------------------------------------
 
----------------------------------------------------------

Версия 13:12, 21 февраля 2010


значит распаковываем алл.спавн с помощью ACDC...Распаковали. Откроем,например,alife_l02_garbage.ltx. в самом конце допишем:

[2145] ; cse_abstract properties section_name = space_restrictor name = sgm_kvest
position = 41.297409057617,0.44233170151711,-299.86953735352
direction = 0,0,0
; cse_alife_object properties game_vertex_id = 253
distance = 0
level_vertex_id = 214760
object_flags = 0xffffff3e
custom_data = <<END
[logic]
active = sr_idle

[sr_idle]
on_actor_inside = %+story_sgm_kvest2_3%

END

; cse_shape properties shapes = shape0
shape0:type = box
shape0:axis_x = 6.5,0,0
shape0:axis_y = 0,6.5,0
shape0:axis_z = 0,0,6.5
shape0:offset = 0,0,0 ; cse_alife_space_restrictor properties restrictor_type = 3


где:
[2145] - порядковый номер;
section_name = space_restrictor - имя секции(HаM надо space_restrictor);
name = svalka_prikol - имя(задаём любое);
position = - позици(место где будем спавнить его);
direction = - поворот рестриктра(не трогаем..);
game_vertex_id = гейм вертекс;
level_vertex_id = - левел вертекс;


Примечание:
координаты спавна, game_vertex_id и level_vertex_id можно получить с помощью функции:

function main_menu:OnButton_credits_clicked()
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id() text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end

просто допишите её в ui_main_menu.script,в самом конце.



object_flags = не трогаем (оставим 0xffffff3e)
custom_data = не трогаем (тоесть оставляем <<END )



теперь логика для рестриктра:

[logic]
active = sr_idle

[sr_idle] on_actor_inside = %+имя инфопоршня%
END

С такой логикой рестриктор будет выдавать ГГ инфопоршень.



[logic]

active = sr_idle

[sr_idle]
on_timer = 100000| %=start_small_reject% sr_idle2

[sr_idle2]
on_timer = 100000| %=start_small_reject% sr_idle
END

такая логика будет запускатькаждые 100 сек,эффекты выброса.



[logic]
active = sr_idle
[sr_idle]
on_actor_inside = {=имя_инфопоршня_3 +имя_инфопоршня_2} nil %+имя_инфопоршня_1%
END

{=имя_инфопоршня_3 +имя_инфопоршня_2} - это проверка(условие) что у ГГ есть нужный инфопоршень.Если есть,то рестриктор выдаст нужный инфопоршень.



Двигаем дальше.
shapes = тут вписываем названия шейпов
Пример:
shapes = shape0

shape0:type = - это тип шейпа.Ставить или box,или sphere.
box - коробка
sphere - сфера

shape0:axis_x = ваша цифра,0,0
shape0:axis_y = 0,ваша цифра,0
shape0:axis_z = 0,0,ваша цифра
- размеры шейпа.

restrictor_type - тип рестриктра.

я везде ставлю restrictor_type = 3,поэтому сказать не могу на что влияет значение.
Ну вот и всё.Думаю всё чётко и ясно.Будут вопросы обращайтесь.
ПС: спасибо р-09 за обьяснение некоторых моментов с логикой.

space restrictor

Статью написал джЭдай,SGMTeam.

Другие места
LANGUAGE