Как сделать сталкера невидимым

Подробный разбор файла actor.ltx

Настройка актёра. Написано by Rekongstor.

И изменим весь блок десятью строчками ниже так:

max_item_mass = 999 ; Стоит указывать значения меньше параметра max_walk_weight (см.выше).
jump_speed = 60 ; Высота прыжка. Не указывайте астрономические значения. Гл. герой всё равно не улетит в космос ))
crouch_coef = 1 ; Скорость ползагия «очень сидя» (Ctrl + Shift по умолчанию)
climb_coef = 2 ; Вроде присев (Ctrl)
run_coef = 3 ; Обычный бег с параметром консоли «g_always_run» равным 1
sprint_koef = 4 ; спринт
run_back_coef = 3 ; бег назад
walk_back_coef = 2 ; ходьба назад с клавишей Shift
air_control_param = 1 ; контроль полёта. Выгоден при высоких значениях jump_speed, т.к. можно быстро перемещаться по карте
walk_accel = 17 ; неизвестный параметр
pickup_info_radius = 5 ;радиус, в котором над предметами выводятся их названия при нажатии клавиши «F».

Далее параметры 3d и т.п. смотрим поэтому дальше.

camera_height_factor = 0.85 ; определяет высоту взгляда. Увеличиваем и игрок станет зрительно выше

disp_base = 0 ;угол (в градусах) разлета пуль, когда актер стоит на месте
disp_aim = 0
disp_vel_factor = 0 ;на сколько увеличится дисперсия при скорости в 10 м/с (не обязательно при беге)
disp_accel_factor = 0 ;еще на сколько увеличится, если актер бежит (+ скорость)
disp_crouch_factor = 0 ;уменьшение если актер сидит
disp_crouch_no_acc_factor = 0 ;уменьшение если актер сидит + no acceleration

Чтобы уменьшить размер прицела можно сделать так.

Дальше увидим секцию [actor_immunities_gd_***] (вместо *** нужный ранг)

burn_immunity = 0.0
strike_immunity = 0.0
shock_immunity = 0.0
wound_immunity = 0.0
radiation_immunity = 0.0
telepatic_immunity = 0.0
chemical_burn_immunity = 0.0
explosion_immunity = 0.0
fire_wound_immunity = 0.0

Дальше видим [actor_condition]

И настройка в лучшую сторону будет таковой:

bleeding_v = 0 ;потеря крови при номинальной ране в секунду
wound_incarnation_v = 1 ;скорость заживления раны
min_wound_size = 0 ;минимальный размер раны, после которого она считается зажившей

min_wound_size,satiety_v,satiety_power,satiety_health,satiety_critical,alcohol_v можно было и не настраивать, если вам нужно бессмертие

Будем настраивать выносливость.

Назодим строку «jump_power»

Меняем так, чтобы игрок никогда не уставал, разве что если нацепит на себя 5 огненных шаров ))

jump_power = 0 ;умешьшение силы с прыжком без учета веса ноши
jump_weight_power = 0 ;умешьшение силы с прыжком с учетом веса ноши, для максимального допустимого веса
overweight_jump_k = 1 ;коэффициент влияние перегрузки прыжок с весом (умножается на jump_weight_power)

stand_power = 0
walk_power = 0 ;умешьшение силы за секнду во время ходьбы без учета веса ноши
walk_weight_power = 0 ;умешьшение силы за секнду во время ходьбы с учетом веса ноши, для максимального допустимого веса
overweight_walk_k = 1 ;коэффициент влияние перегрузки ноши (умножается на walk_weight_power)
accel_k = 1;коэффициент на бег (умножается walk_power, walk_weight_power)
sprint_k = 1 ;коэффициент на «sprint» бег (умножается walk_power, walk_weight_power)

Значения с комментом «коофициент» и значениями более 1 (необязательно) рекомендую менять на 1.

limping_health_begin = 0 ;порог здоровья меньше которого актер начинает хромать
limping_health_end = 0;порог здоровья больше которого актер перестает хромать
limping_power_begin = 0 ;порог силы меньше которого актер начинает хромать
limping_power_end = 0 ;порог силы больше которого актер перестает хромать

cant_walk_power_begin = 0 ;порог силы меньше которого актер не может двигаться
cant_walk_power_end = 0 ;порог силы больше которого актер сможет двигаться

cant_sprint_power_begin = 0 ;порог силы меньше которого актер не может бежать в спринте
cant_sprint_power_end = 0 ;порог силы больше которого актер сможет бежать в спринте

Дальше идут кости, работающие в 3d, и их тоже можно менять, чтобы уменьшить уязвимость, но пока их настройка не столь нужна. Я лишь скажу, что нужно настраивать 1 (первый) параметр. Чем меньше, тем лучше.

Источник

S.T.A.L.K.E.R|Модостроение

Меню навигации

Пользовательские ссылки

Объявление

Информация о пользователе

Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ТЧ] » Мануал по созданию модификаций для начинающих.Часть 1

Мануал по созданию модификаций для начинающих.Часть 1

Сообщений 1 страница 1 из 1

Поделиться12011-12-02 04:09:29

Как включить motion blur?:

Как увеличить время спринта?:
В файле actor.ltx меняем параметр sprint_koef.

Где найти файл user.ltx?:
Для Windows XP в директории X:\Documents and Settings\All Users\ Общие документы \STALKER-SHOC
Для Windows Vista в директории X:\Users\Public\Docu ments\STALKER-SHOC

Как изменить силу врагов?:
В файле gamedata\config\crea tures\actor.ltx найти строки
hit_probability_gd_n ovice = 0.20
hit_probability_gd_s talker = 0.30
hit_probability_gd_v eteran = 0.40
hit_probability_gd_m aster = 0.50
Они отвечают за вероятность попадания по вам при разных уровнях сложности.

Добавление новых опций в меню игры?:
Открываем файл gamedata\config\ui\u i_keybinding.xml. В нём находим строку

Таким образом в меню игры добавляются 4 новых опции, а именно: смена камеры и кнопка включения двигателя. Также можно добавлять сюда др. клавиши(если знать консольные команды)

Скрипты дверей:
Покажу вам на примере, как открыть дверь в саркофаге без дешифра) мы просто сделаем дверь открытой по умолчанию, этот трюк можно использовать в любом направлении, в том числе и для новых квестов
Идём в gamedata\config\scri pts и ищем скрипт нужной двери или объекта, нам нужна дверь в саркофаге и это 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 = ph_door@locked
on_use = ph_door@decoding %+sar_access_decodin g% ; При начале декодирования, пошёл процесс декодирования и выполняется скрипт sar_access_decoding

[ph_door@decoding] ; В процессе декодирования
locked = true
closed = true
tip_open = tip_door_decoding
on_info = <+sar_finish_decodin g>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
И в зависимости что вам надо и где можете менять и изменять, тут всё предельно просто и понятно.
________________________________________________________________________________

Источник

S.T.A.L.K.E.R.: Shadow of Chernobyl: Создание модификаций

Руководство по созданию модификаций S.T.A.L.K.E.R. для начинающих.

Структура файлов и папок:

Введение в моддинг:

Именно с папкой config придётся работать для редактирования многих параметров игры.

Любой файл в папке sounds можно заменить на другой, но при этом нужно сохранить все параметры звукового файла, который был использован в игре. Например, чтобы заменить музыку в приёмнике у Сидоровича, нужно файл sounds\scripts\magnitofon\magnitofon_2.ogg, заменить на любой другой.(У оригинального файла винамп мне выдал свойства:
Average bitrate : 60 kbps
Nominal bitrate : 80 kbps
Channels : 1
Sampling rate: 44100 Hz.

В дополнение к конфигам оружия:

Создание рандомного выбора муз. заставки главного меню:

При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.

1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)
2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку:

3. В этом же файле найти строку:
music\wasteland2
и ниже нее выставить следующую строку:
music\my_music
4. Сохранить файл.
5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.

NPC покупают оружие:

Создание новых веток диалога:

Создание новых веток диалога.
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

escape_trader_start_dialog
escape_trader_talk_info
escape_trader_jobs
tm_trader_dialog
tm_trader_reward
escape_trader_done_blockpost_box
В свою очередь каждая ветка диалога также может ветвится.

