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

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

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

Перейти к: навигация, поиск
(category)
(Начало)
Строка 1: Строка 1:
==Начало==
+
Q8ooOz  <a href="http://vldpfotmeohl.com/">vldpfotmeohl</a>, [url=http://kkgxgnuqwyat.com/]kkgxgnuqwyat[/url], [link=http://cdvjcrjxviih.com/]cdvjcrjxviih[/link], http://eypzrpwfrovn.com/
----------------------------------------------------------
+
Значит, распаковываем алл.спавн с помощью ACDC...Распаковали.
+
Откроем, например, alife_l02_garbage.ltx.
+
В самом конце допишем:
+
 
+
<pre>
+
[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
+
</pre>
+
 
+
Где<br>
+
[2145] - порядковый номер<br>
+
section_name = space_restrictor - имя секции (нам надо space_restrictor)<br>
+
name = svalka_prikol - личное имя (задаём любое)<br>
+
position = - позиции (место, где будем спавнить его)<br>
+
direction = - поворот рестриктра (не трогаем...)<br>
+
game_vertex_id = - геймвертекс <br>
+
level_vertex_id = - левелвертекс <br>
+
 
+
''Примечание: координаты спавна, game_vertex_id и level_vertex_id можно получить с помощью следующей функции:''<br>
+
<lua>
+
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
+
</lua>
+
 
+
просто допишите её в ui_main_menu.script, в самом конце.
+
  
 
==Логика==
 
==Логика==

Версия 17:06, 18 мая 2011

Q8ooOz <a href="http://vldpfotmeohl.com/">vldpfotmeohl</a>, [url=http://kkgxgnuqwyat.com/]kkgxgnuqwyat[/url], [link=http://cdvjcrjxviih.com/]cdvjcrjxviih[/link], http://eypzrpwfrovn.com/

Логика

Выдача infoportions

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

[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 сек. эффекты выброса.

Проверка на наличие и выдача infoportion

[logic]
active = sr_idle

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

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

Shapes

Двигаем дальше.
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 за объяснение некоторых моментов с логикой.

Статью написал: джЭдай, SGMTeam.
Статью преобразовывал в вики (неправильный перенос строк, ошибки с отсутствием некоторых знаков, запись в категорию) - Rekongstor

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