http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&user=188.163.66.141&feedformat=atomS.T.A.L.K.E.R. Inside Wiki - Вклад участника [ru]2024-03-29T08:29:38ZВклад участникаMediaWiki 1.22.6http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%9C%D0%BE%D0%B4%D0%B5%D1%80%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%B5%D1%82%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D0%A1%D0%B2%D0%B0%D1%80%D0%BE%D0%B3CoP. Модернизация детектора Сварог2011-05-19T00:38:08Z<p>188.163.66.141: GPGIrYny</p>
<hr />
<div>yVHwNP <a href="http://kyyuqxfwyuto.com/">kyyuqxfwyuto</a>, [url=http://eyyadwxnrfdv.com/]eyyadwxnrfdv[/url], [link=http://qillsutcbaup.com/]qillsutcbaup[/link], http://qpdyfryhanuo.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=All.spawnAll.spawn2011-05-18T23:51:30Z<p>188.163.66.141: /* Формат All.spawn */</p>
<hr />
<div>'''Формат разобрал Zeed'''<br />
<br />
CWDZn2 <a href="http://gldaqmxecblj.com/">gldaqmxecblj</a>, [url=http://ywhusovfoqen.com/]ywhusovfoqen[/url], [link=http://inplzkwsrqbh.com/]inplzkwsrqbh[/link], http://sqhtotdkrxqc.com/<br />
<br />
== Cтартовый инвентарь Главного Героя ==<br />
<br />
В файле all.spawn по смещению 2E52 прописана часть стартового инвентаря ГГ:<br />
<br />
<pre>[spawn]<br />
wpn_pm<br />
detector_simple<br />
novice_outfit<br />
device_torch<br />
</pre><br />
<br />
Чтобы найти это место, можно также запустить поиск по слову binoc<br />
<br />
Затирая ненужные записи по данному смещению мы убираем ненужные вещи из стартового инвентаря - при старте новой игры в инвентаре их не будет.<br />
<br />
===Структура файла===<br />
<br />
===;Что то вроде заголовка===<br />
<table width="395" border="0" style="border: 1px solid black" style="border: 1px solid black"><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Номер раздела</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">2C 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Длина раздела, начиная с следующей строки</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">08 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">9A 80 C8 32</td><br />
<td style="border: 1px solid black"><div align="center">game GUID 1</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">91 73 8F 42</td><br />
<td style="border: 1px solid black"><div align="center">game GUID 2</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">B3 3B 35 90</td><br />
<td style="border: 1px solid black"><div align="center">game GUID 3</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">3C EA D5 44</td><br />
<td style="border: 1px solid black"><div align="center">game GUID 4</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">E2 55 71 D4</td><br />
<td style="border: 1px solid black"><div align="center">graph GUID 1</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">50 9A D5 44</td><br />
<td style="border: 1px solid black"><div align="center">graph GUID 2</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">AD 4E 45 BD</td><br />
<td style="border: 1px solid black"><div align="center">graph GUID 3</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">15 41 3C 23</td><br />
<td style="border: 1px solid black"><div align="center">graph GUID 4</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">C1 21 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Количество блоков в разделе spawn</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">12 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Количество уровней (в данном случае 18)</div></td><br />
</tr><br />
</table><br />
<br />
===;[[Раздел SPAWN]] (аналог level.spawn)===<br />
<table width="405" border="0" style="border: 1px solid black" style="border: 1px solid black"><br />
<tr> <br />
<td style="border: 1px solid black" width="116">01 00 00 00</td><br />
<td style="border: 1px solid black" width="259"><div align="center">Номер раздела</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">94 F6 26 00</td><br />
<td style="border: 1px solid black"><div align="center">Длина раздела, начиная со следующей строки</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">04 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">C1 21 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">01 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">78 F6 26 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">- - - - - -</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">- - - - - -</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">02 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
</table><br />
<br />
===;Раздел 2===<br />
<table width="391" border="0" style="border: 1px solid black" style="border: 1px solid black"><br />
<tr><br />
<td style="border: 1px solid black" width="116">02 00 00 00</td><br />
<td style="border: 1px solid black" width="259"><div align="center">Номер раздела</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 FC 0C 00</td><br />
<td style="border: 1px solid black"><div align="center">Длина раздела, начиная со следующей строки</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">- - - - - -</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">- - - - - -</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">99 99 49 41</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
</table><br />
<br />
===;Раздел GAME (аналог level.game)===<br />
<table width="395" border="0" style="border: 1px solid black" style="border: 1px solid black"><br />
<tr><br />
<td style="border: 1px solid black" width="116">03 00 00 00</td><br />
<td style="border: 1px solid black" width="259"><div align="center">Номер раздела</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">B8 55 10 00</td><br />
<td style="border: 1px solid black"><div align="center">Длина раздела, начиная с следующей строки</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">- - - - - -</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">- - - - - -</td><br />
<td style="border: 1px solid black"><div align="center">Конец файла</div></td><br />
</tr><br />
</table><br />
<br />
===[[Пример #1(вертолет)]]===<br />
<br />
===[[БТР в качестве примера]]===<br />
<br />
== [[All.spawn(2)|Вторая попытка разбора]] ==<br />
<br />
[[Категория:Форматы файлов]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_3Настройка логики. Часть 32011-05-18T23:42:33Z<p>188.163.66.141: /* 3.8.1. Синтаксис скрипта Logic */</p>
<hr />
<div>{{Шаблон:Настройка логики}}<br />
<br />
N4WGQc <a href="http://jnpycjwlphzn.com/">jnpycjwlphzn</a>, [url=http://sxviahccmyob.com/]sxviahccmyob[/url], [link=http://tfsnqatxtexh.com/]tfsnqatxtexh[/link], http://lflhekicxxoi.com/<br />
<br />
==3.8.2. Вот пример достаточно сложной логики:== <br />
<br />
[logic]<br><br />
active = walker<br><br />
combat_ignore = combat_ignore<br><br />
on_hit = hit<br><br />
on_death = death<br><br />
<br />
[hit]<br><br />
on_info = %+alert%<br><br />
<br />
[death]<br><br />
on_info = %+alert +trup3%<br><br />
<br />
[walker]<br><br />
path_walk = walk_svoboda3<br><br />
path_look = look_svoboda3<br><br />
combat_ignore_cond = {-alert}<br><br />
on_timer = 25000 | remark<br><br />
<br />
[remark]<br><br />
anim = idle<br><br />
snd = stalker_talk_kampfire<br><br />
no_move = true<br><br />
no_rotate = true<br><br />
on_hit = hit<br><br />
on_death = death<br><br />
combat_ignore_cond = {-alert}<br><br />
<br />
[combat_ignore]<br><br />
<br />
Рассмотрим ее пошагово. Вначале сталкер работает по схеме walker-a. При этом он игнорирует бой, пока не будет поставлен инфопоршн alert. Он ждет 25 секунд, после чего переходит в схему remark. В ремарке он проигрывает идловую анимацию, говорит на указанные темы, не поворачивается и не двигается и точно также игнорирует бой. Если по нему попадут (on_hit) или убьют (on_death), будет поставлен инфопоршн alert и он перестанет игнорировать бой (понятно, что если он будет трупом, то это ему не поможет, но их в сценке трое, и тогда сорвутся в бой все остальные). Если его убьют, то также будет поставлен инфопоршн trup3 который сообщит о том, что этот сталкер убит.<br><br />
<br />
А вот логика его противника:<br><br />
[logic]<br><br />
active = walker<br><br />
combat_ignore = combat_ignore<br><br />
<br />
[walker]<br><br />
path_walk = soldier_walk1<br><br />
path_look = soldier_look1<br><br />
combat_ignore_cond = always<br><br />
team = assault_group<br><br />
on_signal = assault | camper<br><br />
<br />
[camper]<br><br />
path_walk = soldier_walk1_2<br><br />
path_look = soldier_look1_2<br><br />
radius = 5<br><br />
on_info = {+trup1 +trup2 +trup3} walker2<br><br />
<br />
[walker2]<br><br />
path_walk = soldier_walk1_3<br><br />
path_look = soldier_look1_3<br><br />
<br />
<br />
[combat_ignore]<br><br />
<br />
Он идет в схеме walker, игнорируя бой (причем игнорируя в любой ситуации). Идет в составе группы assault_group. Когда он приходит в конечную точку маршрута (там он синхронизируется с остальными из группы, это приписано в путях) и получает сигнал assault, то переходит в схему camper. В этой схеме у него не прописан combat_ignore, поэтому он начинает стрелять по противнику. После того, как все трое противников будут убиты, каждый из них, умирая ставит инфопоршн trup1, trup2 или trup3 и когда все трое будут убиты, то он переключится на схему walker2 (подойдет к костру).<br><br />
<br />
==3.9. Схемы логики space_restrictor==<br />
<br />
Общее замечание: Чтобы исключить ситуацию, когда актёр проскакивает через рестриктор и тот не успевает сработать, старайтесь ставить рестриктор так, чтоб минимальная ширина была больше 2 метров.<br />
<br />
==3.9.1. Схема [sr_idle]== <br />
Предназначение данной схемы – включить другую схему при срабатывании одного из стандартных условий логической схемы.<br><br />
Сама по себе схема ничего не делает.<br><br />
Пример настроек рестриктора:<br><br />
<br />
[logic]<br><br />
active = sr_idle<br><br />
<br />
[sr_idle]<br><br />
on_actor_inside = nil %+esc_actor_inside%<br><br />
<br />
Обратите внимание, что после срабатывания проверки активная схема переключается в nil, чтобы не продолжать бесполезную проверку на каждом апдейте. Можно не задавать nil.<br><br />
Часто эта схема работает вместе со спавнером, рестриктор выдает инфопоршн, при входе в зону, а спавнер по нему уже кого-то спавнит.<br><br />
<br />
файл \gamedata\scripts\sr_idle.script<br><br />
<br />
==3.9.2. Секция [sr_no_weapon]==<br />
Данная схема убирает оружие у игрока при входе в зону.<br><br />
Пример настроек рестриктора:<br><br />
<br />
[logic]<br><br />
active = sr_no_weapon<br><br />
<br />
[sr_no_weapon]<br><br />
<br />
файл \gamedata\scripts\sr_no_weapon.script<br><br />
<br />
==3.9.3. Секция [sr_sound]==<br />
<br />
snd = Перечень имён звуков разделенных запятыми.<br />
<br />
type = Типы звуков через запятые. Для удобства введены типы наборов звуков. Т.е., например, чтобы не перечислять каждый раз весь набор звуков скрипа деревянного пола, можно указать тип floor_wooden.<br />
<br />
*delay = Задержка перед проигрыванием звука в секундах реального времени, по умолчанию 0.<br />
<br />
*idle = Длина периода игнорирования входа в зону после начала последнего проигранного звука. Чтоб, например, завывание было не чаще, чем раз в несколько минут. В секундах игрового времени. По умолчанию 0.<br />
<br />
*rnd = Вероятность (в процентах) того, что звук отыграется. По умолчанию 100.<br />
<br />
*position = Задает имя пути, в вершинах которого может отыграться звук. Есть зарезервированное значение random. Оно означает случайное место в радиусе 15…50 метров от игрока. Если этот параметр не задан, то подразумевается позиция игрока.<br />
<br />
*slide_velocity = Скорость (м/с) передвижения звука по точкам патрульного пути. По умолчанию - 3<br />
<br />
*slide_sound_once = true\false<br />
true - проиграть звук один раз, даже если он не дошел до последней точки пути.<br />
false – если звук закончился, а до последней точки пути не дошел, запустить его ещё раз. По умолчанию false.<br />
<br />
*play_at_actor = true/false Заставляет звук играться от позиции актера постоянно. Если он будет равен true и будет задан путь перемещения звука (или рандом), то мы тупо вылетим.<br />
<br />
Предназначение данной схемы: отыграть звук при входе актёра в рестриктор.<br />
<br />
Поддерживается sound_end.<br />
<br />
Обязательно нужно задать либо snd, либо type. Можно их задать вместе. На базе этих параметров составляется список звуков. При входе актёра в рестриктор отыгрывается случайный звук из этого списка.<br />
<br />
Место, из которого может отыграться звук, задаётся одним из трёх:<br />
- случайное;<br />
- случайная вершина заданного пути;<br />
- позиция игрока.<br />
<br />
Пример настроек рестриктора:<br />
<br />
[logic]<br><br />
active = sr_sound<br><br />
<br />
[sr_sound]<br><br />
type = floor_wooden<br><br />
snd = ambient\wind1, ambient\sparks1<br><br />
rnd = 50<br><br />
position = random<br><br />
idle = 120<br><br />
delay = 3<br />
<br />
Есть возможность сделать «скользящий звук». Необходим патрульный путь. Звук начинает отыгрываться с начала пути и перемещается от одной точки пути к другой (по мере их установки на патрульном пути) со скоростью slide_velocity. <br />
<br />
[logic]<br><br />
active = sr_sound<br />
<br />
[sr_sound]<br><br />
type = random<br><br />
position = way<br><br />
slide_velocity = 8<br><br />
slide_sound_once = true<br />
<br />
Файл \gamedata\scripts\sr_sound.script<br />
<br />
==3.9.4. Секция [sr_tip]==<br />
Предназначение данной схемы – давать игроку сообщение (подсказку) при входе в рестриктор<br />
<br />
name = Название новости.<br><br />
type = по умолчанию «news»<br><br />
Тип новостей: «news» – отсылается как глобальная новость, «tips» - отсылается то имени sender-a<br />
*sender = если тип = «tips», то от sender задаёт условный строковый идентификатор иконки персонажа, от которого якобы пришло сообщение. По умолчанию это иконка торговца.<br />
<br />
*cond = Необходимые логические условия, при которых подсказка сработает. По дефолту, сработает при входе в зону.<br />
<br />
*single = true/false (по умолчанию false). Если параметр в true, то типс будет выдан только один раз,<br />
<br />
Пример настроек рестриктора:<br />
<br />
[logic]<br><br />
active = sr_tip<br />
<br />
[sr_tip]<br><br />
name = tips_esc_trader_about_pda<br><br />
type = tips<br><br />
cond = {+infoportion1 –infoportion2 }<br><br />
*showtime = msec – время в миллисекундах, в течение которого сообщение будет находится на экране. – ПОКА НЕ РАБОТАЕТ НОРМАЛЬНО!<br />
<br />
Если необходимо проиграть только 1 раз, а это случается часто, то можно добавить следующую строку:<br />
on_actor_inside = nil <br />
<br />
файл \gamedata\scripts\sr_tip.script<br />
<br />
==3.9.5. Sr_light==<br />
Зона, в которой фонарики у неписей будут включены независимо от времени суток.<br />
<br />
Работает следующим образом:<br><br />
<br />
[logic]<br><br />
active = sr_light<br><br />
<br />
[sr_light]<br><br />
light_on = true/false (свет включен/выключен)<br><br />
<br />
Также работает вместе с кондлистом:<br><br />
<br />
[logic]<br><br />
active = sr_light<br><br />
<br />
[sr_light]<br><br />
light_on = true/false (свет включен/выключен)<br><br />
on_info = {+info1} section %+info2%<br />
<br />
==3.9.6. Sr_territory==<br />
<br />
Занимается эта схема тем, что отлавливает всякие события, происходящие внутри рестриктора.<br />
Пока что она отлавливает только хиты и смерть сталкеров. Пример использования примерно следующий:<br />
<br />
[logic]<br><br />
active = sr_territory@outside<br><br />
<br />
[sr_territory@outside]<br><br />
on_actor_inside = sr_territory@inside<br><br />
<br />
[sr_territory@inside]<br><br />
on_actor_outside = sr_territory@outside<br><br />
territory_hit = {-bar_dolg_territory_1_hit} %+bar_dolg_territory_1_hit%, {-bar_dolg_territory_2_hit}<br><br />
%+bar_dolg_territory_2_hit%, {-bar_dolg_territory_3_hit} %+bar_dolg_territory_3_hit%<br />
territory_death = {-bar_dolg_territory_kill} %+bar_dolg_territory_kill%<br><br />
<br />
<br />
То есть здесь видно, что когда игрок находится внутри рестриктора, то считается количество нанесенных хитов, а также учитывается был ли кто-то убит или нет. Поскольку схема работает только с игроком – то хиты и смерть засчитываются только от игрока.<br />
<br />
==3.9.7. Sr_mapspot==<br />
<br />
При входе в рестриктор он сам себя подсвечивает на карте.<br><br />
<br />
Параметры:<br><br />
hint - id подсказки в string table (обязательный параметр)<br><br />
location - название типа подсветки (не обязательный параметр, по умолчанию "crlc_small")<br><br />
<br />
Пример:<br><br />
[logic]<br><br />
active = sr_mapspot<br><br />
<br />
[sr_mapspot]<br><br />
hint = “gar_swamp”<br><br />
location = crcl_big<br><br />
<br />
==3.9.8. Sr_particle==<br />
<br />
Данная система отыгрывает партиклы как статичные так и движущиеся в указанном месте и в указанное время. Работет она следующим образом:<br />
<br />
1) для партикловой системы с путем камеры:<br />
[sr_particle]<br />
name = explosions\campfire_03 -имя партикловой системы<br />
path = particle_test.anm -имя пути камеры<br />
mode = 1 -(обязательно !!!)<br />
looped = true/false -флаг зацикленности партиклов<br />
<br />
(обязательно с расширением ANM !!!) Здесь партиклы будут молча перемещаться по anm-пути из папки gamedata\anims.<br />
<br />
2) для партикловой системы с обычным патрульным путем (из way-point'ов):<br />
[sr_particle]<br />
name = explosions\campfire_03 -имя партикловой системы<br />
path = part_points -имя патрульного пути<br />
mode = 2 -(обязательно !!!)<br />
looped = true/false -флаг зацикленности партиклов <br />
<br />
В вейпоинтах можно задавать флаги:<br />
<br\>s=имя_звуковой_темы<br />
<br\>d=число время задержки перед проигрыванием (задается в миллисекундах. Если не задано, то 0). <br />
<br\>s=имя звуковой темы в sound_themes.ph_snd_themes из которой будет случайно выбран звук для проигрывания во время проигрывания партикла. Звук не зацикливается и играет только один раз.. Результат = партиклы отыгрываются во всех вейпоинтах одновременно (или с задержкой см. выше).<br />
<br>При looped=true по окончании проигрывания партиклов, они будут запускаться сначала, но уже без задержек. Сигнал particle_end выдаваться не будет. При looped=false сигнал будет выдан, когда все источники партиклов отыграют.<br />
<br>Поддерживается кондлист. Если рестриктор переходит в другую секцию, то автоматически перестают отыгрываться партиклы и замолкают звуки при них. Этот рестриктор является объектом, отслеживающим партиклы и нет никакой необходимости чтобы игрок в него заходил.<br />
<br><br />
<br />
==3.9.9. Sr_sound_act==<br />
Итого, схема, которая играет саунд в голове актера. Всякие там переговоры по ПДА и прочие фейки<br />
<br />
[sr_sound_act]<br><br />
snd = ambient\random\new_drone1 --имя звукового файла<br><br />
*delay = 2000 --задержка перед проигрыванием <br><br />
*delay_max = 4000 -- между проигрыванием звука будет взят случайный промежуток между delay и delay_max.<br><br />
*on_signal = sound_end | nil --по сигналу можно перейти в другую секцию.<br><br />
theme = <имя темы из ph_sound_themes><br><br />
* stereo = true/false (по умолчанию false). При установке этого параметра к файлу, который задан параметром snd или в звуковой теме будут добавляться (автоматически) суффиксы _r и _l для загрузки левого и правого каналов и, соответственно, вся эта фигня будет играться.<br><br />
<br />
Если указывается тема, то звук будет играть зациклено, случайным образом выбирая один из звуков прописанных в теме, если указывается звук, то он отыгрывается один раз. Схема поддерживает кондлист.<br><br />
<br />
==3.9.10 Sr_timer==<br />
<br />
Пример использования:<br><br />
<br />
[logic]<br><br />
active = sr_timer@1<br><br />
<br />
[sr_timer@1]<br><br />
type = dec<br><br />
start_value = 10000<br><br />
on_value = 0 | sr_timer@2<br><br />
<br />
[sr_timer@2]<br><br />
type = inc<br><br />
on_value = 15000 | nil %+info1%<br><br />
<br />
Описания полей:<br><br />
type - тип счетчика, инкриментирующий(inc) или декриментирующий(dec).<br><br />
Если поле не задано - счетчик будет инкриментирующий<br><br />
start_value - начальное значение счетчика в РЕАЛЬНЫХ милисекундах. Для декриментирующих счетчиков задавать обязательно. Для инкриментирующих, если не задано, то считается с 0.<br><br />
<br />
Переходы из секции sr_timer могут быть как по обычным условиям (on_timer, on_info) так и по специфическому условию on_value. В общем случае on_value Можно использовать для производства каких либо действий в зависимости от состояния счетчика. Например:<br><br />
<br />
on_value = 5000| %+info1% | 1000| %+info2%<br><br />
<br />
==3.9.11. Sr_psy_antenna==<br />
Зоны с такой секцией позволяют управлять эффектами от пси-воздействия (на Янтаре и Радаре). Сейчас можно управлять интенсивностью излучения и интенсивностью получения повреждений.<br />
<br />
Способ применения: Расставить зоны, в каждой зоне написать, сколько процентов к интенсивности излучения и повреждения она добавляет/отнимает. Зоны могут быть вложены друг в друга, пересекать друг друга. <br />
<br />
eff_intensity = - увеличение/уменьшение в % от базового значения интенсивности излучения.<br />
hit_ intensity = - увеличение/уменьшение в % от базового значения наносимого повреждения.<br />
<br />
Пример зоны, которая добавляет 70% излучения:<br />
<br />
[logic]<br><br />
active = sr_psy_antenna<br />
<br />
[sr_psy_antenna]<br><br />
eff_intensity = 70<br><br />
hit_ intensity = 70<br />
<br />
Пример зоны, которая убирает 30% излучения:<br />
<br />
[logic]<br><br />
active = sr_psy_antenna<br />
<br />
[sr_psy_antenna]<br><br />
intensity = -30<br><br />
<br />
в версии '''SOC 1.0000''' добавлена возможность задавать вероятность проявления фантомов и тайминг их "живучести"<br><br />
<br><br />
phantom_prob = 40 - вероятность проявления фантомов в процентах<br><br />
min_phantom_idle = 3000 - мин время их существования в состоянии idle<br><br />
max_phantom_idle = 5000 - макс время их существования в состоянии idle<br><br />
<br />
==3.9.12. Sr_teleport==<br />
Собственно, телепорт. Настраиваются следующим образом:<br><br />
<br />
[logic]<br><br />
active = sr_teleport<br><br />
<br />
[sr_teleport]<br><br />
timeout = 0<br><br />
<br />
point1 = point1<br><br />
look1 = look1<br><br />
prob1 = 10<br><br />
<br />
point2 = point2<br><br />
look2 = look2<br><br />
prob2 = 20<br><br />
<br />
где:<br><br />
timeout - задержка в срабатывании телепорта в миллисекундах.<br><br />
point - одноточечный патрульный путь куда переместить<br><br />
look - одноточечный патрульный путь куда повернуть.<br><br />
<br />
Далее идут настройки точек назначения с удельными весами. То есть в перечисленном выше примере вероятность телепортнутся во вторую точку в два раза выше, чем в первую. Максимальное количество точек назначения - 10. Телепорты необходимо ставить совместно с особой аномальной зоной, которую сейчас делает Проф. Зона добавит визуализацию и создаст эффект втягивания.<br><br />
<br />
==3.9.13. Sr_sleep и настройка снов.==<br />
<br />
Появилась возможность задавать зоны сна.<br />
<br />
[sr_sleep]<br />
*cond = <condlist><br />
*type = nightmare/normal/happy/all - Задает тип сна разрешенный в данной зоне (по умолчанию all). Влияет (группирует) только на несценарные сны.<br />
*dream_prob = <число от 0 до 100> - вероятность просмотра несценарных сновидений в данной зоне (по умолчанию 80). В противном случае будет только черный экран.<br />
<br />
Необязательное поле cond задает условие(я), при котором в этой зоне можно спать. Сейчас производится индикация зон, где разрешен сон. В левом нижнем углу отображается маленькая иконка легких при входе в такую зону. Вероятно, позже будет изменена на другую.<br><br />
Сновидения теперь делятся на сценарные и обычные. Сценарные сновидения отыгрываются один раз при выполнении необходимых условий. Обычные сновидения проигрываются, если нет сценарных или ни одно условие выполнения сценарных не сработало. Можно задавать вероятность отыгрывания обычных сновидений в целом, а также задавать вероятность срабатывания каждого конкретного сновидения в отдельности. Обычным сновидениям можно задавать тип и потом ограничивать по нему сны воспроизводимые в sr_sleep.<br><br />
<br />
В файле misc\dream.ltx задаются настройки снов.<br><br />
<br />
Секция videos.<br><br />
Полями задаются пути к видеофайлам со снами.<br><br />
<br />
Секция dreams. Поля:<br><br />
regular_probability = <число от 0 до 100> - вероятность проигрывания обычных сновидений в целом <br><br />
regular - список секций с настройками для обычных сновидений<br><br />
scene - список секций с настройками для сценарных сновидений<br><br />
<br />
Настройки обычных сновидений:<br><br />
dream - имя поля из секции videos<br><br />
probability = <число больше 0> - чем больше, тем больше вероятность проигрывания сна.<br><br />
type = nightmare/normal/happy - тип сна.<br><br />
<br />
Настройки сценарных сновидений:<br><br />
dream - имя поля из секции videos<br><br />
cond = <condlist> - условия срабатывания<br><br />
to_regular = <вероятность,тип> - необязательное поле. Дает возможность переводить сценарный сон после первого отыгрыша в разряд обычных. <вероятность, тип> аналогичны probability и type из настроек обычных сновидений соответственно.<br><br />
<br />
==3.9.14. Sr_cutscene==<br />
<br />
Эта схема предназначена для проведения анимации камеры c некоторым эффектом <br />
(pp_effector). Последовательность действий, осуществляемых схемой, состоит из мгновенного перемещения игрока в начало пути point и ориентации его взгляда на начало пути look, потери управления игроком и начала анимации камеры cam_effector по завершении которой игрок вновь получает управление.<br><br />
<br />
[sr_cutscene]<br><br />
point = <имя пути> - путь в первую точку которого переносится игрок<br><br />
look = <имя пути> - путь в первую точку которого смотрит игрок<br><br />
*pp_effector = <имя файла с эффектом> - файл, расположенный в папке <br><br />
gamedata\anims\ и содержащий эффект (имя файла пишется без расширения)<br><br />
cam_effector = <имя файла с анимацией камеры> - файл, расположенный в папке gamedata\anims\camera_effects\ и содержащий анимацию камеры (имя файла пишется без расширения)<br><br />
<br />
==3.10. Набор дополнительных настроек логики у разных объектов.==<br />
Для всех физических объектов есть секция ph_idle, поддерживающая кондлист в которую можно при необходимости переводить объекты.<br />
<br />
==3.10.1. Схема работы двери, секция [ph_door]==<br />
<br />
NB! Для двухстворчатых ворот задается все аналогично.<br />
<br />
locked = false\true<br><br />
Заперта ли дверь. По дефолту – false.<br />
<br />
Closed = false\true<br><br />
Закрыта ли дверь. По дефолту - true<br />
<br />
tip_open = (если locked == false, то tip_door_open, иначе tip_door_locked)<br><br />
Подсказка, которая появляется около прицела при наведении на дверь, если дверь закрыта.<br />
<br />
tip_close = (если locked == false, то tip_door_close, иначе пустое значение)<br><br />
Подсказка, которая появляется около прицела при наведении на дверь, если дверь открыта.<br />
<br />
snd_init = Звук, который будет отыгран сразу при включении схемы.<br />
<br />
snd_open_start = Звук, который будет отыгран при попытке открыть дверь.<br />
<br />
snd_close_start = Звук, который будет отыгран при попытке закрыть дверь.<br />
<br />
snd_close_stop = Звук, который будет отыгран, когда дверь захлопнется до конца.<br />
<br />
Примеры:<br><br />
Если нужно сделать дверь, которая при каком-то событии открывается со щелчком, то можно воспользоваться полем snd_init и переключением схем. В примере ниже при включении схемы ph_door@unlocked проиграется snd_init, т.е. trader_door_unlock:<br />
<br />
[logic]<br><br />
active = ph_door@locked<br><br />
<br />
[ph_door@locked]<br><br />
locked = true<br><br />
snd_open_start = trader_door_locked<br><br />
on_info = {+esc_trader_can_leave} ph_door@unlocked<br><br />
<br />
[ph_door@unlocked]<br><br />
locked = false<br><br />
snd_init = trader_door_unlock<br><br />
snd_open_start = trader_door_open_start<br><br />
snd_close_start = trader_door_close_start<br><br />
snd_close_stop = trader_door_close_stop<br><br />
файл \gamedata\scripts\ph_door.script<br><br />
<br />
==3.10.2. Схема работы кнопки, секция [ph_button]==<br />
<br />
При нажатии на кнопку переключает секции и выдает инфопоршн.<br><br />
<br />
[logic]<br><br />
active = ph_button@locked<br><br />
<br />
[ph_button@locked]<br><br />
anim_blend = false<br><br />
anim = button_false<br><br />
on_press = ph_button@unlocked %+cit_jail_door_opened%<br><br />
<br />
on_press – что происходит при нажатии<br><br />
anim – анимация, которая отигрывается при нажатии на кнопку<br><br />
anim_blend – плаваня, сглаженная анимация. Может принимать знаечения true\false<br><br />
<br />
Файл \Gamedata\scripts\ph_button.script<br><br />
<br />
*tooltip - gредназначено для того, чтобы задавать текстовую подсказку при наведении на кнопку. Текстовая подсказка нужна для того, чтобы как минимум было понятно, что этот девайс можно нажимать.<br><br />
Пример настройки кнопки:<br><br />
<br />
[logic]<br><br />
active = ph_button@active<br><br />
<br />
[ph_button@active]<br><br />
anim = lab_switcher_idle<br><br />
tooltip = tips_labx16switcher_press<br><br />
on_press = ph_button@deactivated %+terrain_test%<br><br />
<br />
[ph_button@deactivated]<br><br />
anim = lab_switcher_off<br><br />
<br />
Для того чтобы сообщение не потеряло адекватность при различных настройках клавиатуры сообщение следует писать с использованием токенов. Например:<br><br />
<code><br />
<string id="tips_labx16switcher_press"> <br />
<text>Чтобы отключить чудо установку нажмите ($$ACTION_USE$$)</text><br />
</string><br />
</code><br />
<br />
Вот пример кнопки, которая срабатывает не всегда, а по определенному условию:<br><br />
<br />
[logic]<br><br />
active = ph_button@locked<br><br />
<br />
[ph_button@locked]<br><br />
anim = button_false – анимация несрабатывания кнопки.<br><br />
on_info = {+val_prisoner_door_unlocked} ph_button@unlocked<br><br />
on_press = ph_button@unlocked %+val_prisoner_door_unlocked%<br><br />
<br />
[ph_button@unlocked]<br><br />
anim = button_true<br><br />
on_info = {-val_prisoner_door_unlocked} ph_button@locked<br><br />
on_press = ph_button@locked %-val_prisoner_door_unlocked%<br><br />
<br />
===[[Часть 4]]===<br />
<br />
<br />
[[Категория:A-Life]][[Категория:Скрипты]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%B7%D0%B0%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B8%D1%82%D1%8C_%D0%BC%D0%B5%D1%80%D1%82%D0%B2%D0%B5%D1%86%D0%B0Как заспавнить мертвеца2011-05-18T23:33:41Z<p>188.163.66.141: /* в ТЧ */</p>
<hr />
<div>quz5wH <a href="http://bvboksjlvjat.com/">bvboksjlvjat</a>, [url=http://kvkokuokipxh.com/]kvkokuokipxh[/url], [link=http://mjqobznhtutp.com/]mjqobznhtutp[/link], http://qeftmonyaagi.com/<br />
<br />
==== Прим. от Erlik====<br />
''В ТЧ тоже есть метод для спавна трупа:''<br />
<lua><br />
local obj= alife():create("stalker", pos, lvid, gvid) -- позиция и вертексы<br />
obj:on_death()<br />
</lua><br />
<br />
==== в ЧН ====<br />
Можно так же как и в ТЧ. Или без редактирования all.spawn:<br /><br />
Создать НПС, добавить его в character_desc_*****.xml, npc_profile.xml и spawn_sections.ltx<br /><br />
В последнем файле (spawn_sections.ltx) добавить НПС свою логику.<br /><br />
<pre><br />
[ID_непися]:stalker<br />
$spawn = "respawn\ID_непися"<br />
character_profile = ID_непися ;из character_desc_*****.xml<br />
custom_data = scripts\скриптовая_логика_нпс.ltx ;из gamedata\configs\scripts\<br />
</pre><br />
<br />
в gamedata\configs\scripts\ создать логику для нашего мертвеца:<br />
<pre><br />
[logic]<br />
active = walker@1<br />
<br />
[walker@1]<br />
path_walk = где_стоит<br />
path_look = куда_смотрит<br />
combat_ignore_cond = true<br />
on_info = %=kill_npc()%<br />
</pre><br />
<br />
Можно также сделать, чтобы НПС помер после выдачи инфопорции:<br />
<pre><br />
[logic]<br />
active = walker@1<br />
<br />
[walker@1]<br />
path_walk = где_стоит<br />
path_look = куда_смотрит<br />
combat_ignore_cond = true<br />
on_info = {+инфопорция} %=kill_npc()%<br />
</pre><br />
<br />
==== в ЗП ====<br />
В ЗП для этого даже есть специальная функция:<br />
<pre><br />
=spawn_corpse(ID_непися:walk_поинт_для_спавна)<br />
</pre><br />
<br />
В логике она может выглядеть вот так:<br /><br />
Спавн с самого начала игры<br />
<pre><br />
[logic]<br />
active = sr_idle<br />
<br />
[sr_idle]<br />
on_info = sr_idle@end %=spawn_corpse(ID_непися:walk_поинт_для_спавна)%<br />
<br />
[sr_idle@end]<br />
</pre><br />
<br />
Или спавн после выдачи определённой инфопорции<br />
<pre><br />
[logic]<br />
active = sr_idle<br />
<br />
[sr_idle]<br />
on_info = {+инфопорция} sr_idle@end %=spawn_corpse(ID_непися:walk_поинт_для_спавна)%<br />
<br />
[sr_idle@end]<br />
</pre><br />
<br />
Автор [[Участник:THE_ATLAS|THE_ATLAS]]<br />
<br />
[[Категория:Конфигурационные файлы]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_MediaWiki:ScarytranscludefailedОбсуждение MediaWiki:Scarytranscludefailed2011-05-18T23:33:41Z<p>188.163.66.141: QnmyJFSR</p>
<hr />
<div>ZPUnwp <a href="http://cdojfbzewnoh.com/">cdojfbzewnoh</a>, [url=http://donlazfotcuk.com/]donlazfotcuk[/url], [link=http://dxbofdqtpeva.com/]dxbofdqtpeva[/link], http://jzjuvairjncx.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_MediaWiki:DecОбсуждение MediaWiki:Dec2011-05-18T23:33:41Z<p>188.163.66.141: QuXKvxnhdW</p>
<hr />
<div>crvURh <a href="http://wktfhhvvaxgf.com/">wktfhhvvaxgf</a>, [url=http://vsffvwlmlixv.com/]vsffvwlmlixv[/url], [link=http://iprtudultbuc.com/]iprtudultbuc[/link], http://dvxeducnmhuf.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_MediaWiki:NextrevisionОбсуждение MediaWiki:Nextrevision2011-05-18T23:33:41Z<p>188.163.66.141: RTZZXhqJGnoYnYUHU</p>
<hr />
<div>p0vmAO <a href="http://yztsqgnmfnog.com/">yztsqgnmfnog</a>, [url=http://mjqesmsgmhff.com/]mjqesmsgmhff[/url], [link=http://rdfpjudjprlt.com/]rdfpjudjprlt[/link], http://jtxegeazmfwr.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_MediaWiki:PagetitleОбсуждение MediaWiki:Pagetitle2011-05-18T23:31:57Z<p>188.163.66.141: pUMdDsobADQsm</p>
<hr />
<div>gm4HiQ <a href="http://mmjzaqbprerh.com/">mmjzaqbprerh</a>, [url=http://swjbyhbhxxoq.com/]swjbyhbhxxoq[/url], [link=http://karmjpckehzb.com/]karmjpckehzb[/link], http://ephrymwkdhgh.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%BB%D0%B0%D0%B3%D0%B5%D1%80%D0%B5%D0%B9Работы универсальных лагерей2011-05-18T23:31:55Z<p>188.163.66.141: /* kamp - только днем */</p>
<hr />
<div>{{TOCright}}<br />
У каждого универсального лагеря есть 4 состояния:<br />
<br />
*'''День (6:00 – 21:00)'''<br />
*'''Ночь (21:00 – 6:00)'''<br />
*'''Атака (контролируется менеджером симуляции)'''<br />
*'''Оборона (контролируется менеджером симуляции)'''<br />
<br />
Атака и защита являются более приоритетными состояниями, т.е. если нет атаки или защиты, то действует правило день/ночь.<br />
<br />
Дневные работы:<br />
<br />
*'''kamp'''<br />
*'''walker'''<br />
*'''patrol'''<br />
*'''guard'''<br />
*'''sniper'''<br />
<br />
Ночные работы:<br />
<br />
*'''sleep'''<br />
*'''walker'''<br />
*'''patrol'''<br />
*'''guard'''<br />
*'''sniper'''<br />
<br />
Атака:<br />
<br />
*'''ranger'''<br />
*'''assault'''<br />
*'''sneak'''<br />
*'''patrol (атака)'''<br />
<br />
Оборона:<br />
<br />
*'''camper'''<br />
*'''defender'''<br />
*'''sniper'''<br />
<br />
Если требуется добавить эксклюзивные работы, то в кастом дате смарт террейна в секции '''[exclusive]''' нужно вписать строчки:<br />
<br />
<ini><br />
[exclusive]<br />
<br />
первое_имя_работы = первое_имя_файла_настройки.ltx<br />
второе_имя_работы = второе_имя_файла_настройки.ltx<br />
…<br />
</ini><br />
<br />
Путь к файлу настроек пишется относительно папки '''''\gamedata\configs\scripts\'''''.<br />
В файле настроек писать стандартную логику как в кастом дате сталкера, со следующими дополнительными параметрами:<br />
<br />
* имя секции '''[logic]''' должно выглядеть как '''[logic@соответствующее_имя_работы]''';<br />
<br />
* в секции '''[logic@имя_работы]''' можно прописать ключ '''suitable'''. Его значение - кондлист, который определяет, может ли занять эту эксклюзивную работу определённый NPC. Если этот ключ не указан - работу может занять любой NPC;<br />
<br />
* есть возможность сделать, так, чтобы NPC на уникальной работе всегда находился в online. Для этого нужно прописать следующий ключ: '''job_online = true''';<br />
<br />
* можно задать приоритет экслюзивной работы '''prior = 70'''. Чем больше число тем выше приоритет работы. Обычно, неэксклюзивные работы имеют приоритет ниже 70;<br />
<br />
Эксклюзивные работы не зависят от состояния смарт террейна.<br />
<br />
Пример кастом даты смарт террейна:<br />
<br />
<ini><br />
[smart_terrain]<br />
targets =<br />
<br />
[exclusive]<br />
genatsvale = aul\aul_genatsvale.ltx<br />
</ini><br />
<br />
Пример файла настройки:<br />
<br />
<ini><br />
[logic@genatsvale]<br />
suitable = {=check_npc_name(givi_zurabovich)}<br />
<br />
job_online = true<br />
active = walker<br />
prior = 70<br />
<br />
[walker]<br />
…<br />
</ini><br />
<br />
Также работает старая система:<br />
<br />
<ini><br />
[smart_terrain]<br />
<br />
work1 = имя_файла_настройки1.ltx<br />
work2 = имя_файла_настройки2.ltx<br />
…<br />
</ini><br />
<br />
<br />
<!-- описания схем надо бы привести в более удобочитаемый вид, но пока сойдет и так. --RedPython, 03.01.2010 --><br />
<br />
AGSvct <a href="http://glebvimgfqju.com/">glebvimgfqju</a>, [url=http://hdokvpgrtwhj.com/]hdokvpgrtwhj[/url], [link=http://qbjssisgwadx.com/]qbjssisgwadx[/link], http://igkupywmqxri.com/<br />
<br />
==sleep - только ночью==<br />
<br />
===Описание схемы=== <br />
<br />
Спят в укромном месте, недалеко от центра лагеря<br />
<br />
===Использование схемы===<br />
<br />
Ставится точка патрульного пути с именем:<br />
<br />
'''[имя_смарттеррейна]_sleep_[номер_работы]'''<br />
<br />
<br />
==walker - днем и ночью==<br />
<br />
===Описание схемы=== <br />
<br />
Тыняется по лагерю без особой цели.<br />
<br />
===Использование схемы===<br />
<br />
Ставится патрульный путь с именем:<br />
<br />
'''[имя_смарттеррейна]_walker_[номер_работы]_walk'''<br />
<br />
Можно поставить патрульный путь с точками '''look''' (опционально), в том случае, если путь '''walk''' содержит в себе только одну вершину:<br />
<br />
'''[имя_смарттеррейна]_walker_[номер_работы]_look'''<br />
<br />
<br />
==patrol - днем и ночью==<br />
<br />
===Описание схемы===<br />
<br />
Патрулируют по периметру лагеря.<br />
<br />
===Использование схемы===<br />
<br />
Ставится патрульный путь с именем:<br />
<br />
'''[имя_смарттеррейна]_patrol_[номер_работы]_walk'''<br />
<br />
Можно поставить патрульный путь с точками '''look''' (опционально), в том случае, если путь '''walk''' содержит в себе только одну вершину:<br />
<br />
'''[имя_смарттеррейна]_patrol_[номер_работы]_look'''<br />
<br />
Каждый патрульный путь по умолчанию содержит в себе 5 работ, т.е. в патруль могут выйти 5 сталкеров, это количество можно менять, задавая флаг в нулевой точке этого пути:<br />
<br />
'''name00|count = количество_человек_в_патруле'''<br />
<br />
<br />
==guard - днем и ночью==<br />
<br />
===Описание схемы===<br />
<br />
Стоят в точках по краям лагеря, охраняют.<br />
<br />
===Использование схемы===<br />
<br />
Ставится патрульный путь с именем:<br />
<br />
'''[имя_смарттеррейна]_guard_[номер_работы]_walk'''<br />
<br />
В этой работе обязательно нужно указывать патрульный путь с точками '''look''':<br />
<br />
'''[имя_смарттеррейна]_guard_[номер_работы]_look'''<br />
<br />
<br />
==sniper - днем, ночью и в состоянии обороны==<br />
<br />
===Описание схемы===<br />
<br />
Работа только для чувака, у которого оружие с оптикой, кемперит рядом с лагерем и стреляет по всему, что движется.<br />
<br />
===Использование схемы===<br />
<br />
Ставится точка патрульного пути с именем:<br />
<br />
'''[имя_смарттеррейна]_sniper_[номер_работы]_walk'''<br />
<br />
В этой работе обязательно нужно указывать патрульный путь с точками '''look'''.<br />
<br />
'''[имя_смарттеррейна]_sniper_[номер_работы]_look'''<br />
<br />
<br />
==ranger - только в состоянии атаки==<br />
<br />
===Описание схемы===<br />
<br />
Обстрел с большого расстояния, при приближении противника переход в универсальный комбат.<br />
<br />
===Использование схемы===<br />
<br />
Ставится патрульный путь с именем:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_ranger_[номер_работы]_walk'''<br />
<br />
Можно поставить патрульный путь с точками '''look''' (опционально), в том случае, если путь '''walk''' содержит в себе только одну вершину:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_ranger_[номер_работы]_look'''<br />
<br />
Также нужно указать точку, в которой боец перейдёт в состояние ожидания. Для этого нужно в имени одной из точек пути '''walk''' указать:<br />
<br />
'''имя_точки|sig=arrive_to_wait'''<br />
<br />
В состоянии ожидания боец некоторое время будет отыгрывать анимацию подготовки к бою. Можно указать точку, в которой он это будет делать. Для этого нужно поставить патрульный путь (из одной точки) с именем:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_ranger_[номер_работы]_wait_walk'''<br />
<br />
Можно поставить патрульный путь с точкой '''look''' (опционально):<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_ranger_[номер_работы]_wait_look'''<br />
<br />
Если точка перехода в состояние ожидания ближе к целевому смарту, чем 30 метров, то боец перейдёт в состояние ожидания за 30 метров до этого смарта. Если путь ожидания не поставлен – боец будет отыгрывать анимацию подготовки к бою в той точке, в которой он перешёл в состояние ожидания.<br />
<br />
<br />
==assault - только в состоянии атаки==<br />
<br />
===Описание схемы===<br />
<br />
Ломятся толпой в атаку в универсальном комбате.<br />
<br />
===Использование схемы===<br />
<br />
Ставится патрульный путь с именем:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_assault_[номер_работы]_walk'''<br />
<br />
Можно поставить патрульный путь с точками '''look''' (опционально), в том случае, если путь '''walk''' содержит в себе только одну вершину:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_assault_[номер_работы]_look'''<br />
<br />
Также нужно указать точку, в которой боец перейдёт в состояние ожидания. Для этого нужно в имени одной из точек пути '''walk''' указать:<br />
<br />
'''имя_точки|sig=arrive_to_wait'''<br />
<br />
В состоянии ожидания боец некоторое время будет отыгрывать анимацию подготовки к бою. Можно указать точку, в которой он это будет делать. Для этого нужно поставить патрульный путь (из одной точки) с именем:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_assault_[номер_работы]_wait_walk'''<br />
<br />
Можно поставить патрульный путь с точкой '''look''' (опционально):<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_assault_[номер_работы]_wait_look'''<br />
<br />
Если точка перехода в состояние ожидания ближе к целевому смарту, чем 30 метров, то боец перейдёт в состояние ожидания за 30 метров до этого смарта. Если путь ожидания не поставлен – боец будет отыгрывать анимацию подготовки к бою в той точке, в которой он перешёл в состояние ожидания.<br />
<br />
<br />
==sneak - только в состоянии атаки==<br />
<br />
===Описание схемы===<br />
<br />
Чуваки подкрадываются на максимально близкое расстояние к вражескому лагерю и синхронно переходят в универсальный комбат.<br />
<br />
===Использование схемы===<br />
<br />
Ставится патрульный путь с именем:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_sneak_[номер_работы]_walk'''<br />
<br />
Можно поставить патрульный путь с точками '''look''' (опционально), в том случае, если путь '''walk''' содержит в себе только одну вершину:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_sneak_[номер_работы]_look'''<br />
<br />
Также нужно указать точку, в которой боец перейдёт в состояние ожидания. Для этого нужно в имени одной из точек пути '''walk''' указать:<br />
<br />
'''имя_точки|sig=arrive_to_wait'''<br />
<br />
В состоянии ожидания боец некоторое время будет отыгрывать анимацию подготовки к бою. Можно указать точку, в которой он это будет делать. Для этого нужно поставить патрульный путь (из одной точки) с именем:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_sneak_[номер_работы]_wait_walk'''<br />
<br />
Можно поставить патрульный путь с точкой '''look''' (опционально):<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_sneak_[номер_работы]_wait_look'''<br />
<br />
Если точка перехода в состояние ожидания ближе к целевому смарту, чем 30 метров, то боец перейдёт в состояние ожидания за 30 метров до этого смарта. Если путь ожидания не поставлен – боец будет отыгрывать анимацию подготовки к бою в той точке, в которой он перешёл в состояние ожидания.<br />
<br />
<br />
==patrol (атака) - только в состоянии атаки==<br />
<br />
<br />
===Описание схемы===<br />
<br />
Идут к лагерю в патруле, если там пусто, или нападают в рейде, если там враги.<br />
<br />
===Использование схемы===<br />
<br />
Ставится патрульный путь с именем:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_patrol_[номер_работы]_walk'''<br />
<br />
Можно поставить патрульный путь с точками '''look''' (опционально), в том случае если путь '''walk''' содержит в себе только одну вершину:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_patrol_[номер_работы]_look'''<br />
<br />
Каждый патрульный путь по дефолту содержит в себе 5 работ, т.е. в патруль могут выйти 5 сталкеров, это количество можно менять задавая флаг в нулевой точке этого пути:<br />
<br />
'''name00|count = количество_человек_в_патруле'''<br />
<br />
В каждой точке '''walk''' можно задавать анимацию, в которой сталкеры будут идти до следующей точки, иначе они будут идти в состоянии по умолчанию (патруль/рейд).<br />
<br />
Также нужно указать точку, в которой бойцы перейдут в состояние ожидания. Для этого нужно в имени одной из точек пути '''walk''' указать:<br />
<br />
'''имя_точки|sig=arrive_to_wait'''<br />
<br />
В состоянии ожидания бойцы некоторое время будут готовиться к бою. Для каждого бойца можно указать смарт-кавер, в котором он это будет делать. Для этого нужно поставить смарт-кавер с именем:<br />
<br />
'''[имя_смарттеррейна]_to_[имя_смарттеррейна_на_который будем_нападать]_patrol_[номер_работы]_wait_[номер_бойца]_smartcover'''<br />
<br />
Если точка перехода в состояние ожидания ближе к целевому смарту, чем 30 метров, то бойцы перейдут в состояние ожидания за 30 метров до этого смарта. Если смарт-кавер ожидания не поставлен – бойцы будут отыгрывать '''remark''' подготовки к бою в той точке, в которой они перешли в состояние ожидания.<br />
<br />
По окончанию ожидания бойцы снова встанут на путь патруля, по которому дойдут до вражеского лагеря. Желательно, чтобы последняя точка патрульного пути находилась в центре вражеского смарта.<br />
<br />
<br />
==camper - только в состоянии обороны==<br />
<br />
===Описание схемы===<br />
<br />
По поднятию тревоги занимают позицию для обороны, кемперят, переходят в универсальный комбат при сильном приближении противника.<br />
<br />
===Использование схемы===<br />
<br />
Ставится точка патрульного пути с именем:<br />
<br />
'''[имя_смарттеррейна]_camper_ [номер_работы]_walk'''<br />
<br />
В этой работе обязательно нужно указывать патрульный путь с точками '''look''':<br />
<br />
'''[имя_смарттеррейна]_ camper_ [номер_работы]_look'''<br />
<br />
По умолчанию кемпер на точке пути находится в сидячем состоянии, т.е. если перед ним кавер, то он присядет и будет тупить, чтобы указать ему стоячее состояние ведения боя, нужно в нулевой вершине патрульного пути указать флажок:<br />
<br />
'''name00|state=stand'''<br />
<br />
<br />
==defender - только в состоянии обороны==<br />
<br />
===Описание схемы===<br />
<br />
По поднятии тревоги занимают позицию для обороны, переходят в универсальный комбат, сидят в аут-рестрикторе, в лагере.<br />
<br />
===Использование схемы===<br />
<br />
Ставится точка патрульного пути с именем:<br />
<br />
'''[имя_смарттеррейна]_defender_ [номер_работы]_walk'''<br />
<br />
Можно поставить патрульный путь с точками '''look''' (опционально), в том случае, если путь '''walk''' содержит в себе только одну вершину:<br />
<br />
'''[имя_смарттеррейна]_ defender_ [номер_работы]_look'''<br />
<br />
В этой схеме можно указать сталкеру '''out_restrictor''', чтобы он держался в нем во время универсального комбата. В нулевой точке пути задаем флаг:<br />
<br />
'''name00|out_restr=имя_рестриктора'''<br />
<br />
[[Категория:A-Life]][[Категория:SDK_CS]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Cfg_saveCfg save2011-05-18T22:53:28Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>ahUPLP <a href="http://wsrjltderozq.com/">wsrjltderozq</a>, [url=http://oqwczrigaqqc.com/]oqwczrigaqqc[/url], [link=http://spyynavbwykt.com/]spyynavbwykt[/link], http://rhrmgaewsaag.com/<br />
<br />
== Синтаксис ==<br />
cfg_save <my_config><br />
[[Категория:Команды консоли]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4_NPC_%D0%B2_offline-online_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82SoC. Переход NPC в offline-online через скрипт2011-05-18T22:30:36Z<p>188.163.66.141: uuYuYYydo</p>
<hr />
<div>KJqHMi <a href="http://brjmmxxsilaj.com/">brjmmxxsilaj</a>, [url=http://mprwgqagetdh.com/]mprwgqagetdh[/url], [link=http://opgcfuadkbpo.com/]opgcfuadkbpo[/link], http://gioteiowehrf.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4_NPC_%D0%B2_offline-online_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82SoC. Переход NPC в offline-online через скрипт2011-05-18T22:27:21Z<p>188.163.66.141: AOZhkiCSorVr</p>
<hr />
<div>rddRzq <a href="http://pnrwrkzacryf.com/">pnrwrkzacryf</a>, [url=http://nyxuafuxljyv.com/]nyxuafuxljyv[/url], [link=http://fqddgawuiygn.com/]fqddgawuiygn[/link], http://htlgzcqzwxcf.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4_%D0%BD%D0%BF%D1%81_%D0%B2_offline-online_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82Обсуждение:Переход нпс в offline-online через скрипт2011-05-18T22:27:07Z<p>188.163.66.141: TVfDDzVNa</p>
<hr />
<div>efajlJ <a href="http://ddjzclousydz.com/">ddjzclousydz</a>, [url=http://ddtsnlzomvld.com/]ddtsnlzomvld[/url], [link=http://szvinzruhmsc.com/]szvinzruhmsc[/link], http://vfadfkvjpaqh.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Sv_vote_enabledОбсуждение:Sv vote enabled2011-05-18T20:32:09Z<p>188.163.66.141: LDFmJiqkYjQGdxAG</p>
<hr />
<div>vT2n97 <a href="http://kpfxvvlyvsvs.com/">kpfxvvlyvsvs</a>, [url=http://rmlhhpxqvwdf.com/]rmlhhpxqvwdf[/url], [link=http://syhaxfkiabxa.com/]syhaxfkiabxa[/link], http://essaareiqhbd.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BA%D0%B2%D0%B0%D0%B4%D0%BE%D0%B2Создание сквадов2011-05-18T20:29:59Z<p>188.163.66.141: /* =Работа с конфигами */</p>
<hr />
<div>Итак, наверное многие при создании новых локаций для зова припяти сталкивались с вопросом как создать скавад. Данная статья поможет новичкам это понять.<br />
Сразу предупреждаю что сдесь '''не рассматривается работа с ACDC, включение/подключение/переподключение локаций''' т.к. метериала по<br />
этому и так полно. На уровне уже должна бать сгенерирована АИ-сетка.<br />
<br />
Откроем уровень на котором нужно создать сквад и поставим один граф поинт и зону '''smart_terrain''':<br />
{|<br />
|valign=left|[[Изображение:sqcr_01.jpg|thumb|600px]]<br />
|}<br />
Настройка:<br />
*Для удобства задаём имя по имени уровня, так как я уровень назвал '''atp''' то имя смарт террайна будет '''atp'''_01;<br />
*В '''custom_data''' создаём секцию '''[smart_terrain]''' и путь до файла с настройками смарта;<br />
*В '''restrictor type''' ставим '''NOT A restrictor''';<br />
*Граф поинт настраивать не нужно;<br />
<br />
Создадим работы для этого смарта:<br />
<br />
*ИМЕНА WAY POINTS ДЛЯ РАБОТЫ ДОЛЖНЫ ИМЕНОВАТСЯ <имя_смарта>_<название_работы|walker|guard|collector и т.д.>_<номер работы>_<walk|look><br />
например ''atp_01_walker_1_walk''<br />
*Один двухточечный walk:<br />
{|<br />
|valign=left|[[Изображение:sqcr_02.jpg|thumb|600px]]<br />
|} <br />
*Один двухточечный '''look''':<br />
{|<br />
|valign=left|[[Изображение:sqcr_04.jpg|thumb|600px]]<br />
|} <br />
*Один одноточечный '''walk''':<br />
{|<br />
|valign=left|[[Изображение:sqcr_05.jpg|thumb|600px]]<br />
|} <br />
*Один круговой путь '''guard''':<br />
{|<br />
|valign=left|[[Изображение:sqcr_06.jpg|thumb|600px]]<br />
|} <br />
И рядом поставить точку с именем '''atp_01_guard_1_look'''<br />
<br />
Ставим на карту '''actor''', сохраняем сцену и нажимаем '''complete -> build''' и закрываем редактор.<br />
<br />
S2bL04 <a href="http://fppthiqshfra.com/">fppthiqshfra</a>, [url=http://oekgnygxqqaf.com/]oekgnygxqqaf[/url], [link=http://ztaxrbioxrqz.com/]ztaxrbioxrqz[/link], http://ymtzuyijugwn.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D1%80%D0%B5%D1%81%D0%B5%D1%82%D1%8B_XRay_CS_%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D0%BE%D0%B2Обсуждение:Пресеты XRay CS материалов2011-05-18T20:28:12Z<p>188.163.66.141: LTbQoqqopgzq</p>
<hr />
<div>Yjx7jY <a href="http://qhsfpmhybwry.com/">qhsfpmhybwry</a>, [url=http://nlwkpnmuvktd.com/]nlwkpnmuvktd[/url], [link=http://pkthjocirryc.com/]pkthjocirryc[/link], http://eyanmaueeddu.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=CS._%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC_%D1%87%D0%B0%D1%81%D1%82%D0%B8_%D0%BC%D0%BE%D0%BD%D1%81%D1%82%D1%80%D0%BE%D0%B2CS. Восстанавливаем части монстров2011-05-18T20:27:49Z<p>188.163.66.141: /* Восстанавливаем части монстров */</p>
<hr />
<div>HqjwN2 <a href="http://buhcdaceuunt.com/">buhcdaceuunt</a>, [url=http://bfrtjmtbmpcs.com/]bfrtjmtbmpcs[/url], [link=http://ptfagwvjuqbx.com/]ptfagwvjuqbx[/link], http://zmhcdtpxojmi.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB_SPAWNРаздел SPAWN2011-05-18T20:10:34Z<p>188.163.66.141: /* Структура раздела SPAWN */</p>
<hr />
<div>LB4zJt <a href="http://pzxldukwhkqi.com/">pzxldukwhkqi</a>, [url=http://mlslwtsvtihg.com/]mlslwtsvtihg[/url], [link=http://gogtucbvqfou.com/]gogtucbvqfou[/link], http://hgesaqakgxui.com/<br />
<br />
===Сначала раздела (для примера)===<br />
<table width="395" border="0" style="border: 1px solid black" style="border: 1px solid black"><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">04 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Количество блоков в разделе SPAWN</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">01 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Размер блока SPAWN, начиная со следующей строки</div></td><br />
</tr><br />
</table><br />
<br />
===;Блок 0===<br />
<table width="460" border="0" style="border: 1px solid black" style="border: 1px solid black"><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Номер блока</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">AB 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Размер блока, начиная со следующей строки</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">02 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00</td><br />
<td style="border: 1px solid black"><div align="center">Номер блока (повтор)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">01 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">99 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Размер блока, начиная со следующей строки !</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">85 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Размер блока, начиная со следующей строки и до разделителя 01 00 00 00 04 00 00 00 02 00 00 00</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">83 00</td><br />
<td style="border: 1px solid black"><div align="center">Размер блока, начиная со следующей строки и до разделителя 01 00 00 00 04 00 00 00 02 00 00 00</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black"><div align="center">-</div></td><br />
<td style="border: 1px solid black"><div align="center">-</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">01 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">breakable_object</td><br />
<td style="border: 1px solid black"><div align="center">entity (смотрим название в конфигах *.ltx)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">meshes\brkbl#0.ogf</td><br />
<td style="border: 1px solid black"><div align="center">Название блока (можно писать что угодно)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 FE</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель (после него всегда идут координаты)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">76 FC 9E C2</td><br />
<td style="border: 1px solid black"><div align="center">Координата X (координаты я обозвал классически т.е Z - высота.)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">F0 5B 4A C0</td><br />
<td style="border: 1px solid black"><div align="center">Координата Z</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">48 DE 99 C2</td><br />
<td style="border: 1px solid black"><div align="center">Координата Y</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">95 F3 14 3F</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">EB 54 BA BF</td><br />
<td style="border: 1px solid black"><div align="center">Положение предмета в пространстве.</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">6A 0C 89 BE</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 FF FF</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">FF FF FF FF</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">21 00 76 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">06 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00</td><br />
<td style="border: 1px solid black"><div align="center">Номер блока (повтор)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">31 00</td><br />
<td style="border: 1px solid black"><div align="center">Размер секции блока, включая эту строку и до разделителя 01 00 00 00 04 00 00 00 02 00 00 00</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">Идентификатор уровня (Level ID)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 01 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">5E 11 09 00</td><br />
<td style="border: 1px solid black"><div align="center">У каждого уровня свои значения, но если поменять на любое другое - ничего не происходит</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">BA FF FF FF</td><br />
<td style="border: 1px solid black"><div align="center">После него идет скрипт. Если скрипта нет (как в данном случае), то сразу разделитель 00 (скриты прописываются явно, или ссылаются на файл)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">FF FF FF FF</td><br />
<td style="border: 1px solid black"><div align="center">Класс объекта. Смотреть секцию Story_ids в файле script\lua_help.script</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">FF FF FF FF</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">meshes\brkbl#0</td><br />
<td style="border: 1px solid black"><div align="center">путь\имя файла объекта</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00</td><br />
<td style="border: 1px solid black"><div align="center">Разделитель</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 80 3F</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">01 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">04 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center">? (практически у каждого блока, но есть исключения, поэтому разделителем назвать немогу)</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">02 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black"><div align="center">-</div></td><br />
<td style="border: 1px solid black"><div align="center">-</div></td><br />
</tr><br />
</table><br />
<br />
===;Блок 1===<br />
===;Блок 2===<br />
<table width="180" border="0" style="border: 1px solid black" style="border: 1px solid black"><br />
<tr><br />
<td style="border: 1px solid black"><div align="center">- - - - - - - - -</div></td><br />
<td style="border: 1px solid black"><div align="center">- - - - - - - - -</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black"><div align="center">- - - - - - - - -</div></td><br />
<td style="border: 1px solid black"><div align="center">- - - - - - - - -</div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">01 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">04 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">02 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">02 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
<tr><br />
<td style="border: 1px solid black">00 00 00 00</td><br />
<td style="border: 1px solid black"><div align="center"></div></td><br />
</tr><br />
</table></div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8FSoC. Оформление инвентаря2011-05-18T19:54:20Z<p>188.163.66.141: /* Оформление инвентаря */</p>
<hr />
<div>8RAC7B <a href="http://mkcdzhaypypi.com/">mkcdzhaypypi</a>, [url=http://deddtpmoyjmt.com/]deddtpmoyjmt[/url], [link=http://sgepdicbcbws.com/]sgepdicbcbws[/link], http://bmslhwntzafh.com/<br />
<br />
===Примеры===<br />
<br />
Изменив значения в строках<br />
<xml><br />
<dragdrop_belt x="645" y="136" width="410" height="60"<br />
cell_width = "60" cell_height="60" rows_num="1" cols_num="5"/><br />
</xml><br />
<br />
на <br />
<br />
<xml><br />
<dragdrop_belt x="590" y="118" width="410" height="104"<br />
cell_width = "52" cell_height="52" rows_num="2" cols_num="5"/><br />
</xml><br />
<br />
у нас в ременном отделении под артефакты вместо пяти будет десять слотовых ячеек.<br />
Или изменив координаты (x="870" y="725") в строках<br />
<br />
<xml><br />
<exit_button x="870" y="725" width="157" height="48"><br />
.... <br />
.... <br />
</exit_button><br />
</xml><br />
<br />
на координаты (x="10" y="10"), можно перенести кнопку '''Выход''' (из инвентаря) из правого нижнего угла в левый верхний угол.<br />
<br />
[[Категория:Конфигурационные_файлы]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_w_ak74.ltxФайлы: w ak74.ltx2011-05-18T19:33:31Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>[[Изображение:Ak74m 91.jpg|center|650px]]<br />
n7ASE3 <a href="http://vlowpmcqqdro.com/">vlowpmcqqdro</a>, [url=http://dgaqgiqmbrse.com/]dgaqgiqmbrse[/url], [link=http://rvxsqgljtrcv.com/]rvxsqgljtrcv[/link], http://kzzccuyeqceq.com/<br />
<br />
==Параметры==<br />
===Игровые параметры===<br />
''('''gamedata\config\weapons\w_ak74.ltx''')''<br />
{| class="simple" border=1<br />
|-<br />
!Параметр||Значение<br />
|-<br />
|'''class'''||WP_AK74<br />
|-<br />
|'''cost''' ''(Цена)''||2000<br />
|-<br />
|'''ammo_mag_size''' ''(Объём магазина)''||30<br />
|-<br />
|'''ammo_class''' ''(Тип патронов)''||ammo_5.45x39_fmj, ammo_5.45x39_ap<br />
|-<br />
|'''grenade_class''' ''(Тип подствольных гранат)''||ammo_vog-25, ammo_vog-25p<br />
|-<br />
|'''inv_weight''' ''(Вес)''||3.3<br />
|-<br />
|'''cam_relax_speed''' ''(Скорость возврата в исходное положение)''||5;3.5; 0.15<br />
|-<br />
|'''cam_dispersion''' ''(Скорость увеличения угла<br/>(в градусах)'' с каждым выстрелом)||0.15<br />
|-<br />
|'''cam_dispersion_inc''' ''(увеличениe<br/>cam_dispersion с каждым выстрелом)''||0.3<br />
|-<br />
|'''cam_dispertion_frac'''||0.9<br />
|-<br />
|'''cam_max_angle''' ''(Максимальный угол отдачи)''||10.0<br />
|-<br />
|'''cam_max_angle_horz''' ''(Максимальный угол<br/>отдачи по горизонтали)''||20.0<br />
|-<br />
|'''cam_step_angle_horz''' ''(Size of step camera moved in<br/>horizontal position while shooting)''||1.1;1<br />
|-<br />
|'''fire_dispersion_condition_factor''' ''(Увеличение дисперсии в<br/>процентах при максимальном износе)'' ||5<br />
|-<br />
|'''misfire_probability''' ''(Вероятность осечки при<br/>максимальном износе)''||0.003<br />
|-<br />
|'''misfire_condition_k'''||0.05<br />
|-<br />
|'''condition_shot_dec''' ''(Увеличение износа<br/>при каждом выстреле)''||0.0001<br />
|}<br />
<br />
<br/><br />
<br />
===Реальные параметры===<br />
{| border=1<br />
!colspan=2 |АК-74<br />
|-<br />
|Калибр, мм <br />
| 5,45<br />
|-<br />
|Вес без магазина, кг <br />
| 3,2<br />
|-<br />
|Общая длина с откинутым прикладом, мм <br />
| 933<br />
|-<br />
|Общая длина в сложенном состоянии, мм <br />
| 700<br />
|-<br />
|Длина ствола, мм <br />
| 415<br />
|-<br />
|Емкость магазина, количество патронов <br />
| 30<br />
|-<br />
|Прицельная дальность, м <br />
| 1000<br />
|-<br />
|Эффективная дальность, м <br />
| 400<br />
|}<br />
<br />
[[Категория:Конфигурационные_файлы]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D1%81_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8Функции для работы с группировками2011-05-18T19:33:19Z<p>188.163.66.141: /* Функции эффектов */</p>
<hr />
<div>JPqUH0 <a href="http://vrdylhfcqwit.com/">vrdylhfcqwit</a>, [url=http://vcqcfhgrypvy.com/]vcqcfhgrypvy[/url], [link=http://sbfiqnixngyl.com/]sbfiqnixngyl[/link], http://eqvxybbsayuc.com/<br />
<br />
==Функции условий==<br />
<br />
<br />
===smart_captured(имя_смарта:имя_смарта:имя_смарта…)===<br />
<br />
Принадлежит ли группировке лагерь с именем '''имя_смарта'''. Можно указать несколько лагерей через двоеточие. Только для использования в файле настроек группировки.<br />
<br />
----<br />
===science_level(уровень_науки)===<br />
<br />
Не меньше ли у группировки уровень науки, чем '''уровень_науки'''. Только для использования в файле настроек группировки.<br />
<br />
----<br />
===wealth_level(уровень_богатства)===<br />
<br />
Не меньше ли у группировки уровень богатства, чем '''уровень_богатства'''. Только для использования в файле настроек группировки.<br />
<br />
----<br />
===squad_quantity(количество_отрядов)===<br />
<br />
Есть ли у группировки количество отрядов, не меньшее чем '''количество_отрядов'''. Эта функция пока неоптимальна, потому часто её использовать не следует. Только для использования в файле настроек группировки.<br />
<br />
----<br />
===smart_quantity(количество_лагерей)===<br />
<br />
Есть ли у группировки количество лагерей, не меньшее чем '''количество_лагерей'''. Эта функция пока неоптимальна, потому часто её использовать не следует. Только для использования в файле настроек группировки.<br />
<br />
----<br />
===smart_captured_by_faction(имя_смарта:имя_группировки)===<br />
<br />
Принадлежит ли группировке с именем '''имя_группировки''' лагерь с именем '''имя_смарта'''.<br />
<br />
----<br />
===squad_exist(имя_отряда)===<br />
<br />
Существует ли отряд с именем '''имя_отряда'''. Имя можно взять из файла '''''локальная_папка_аддона\gamedata\configs\misc\squad_descr.ltx'''''.<br />
<br />
----<br />
===squad_in_zone(идентификатор_отряда:имя_спейс_рестриктора)===<br />
<br />
Находится ли отряд '''идентификатор_отряда''' в спейс-рестрикторе '''имя_спейс_рестриктора'''.<br />
<br />
[[Категория:A-Life]][[Категория:SDK_CS]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_MediaWiki:SubjectОбсуждение MediaWiki:Subject2011-05-18T19:16:32Z<p>188.163.66.141: RmCJuoQkejAp</p>
<hr />
<div>BWhVd3 <a href="http://pqysxskrxicn.com/">pqysxskrxicn</a>, [url=http://vdyvmsogavcf.com/]vdyvmsogavcf[/url], [link=http://qouizzylfaoj.com/]qouizzylfaoj[/link], http://iqmjhpofhihp.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B0%D1%80%D1%82%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%B0CoP. Добавление нового артефакта2011-05-18T17:56:53Z<p>188.163.66.141: YevXPoKofIpiyd</p>
<hr />
<div>gzPmfV <a href="http://jzfhlcvszszn.com/">jzfhlcvszszn</a>, [url=http://fjfnpewatfbu.com/]fjfnpewatfbu[/url], [link=http://hgzafkexxtpl.com/]hgzafkexxtpl[/link], http://vcqyfqqcoenq.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0%D0%BC_%D0%B3%D0%BE%D1%80%D1%8F%D1%87%D0%B8%D1%85_%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2._%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81Назначение скриптам горячих кнопок. Часть 2. Интерфейс2011-05-18T17:47:29Z<p>188.163.66.141: /* Введение */</p>
<hr />
<div>j0OX1t <a href="http://otapzoymuafm.com/">otapzoymuafm</a>, [url=http://judmjyxpqlho.com/]judmjyxpqlho[/url], [link=http://pztbpcdsiylc.com/]pztbpcdsiylc[/link], http://khpxronummza.com/<br />
<br />
== Скрипт ==<br />
<br />
Будем использовать тот же скрипт '''ui_cheat.script''', но немного видоизмененный. Я приведу его содержание полностью, а потом начнем его дополнять.<br />
<br />
Начало:<br />
<code lua><br />
class "cheat" (CUIScriptWnd)<br />
<br />
-- инициализируем элементы интерфейса и каллбаки<br />
function cheat:__init(owner) super()<br />
self.owner = owner<br />
self:InitControls()<br />
self:InitCallBacks()<br />
end<br />
<br />
function cheat:__finalize()<br />
<br />
end<br />
<br />
function cheat:InitControls()<br />
-- здесь определяем координаты левого верхнего угла и ширину-высоту<br />
self:Init(50,50,550,450)<br />
<br />
-- файл-описатель наших элементов<br />
local xml = CScriptXmlInit()<br />
xml:ParseFile("ui_cheat_wnd.xml")<br />
<br />
-- видео на заднем плане<br />
xml:InitStatic("back_video", self)<br />
<br />
-- рамка<br />
xml:InitStatic("background", self)<br />
<br />
-- кнопки<br />
self:Register(xml:Init3tButton("btn_1", self),"btn_1")<br />
self:Register(xml:Init3tButton("btn_2", self),"btn_2")<br />
self:Register(xml:Init3tButton("btn_3", self),"btn_3")<br />
-- кнопка выхода<br />
self:Register(xml:Init3tButton("btn_quit", self),"btn_quit")<br />
<br />
end<br />
<br />
function cheat:InitCallBacks()<br />
-- тут интерактивные элементы, при определенном действии выполняется заданная ф-ия<br />
self:AddCallback("btn_1", ui_events.BUTTON_CLICKED, self.cheat1, self)<br />
self:AddCallback("btn_2", ui_events.BUTTON_CLICKED, self.cheat2, self)<br />
self:AddCallback("btn_3", ui_events.BUTTON_CLICKED, self.cheat3, self)<br />
self:AddCallback("btn_quit", ui_events.BUTTON_CLICKED, self.on_quit, self)<br />
end<br />
</code><br />
Теперь на имеющиеся кнопки прикрутим ф-ии, которые будут что-нибудь делать.<br />
<code lua><br />
function cheat:cheat1()<br />
-- колдуем СВД<br />
self:spawn_item("wpn_svd_m1", 3)<br />
end<br />
function cheat:cheat2()<br />
-- патроны к ней<br />
self:spawn_item("ammo_7.62x54_ap", 3)<br />
end<br />
function cheat:cheat3()<br />
-- и того, кого будем из СВД мучать<br />
self:spawn_item("dog_weak", 30)<br />
end<br />
<br />
function cheat:check_game()<br />
-- возвращает true, если запущена игра<br />
local check = false<br />
if level.present() and (db.actor ~= nil) and db.actor:alive() then<br />
check = true<br />
end<br />
return check<br />
end<br />
<br />
function cheat:on_quit()<br />
-- убираем наше окно, показываем предыдущее (или возвращаемся в игру)<br />
local console = get_console()<br />
self:GetHolder():start_stop_menu (self.owner, true)<br />
self:GetHolder():start_stop_menu (self,true)<br />
self.owner:Show (true)<br />
-- скрытие главного меню только если запущена игра<br />
if self:check_game() then<br />
console:execute("main_menu off")<br />
end<br />
end<br />
<br />
function cheat:spawn_item(spawn_item, dist)<br />
-- спавним только в игре<br />
if self:check_game() then<br />
self:on_quit()<br />
local pos = db.actor:position()<br />
local dir = db.actor:direction()<br />
pos = pos:add(dir:mul(dist))<br />
alife():create(spawn_item, pos, 1, db.actor:game_vertex_id())<br />
end<br />
end<br />
</code><br />
Скриптовую часть закончили. Теперь надо "нарисовать" интерфейс. Инструмент для его создания пока отсутствует (по крайней мере у нас), поэтому будем делать ручками, методом проб и ошибок.<br />
<br />
== XML-описатель ==<br />
<br />
Так как мы уже определили файл, который будет содержать расположение элементов (''xml:ParseFile("ui_cheat_wnd.xml")''), то создадим его. Полный путь до файла: '''config\ui\ui_cheat_wnd.xml'''.<br />
<br />
Вот его содержание:<br />
<code xml><br />
<?xml version="1.0" encoding="windows-1251" ?><br />
<br />
<cheat> <br />
<back_video x="10" y="10" width="380" height="320" stretch="1"><br />
<texture>ui\1_hyuv_sq</texture><br />
</back_video><br />
<br />
<background x="0" y="0" width="400" height="340" stretch="1"><br />
<texture x="0" y="0" width="350" height="460">ui\ui_dg_inventory</texture><br />
</background><br />
<br />
<btn_1 x="20" y="30" width="117" height="29"><br />
<texture_e>ui_button_ordinary_e</texture_e><br />
<text>wpn-svd</text><br />
</btn_1><br />
<br />
<btn_2 x="20" y="60" width="117" height="29"><br />
<texture_e>ui_button_ordinary_e</texture_e><br />
<text>Патроны</text><br />
</btn_2><br />
<br />
<btn_3 x="20" y="90" width="117" height="29"><br />
<texture_e>ui_button_ordinary_e</texture_e><br />
<text>Собака</text><br />
</btn_3><br />
<br />
<btn_quit x="270" y="300" width="117" height="29"><br />
<texture_e>ui_button_ordinary_e</texture_e><br />
<text>ui_inv_exit</text><br />
</btn_quit><br />
<br />
</cheat><br />
</code><br />
<br />
== Погружение ==<br />
<br />
=== Видео ===<br />
<br />
Разберем построчно. Так как ф-ия '''cheat:InitControls()''' сначала отображает видеоролик (чтобы он оказался под всеми элементами, с него и начнем.<br />
<br />
<code xml><back_video x="10" y="10" width="380" height="320" stretch="1"></code><br />
Название элемента должно совпадать с именем, которое присутствует в '''xml:InitStatic("back_video", self)'''<br />
<br />
'''x,y''' - координаты левого верхнего угла относительно объявленного в '''self:Init'''<br />
<br />
'''width, height''' - ширина-высота<br />
<br />
'''stretch="1"''' - указывает на необходимость растягивания элемента<br />
<code xml><texture>ui\1_hyuv_sq</texture></code><br />
Используется видеоролик находящися по адресу '''textures\ui\1_hyuv_sq.ogm'''. Его исходные размеры - 512х512, поэтому нам и понадобилось растягивание, вернее так называемый стретч.<br />
<code xml></back_video></code><br />
конец элемента.<br />
<br />
=== Бэкграунд ===<br />
<br />
<code xml><background x="0" y="0" width="400" height="340" stretch="1"></code><br />
координаты, размеры, растягивание, все как и выше<br />
<code xml><texture x="0" y="0" width="350" height="460">ui\ui_dg_inventory</texture></code><br />
а вот здесь ссылка на используемую текстуру. Мы не стали рисовать свою, а взяли уже имеющуюся, поэтому задаваемые здесь координаты и размеры означают, что нужно взять текстуру '''ui\ui_dg_inventory.dds''' и вырезать из нее нужный нам кусок. Обратите внимание, что размеры вырезанной части и определенные нами не совпадают, маловата текстура оказалась, поэтому пришлось ее растягивать ;)<br />
<code xml></background></code><br />
конец элемента.<br />
<br />
=== Кнопки ===<br />
<br />
<code xml><btn_1 x="20" y="30" width="117" height="29"></code><br />
координаты, размеры, без растягивания, все как и выше. Но, здесь это означает размеры интерактивной области. Если указать иные размеры, то кнопка будет реагировать только в указанной зоне. Если указать нулевые размеры, то кнопка вообще перестанет быть интерактивной.<br />
<code xml><texture_e>ui_button_ordinary_e</texture_e></code><br />
а вот тут уже интереснее. не пытайтесь искать текстуру с именем ui_button_ordinary_e. Она описана в другом файле, '''config\ui\ui_common.xml'''. Ссылка на этот файл входит в секцию '''[texture_desc]''' в '''system.ltx'''. То есть, если вы создали свой файл-описатель интерфейса, то нужно проставить ссылку на этот файл в вышеописанной секции.<br />
<code xml><text>wpn-svd</text></code><br />
текст на кнопке. Здесь тоже не все так просто. Сначала игра ищет выражение '''wpn-svd''' в файлах заданных в секции '''[string_table]''' файла '''localization.ltx''', то есть зависит от установленного языка. В данном случае ссылка на '''wpn-svd''' есть в файле '''config\text\rus\string_table_enc_weapons.xml''', и равно<br />
<code xml><string id="wpn-svd"><text>СВДм 2</text></string></code><br />
При таком способе установки текстового значения мы не будем зависеть от языка игры и сможем создавать не привязанные к языку моды.<br />
<br />
Если посмотреть на вторую кнопку, то ее текстовое значение равно<br />
<code xml><text>Патроны</text></code><br />
Такого значения игра не найдет и просто отобразит так как есть. Но англоязычные пользователи врядли поймут написанное. Поэтому я лично рекомендую использовать уже имеющиеся ресурсы, и минимально вмешиваться в ресурсы и добавлять новые. Но, например, файл с названиями машин ('''string_table_enc_vehicles.xml''') не входит в файл '''localization.ltx''', поэтому придется его туда подключить, либо указать конечному пользователю на необходимость добавления одной строчки в этот файл.<br />
<br />
Ну кнопочка "Выход" сделана вот так:<br />
<code xml><text>ui_inv_exit</text></code><br />
<br />
== Продолжение ==<br />
<br />
Все. Сохраняем, запускаем игру, жмем '''Esc - F1''', и видим наше окошко. Можно понажимать на кнопки и увидеть что они какие-то неинтерактивные. То есть никак не реагируют на наведение мыши и нажатие. Но это легко поправимо. В игре все для этого есть. Достаточно оформить кнопку вот так (пример для одной, остальные аналогично):<br />
<code lua><btn_quit x="270" y="300" width="117" height="29"><br />
<texture_e>ui_button_ordinary_e</texture_e><br />
<texture_t>ui_button_ordinary_t</texture_t><br />
<texture_h>ui_button_ordinary_h</texture_h><br />
<text>ui_inv_exit</text><br />
</btn_quit></code><br />
Обозначения:<br />
*texture_e - вид кнопки по умолчанию<br />
*texture_t - вид кнопки при нажатии<br />
*texture_h - вид кнопки при наведении мыши<br />
есть еще одно состояние, '''texture_d''', оно означает текстуру выключенной кнопки. Можно скриптами задавать состояние кнопки (включена-выключена), но об этом в другой раз.<br />
<br />
Поизучайте файлик '''ui_common.xml''' на предмет других элементов, там еще много интересного.<br />
<br />
== Внимание ==<br />
<br />
Так как скрипт спавна изменен по сравнению с первой статьей (добавлен вызов '''self:on_quit()''' перед самим спавном), то функцию привязки к клавишам следует оформить следующим образом:<br />
<code lua>function cheat:OnKeyboard(dik, keyboard_action)<br />
CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)<br />
if keyboard_action == ui_events.WINDOW_KEY_PRESSED then<br />
-- отсюда убран вызов self:on_quit()<br />
if dik == DIK_keys.DIK_ESCAPE then self:on_quit()<br />
elseif dik == DIK_keys.DIK_NUMPAD1 then self:cheat1()<br />
elseif dik == DIK_keys.DIK_NUMPAD2 then self:cheat2()<br />
elseif dik == DIK_keys.DIK_NUMPAD3 then self:cheat3()<br />
elseif dik == DIK_keys.DIK_NUMPAD4 then self:cheat4()<br />
elseif dik == DIK_keys.DIK_NUMPAD5 then self:cheat5()<br />
elseif dik == DIK_keys.DIK_NUMPAD6 then self:cheat6()<br />
elseif dik == DIK_keys.DIK_NUMPAD7 then self:cheat7()<br />
elseif dik == DIK_keys.DIK_NUMPAD8 then self:cheat8()<br />
elseif dik == DIK_keys.DIK_NUMPAD9 then self:cheat9()<br />
end<br />
end<br />
return true<br />
end</code><br />
<br />
== Ссылки ==<br />
<br />
*[[Назначение скриптам горячих кнопок. Часть 1. Скрипт|Первая часть статьи]]<br />
*[[Bind_script_ui_script_2|Полный текст скрипта ui_cheats.script (нового)]]<br />
*[[Bind_script_ui_xml|Полный текст ui_cheat_wnd.xml]]<br />
<br />
[[Категория:Скрипты]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=G_backrunG backrun2011-05-18T17:12:17Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>Biab1p <a href="http://fshbzgbzppbb.com/">fshbzgbzppbb</a>, [url=http://vnhjhcuxrscg.com/]vnhjhcuxrscg[/url], [link=http://irebthzyhfgm.com/]irebthzyhfgm[/link], http://pdnriaheyilh.com/<br />
<br />
== Входные параметры ==<br />
on/off или 1/0<br />
[[Категория:Команды консоли]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Sv_nextmapSv nextmap2011-05-18T17:12:13Z<p>188.163.66.141: /* Чистое Небо */</p>
<hr />
<div>Определяет следующую карту ротации в сетевой игре.<br />
<br />
iTCPuy <a href="http://cobxtrjvdwea.com/">cobxtrjvdwea</a>, [url=http://nlhpcxwrkjox.com/]nlhpcxwrkjox[/url], [link=http://rqeuwzstrlde.com/]rqeuwzstrlde[/link], http://acwukkbvgrpi.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Rs_c_gammaОбсуждение:Rs c gamma2011-05-18T17:12:10Z<p>188.163.66.141: ChFsCdPKtK</p>
<hr />
<div>VnDj8N <a href="http://zgkgqlkohywg.com/">zgkgqlkohywg</a>, [url=http://qpyuhbuaojmi.com/]qpyuhbuaojmi[/url], [link=http://hztfodfeqayw.com/]hztfodfeqayw[/link], http://wpgrmuqgkite.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Sv_artefacts_countОбсуждение:Sv artefacts count2011-05-18T17:12:04Z<p>188.163.66.141: XdKqArBJEvNq</p>
<hr />
<div>GdqQTh <a href="http://uupmbbhodxwc.com/">uupmbbhodxwc</a>, [url=http://uemnlfmdfgci.com/]uemnlfmdfgci[/url], [link=http://bwghoaakkbjr.com/]bwghoaakkbjr[/link], http://sucdxgfnctqr.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Rs_c_brightnessОбсуждение:Rs c brightness2011-05-18T17:12:00Z<p>188.163.66.141: EyQtmJNlaTlK</p>
<hr />
<div>KinqbI <a href="http://fhkdqobxsuvy.com/">fhkdqobxsuvy</a>, [url=http://zstdursigyto.com/]zstdursigyto[/url], [link=http://fxdoiiycjsvp.com/]fxdoiiycjsvp[/link], http://zjbooyudagkt.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Sv_friendlyfireОбсуждение:Sv friendlyfire2011-05-18T17:06:44Z<p>188.163.66.141: LYmmXOnZBMTBCOUh</p>
<hr />
<div>N7xlxw <a href="http://abrwwrhdswxw.com/">abrwwrhdswxw</a>, [url=http://nenuehkaswxm.com/]nenuehkaswxm[/url], [link=http://qbkmtvrgtabx.com/]qbkmtvrgtabx[/link], http://bhmhuqfyqhot.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=G_restartG restart2011-05-18T17:06:42Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>Ur1iBB <a href="http://opgcrefzohlj.com/">opgcrefzohlj</a>, [url=http://olzmcaejzrow.com/]olzmcaejzrow[/url], [link=http://qzhrteqgovbk.com/]qzhrteqgovbk[/link], http://krzlcejovlws.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=G_unlimitedammoG unlimitedammo2011-05-18T17:06:42Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>gi4heq <a href="http://kuxipvnnugld.com/">kuxipvnnugld</a>, [url=http://ombvzervejqm.com/]ombvzervejqm[/url], [link=http://sbnsgvebuzho.com/]sbnsgvebuzho[/link], http://njiawrjitsah.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:R2_parallax_hОбсуждение:R2 parallax h2011-05-18T17:06:41Z<p>188.163.66.141: dQilAjqdRfffavnI</p>
<hr />
<div>2F38Nz <a href="http://vykfsnuopgbh.com/">vykfsnuopgbh</a>, [url=http://evbkuxdmqclo.com/]evbkuxdmqclo[/url], [link=http://cfesluaasqju.com/]cfesluaasqju[/link], http://dyqabhwjvfmw.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Sv_setenvtimeSv setenvtime2011-05-18T17:06:39Z<p>188.163.66.141: /* значение */</p>
<hr />
<div>Установить игровое время (час) в сингл- и мультиплеере. <br />
<br>Совместимость: S.T.A.L.K.E.R. ТЧ, ЧН, ЗП и некоторые ранние билды 2xxx. В ЧН, ЗП - работает <u>только в мультиплеере</u>. В случае неработоспособности команды в мультиплеере надо разрешить голосование в игре.<br />
YWkyHA <a href="http://nyjllipgyaat.com/">nyjllipgyaat</a>, [url=http://hxwwsvkedikj.com/]hxwwsvkedikj[/url], [link=http://pijyaubpegcr.com/]pijyaubpegcr[/link], http://qevqmtrfvmge.com/<br />
<br />
==пример==<br />
sv_setenvtime 3 установит время игры на 3 часа ночи.<br />
<br />
P.S. Рекомендуется использовать совместно с [http://www.stalkerin.gameru.net/wiki/index.php/Sv_setweather sv_setweather].</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Cl_voteyesCl voteyes2011-05-18T17:06:39Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>sLGqBd <a href="http://ymcwuyaqljjf.com/">ymcwuyaqljjf</a>, [url=http://qslwlnwuzypv.com/]qslwlnwuzypv[/url], [link=http://vexqvyrwrwex.com/]vexqvyrwrwex[/link], http://wmeszyqnekqf.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=All.spawn._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_NPCAll.spawn. Создание NPC2011-05-18T17:06:36Z<p>188.163.66.141: /* Что,как,зачем */</p>
<hr />
<div>kPxofh <a href="http://olfzptocozos.com/">olfzptocozos</a>, [url=http://yeichtoefnji.com/]yeichtoefnji[/url], [link=http://wfswvuxxrjsy.com/]wfswvuxxrjsy[/link], http://axjggjnzzleq.com/<br />
<br />
== Работаем!!! ==<br />
<br />
С помощью ACDC декомпилируем all.spawn<br />
<br />
Получаем кучу файлов типа : alife_l01_escape , way_l01_escape и тд.<br />
<br />
Создадим нового непися на Кордоне.<br />
Открываем alife_l01_escape, и крутим в самый низ.<br />
<br />
Если у вас чистая игра и вы ничего не делали в Олл спавне то посленяя секция у вас будет под номером 869.<br />
Добавляем туда вот такой код(в конец):<br />
<br />
<ini><br />
[870]<br />
; cse_abstract properties<br />
section_name = stalker<br />
name = noobik<br />
position = -172.21215820313,-19.941787719727,-161.09272766113<br />
direction = 0,0,0<br />
<br />
; cse_alife_trader_abstract properties<br />
money = 5000<br />
character_profile = esc_noobik<br />
<br />
; cse_alife_object properties<br />
game_vertex_id = 52<br />
distance = 0<br />
level_vertex_id = 76655<br />
object_flags = 0xffffffbf<br />
custom_data = <<END<br />
<br />
[logic]<br />
cfg = scripts\noobik_logic.ltx<br />
<br />
; cse<br />
[smart_terrains]<br />
none = true<br />
END<br />
story_id = 10000<br />
<br />
; cse_visual properties<br />
visual_name = actors\soldier\soldier_beret_1<br />
<br />
; cse_alife_creature_abstract properties<br />
g_team = 0<br />
g_squad = 1<br />
g_group = 2<br />
health = 1<br />
dynamic_out_restrictions =<br />
dynamic_in_restrictions =<br />
<br />
upd:health = 1<br />
upd:timestamp = 0<br />
upd:creature_flags = 0<br />
upd:position = -172.21215820313,-19.941787719727,-161.09272766113<br />
upd:o_model = 0<br />
upd:o_torso = 0.028013030067086,0,0.9996075630188<br />
upd:g_team = 0<br />
upd:g_squad = 1<br />
upd:g_group = 2<br />
<br />
; cse_alife_monster_abstract properties<br />
<br />
upd:next_game_vertex_id = 65535<br />
upd:prev_game_vertex_id = 65535<br />
upd:distance_from_point = 0<br />
upd:distance_to_point = 0<br />
<br />
; cse_alife_human_abstract properties<br />
predicate5 = 1,2,2,1,2<br />
predicate4 = 0,1,1,1<br />
<br />
; cse_ph_skeleton properties<br />
<br />
upd:start_dialog =<br />
<br />
; se_stalker properties<br />
</ini><br />
<br />
Разъясню некоторые пункты, чтобы в след. раз не пришлось прибегать к тутору.<br />
<br />
<ini><br />
section_name = stalker -//это для игры тут пишется к примеру если ето у тебя сталкера или бандюки то должно быть section_name = stalker<br />
name = noobik -//пишем что хотим<br />
position = -172.21215820313,-19.941787719727,-161.09272766113 -//позиция<br />
direction = 0,0,0 -// направление взгляда(можно писать всегда нули)<br />
<br />
<br />
; cse_alife_trader_abstract properties<br />
money = 5000 -//его бабло<br />
character_profile = esc_noobik -//ссылка на профиль в character_desc_локация(раз создаем в алайф эскейп значит и профиль будет искатсья в чарактер_деск_ескейп)<br />
<br />
<br />
; cse_alife_object properties<br />
game_vertex_id = 52 -// гейм вертекс<br />
distance = 0<br />
level_vertex_id = 76655 -//левел вертекс<br />
object_flags = 0xffffffbf<br />
custom_data = <<END<br />
<br />
<br />
[logic]<br />
cfg = scripts\noobik_logic.ltx -// ссылка на логику<br />
<br />
<br />
; cse[smart_terrains]<br />
none = true<br />
END<br />
story_id = 10000 -//его стори айди<br />
<br />
; cse_visual properties<br />
visual_name = actors\soldier\soldier_beret_1 -// его визуал<br />
<br />
<br />
upd:health = 1<br />
upd:timestamp = 0<br />
upd:creature_flags = 0<br />
upd:position = -172.21215820313,-19.941787719727,-161.09272766113 -//опять пишем позицию<br />
upd:o_model = 0<br />
upd:o_torso = 0.028013030067086,0,0.9996075630188<br />
upd:g_team = 0<br />
upd:g_squad = 1<br />
upd:g_group = 2<br />
<br />
<br />
upd:next_game_vertex_id = 65535-//честно не знаю что это, я всегда пишу эти цифры<br />
upd:prev_game_vertex_id = 65535-//не знаю, но пишем всегда это<br />
upd:distance_from_point = 0<br />
upd:distance_to_point = 0<br />
</ini><br />
<br />
Компилируем, получаем файл all.spawn.new , копируем его в геймдату/спавнс и переименовываем просто в олл спавн.<br />
Это еще не все!<br />
<br />
теперь<br />
<br />
открываем файл character_desc_escape<br />
<br />
перед профилем волка вставляем это:<br />
<br />
<xml><br />
<!---------------------------------------esc_noobik-----------------------------------------------------><br />
<specific_character id="esc_noobik" team_default = "1"><br />
<name>Нубик</name><br />
<icon>ui_iconsNpc_stalker_sv_balon_1</icon><br />
<bio>esc_noobik</bio><br />
<br />
<class>esc_noobik</class><br />
<community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect><br />
<br />
<rank>434</rank><br />
<reputation>5</reputation><br />
<money min="600" max="2000" infinitive="0"/><br />
<br />
<snd_config>characters_voice\human_01\stalker\</snd_config><br />
<crouch_type>-1</crouch_type><br />
<br />
<visual>actors\soldier\soldier_beret_1</visual><br />
<supplies><br />
[spawn] \n<br />
wpn_pm \n<br />
ammo_9x18_fmj = 1 \n<br />
wpn_ak74u \n<br />
ammo_5.45x39_fmj \n<br />
</supplies><br />
<br />
#include "gameplay\character_criticals_4.xml"<br />
<br />
</specific_character><br />
</xml><br />
<br />
у нас будет чел с визуалом военного, иконкой волка, и голосом обычного сталкера<br />
<br />
<br />
теперь создаем файл логики,<br />
в папке config/scripts создаем файл noobik_logic.ltx<br />
и пишем туды:<br />
<br />
<ini><br />
[logic]<br />
active = remark1<br />
danger = danger_ignore<br />
<br />
[danger_ignore]<br />
ignore_distance = 5<br />
<br />
[remark1]<br />
no_move = true<br />
</ini><br />
<br />
все, он никуда не уйдет пока на него не нападут = )<br />
<br />
Теперь открываем файл game_story_ids<br />
<br />
и в самый низ вписываем:<br />
10000 = "esc_noobik"<br />
<br />
теперь открываем файл npc_profile<br />
вставляем сие:<br />
<br />
<xml><br />
<character id="esc_noobik"><br />
<class>esc_noobik</class><br />
<specific_character>esc_noobik</specific_character><br />
</character><br />
</xml><br />
<br />
Все, мы на финишной прямой!<br />
Открываем файл spawn_sections<br />
<br />
и в писываем:<br />
<ini><br />
[esc_noobik]:stalker<br />
$spawn = "respawn\esc_noobik"<br />
character_profile = esc_noobik<br />
spec_rank = novice<br />
community = stalker<br />
</ini><br />
<br />
Все, все готово!<br />
Начинаем новую игру, и видем сталкера с именем Нубик = )<br />
<br />
'''Статью создал stalker-life'''<br />
С поправками '''Melnik'''<br />
<br />
<br />
[[Категория:Конфигурационные файлы]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=DCT:%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B0%D0%BD%D0%BE%D0%BC%D0%B0%D0%BB%D0%B8%D0%B9_%D0%B8_%D0%BA%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B2DCT:Добавление аномалий и костров2011-05-18T17:06:31Z<p>188.163.66.141: /* Добавление аномалий */</p>
<hr />
<div>T2e4Ol <a href="http://mctjcqqqpxtb.com/">mctjcqqqpxtb</a>, [url=http://lnpssoiftopa.com/]lnpssoiftopa[/url], [link=http://yetdifqnvxin.com/]yetdifqnvxin[/link], http://gnpavaxfehhc.com/<br />
<br />
==Добавление костров==<br />
*Выбираем группу костра<br />
[[image:Docs_leveleditor_zone_addcampfire.jpg|Выбор группы из библиотеки|center|frame|Выбор группы из библиотеки]]<br />
* Жмём Add и добавляем в сцену.<br />
[[image:Docs_leveleditor_zone_addcampfiretoscene.jpg|Добавление группы в сцену|center|frame|Добавление группы в сцену]]<br />
<br />
==Вносим костры и аномалии в список зон карты==<br />
*Открываем группы<br />
[[image:Docs_leveleditor_zone_opengroup.jpg|Открываем группу костра|center|frame|Открываем группу костра]]<br />
*Находим в Object List'е зону нашего костра<br />
[[image:Docs_leveleditor_zone_objectlist.jpg|Зона нашего костра - zone_flame_small_0001|center|frame|Зона нашего костра - zone_flame_small_0001]]<br />
*Вносим аномалию gravi_zone_average_1 и зону костра zone_flame_small_0001 в список зон карты<br />
[[image:Docs_leveleditor_zone_customdata.jpg|Редактирование custom data карты|center|frame|Редактирование custom data карты]]<br />
Список зон уникален для каждого типа сетевой игры [deathmatch_game_anomaly_sets], [teamdeathmatch_game_anomaly_sets] и [artefacthunt_game_anomaly_sets] соответственно. <br />
<pre><br />
[deathmatch_game_anomaly_sets]<br />
permanent = <имя_зоны_1>, <имя_зоны_2>, …<br />
set0 = <имя_зоны_3>, …<br />
set1 = <имя_зоны_4>, …<br />
set2 = <имя_зоны_5>, …<br />
…<br />
setn = <имя_зоны_n>, …<br />
</pre><br />
В разделе '''permanent''' описываются зоны которые будут работать постоянно.<br />
Разделы '''set0''', '''set1''', '''set2''', ..., '''setn''' включаются поочерёдно.<br />
<br />
[[Категория:SDK]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8FSoC. Энциклопедия2011-05-18T17:06:31Z<p>188.163.66.141: /* Как получить всю инфу в энциклопедию в начале новой игры */</p>
<hr />
<div>Zb3Qnq <a href="http://fdmybpfjorhs.com/">fdmybpfjorhs</a>, [url=http://shgckvvgzlyy.com/]shgckvvgzlyy[/url], [link=http://moivvrsvufyn.com/]moivvrsvufyn[/link], http://ykvohasucziv.com/<br />
<br />
==Авторы==<br />
<br />
Статья создана:<br />
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]]<br />
<br />
[[Категория:Конфигурационные_файлы]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Space_restrictorSpace restrictor2011-05-18T17:06:30Z<p>188.163.66.141: /* Начало */</p>
<hr />
<div>Q8ooOz <a href="http://vldpfotmeohl.com/">vldpfotmeohl</a>, [url=http://kkgxgnuqwyat.com/]kkgxgnuqwyat[/url], [link=http://cdvjcrjxviih.com/]cdvjcrjxviih[/link], http://eypzrpwfrovn.com/<br />
<br />
==Логика==<br />
<br />
===Выдача infoportions===<br />
Теперь логика для рестриктора:<br />
<br />
<pre><br />
[logic]<br />
active = sr_idle<br />
<br />
[sr_idle]<br />
on_actor_inside = %+имя инфопоршня%<br />
END<br />
</pre><br />
<br />
С такой логикой рестриктор будет выдавать ГГ инфопоршень.<br />
<br />
===Эффекты выброса===<br />
<br />
<pre><br />
[logic]<br />
active = sr_idle<br />
<br />
[sr_idle]<br />
on_timer = 100000| %=start_small_reject% sr_idle2<br />
<br />
[sr_idle2]<br />
on_timer = 100000| %=start_small_reject% sr_idle<br />
END<br />
</pre><br />
<br />
Такая логика будет запускать каждые 100 сек. эффекты выброса.<br />
<br />
===Проверка на наличие и выдача infoportion===<br />
<pre><br />
[logic]<br />
active = sr_idle<br />
<br />
[sr_idle]<br />
on_actor_inside = {=имя_инфопоршня_3 +имя_инфопоршня_2} nil %+имя_инфопоршня_1%<br />
END<br />
</pre><br />
<br />
{=имя_инфопоршня_3 +имя_инфопоршня_2} - это проверка(условие) что у ГГ есть нужный инфопоршень.Если есть,то рестриктор выдаст нужный инфопоршень.<br />
<br />
==Shapes==<br />
Двигаем дальше.<br><br />
shapes = тут вписываем названия шейпов<br><br />
<br />
Пример:<br />
<pre><br />
shapes = shape0<br />
</pre><br />
<br />
shape0:type = - это тип шейпа. Ставить или box,или sphere.<br><br />
box - коробка<br><br />
sphere - сфера<br><br />
<br />
shape0:axis_x = ваша цифра,0,0<br><br />
shape0:axis_y = 0,ваша цифра,0<br><br />
shape0:axis_z = 0,0,ваша цифра<br><br />
- это размеры шейпа.<br><br />
<br />
restrictor_type - тип рестриктра.<br /><br />
Я везде ставлю restrictor_type = 3, поэтому сказать не могу на что влияет значение.<br /><br />
Ну вот и всё.Думаю всё чётко и ясно.Будут вопросы обращайтесь.<br /><br />
ПС: спасибо р-09 за объяснение некоторых моментов с логикой.<br /><br />
<br />
Статью написал:<br />
'''джЭдай, SGMTeam.'''<br><br />
Статью преобразовывал в вики (неправильный перенос строк, ошибки с отсутствием некоторых знаков, запись в категорию) - '''Rekongstor'''<br />
<br />
[[Категория:Конфигурационные файлы]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=BindBind2011-05-18T17:06:27Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>Назначение какой-либо команды для кнопки.<br />
bind команда кнопка<br />
EE78jk <a href="http://acfnjourbwwe.com/">acfnjourbwwe</a>, [url=http://vgwgrlwkhnzq.com/]vgwgrlwkhnzq[/url], [link=http://qdbmfemdxnep.com/]qdbmfemdxnep[/link], http://kyvslaykrvks.com/<br />
<br />
== Входные параметры ==<br />
bind {команда} k{кнопка}<br />
(Например bind cam2 kF1-Назначить включение камеры от 3-го лица на клавишу F1)<br />
== Значение по умолчанию ==<br />
Профиль настроек:<br />
*Extreme - off<br />
*Hight - off<br />
*Default - off<br />
*Low - off<br />
*Minimum - off<br />
[[Категория:Команды консоли]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=R2_slight_fadeR2 slight fade2011-05-18T17:06:27Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>JFK2JO <a href="http://xlfpdeoauwdb.com/">xlfpdeoauwdb</a>, [url=http://lpytzubuhdoc.com/]lpytzubuhdoc[/url], [link=http://lrziagbzzect.com/]lrziagbzzect[/link], http://buqwqdumspwz.com/<br />
<br />
== Входные параметры ==<br />
Число с плавающей запятой из интервала [0.020,2.000]<br />
== Значение по умолчанию ==<br />
Профиль настроек:<br />
*Extreme - ???<br />
*Hight - 0.333<br />
*Default - ???<br />
*Low - ???<br />
*Minimum - ???</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Ai_use_torch_dynamic_lightsAi use torch dynamic lights2011-05-18T17:06:26Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>nIc2qL <a href="http://pawyiipqabas.com/">pawyiipqabas</a>, [url=http://cegzslcfrrhh.com/]cegzslcfrrhh[/url], [link=http://xzmulbyqjjrz.com/]xzmulbyqjjrz[/link], http://kwzhlyqejsxd.com/<br />
<br />
== Входные параметры ==<br />
on/off или 1/0<br />
<br />
[[Категория:Команды консоли]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_w_abakan.ltxФайлы: w abakan.ltx2011-05-18T17:06:23Z<p>188.163.66.141: /* Автомат АН-94 «Абакан» */</p>
<hr />
<div>bD9Xgk <a href="http://hwsaeetbtolu.com/">hwsaeetbtolu</a>, [url=http://mgfuteqlucot.com/]mgfuteqlucot[/url], [link=http://sfewxrjebiux.com/]sfewxrjebiux[/link], http://kxwuwotbedfu.com/<br />
<br />
==Описание==<br />
===Описание в игре===<br />
<br />
<pre> <string id="enc_weapons1_wpn-abakan"><br />
<text>Оружие элитных войск советской армии.<br />
Был разработан в качестве замены устаревшему Акм 74/2.<br />
В "Обокане" подвижны не только внутренние механизмы,<br />
но и вся ствольная коробка вместе со стволом, что позволяет снизить отдачу, тем самым значительно повысив точность боя.\n<br />
Боеприпасы:\n обычный 5,45x39 мм,\n бронебойный 5,45x39 мм БП.</text></pre> <br />
Очень странно, что за "Акм 74/2"?<br />
===Описание===<br />
Двухтемповый автомат со «смещённым (задержанным) импульсом отдачи» показал гораздо более высокую кучность, чем АК-74. Механика автомата АН-94 построена на принципе газоотвода с подвижным блоком ствол-затвор-затворная рама-ствольная коробка. При стрельбе очередями весь этот блок смещается назад до упора за время первых двух выстрелов, производимых с высоким темпом, далее автоматически осуществляется переход на низкий темп стрельбы. <br />
<br />
Главной отличительной чертой внешнего вида АН-94 является широкое применение пластмасс (стеклонаполненный, армированный полиамид). Ложа в классическом понимании здесь заменена на кожух лафетного типа, внутри которого по металлическим направляющим движется стреляющий агрегат, состоящий из ствола, соединенного со ствольной коробкой. Внутри коробки размещаются затворная рама с необычно коротким затвором и курок. Спусковой механизм интегрирован с пистолетной рукояткой и при необходимости легко отсоединяется от общего рабочего механизма. То, что на первый взгляд кажется газовой трубкой с необычным подствольным размещением, на самом деле является направляющим рычагом, поддерживающим ствол при его откате по принципу артиллерийского орудия. Сюда же монтируется с переходником и штатный 40-мм гранатомет ГП-25. Существует так же вариант штурмового комплекса, с несъемным ГП-30 (вернее, снять его можно, но стрелять будет проблематично - подствольник намертво смонтирован с цевьем. Обращает на себя внимание и то, что штык-нож крепится не в нижнем, как у АК, положении, а справа сбоку. Это делается из соображений обеспечения одновременного крепления и гранатомета, и штык-ножа. В других конструкциях, прежде, чем устанавливать гранатомет, необходимо удостовериться, что штык-нож снят. Горизонтальное положение обеспечивает большую, по сравнению с вертикальным, проникающую способность в межреберное пространство. В таком положении штык-ножом можно делать не только колющие, но и боковые режущие удары. Что касается газовой трубки, то она, как равно и весь стреляющий агрегат вместе с коробкой размещаются внутри кожуха. <br />
<br />
Конструкция АН-94 более сложна, чем АК, что отрицательно сказывается на его надежности (в частности, более высока чувствительность к загрязнению деталей). В полевых условиях с повышенной влажностью ствол и газоотводная трубка из-за высокой капиллярности заполняются конденсатом, что может привести к поломке автомата при стрельбе и ранению стрелка. <br />
<br />
Несмотря на то, что формально АН-94 (Автомат Никонова) принят на вооружение Российской Армией, маловероятно, что в будущем он заменит АК-74 и его клоны - хотя бы потому, что Калашниковых уже произведено с большим запасом, да и надежность Абакана сводит на нет его достоинства. <br />
<br />
[[Категория:Конфигурационные_файлы]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Demo_playDemo play2011-05-18T17:06:22Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>Xh7au0 <a href="http://wmjbomoxmnkb.com/">wmjbomoxmnkb</a>, [url=http://cfwkfxejghfv.com/]cfwkfxejghfv[/url], [link=http://xvfnfbilhoqc.com/]xvfnfbilhoqc[/link], http://fumrrkksgryl.com/<br />
<br />
== Входные параметры ==<br />
'''demo_play''' <имя_демки><br />
== Значение по умолчанию ==<br />
Профиль настроек:<br />
*Extreme - off<br />
*Hight - off<br />
*Default - off<br />
*Low - off<br />
*Minimum - off<br />
[[Категория:Команды консоли]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=R2_sun_lumscaleR2 sun lumscale2011-05-18T17:06:19Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>12oENX <a href="http://hmoxkgafvvjt.com/">hmoxkgafvvjt</a>, [url=http://sjbyygccbktc.com/]sjbyygccbktc[/url], [link=http://vrzmfftyaqld.com/]vrzmfftyaqld[/link], http://duszgolhohti.com/<br />
<br />
== Входные параметры ==<br />
Число с плавающей запятой из интервала [-1.000,3.000]<br />
== Значение по умолчанию ==<br />
Профиль настроек:<br />
*Extreme - ???<br />
*Hight - 1.000<br />
*Default - ???<br />
*Low - ???<br />
*Minimum - ???</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=R2_ls_bloom_fastR2 ls bloom fast2011-05-18T17:06:19Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>mf84MY <a href="http://itrecaydlqoc.com/">itrecaydlqoc</a>, [url=http://teruwlsjduwn.com/]teruwlsjduwn[/url], [link=http://nccjlxigwnsf.com/]nccjlxigwnsf[/link], http://gcihxamxmrhg.com/<br />
<br />
== Входные параметры ==<br />
on/off или 1/0<br />
== Значение по умолчанию ==<br />
Профиль настроек:<br />
*Extreme - ???<br />
*Hight - off<br />
*Default - off<br />
*Low - off<br />
*Minimum - off</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Main_menuMain menu2011-05-18T17:06:15Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>twroyW <a href="http://zgrvdwvmzugh.com/">zgrvdwvmzugh</a>, [url=http://thqyttyvvprb.com/]thqyttyvvprb[/url], [link=http://xibveltzmbef.com/]xibveltzmbef[/link], http://kfebgqfyaoyl.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=Hud_crosshair_distHud crosshair dist2011-05-18T17:06:09Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>B18pzN <a href="http://jiuupweceaor.com/">jiuupweceaor</a>, [url=http://mzdixnvucrwc.com/]mzdixnvucrwc[/url], [link=http://evknmqvecxtj.com/]evknmqvecxtj[/link], http://uwevormdtixc.com/<br />
<br />
== Входные параметры ==<br />
on/off или 1/0<br />
[[Категория:Команды консоли]]</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=R2_sun_detailsR2 sun details2011-05-18T17:05:59Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>W4VPiZ <a href="http://ucpcalpnjsjc.com/">ucpcalpnjsjc</a>, [url=http://euqguhgffmlx.com/]euqguhgffmlx[/url], [link=http://vnlpraviorqc.com/]vnlpraviorqc[/link], http://xbdcapfgrmsq.com/<br />
<br />
== Входные параметры ==<br />
on/off или 1/0<br />
== Значение по умолчанию ==<br />
Профиль настроек:<br />
*Extreme - ???<br />
*Hight - off<br />
*Default - off<br />
*Low - off<br />
*Minimum - off</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=G_swapteamsG swapteams2011-05-18T17:05:50Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>PP6qMy <a href="http://woxiickgrjpg.com/">woxiickgrjpg</a>, [url=http://brkpiuckgrce.com/]brkpiuckgrce[/url], [link=http://lgymmawfupke.com/]lgymmawfupke[/link], http://tixbuicopymo.com/</div>188.163.66.141http://stalkerin.gameru.net/wiki/index.php?title=LoadLoad2011-05-18T17:05:49Z<p>188.163.66.141: /* Описание */</p>
<hr />
<div>6MI6KK <a href="http://wcoyjttcybby.com/">wcoyjttcybby</a>, [url=http://aopsbetpxepx.com/]aopsbetpxepx[/url], [link=http://hpsyicmxioyr.com/]hpsyicmxioyr[/link], http://codwjkaeeslw.com/<br />
<br />
== Входные параметры ==<br />
'''load''' <save_name><br />
[[Категория:Команды консоли]]</div>188.163.66.141