2) Ветвление веток прописывается уже в других файлах.
Например ветвление веток диалога с Сидоровичем содержится в файле gamedata/config/gameplay/dialogs_escape.xml
Возьмем оттуда к примеру ветвление ветки escape_trader_jobs
(ветвление веток обычно очень большое поэтому я приведу только часть):

escape_dialog.trader_has_talk_info_w r
tutorial_end

escape_trader_talk_info_1
100
99
9995

Функция выглядит так:

function trader_has_talk_info_wr( trader, actor )
return true
end

Насколько понимаю она возвращает true только в случае если мы разговариваем с trader_ом т.е. с Сидоровичем.
Т.е проверкой условия escape_dialog.trader_has_talk_info_w r проверяется с кем ведется диалог,
и если диалог ведется с Сидоровичем в ветке по крайней мере этим условием пропускается в списк реплик.
Но для конкретной ветки может быть несколько precondition и других условий.

Далее tutorial_endЕсли я верно понимаю, это так же своего рода проверка условия В данном случае проверка на то закончена стадия tutorialа или нет. Т.е ветка допустится в список реплик если стадия tutorialа закончена.

А далее идут конкретные фразы содержащие ссылки на вытекающие фразы

это основа ветки escape_trader_talk_info.
(Вообще как я понял в любой основной ветке любого диалога фраза будет основой из которой далее будет все вытекать)

escape_trader_talk_info_1
100
99
9995

В свою очередь 100, 99, 9995 это ссылки на фразы веточки растущие из фразы
.

3) Текст каждой фразы содержится уже в четвертом файле. Для диалога с Сидоровичем тексты лежат в файле
gamedata/config/text/rus/stable_dialogs_escape.xml

Есть несколько вопросов.

Эти строки содержат тексты для фраз и

Итого диалоги разложены по 4 а то и более файлам.

Ветки диалога могут быть цикличными.

Теперь пример практического применения того, о чем было сказано выше:
Добавим в диалог с Сидоровичем ветку своего собственного изготовления.

Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
Сидорович: Чего.
Меченый: Ты их совсем, совсем не кормишь?
Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.

1) В файле gamedata/config/gameplay/character_desc_escape.xml в конце списка веток для trader_а суем свою ветку с произвольным названием. (например escape_trader_letat_gusi)

Т.е у нас получится так




escape_trader_start_dialog
escape_trader_talk_info
escape_trader_jobs
tm_trader_dialog
tm_trader_reward
escape_trader_done_blockpost_box escape_trader_letat_gusi


Записываем изменения и с файлом character_desc_escape.xml все.

2) Теперь берем файл gamedata/config/gameplay/dialogs_escape.xml

Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
Сидорович: Чего.
Меченый: Ты их совсем, совсем не кормишь?
Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.

Который мы хотим реализовать будет соответствовать такая структура:

escape_trader_ letat_gusi_0
1

escape_trader_ letat_gusi_1
2

escape_trader_ letat_gusi_2
3

условия наличия ветки в диалоге можно взять из ветки
Т.е берем условия escape_dialog.trader_has_talk_info_w r и tutorial_end
(Можно было конечно прописать в скрипте еще одно условие для ветки, чтоб она появилась только один раз,
а потом больше не возникала. Но об этом как нибудь позже допишу.)

В итоге у нас получилась такая структура:

escape_dialog.trader_has_talk_info_w r
tutorial_end

Которую нужно вставить в любом месте между dialog id_шниками других веток в файле dialogs_escape.xml.
Главное не промахнутся и засунуть именно между, а не внутрь одного из dialog id
Все что находится между тегами и это внутенности конкретного dialog id
Т.е совать наш

После сохранения внесенных изменений с файлом dialogs_escape.xml все.

3) Теперь вбиваем сами текстовички в файле gamedata/config/text/rus/stable_dialogs_escape.xml

Т.е нам надо в файле stable_dialogs_escape.xml вставить такую конструкцию:

Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?

Ты их совсем, совсем не кормишь?

В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.

в любом месте между уже существующими string id

