Создание рандомного выбора муз. заставки главного меню:
При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.
1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)
2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку:
<menu_sound random="0" >
и заменить на:
<menu_sound random="1" >
3. В этом же файле найти строку:
<menu_music>music\wasteland2</menu_music>
и ниже нее выставить следующую строку:
<menu_music>music\my_music</menu_music>
4. Сохранить файл.
5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.
Автор идеи - VM NPC покупают оружие:
Чтобы обычные сталкеры и др. npc могли покупать у ГГ оружие, нужно править файл gamedata\config\misc\trade_generic.ltx. Его структура точно такая же, как и у любого другого торговца.
После строки [generic_buy] находим строку ;Оружие и после неё у каждого вида ставим зачения N и n.n.
Можно например так:
;Оружие
wpn_pm = 0.08, 0.12
wpn_pb ;NO TRADE
wpn_fort = 0.08, 0.12
wpn_hpsa = 0.08, 0.12
wpn_beretta = 0.08, 0.12
wpn_walther = 0.08, 0.12
wpn_sig220 ;NO TRADE
…
…
А чтобы у npc продавалось оружие, нужно проделать тоже самое, только после строки [generic_sell]
Метод я проверял, вроде как работает.
Чтобы после покупки персонаж не выкидывал купленное оружие(а также чтобы подбирал его с земли), в файле gamedata\config\creatures\m_stalker.ltx строку can_select_items = off меняем на can_select_items = on
и строку use_single_item_rule = on меняем на use_single_item_rule = off .
Транспорт:
Транспорт в игре есть! Пока способ заспаунить его не известен общественности, но тем не менее в сети появился файл all.spawn, копируйте его в папку gamedata\spawns. Мод предназначен только для пропатченной версии игры(1.0001). После начала новой игры в первой локации рядом с Сидоровичем появятся несколько машин, в т. ч. и Камаз. Чтобы включить двигатель в консоли пишем [b]bind turn_engine kb[b], закрываем консоль, жмём кнопку b и наслаждаемся….
Рассмотрим параметры машин, конфиги находятся в папке gamedata\config\models\vehicles.
[car_definition] – после строки идут коментарии на русском языке, перейдём сразу к следующему.
…
--Factory parameters of Engine -- - параметры двигателя(описание не претендует на совершенно точное)
fuel_tank – вместимость бака.
engine_power – мощность двигателя.
hand_break_torque - сила торможения
[damage_items] – повреждения частей машины
back_left_wheel - заднее левое колесо
back_right_wheel -заднее правое колесо
front_left_wheel -переднее левое колесо
front_right_wheel - переднее правое колесо
left_door - левая дверь
right_door - правая дверь
[immunities]
burn_immunity = 0.5 ;коэффициенты иммунитета
strike_immunity = 0.1
shock_immunity = 0.0
wound_immunity = 0.01
radiation_immunity = 0.0
telepatic_immunity = 0.0
chemical_burn_immunity = 0.0
explosion_immunity = 0.4
fire_wound_immunity = 0.0005
P.S. Чтобы сделать вид от третьего лица, в файле user.ltx(ну если не знаете где он находится, то специально для вас в Microsoft сделали поиск в Windows) пишем после строки unbindall:
bind cam_1 kF1
bind cam_2 kF2
bind cam_3 kF3
В игре жмём кнопки F1, F2 или F3 для смены вида.
Очень нужно при езде на БТР
Объекты, которые можно перемещать:
В файле system.ltx в конце есть строка [ph_capture_visuals], после неё идёт список перетаскиваемых вещей. Например чтобы можно было таскать монстров, в конец добавляем:
//Monsters
monsters\mutant_boar\mutant_boar
monsters\krovosos\krovosos
monsters\kontroler\kontroler
monsters\dog\dog
monsters\flesh\flesh
monsters\dog\dog_cmn_1
monsters\flesh\flesh
monsters\poltergeist\poltergeist
monsters\pseudodog\pseudodog
monsters\snork\snork
monste rs\burer\burer
monsters\chimera\chimera
monsters\cat\cat
monsters\zombi\zombi_1
monsters\rat\rat_1
monsters\tushkano\tushkano
Как сделать так, чтоб не убиралось из рук оружие в некоторых локациях?:
В файле gamedata\scripts\sr_no_weapon*****ipt найти и закомментировать (поставить перед ними --) строки
bind_stalker.hide_weapon()
bind_stalker.restore_weapon()
и в файле zone_no_weapon*****ipt ищем строки hide_weapon() и заменяем их на restore_weapon()
Способ подходит и для предыдущего файла.
Как приделать к оружию оптику, глушитель, подствольник?:
Находим в файле оружия строку ;addons и пишем после(без комментарие естественно(или перед ними ставьте + значения после знака = можно менять):
;addons
scope_status = 2 0 - нет,1 - несъемный, 2 - можно ставить прицел
silencer_status = 0 0 - нет,1 - несъемный, 2 - можно ставить глушитель
grenade_launcher_status= 0 0 - нет,1 - несъемный, 2 - можно ставить подствольник
zoom_enabled = true Вкл/выкл возможность зума
scope_zoom_factor = 50 значение зума
scope_name = wpn_addon_scope название прицепляемого прицела
scope_x = 47 положение прицела на картинке, x
scope_y = 0 положение прицела на картинке, y
silencer_name = wpn_addon_silencer название глушителя
silencer_x = 218 положение глушителя на картинке, x
silencer_y = 9 положение глушителя на картинке, y
grenade_launcher_name= wpn_addon_grenade_launcher название подствольника
grenade_launcher_x = 126 положение подствольника на картинке, x
grenade_launcher_y = 24 положение подствольника на картинке, y
КАК ИЗМЕНИТЬ НОСИМЫЙ ВЕС?
В файле \gamedata\config\creatures\actor.ltx находим переменную max_item_mass – это максимальный вес при достижении которго игрок перестает двигаться
max_walk_weight - максимальный вес, до достижения которого можно передвигаться
В файле \gamedata\config\ system.ltx изменяем переменную max_weight – это вес который игрок несет не напрягаясь.
Как убрать/увеличить время для обычных квестов?:
В файле gamedata\config\misc\task_manager.ltx найти и изменить все строки вида time = 86400
Чтобы совсем убрать лимит - просто закомментировать их (--)
Как убрать intro-ролики в начале?:
В свойствах ярлыка прописываем после пути к exe-шнику: -nointro
Получиться должно что то вроде(это как у меня):
"D:\Games\S.T.A.L.K.E.R. Shadow of Chernobyl\bin\XR_3DA.exe" -nointro
Как включить motion blur?:
В свойствах ярлыка прописываем после пути к exe-шнику: -mblur
В файле user.ltx(можно и в консоли) параметру r2_mblur присваиваем значение например 0.15
Работает только на DirectX 9.
Как увеличить время спринта?:
В файле actor.ltx меняем параметр sprint_koef.
Как поменять кол-во жизни монстрам?:
В файле m_*.ltx(где * - название монстра, например m_controller.ltx; находится в папке gamedata\config\creatures) меняем параметр health
Как повесить на пояс больше артефактов?:
В файле system.ltx изменяем параметр max_belt с 5 на 10 (max_belt = 10)
Ищем файл inventory_new.xml и в нём меняем
<dragdrop_belt x="645" y="136" width="410" height="60"
cell_width = "60" cell_height="60" rows_num="1" cols_num="5"/>
на
<dragdrop_belt x="590" y="118" width="410" height="104"
cell_width = "52" cell_height="52" rows_num="2" cols_num="5"/>
что соответствует 10 артефактам.
При желании поправив соответствующим образом файлы system.ltx и inventory_new.xml
можно получить 12,14,16 и более слотов под артефакты.
Создание новых веток диалога:
Создание новых веток диалога.
1) Списки веток диалогов содержатся в файлах вида gamedata/config/gameplay/character_desc_*.xml
Это например:
character_desc_zombied.xml
character_desc_stalker.xml
character_desc_g arbage.xml
итд.
Файлы character_desc_*.xml можно сравнить со стволом дерева диалогов.
В них перечисляется названия прикрепляемых веток диалогов
Например вот список веток диалога с Сидоровичем взятый из файла character_desc_escape.xml
<start_dialog>escape_trader_start_dialog</start_dialog>
<actor_dialog>escape_trader_talk_info</actor_dialog>
<actor_dialog>escape_trader_jobs</actor_dialog>
<actor_dialog>tm_trader_dialog</actor_dialog>
<actor_dialog>tm_trader_reward</actor_dialog>
<actor_dialog>escape_trader_done_blockpost_box</actor_dialog>< br>
В свою очередь каждая ветка диалога также может ветвится.
2) Ветвление веток прописывается уже в других файлах.
Например ветвление веток диалога с Сидоровичем содержится в файле gamedata/config/gameplay/dialogs_escape.xml
Возьмем оттуда к примеру ветвление ветки escape_trader_jobs
(ветвление веток обычно очень большое поэтому я приведу только часть):
<dialog id="escape_trader_talk_info">
<precondition>escape_dialog.trader_has_talk_info_w r</precondition >
<has_info>tutorial_end</has_info>
<phrase_list>
<phrase id="1">
<text>escape_trader_talk_info_1</text>
<next>100</next>
<next>99</next>
<next>9995</next>
</phrase>
…
…
…
<phrase id="0">
<text>escape_trader_talk_info_0</text>
<next>1</next>
</phrase>
</phrase_list>
</dialog>
Здесь <precondition>…</precondition> - это проверка выполнения условия. Ветка появится в диалоге, только если условие выполняется.
Конкретно <precondition>escape_dialog.trader_has_talk_info_w r</precondition> из ветки escape_trader_talk_info есть обращение к функции trader_has_talk_info_wr находящейся в файле скрипте gamedata/scripts/escape_dialog*****ipt
Функция выглядит так:
function trader_has_talk_info_wr( trader, actor )
return true
end
Насколько понимаю она возвращает true только в случае если мы разговариваем с trader_ом т.е. с Сидоровичем.
Т.е проверкой условия <precondition>escape_dialog.trader_has_talk_info_w r</precondition> проверяется с кем ведется диалог,
и если диалог ведется с Сидоровичем в ветке <dialog id="escape_trader_talk_info"> по крайней мере этим условием пропускается в списк реплик.
Но для конкретной ветки может быть несколько precondition и других условий.
Далее <has_info>tutorial_end</has_info>Если я верно понимаю, это так же своего рода проверка условия В данном случае проверка на то закончена стадия tutorialа или нет. Т.е ветка допустится в список реплик если стадия tutorialа закончена.
А далее идут конкретные фразы содержащие ссылки на вытекающие фразы
Фраза:
<phrase id="0">
<text>escape_trader_talk_info_0</text>
<next>1</next>
</phrase>
это основа ветки escape_trader_talk_info.
(Вообще как я понял в любой основной ветке любого диалога фраза <phrase id="0"> будет основой из которой далее будет все вытекать)
<next>1</next> - это ссылка на вытекающую фразу <phrase id="1"> :
<phrase id="1">
<text>escape_trader_talk_info_1</text>
<next>100</next>
<next>99</next>
<next>9995</next>
</phrase>
В свою очередь <next>100</next>, <next>99</next>, <next>9995</next> это ссылки на фразы веточки растущие из фразы
<phrase id="1">.
3) Текст каждой фразы содержится уже в четвертом файле. Для диалога с Сидоровичем тексты лежат в файле
gamedata/config/text/rus/stable_dialogs_escape.xml
<string id="escape_trader_talk_info_0">
<text>Есть несколько вопросов.</text>
</string>
<string id="escape_trader_talk_info_1">
<text>Спрашивай, только я ведь всего не знаю. Сам понимаешь, сижу тут целыми днями, а жизнь - она вся там, снаружи, в Зоне. Могу рассказать о Зоне вообще, а немного могу о ближайших окрестностях, где сам ходил.</text>
</string>
Эти строки содержат тексты для фраз <phrase id="0"> и <phrase id="1">
Итого диалоги разложены по 4 а то и более файлам.
Да кстати, путь по веткам может быть зацикленным если того требует диалог. Например так:
<phrase id="0">
<text>…</text>
<next>1</next>
<next>2</next>
</phrase>
<phrase id="1">
<text>…</text>
<next>11</next>
<next>12</next>
</phrase>
<phrase id="11">
<text>…</text>
<next>1</next> - Это возврат к фразе 1. (зацикливание)
<next>111</next>
</phrase>
Теперь пример практического применения того, о чем было сказано выше:
Добавим в диалог с Сидоровичем ветку своего собственного изготовления.
Например такую:
Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
Сидорович: Чего?!!
Меченый: Ты их совсем, совсем не кормишь?
Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.
1) В файле gamedata/config/gameplay/character_desc_escape.xml в конце списка веток для trader_а суем свою ветку с произвольным названием. (например <actor_dialog>escape_trader_letat_gusi</actor_dialog>)
Т.е у нас получится так
…
<specific_character id="escape_trader" no_random = "1">
…
…
…
<start_dialog>escape_trader_start_dialog</start_dialog>
<actor_dialog>escape_trader_talk_info</actor_dialog>
<actor_dialog>escape_trader_jobs</actor_dialog>
<actor_dialog>tm_trader_dialog</actor_dialog>
<actor_dialog>tm_trader_reward</actor_dialog>
<actor_dialog>escape_trader_done_blockpost_box</actor_dialog>< br> <actor_dialog>escape_trader_letat_gusi</actor_dialog>
</specific_character>
…
Записываем изменения и с файлом character_desc_escape.xml все.
2) Теперь берем файл gamedata/config/gameplay/dialogs_escape.xml
Диалогу:
Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
Сидорович: Чего?!!
Меченый: Ты их совсем, совсем не кормишь?
Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.
Который мы хотим реализовать будет соответствовать такая структура:
<phrase id="0">
<text>escape_trader_ letat_gusi_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>escape_trader_ letat_gusi_1</text>
<next>2</next>
</phrase>
<phrase id="2">
<text> escape_trader_ letat_gusi_2</text>
<next>3</next>
</phrase>
<phrase id="3">
<text> escape_trader_ letat_gusi_3</text>
</phrase>
условия наличия ветки в диалоге можно взять из ветки <dialog id="escape_trader_talk_info">
Т.е берем условия <precondition>escape_dialog.trader_has_talk_info_w r</precondition > и <has_info>tutorial_end</has_info>
(Можно было конечно прописать в скрипте еще одно условие для ветки, чтоб она появилась только один раз,
а потом больше не возникала. Но об этом как нибудь позже допишу.)
В итоге у нас получилась такая структура:
<dialog id="escape_trader_letat_gusi">
<precondition>escape_dialog.trader_has_talk_info_w r</precondition >
<has_info>tutorial_end</has_info>
<phrase_list>
<phrase id="0">
<text>escape_trader_letat_gusi_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>escape_trader_letat_gusi_1</text>
<next>2</next>
</phrase>
<phrase id="2">
<text> escape_trader_letat_gusi_2</text>
<next>3</next>
</phrase>
<phrase id="3">
<text> escape_trader_letat_gusi_3</text>
</phrase>
</phrase_list>
</dialog>
Которую нужно вставить в любом месте между dialog id_шниками других веток в файле dialogs_escape.xml.
Главное не промахнутся и засунуть именно между, а не внутрь одного из dialog id
Все что находится между тегами <dialog id="***"> и </dialog> это внутенности конкретного dialog id
Т.е совать наш
<dialog id="escape_trader_letat_gusi">
….
</dialog>
надо
<dialog id="*** ">
…
</dialog>
здесь
<dialog id="*** ">
…
</dialog>
но
<dialog id="*** ">
не здесь
</dialog>
После сохранения внесенных изменений с файлом dialogs_escape.xml все.
3) Теперь вбиваем сами текстовички в файле gamedata/config/text/rus/stable_dialogs_escape.xml
Т.е нам надо в файле stable_dialogs_escape.xml вставить такую конструкцию:
<string id="escape_trader_letat_gusi_0">
<text>Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?</text>
</string>
<string id="escape_trader_letat_gusi_1">
<text>Чего?!!</text>
</string>
<string id="escape_trader_letat_gusi_2">
<text>Ты их совсем, совсем не кормишь?</text>
</string>
<string id="escape_trader_letat_gusi_3">
<text>В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.</text>
</string>
в любом месте между уже существующими string id
<string id="*** ">
</string>
сюда
<string id="*** ">
</string>
Но не внутрь одного из существующих string id
<string id="*** ">
не сюда
</string>
После сохранения изменений, у нас все готово. Можно грузить игру и смотреть что получилось.
Оружие загораживает пол-экрана. Как это исправить?:
В файле конфига выбранного оружия меняем:
position = 0, -0.075, 0 ; было 0,0,0
zoom_offset = -0.112400,0.091800,-0.115000 ; было -0.112400,0.016800,-0.115000
Где найти файл user.ltx?:
Для Windows XP в директории X:\Documents and Settings\All Users\ Общие документы \STALKER-SHOC
Для Windows Vista в директории X:\Users\Public\Documents\STALKER-SHOC
Как изменить силу врагов?:
В файле gamedata\config\creatures\actor.ltx найти строки
hit_probability_gd_novice = 0.20
hit_probability_gd_stalker = 0.30
hit_probability_gd_veteran = 0.40
hit_probability_gd_master = 0.50
Они отвечают за вероятность попадания по вам при разных уровнях сложности.
Гармошка:
Для возврата в игру губной гармошки, ищем в папке gamedata\scripts файл xr_kamp*****ipt и открываем его блокнотом. Далее ищем строку -- играть на гармошке . Сам скрипт выглядит так:
-- играть на гармошке
-- if npcbject("harmonica_a") then
-- self.npc[npc_id].states["play_harmonica"] = true
-- self.npc[npc_id].states["wait_harmonica"] = true
-- self.kamp_states["pre_harmonica"] = true
-- self.kamp_states["harmonica"] = true
-- self.kamp_states["post_harmonica"] = true
-- else
self.npc[npc_id].states["play_harmonica"] = false
self.npc[npc_id].states["wait_harmonica"] = false
self.kamp_states["pre_harmonica"] = false
self.kamp_states["harmonica"] = false
self.kamp_states["post_harmonica"] = false
-- end
В данном случае знак -- означает, что строки скрипта игра не использует, а просто пропускает их, переходя к следующей части. Значит нужно убрать знак – из тех строк, которые нам нужны. Должно получится:
-- играть на гармошке
if npcbject("harmonica_a") then
self.npc[npc_id].states["play_harmonica"] = true
self.npc[npc_id].states["wait_harmonica"] = true
self.kamp_states["pre_harmonica"] = true
self.kamp_states["harmonica"] = true
self.kamp_states["post_harmonica"] = true
else
self.npc[npc_id].states["play_harmonica"] = false
self.npc[npc_id].states["wait_harmonica"] = false
self.kamp_states["pre_harmonica"] = false
self.kamp_states["harmonica"] = false
self.kamp_states["post_harmonica"] = false
end
Всё, теперь можете запускать игру и наслаждаться.*
Как менять скорострельность и удобность оружия?:
В папке gamedata/config/weapons в файлах конфигурации оружия ищи
control_inertion_factor
чем меньше параметр - тем выше удобство.
и
rpm - скорострельность.
Как положить оружие в другой слот?:
В папке gamedata/config/weapons в файлах конфигурации оружия ищи
SLOT и меняй на 1 (вместо ножа) или 2 (пистолетный слот)
Добавление новых опций в меню игры?:
Открываем файл gamedata\config\ui\ui_keybinding.xml. В нём находим строку
<group name="kb_grp_common">
и после неё пишем:
<command id="kt_turn_engine" exe="turn_engine"/>
<command id="kb_cam_1" exe="cam_1"/>
<command id="kb_cam_2" exe="cam_2"/>
<command id="kb_cam_3" exe="cam_3"/>
Таким образом в меню игры добавляются 4 новых опции, а именно: смена камеры и кнопка включения двигателя. Также можно добавлять сюда др. клавиши(если знать консольные команды)
Скрипты дверей:
Покажу вам на примере, как открыть дверь в саркофаге без дешифра) мы просто сделаем дверь открытой по умолчанию, этот трюк можно использовать в любом направлении, в том числе и для новых квестов
Идём в gamedata\config\scripts и ищем скрипт нужной двери или объекта, нам нужна дверь в саркофаге и это sar_door.ltx
Вот вам скрипт с моими комментариями, мои комментарии после символа ;, в вашем скрипте они не нужны, так что удалите их если будете копировать отсюда...
[logic] ;Основное действие
active = ph_door@locked ; При нажатии кнопки "Действия" выполняется скрипт [ph_door@locked]
[ph_door@locked] ; То что выполняется сейчас
locked = true ; Закрыто на замок, значение правда ("Закрыто", при нажатии на кнопку действия ничего не произойдёт)
closed = true ; Прикрыта, правда ("Прикрыта", при нажатии на кнопку действия дверь октроется)
tip_open = tip_door_coded ; Всплывающая подсказка "Дверь закодирована"
on_info = {=actor_has_decoder} ph_door@coded ; При нажатии на кнопку действия идёт проверка есть ли декодер
[ph_door@coded] ; Если есть декодер то...
locked = true ;Закрыто, правда
closed = true ;Прикрыто, правда
tip_open = tip_door_decode ; Всплывающая подсказка "Декодировать"
on_info = {!actor_has_decoder} ph_door@locked
on_use = ph_door@decoding %+sar_access_decoding% ; При начале декодирования, пошёл процесс декодирования и выполняется скрипт sar_access_decoding
[ph_door@decoding] ; В процессе декодирования
locked = true
closed = true
tip_open = tip_door_decoding
on_info = {+sar_finish_decoding} ph_door@unlocked ; Завершение скрипта sar_finish_decoding и выполнение ph_door@unlocked
[ph_door@unlocked] ; Дверь разкодирована и открыта
locked = false
closed = false
show_tips = false
Если мы хотим увидеть правдивые концовки, но мы уже в саркофаге и у нас нет дешифра, то мы просто можем изменить везде
locked = false на true
closed = false на true
И в зависимости что вам надо и где можете менять и изменять, тут всё предельно просто и понятно...
Q: Как собрать созданный мной мод в файл с расширением .db (например gamedata.db9)?
A: Пока никак. Пускай хранится в папке gamedata.
Q: Чем открывать файлы с расширением .ltx, .script?
A: Текстовым редактором (например блокнотом).
Q: Какова структура файлов и папок в игре?
A:
Папка ai - содержит в себе файлы с расширением .efd через которые управляется искусственный интеллект.
Папка anims – содержит в себе файлы отвечающие за игровую анимацию, а также эффекты камеры.
Папка config – содержит в себе различные игровые параметры.
Папка levels – содержит в себе игровые уровни (карты/локации).
Папка meshes – содержит в себе файлы с расширением .ogf - это модели (персонажи, предметы и т.д.).
Папка scripts – содержит в себе скрипты игры.
Папка shaders – содержит в себе шейдеры, для двух рендеров(DX8 и DX9).
Папка sounds – содержит в себе файлы с расширением .ogg - это звуки и музыка.
Папка spawns – содержит в себе файлы отвечающие за респаун NPC в игре (противники, люди, животные и т.д.).
Папка textures – содержит в себе файлы с расширением .dds - это текстуры игры.
Q: Чем распаковать архивы gamedata.db*?
A: Программой S.T.A.L.K.E.R. Data Unpacker например.
Q: Как изменить время респауна NPC?
A: В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\scripts\se_repawn.scripts найдите строку
idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)
и исправить на
idle_time:setHMSms( math.random(Первое число, Второе число), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)
где первое и второе числа задают диапазон случайной переменной в часах отвечающей за респаун.
Q: Как увеличить рост персонажа? (поднять камеру)
A: В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\actor.ltx найти переменную camera_height_factor и увеличить примерно до 0.95 (это нормальный рост глаза-в-глаза)
Q: Как изменить силу оружия?
A: В папке S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\weapons\ лежат файлы конфигурации – откройте необходимый вам и найдите строку hit_power – измените её значение, как вам нужно.
Q: Как изменить цены?
A: Оружие – в папке S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\weapons\ найдите нужный вам файл, в нём найдите строку cost и вместо указанной цены впишите такую, какую вам нужно.
Патроны – в той же папаке файл weapons.ltx в нем строка cost для каждого вида патронов.
Предметы – файл S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\misc\items.ltx – аналогично.
Броня – там же файл outfit.ltx – аналогично.
Q: Как изменить носимый вес?
A: В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\actor.ltx найдите переменную max_item_mass – это максимальный вес при достижении которго игрок перестает двигаться.
В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\system.ltx измените переменную max_weight – это вес который игрок несет не напрягаясь.
Q: Как сделать невидимые аномалии?
A: В папке S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\misc\ найдите файл отвечающий за интересующую вас аномалию (например грави - zone_gravi.ltx) в файле найдите строку idle_particles = anomaly2\gravity_idle и закоментирйте её символами «--« - все визуально ничего нет. Что бы отключить еще и звуковое оповещение найдите строку visible_by_detector и замените значение on на off
Q: Как сделать чтобы еда не лечила?
A: Найдите в файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\misc\items.ltx нужный вам продукт (например колбасу - Kolbasa), под ним найдите переменную eat_health и измените её на 0.
Q: Как изменить силу врагов?
A: В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\actor.ltx найдите строки
hit_probability_gd_novice = 0.20
hit_probability_gd_stalker = 0.30
hit_probability_gd_veteran = 0.40
hit_probability_gd_master = 0.50
они отвечают за вероятность попадания по вам при разных уровнях сложности. Повышение значения до 1 увеличит силу врагов.
Q: Как изменить разброс при стрельбе?
A: В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\actor.ltx найдите переменную disp_base, уменьшение её значения уменьшит разброс при стрельбе.
Q: Как сделать много крови?
A: В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\system.ltx найдите переменную start_blood_size – это минимальный размер раны при котором идет кровь.
Переменная blood_drop_size отвечает за размер капли крови, повысьте её значение и крови будет больше.
Q: Как изменять свойства артефактов?
В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\misc\artefacts.ltx найдите нужный артефакт и его характеристики - измените и так, как вам нужно:
Переменная health_restore_speed отвечает за скорость восстановления здоровья (пример: 0.0001 = +100%)
Переменная radiation_restore_speed отвечает за скорость накопления радиации (пример: 0.0004 = 4) если поставить отрицательное число, то будет ускорять выведение радиации.
Иммунитеты:
strike_immunity - удар
shock_immunity - электрошок
chemical_burn_immunity - химический ожог
telepatic_immunity - телепатия
radiation_immunity - радиация
wound_immunity - разрыв
explosion_immunity - взрыв
fire_wound_immunity - огнестрел
например 0.7 = +30%, 0.2 = +80%, значение больше 1 пойдет наоборот в минус т.е. 1.3 это -30%
Для начала хватит
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop