<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://stalkerin.gameru.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=176.49.85.156&amp;*</id>
		<title>S.T.A.L.K.E.R. Inside Wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=176.49.85.156&amp;*"/>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/176.49.85.156"/>
		<updated>2026-04-29T15:08:51Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Space_restrictor</id>
		<title>Space restrictor</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Space_restrictor"/>
				<updated>2014-12-21T14:11:43Z</updated>
		
		<summary type="html">&lt;p&gt;176.49.85.156: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Начало==&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
Значит, распаковываем алл.спавн с помощью ACDC...Распаковали.&lt;br /&gt;
Откроем, например, alife_l02_garbage.ltx.&lt;br /&gt;
В самом конце допишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
[2145]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = space_restrictor&lt;br /&gt;
name = sgm_kvest&lt;br /&gt;
position = 41.297409057617,0.44233170151711,-299.86953735352&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 253&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 214760&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_idle&lt;br /&gt;
[sr_idle]&lt;br /&gt;
on_actor_inside = %+story_sgm_kvest2_3%&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties&lt;br /&gt;
shapes = shape0&lt;br /&gt;
shape0:type = box&lt;br /&gt;
shape0:axis_x = 6.5,0,0&lt;br /&gt;
shape0:axis_y = 0,6.5,0&lt;br /&gt;
shape0:axis_z = 0,0,6.5&lt;br /&gt;
shape0:offset = 0,0,0&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
restrictor_type = 3&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Где&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;[2145] - порядковый номер&lt;br /&gt;
section_name = space_restrictor - имя секции (нам надо space_restrictor)&lt;br /&gt;
name = svalka_prikol - личное имя (задаём любое)&lt;br /&gt;
position = - позиции (место, где будем спавнить его)&lt;br /&gt;
direction = - поворот рестриктра (не трогаем...)&lt;br /&gt;
game_vertex_id = - геймвертекс &lt;br /&gt;
level_vertex_id = - левелвертекс&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы хотите сделать сферический space_restrictor, то вместо &lt;br /&gt;
&amp;lt;code&amp;gt;shape0:axis_x = 6.5,0,0&lt;br /&gt;
shape0:axis_y = 0,6.5,0&lt;br /&gt;
shape0:axis_z = 0,0,6.5&lt;br /&gt;
shape0:offset = 0,0,0&amp;lt;/code&amp;gt;&lt;br /&gt;
пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;shape0:offset = 0,0,0&lt;br /&gt;
shape0:radius = 44.6438484191895&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Примечание: координаты спавна, game_vertex_id и level_vertex_id можно получить с помощью следующей функции:''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function main_menu:OnButton_credits_clicked()&lt;br /&gt;
if level.present() and (db.actor ~= nil) and db.actor:alive() then&lt;br /&gt;
	local vid = db.actor:level_vertex_id()&lt;br /&gt;
	local gvid = db.actor:game_vertex_id()&lt;br /&gt;
	local a = db.actor:position()&lt;br /&gt;
	local text = &amp;quot;Позиция:\\nX = &amp;quot;..a.x..&amp;quot;\\nY = &amp;quot;..a.y..&amp;quot;\\nZ = &amp;quot;..a.z..&amp;quot;\\nlevel_vertex_id = &amp;quot;..vid..&amp;quot;\\ngame_vertex_id = &amp;quot;..gvid&lt;br /&gt;
	news_manager.send_tip(db.actor, text, nil, nil, 30000)&lt;br /&gt;
	self:OnButton_return_game()&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
просто допишите её в ui_main_menu.script, в самом конце.&lt;br /&gt;
&lt;br /&gt;
==Логика==&lt;br /&gt;
&lt;br /&gt;
===Выдача infoportions===&lt;br /&gt;
Теперь логика для рестриктора:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_idle&lt;br /&gt;
&lt;br /&gt;
[sr_idle]&lt;br /&gt;
on_actor_inside = %+имя инфопоршня%&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С такой логикой рестриктор будет выдавать ГГ инфопоршень.&lt;br /&gt;
&lt;br /&gt;
===Эффекты выброса===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_idle&lt;br /&gt;
&lt;br /&gt;
[sr_idle]&lt;br /&gt;
on_timer = 100000| %=start_small_reject% sr_idle2&lt;br /&gt;
&lt;br /&gt;
[sr_idle2]&lt;br /&gt;
on_timer = 100000| %=start_small_reject% sr_idle&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такая логика будет запускать каждые 100 сек. эффекты выброса.&lt;br /&gt;
&lt;br /&gt;
===Проверка на наличие и выдача infoportion===&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_idle&lt;br /&gt;
&lt;br /&gt;
[sr_idle]&lt;br /&gt;
on_actor_inside = {+test_condition} nil %+test_result%&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''{+test_condition}'' - это проверка (условие) наличия у ГГ инфопоршня ''test_condition''. Если у ГГ данный инфопоршень есть, то рестриктор выдаст новый инфопоршень (''test_result'').&lt;br /&gt;
&lt;br /&gt;
==Shapes==&lt;br /&gt;
Двигаем дальше.&amp;lt;br&amp;gt;&lt;br /&gt;
shapes = тут вписываем названия шейпов&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
shapes = shape0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shape0:type = - это тип шейпа. Ставить или box,или sphere.&lt;br /&gt;
box - коробка&lt;br /&gt;
sphere - сфера&lt;br /&gt;
&lt;br /&gt;
shape0:axis_x = ваша цифра,0,0&lt;br /&gt;
shape0:axis_y = 0,ваша цифра,0&lt;br /&gt;
shape0:axis_z = 0,0,ваша цифра&lt;br /&gt;
- это размеры шейпа.&lt;br /&gt;
&lt;br /&gt;
restrictor_type - тип рестриктра.&amp;lt;/code&amp;gt;&lt;br /&gt;
Про тип рестрикторов можно подробно посмотреть тут: [[Resrtictor type]].&amp;lt;br /&amp;gt;&lt;br /&gt;
Ну вот и всё.Думаю всё чётко и ясно.Будут вопросы обращайтесь.&amp;lt;br /&amp;gt;&lt;br /&gt;
ПС: спасибо р-09 за объяснение некоторых моментов с логикой.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Статью написал:&lt;br /&gt;
'''джЭдай, SGMTeam.'''&amp;lt;br&amp;gt;&lt;br /&gt;
Статью преобразовывал в вики (неправильный перенос строк, ошибки с отсутствием некоторых знаков, запись в категорию) - '''Rekongstor'''&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные файлы]] [[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>176.49.85.156</name></author>	</entry>

	</feed>