Но не внутрь одного из существующих string id

После сохранения изменений, у вас все готово. Можно грузить игру и смотреть что получилось.

Объекты, которые можно перемещать:

В файле 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
monsters\burer\burer
monsters\chimera\chimera
monsters\cat\cat
monsters\zombi\zombi_1
monsters\rat\rat_1
monsters\tushkano\tushkano

Q: Как поставить мод?!
A: В архиве который вы скачали есть папка gamedata. Скопируйте/Переместите/Разархивируйте ее в Корневой каталог игры.
Пример: C:/Games/S.T.AL.K.E.R/gamedata

Q: Какие моды есть на данный момент?
A: Смотри тему

Q: Я открываю ссылку с модом, на той странице какие-то иероглефы не понятные.
A: Не верно ассоциируется действие с фалом. Поэтому укажем программе что делать вручную. Правый клик по ссылке с модом, пункт «Сохранить обьект как».

Q: Обязателно ли распаковывать файла gamedata.dbХ для установки мода? Что будет если я сначала устанавлю/распакую ЧТО-ТО а потом ТО-ТО?
А: Содержимое папки gamedata имееет приоритет перед аналогичными файлами лежащими в архиве, НО если какой-то файл отсутствует в папке gamedata, то игра возьмёт её из архива.
Если моды содержат одинаковые файлы то новый мод ЧАСТИЧНО затрёт предыдущий, что может привести к непредсказуемым последствиям.
Если у Вас установленны какие-то моды и вы распаковаваете файлы gamedata.dbX, то моды сотрутся ПОЛНОСТЬЮ.

Q: В каком архиве из gamedata.bd* лежит ТО-ТО?!
A: Разархивируй все. Т.к. люди не больные, что бы учить что и где там лежит.

Q: Чем открывать *.ltx, *.script файлы?!
A: Блокнотом или любым другим текстовым редактором.

Q: Нашел в ресурсах игры много не включенных в single обьектов, как мне их включить?!
A: Слишком большой обьем работы надо проделать, что бы ввести эти обьекты в игру. От Изменение конфигов самих обьектов, до изменения скриптов.В принципе реальизуется небольшой командой, достаточно проворлевых модостроителей. Возможно они вам помогут

Q: Где мне найти комманды модостроителей?!
A: Realism Mod Team
S.T.A.L.K.E.R. Inside

Что касается правки параметров,что и для чего надо

Q:Как изменить время респауна?

Уменьшить время спринта
cant_sprint_power_begin = 0.20;порог силы меньше которого актер неможет бежать в спринте
cant_sprint_power_end = 0.30 ;порог силы больше которого актер сможет бежать в спринте

Система областей поражения. Для свиньи она расположена в секции

Q:Как приделать к оружию оптику, глушитель, подствольник?:

A:В файле actor.ltx меняем параметр sprint_koef.

A:В файле system.ltx изменяем параметр max_belt с 5 на 10 (max_belt = 10)

Ищем файл inventory_new.xml и в нём меняем

cell_width = «60» cell_height=»60″ rows_num=»1″ cols_num=»5″/>
на
cell_width = «52» cell_height=»52″ rows_num=»2″ cols_num=»5″/>

что соответствует 10 артефактам.
При желании поправив соответствующим образом файлы system.ltx и inventory_new.xml
можно получить 12,14,16 и более слотов под артефакты.

A:Для Windows XP в директории X:\Documents and Settings\All Users\ Общие документы \STALKER-SHOC
Для Windows Vista в директории X:\Users\Public\Documents\STALKER-SHOC

A:В файле 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
Они отвечают за вероятность попадания по вам при разных уровнях сложности.

A:Открываем файл gamedata\config\ui\ui_keybinding.xml. В нём находим строку

Таким образом в меню игры добавляются 4 новых опции, а именно: смена камеры и кнопка включения двигателя. Также можно добавлять сюда др. клавиши но при одном условии для этого надо знать консольные команды.

Сегодня мы создадим новую группировку. Назовем её, скажем, «Ветер». Не суть важно.
Практика
Базовый уровень

Также, изменим эту строку, добавив туда имя и номер группировки:
;названия группировок
communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10,
freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16, wind, 18,

2. После этого в файле death_manager.script ищем строку local community_list и в скобках добавляем название своей группировки:
function init_drop_settings()
local community_list = < "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith",
«arena_enemy», «actor_dolg», «wind» >

[wind]: stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3

4. Если предусматривается респавн бойцов новой группировки, в se_respawn.script прописываем в local simMaxCount = < после строчек с зомбированными сталкерами строку:
wind_novice = 20, wind_regular = 20, wind_veteran = 20, wind_master = 6,

5. Чтобы при убийстве непися новой группировки игра не вылетала в xr_statistic.script,

после строки:
zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,

пишем
dark_stalker_novice = 1, dark_stalker_experienced = 2, dark_stalker_veteran = 3, dark_stalker_master = 4,

6. Ну а в character_desc_x.xml выбираем любого NPC (или группу) и меняем группировку на свою:

esc_wolf_name
ui_npc_u_stalker_neytral_balon_1
esc_wolf_bio

7. Чтобы у персонажа в графе «Группировка» отображалось не «wind», а «Ветер», зарегистрируем соответствующую строку в файле string_table_general.xml:

8. Существует возможность создать для нашей новой группировки места, где они будут ходить (*_terrain брать из m_stalker.ltx):

То есть, к примеру, существует секция:
[stalker_terrain]
255,000,255,255
008,001,255,255 ;Разрешено ходить по опасным местам на баре
012,001,255,255 ;Разрешено ходить по опасным местам на Милитари

Тогда можно создать новую, по аналогии:
[wind_terrain]
255,000,255,255
008,001,255,255 ;Разрешено ходить по опасным местам на баре
012,001,255,255 ;Разрешено ходить по опасным местам на Милитари
010,001,255,255 ;Разрешено ходить по опасным местам на янтаре

Здесь, очевидно, указаны координаты самого уровня. Для каждого уровня существует своя начальная координата.
Продвинутый уровень

Такой метод достаточно примитивен. Это не полноценная группировка. Нам нужны соответствующие диалоги, возможность получения квестов и вступления в группировку, уникальные NPC.
Квесты

Во-первых, пропишите в список диалогов персонажа следующие строки:
[что-нибудь]_dialog
[что-нибудь]_reward

Примеры названий: tm_trader_dialog, tm_wolf_dialog.

Внимание! Метод не проверен.

Этим мы добавили ему ветку диалога «Есть работа?», а также ветку для награды за квест/отказа от него. Теперь зарегистрируем в task_manager.ltx набор новых заданий.
[list]

[wind_find_item]
type = find_item
community = actor
text = [ссылка на текст с рассказом заказчика о задании]
description = [ссылка на текст с описанием задания]
parent = [имя NPC-заказчика]
target = scientific_outfit
reward_money = 5000
reward_reputation = +5
reward_rank = 4
reward_item = wpn_sig_m1
time = 86400

[wind_kill_stalker]
type = kill_stalker
community = actor
text = [ссылка на текст с рассказом заказчика о задании]
description = [ссылка на текст с описанием задания]
parent = [имя NPC-заказчика]
target = sim_stalker_master_master
reward_money = 4000
reward_reputation = +5
reward_rank = 9
reward_item = ammo_5.56x45_ap, ammo_5.56x45_ap, ammo_5.56x45_ap
time = 86400

Не забудьте прописать описания заданий в текстовые массивы. Подробнее о редактировании task_manager.ltx читайте в уроке, посвященном однотипным квестам.

Да, и зарегистрируйте сами ветки диалогов в файле dialogs.xml. Вот пример того, как это сделано для заданий «Долга»:

По аналогии делаем и с нашим «Ветром».
Вступление в группировку

Реализуем возможность вступления в группировку.

function actor_set_wind (actor, npc)
printf («ACTOR NOW IN WIND COMMUNITY»
if db.actor then
db.actor:set_character_community («actor_wind», 0, 0)
end
return true
end

После чего создадим диалог, и сделаем в нем фразу с action’ом вида actor_set_wind. Советую изучить урок, посвященный диалогам.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *