Добро пожаловать,
Сталкер!
|
Общие правки игровых файлов Сталкер
(1 чел.) (1) гость
|
Общие правки игровых файлов Сталкер
30.11.2013 15:36
#35635
|
Наверняка каждый из игроков в Сталкер рано или поздно задумывался о том, как же увеличить высоту прыжка или переносимый вес. Наверняка были и те, кто хотел ещё более углубиться в дебри "читерства" и сделать своего ГГ бессмертным. Естественно, что заниматься "читерством" довольно нечестно и по отношению к себе, и по отношению к авторам модов, которые старались сделать своё детище максимально увлекательным. Однако, многие игроки в Сталкер, в особенности новички, сталкиваются с различными проблемами, которые легче всего решить правками игровых файлов. Вспомнить хотя бы мод "Закоулки Правды", где построить пирамиду из грави-пушки, предложенной разработчиками, для того, чтобы достать третий тайник в Мёртвом Городе, оказывалось не под силу даже ветеранам игры в Сталкер. Приходилось лезть в конфиги, править высоту прыжка, потом ставить всё обратно... А если игрок впервые сталкивается с такими трудностями и совершенно ничего не знает о правках игровых файлов? Именно для растолкования того, как же править файлы игры Сталкер, и создана эта тема. Также рекомендую обратить внимание на тему Обратите внимание: - В некоторых модах невозможно изменить их файлы, так как они используют систему "античит", которая скрывает важнейшие файлы для редактирования. Примером таких модов является серия "Гладиатор". - Также, в некоторых модах игровые файлы запакованы в архивы, которые лучше не трогать, так как процесс их редактирования очень сложен. Примером таких модов является "Упавшая звезда. Честь Наёмника". Как правильно, установить несколько Сталкеров одной версии, на один компьютер! ВНИМАНИЕ: СПОЙЛЕР! ЭТА ИНСТРУКЦИЯ ПОДХОДИТ ДЛЯ ВСЕХ СТАЛКЕРОВ. Для ТЧ, для ЧН, для ЗП. ---------------------------------------------------------------------------------------------------------------------------------------- Устанавливаем игру, в установщике ни чего не меняем, всё по умолчанию. Регистрировать или вводить коды, не надо. (Это если установщик попросит.) За тем, пропатчить игру до нужной версии. Установить no-DVD, только нужной версии. (Все no-DVD, правильные, без ошибок.) Скопировать правленый файл: fsgame.ltx (Для каждого Сталкера, это отдельный файл), в папку с игрой и согласиться на замену, этого файла. После установки правленого файла: fsgame.ltx, при запуске игры, она создаст свою папку: profile, в которой будут: logs, savedgames, screenshots, user.ltx. Эта папка будет находиться в основной папке: S.T.A.L.K.E.R, там же где и bin, и gamedata. fsgame.ltx для ТЧ - fsgame.ltx для ЧН - fsgame.ltx для ЗП - С установкой закончили. Теперь, открываем ту папку, в которую установилась игра. Для ТЧ - Это (C:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R) Для ЧН - Это (C:\Program Files (x86)\GSC World Publishing\С.Т.А.Л.К.Е.Р. - Чистое Небо) Для ЗП - Это (C:\Program Files (x86)\GSC World Publishing\S.T.A.L.K.E.R. - Зов Припяти) И просто копируем всю папку под названием: S.T.A.L.K.E.R, в любое место. Можно на диск С: Можно на диск D: ну и так далее, в общем, куда душе угодно. Как всё скопировалось, открываем в скопированной папке: S.T.A.L.K.E.R, папку: bin, находим в ней файл: XR_3DA.exe, кликаем на него правой клавишей мышки и выбираем пункт: Отправить - Рабочий стол (создать ярлык). За тем сам ярлык, можно переименовать в название мода. После всех выполненных действий, установленную по умолчанию игру, можно полностью удалить (Деинсталлировать) из системы, что бы освободить место на Жёстком диске. ТАКИМ СПОСОБОМ МОЖНО СОЗДАВАТЬ, НЕ ОГРАНИЧЕННОЕ ЧИСЛО СТАЛКЕРОВ, ПРИЧЁМ КАЖДЫЙ СТАЛКЕР, БУДЕТ НЕ ЗАВИСИМЫМ. !!! ВНИМАНИЕ !!! -------------------------------------------------------------------------------------------------------------------------- Эта информация, касается только Сталкеров ЧН и ЗП, для Сталкера ТЧ, этого делать нельзя !!! -------------------------------------------------------------------------------------------------------------------------- В Сталкерах ЧН и ЗП, при запуске с ярлыка, будет выскакивать ошибка: Cannot open file "fsgame.ltx" Check your working folder. Что бы исправить её: Надо в свойствах ярлыка, на рабочем столе, удалить только слово: bin, из строчки. Пример: Если вы ставили игру, на диск C: ---------------------------------------------------------------------------------------------- Для ЗП. БЫЛО. "C:\Program Files-GSC World Publishing\С.Т.А.Л.К.Е.Р.-Зов Припяти\bin" СТАЛО. "C:\Program Files-GSC World Publishing\С.Т.А.Л.К.Е.Р.-Зов Припяти\" --------------------------------------------------------------------------------------------- Для ЧН. БЫЛО. "C:\Program Files-GSC World Publishing\С.Т.А.Л.К.Е.Р.-Чистое Небо\bin" СТАЛО. "C:\Program Files-GSC World Publishing\С.Т.А.Л.К.Е.Р.-Чистое Небо\" Удачи вам и терпения! |
Изменено: 22.03.2022 19:41 от LAKI.
|
30.11.2013 16:01
#35638
|
Общие правки игровых файлов Сталкер
Удачи в правках! |
Изменено: 30.11.2013 16:06 от .
|
28.01.2014 18:36
#53570
Скриптование:Маска худа
ВНИМАНИЕ: СПОЙЛЕР! Теория Мне кажется многие задавались вопросом "Как же создать худ маски"? Немного пораздумав, я создал функцию, которая крепит текстуру к определенному костюму. Опытным модмейкерам может показаться моя функция усложненной, но главное, что все работает и не вылетает! [править] Практика [править] Работа со скриптами Первым делом в директории gamedata\scripts создайте файл с названием xr_mask.script Открываем его пишем: function hud_gas() local slot_stalker = db.actor:item_in_slot(6) local object_1 = db.actor:object("stalker_outfit") local slot_killer = db.actor:item_in_slot(6) local object_2 = db.actor:object("killer_outfit") if slot_stalker and slot_stalker:section() == "stalker_outfit" and object_1 ~= nil or slot_killer and slot_killer:section() == "killer_outfit" and object_2 ~= nil then local hud = get_hud() local custom_static = hud:GetCustomStatic("hud_gas") if custom_static == nil then hud:AddCustomStatic("hud_gas", true) end else local hud = get_hud() local custom_static = hud:GetCustomStatic("hud_gas") if custom_static ~= nil then hud:RemoveCustomStatic("hud_gas", false) end end end Теперь поясню: function hud_gas() -- функция local slot_stalker = db.actor:item_in_slot(6) -- переменная костюма local object_1 = db.actor:object("stalker_outfit") -- переменная объекта local slot_killer = db.actor:item_in_slot(6) -- переменная костюма local object_2 = db.actor:object("killer_outfit") -- переменная объекта if slot_stalker and slot_stalker:section() == "stalker_outfit" and object_1 ~= nil or slot_killer and slot_killer:section() == "killer_outfit" and object_2 ~= nil then -- проверяем надет ли костюм сталкера\наемника local hud = get_hud() -- худ local custom_static = hud:GetCustomStatic("hud_gas") if custom_static == nil then -- если худа нет, выдаем, если одет костюм hud:AddCustomStatic("hud_gas", true) end else local hud = get_hud() local custom_static = hud:GetCustomStatic("hud_gas") if custom_static ~= nil then -- если худ есть, убираем при смене костюма hud:RemoveCustomStatic("hud_gas", false) end end end Теперь зайдем в bind_stalker.script, который находится в gamedata\scripts, найдем функцию: function actor_binder:update(delta) и после пишем: xr_mask.hud_gas() в итоге: function actor_binder:update(delta) xr_mask.hud_gas() object_binder.update(self, delta) local time = time_global() game_stats.update (delta, self.object) [править] Работа с XML - описателем Итак, заходим в директорию gamedata\config\ui, находим файл с названием ui_custom_msgs, открываем его и в самом конце перед строкой: </header> пишем: <hud_gas x="0" y="0" width="1024" height="768" stretch="1"> <texture>hud\hud_gas</texture> </hud_gas> Теперь поясню: <hud_gas x="0" y="0" width="1024" height="768" stretch="1"> <texture>hud\hud_gas</texture> -- текстура маски. Посмотрите внимательно в скрипте мы указывали '''hud_gas''' </hud_gas> [править] Текстура Теперь заходим в gamedata\textures\ui, находим файл с названием ui_mainmenu.dds. Копируем его, заходим в gamedata\textures\hud вставляем его и переминуем в hud_gas.dds Открываем программой Adobe Photoshop и рисуем подходящую для вас маску. |
|
|
28.01.2014 18:39
#53571
Как реализовать качание прицела
ВНИМАНИЕ: СПОЙЛЕР! Конфиги, отвечающие за эту особенность, в файле gamedata\configs\misc\effectors.ltx: [zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.01 speed_min = 0.00001 zoom_aim_disp_k = 1.0 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.0025 ;и покачивания прицела delta_time = 3000 ;время через которое эффектор меняет направление движения (в милисекундах) у меня лично стоит так: [zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.02 speed_min = 0.0001 zoom_aim_disp_k = 1.18 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.0015 ;и покачивания прицела delta_time = 1350 ;время через которое эффектор меняет направление движения (в милисекундах) |
|
|
28.01.2014 18:39
#53572
Торговля
ВНИМАНИЕ: СПОЙЛЕР! все настройки, связанные с ассортиментом торговцев в игре, находятся в файлах gamedata\configs\misc\trade_***.ltx для всех остальных сталкеров - gamedata\configs\misc\trade_generic.ltx Структура файла Секция [trader_generic_buy] Эта секция описывает какие товары торговец будет покупать. Название предмета = минимальная цена покупки, максимальная цена покупки Например: wpn_vintorez = 0.5, 0.7Это значит что торговец купит оружие от 50% полной его стоимости до 70%, т.е. если Винторез стоит 1000, то торговец купит его в диапазоне от 500 до 700 рублей. Диапазон зависит от отношения торговца к Меченому - чем лучше, тем дороже купит Секция [supplies_start] Эта секция описывает какие товары у торговца будут вначале. Название предмета = количество, вероятность появления Например: bandage = 5, 1Это значит что у торговеца всегда будут 5 бинтов, с 100 процентной вероятностью появления в магазине. bandage = 5, 0.6 А тут уже вероятность появления 60%. Т.е. бинты не всегда будут. Секция [supplies_after_***] Тоже самое, что в секции [supplies_start], но после выполнения квестов торговца. Секция [trader_start_sell] Эта секция описывает за какую цену торговец будет продавать. Название предмета = минимальная цена продажи, максимальная цена продажиНапример: wpn_vintorez = 1, 2Это значит что торговец продаст оружие от 100% полной его стоимости до 200%, т.е. если Винторез стоит 1000, то торговец продаст его в диапазоне от 1000 до 2000 рублей. Диапазон зависит от отношения торговца к Меченому - чем лучше, тем дешевле продаст Секция [trader_after_***_sell] Тоже самое, что в секции [trader_start_sell], но после выполнения квестов торговца. деньги торговцев правятся в character_desc_название локации.xml, например, в character_desc_escape.xml такая строка: <money min="100000" max="100000" infinitive="1"/> (если infinitive="1" - бесконечные деньги) |
|
Спасибо сказали: sokolowuriy, Клепаныч, comdifo, Recluse, Wall, Holy Sirius, sdf43GG, Егорик, continent, gen-rostovcev
|
28.01.2014 18:40
#53573
Диалоги:Более подробное описание.
ВНИМАНИЕ: СПОЙЛЕР! Часть 1 Сложность: Легко Как сделать простой диалог. 1. Открываем, например файл dialogs_escape.xml (gamedata/config/gameplay) и пишем в конец: Код <dialog id="test_dialog"> <phrase_list> <phrase id="0"> <text>test_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text>test_dialog_1</text> </phrase> </phrase_list> </dialog> Это скелет диалога. В нём будут написаны все инфопоршни и actions. <dialog id="test_dialog"> - это название диалога, которое нужно будет написать НПС. <phrase id="0"> - номер фразы. <text>test_dialog_0</text> - это текст фразы. <next>?</next> - переход к фразе. 2. Теперь нужно написать тексты диалога. Заходим в файл "stable_dialogs_bar.xml" (gamedata/config/text/rus) и пишем в конце: Код <string id="test_dialog_0"> <text>Это тэстовый диалог</text> </string> <string id="test_dialog_1"> <text>Угу.</text> </string> <string id="test_dialog_0"> - это то, на что ссылается скелет диалога. <text>Это тэстовый диалог</text> - собственно текст. !!!ВНИМАНИЕ!!! Все диалоги начинаются со слов Меченого. 3. Теперь нужно прописать этот диалог НПС. Например Бармену. Открываем файл "character_desc_bar.xml" и находим секцию Бармена. Она идёт самой первой. После всех <actor_dialog>???</actor_dialog> Прописываем свой: <actor_dialog>test_dialog</actor_dialog> Часть 2 Сложность:Средне Как создать диалог посложнее. Как создать диалог с разными вариантами ответов. Как создать диалог который исчезнет после прочтения. 1. Открываем, например файл dialogs_escape.xml (gamedata/config/gameplay) и пишем в конец: Код <dialog id="test_dialog"> <phrase_list> <phrase id="0"> <text>test_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text>test_dialog_1</text> <next>2</next> <next>3</next> </phrase> <phrase id="2"> <text>test_dialog_2</text> </phrase> <phrase id="3"> <text>test_dialog_3</text> </phrase> </phrase_list> </dialog> <next>2</next> и <next>3</next> это возможные ответы Меченого. 2. Теперь нужно написать тексты диалога. Заходим в файл "stable_dialogs_bar.xml" (gamedata/config/text/rus) и пишем в конце: Код <string id="test_dialog_0"> <text>Как дела?</text> </string> <string id="test_dialog_1"> <text>Нормально, а у тебя?</text> </string> <string id="test_dialog_2"> <text>Нормально</text> </string> <string id="test_dialog_3"> <text>Хреново.</text> </string> 3.Чтобы этот диалог не появлялся, пишем инфопоршень. Например в файле info_l01escape.xml Пишем: <info_portion id="test_pogovoril"></info_portion> 4.Дописываем инфопоршень в скелет диалога: Код <dialog id="test_dialog"> <dont_has_info>test_pogovoril</dont_has_info> <phrase_list> <phrase id="0"> <text>test_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text>test_dialog_1</text> <next>2</next> <next>3</next> </phrase> <phrase id="2"> <text>test_dialog_2</text> <give_info>test_pogovoril</give_info> </phrase> <phrase id="3"> <text>test_dialog_3</text> <give_info>test_pogovoril</give_info> </phrase> </phrase_list> </dialog> <dont_has_info>test_pogovoril</dont_has_info> - если ГГ получил инфопоршень, диалог не показывать. <give_info>test_pogovoril</give_info> - дать ГГ инфопоршень. Получается, что когда ГГ скажет любую из 2 фраз, диалог больше не появится. Часть 3 Сложность:Сложно -Как сделать разные action в диалогах. 1.Создаём обычный диалог: Код <dialog id="test_dialog"> <dont_has_info>test_pogovoril</dont_has_info> <phrase_list> <phrase id="0"> <text>test_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text>test_dialog_1</text> <next>2</next> <next>3</next> <next>4</next> </phrase> <phrase id="2"> <text>test_dialog_2</text> </phrase> <phrase id="3"> <text>test_dialog_3</text> </phrase> <phrase id="4"> <text>test_dialog_4</text> </phrase> </phrase_list> </dialog> C такими текстами: Код <string id="test_dialog_0"> <text>Я тестю функции.</text> </string> <string id="test_dialog_1"> <text>Ок, какую?</text> </string> <string id="test_dialog_2"> <text>Дать деньги</text> </string> <string id="test_dialog_3"> <text>Дать ПМ</text> </string> <string id="test_dialog_4"> <text>Заспавнить ПМ</text> </string> 2.Создаём свой скрипт в папке gamedata/script например test.script и пишем в него 3 функции: Код function dat_dengi(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 3000, "in") end Это функция отдачи денег ГГ. На месте 3000 любое число. На месте dat_dengi любое название. ------------------------------------------------------------ Код function dat_item(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "wpn_pm", "in") end Это функция отдачи предмета ГГ. На месте wpn_pm любой предмет. На месте dat_item любое название. ------------------------------------------------------------ Код function spawn_item_or_monster_or_stalker() alife():create("wpn_pm",vector():set(pos),lvid,gvid) end Это функция спавна чего либо. На месте wpn_pm любой предмет,монстр или сталкер. На месте (pos),lvid,gvid) любые координаты. На месте spawn_item_or_monster_or_stalker любое название. ------------------------------------------------------------ Так же функция может быть одна, но с несколькими действиями. Например: Код function all(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 3000, "in") dialogs.relocate_item_section(second_speaker, "wpn_pm", "in") alife():create("wpn_pm",vector():set(pos),lvid,gvid) end Значит что одновременно ГГ дадут 3000 рублей, ПМ и по заданным координатам заспавнится ПМ. ------------------------------------------------------------ 3.Впишем функции в диалог: Код <dialog id="test_dialog"> <phrase_list> <phrase id="0"> <text>test_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text>test_dialog_1</text> <next>2</next> <next>3</next> <next>4</next> </phrase> <phrase id="2"> <text>test_dialog_2</text> <action>test.dat_dengi</action> </phrase> <phrase id="3"> <text>test_dialog_3</text> <action>test.dat_item</action> </phrase> <phrase id="4"> <text>test_dialog_4</text> <action>test.spawn_item_or_monster_or_stalker</action> </phrase> </phrase_list> </dialog> Это значит что после после фразы <text>test_dialog_2</text> ГГ дадут 3000руб. Это значит что после после фразы <text>test_dialog_3</text> ГГ дадут ПМ. Это значит что после после фразы <text>test_dialog_3</text> Заспавнится ПМ. Часть 4 Сложность: Очень сложно Cложность: Сложно. -Как сделать разные precondition в диалогах. Прекондишоны - это проверки на появление диалога 1.Создаём обычный диалог: Код <dialog id="test_dialog"> <phrase_list> <phrase id="0"> <text>test_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text>test_dialog_1</text> <next>2</next> <next>3</next> </phrase> <phrase id="2"> <text>test_dialog_2</text> </phrase> <phrase id="3"> <text>test_dialog_3</text> </phrase> </phrase_list> </dialog> C такими текстами: Код <string id="test_dialog_0"> <text>Тест прекондишонов.</text> </string> <string id="test_dialog_1"> <text>Какой?</text> </string> <string id="test_dialog_2"> <text>Эта фраза появляется если у ГГ есть ??? рублей.</text> </string> <string id="test_dialog_3"> <text>Эта фраза появляется если у ГГ есть ??? предмет.</text> </string> 2.Создаём свой скрипт в папке gamedata/script например test.script и пишем в него 3 функции-прекондишона: Код function has_money_???() local money = math.floor(200 * xr_statistic_freeplay.get_freeplay_statistic():get_found_pda_discount()) return db.actor:money()>=money end Это функция проверки количества денег ГГ. На месте 200 любое число. На месте has_money_??? любое название. ------------------------------------------------------------ Код function has_item(task, objective) if db.actor ~= nil then return db.actor:object("wpn_pm") ~= nil end return false end Это функция проверки наличия какого либо предмета у ГГ. На месте wpn_pm любой предмет. На месте has_item любое название. ------------------------------------------------------------ 3.Впишем функции в диалог: Код <dialog id="test_dialog"> <phrase_list> <phrase id="0"> <text>test_dialog_0</text> <next>1</next> </phrase> <phrase id="1"> <text>test_dialog_1</text> <next>2</next> <next>3</next> </phrase> <phrase id="2"> <text>test_dialog_2</text> <precondition>test.has_money???</precondition> </phrase> <phrase id="3"> <text>test_dialog_3</text> <precondition>test.has_item</precondition> </phrase> </phrase_list> </dialog> Это значит что фраза <text>test_dialog_2</text> появится если у ГГ есть 200рублей Это значит что фраза <text>test_dialog_3</text> появится если у ГГ есть ПМ. |
|
|
28.01.2014 18:41
#53574
Артефакты и их свойства
ВНИМАНИЕ: СПОЙЛЕР! Рассмотрим медузу [af_medusa]:af_base ---Название артефакта GroupControlSection = spawn_group ---хз $spawn = "artifacts\moscito medusa" ---спаун $prefetch = 64 -=- cform = skeleton =-=Эти три строки не трогать. class = ARTEFACT -=- visual = physics\anomaly\artefact_blackdrip.ogf ----визуал артефакта description = enc_zone_artifact_af-medusa ---описание inv_name = af-medusa ---имя inv_name_short = ---имя но короткое,в игре для артов не испоьлзуется inv_weight = 0.5 ---вес inv_grid_x = 9 -=-Координаты по оси Х inv_grid_y = 4 -=-Координаты по оси У cost = 250 ---цена jump_height = .5 ---высота прыжка particles = anomaly2\artefact\artefact_gravi ;подсветка арта lights_enabled = true trail_light_color = 2.5, 2.4, 0 trail_light_range = 1.0 ;скорости увеличения (уменьшения) --- думаю обьяснять не нужно health_restore_speed = 0.0 radiation_restore_speed = 0.0007 satiety_restore_speed = 0.0 power_restore_speed = 0.0 bleeding_restore_speed = 0.0 hit_absorbation_sect = af_medusa_absorbation artefact_activation_seq = af_activation_bold [af_medusa_absorbation] - а вот здесь загвоздочка.Допустим вы поставили burn_immunity = 2.0. а в игре заметили что она уменьшает на 100 защиту от ожогов.Ставить нужно наоборот,то есть.хочешь чтобы медуза давала 30 пулестойкости из 100-30=70.Ставишь на fire_wound_immunity = 0.70 burn_immunity = 1.0 strike_immunity = 0.97 shock_immunity = 1.0 wound_immunity = 1.0 radiation_immunity = 1.0 telepatic_immunity = 1.0 chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 1.0 |
|
|
28.01.2014 18:41
#53575
Костюмы и их свойства
ВНИМАНИЕ: СПОЙЛЕР! Рассмотрим костюм долга ;--------------------------------------------------------------------------------------------- ; ОБЫЧНЫЙ КОСТЮМ ДОЛГА ;--------------------------------------------------------------------------------------------- [dolg_outfit]:outfit_base ---Название костюма в документах(в скриптах и ltx файлах) GroupControlSection = spawn_group ---Этого я не знаю,и лучше не трогать,обычно вылет discovery_dependency = ---Тоже какая то функция $spawn = "outfit\dolg_outfit" ---Спаун,то есть,костюм лежащий на земле ;$prefetch = 32 ---ХЗ class = E_STLK ---класс cform = skeleton ---НЕ ТРОГАТЬ! visual = equipments\dolg_suit ---Визуал костюма лежащий на земле actor_visual = actors\hero\stalker_dolg.ogf ---Визуал НПС,В нашем случае ГГ ef_equipment_type = 3 ---Опять же ХЗ inv_name = dolg_outfit_name ---Название костюма inv_name_short = dolg_outfit_name ---Название костюма(короткое) description = dolg_outfit_description ---Описание(можно и не прописывать их в string_table,можно писать через кавычки.Ставьте "" и пишите описание костюма.Например: "Костюм долга,хорошая защита." Без кавычек пробелы не буду засчитыватся) inv_weight = 7.0 ---ВЕС inv_grid_width = 2 -=Эти четыре строки отвечают за иконку в инвентаре,не одетого костюма inv_grid_height = 3 -= inv_grid_x = 12 -= inv_grid_y = 16 -= full_icon_name = npc_icon_dolg_outfit ---Название иконки cost = 15000 ---Цена slot = 6 ---Слот для костюма.НЕ ТРОГАТЬ! full_scale_icon = 8,11 ---иконка сталкера в костюме в полный рост nightvision_sect = effector_nightvision_good ---Прибор ночного видения immunities_sect = sect_dolg_outfit_immunities ---Название иммунитета,для нового костюма введите свой вместо dolg_outfit ЭТО ЗАЩИТА КОТОРУЮ ДАЕТ КОСТЮМ burn_protection = 0.1 = Ожог strike_protection = 0.1 = Удар shock_protection = 0.1 = Электрошок wound_protection = 0.1 = Разрыв radiation_protection = 0.1 = Радиация telepatic_protection = 0.1 = Телепатия chemical_burn_protection = 0.1 = Хим.ожог explosion_protection = 0.1 = Взрыв fire_wound_protection = 0.1 = Пулестойкость additional_inventory_weight = 13 ---Дополнительный переносимый вес additional_inventory_weight2 = 13 ---Дополнительный переносимый вес второй,но ставьте как на первом bones_koeff_protection = kombez_antigas_damage ---ХЗ,но если делать костюм со средней защитой ставьте такой.Научу ниже [sect_dolg_outfit_immunities] burn_immunity = 0.03 ---коэффициенты иммунитета самого костюма(чем меньше значение,тем медленнее костюм портиться.Если на все поставить 0.0 костюм не будет портиться никогда) strike_immunity = 0.01 shock_immunity = 0.03 wound_immunity = 0.015 radiation_immunity = 0.00 telepatic_immunity = 0.00 chemical_burn_immunity = 0.03 explosion_immunity = 0.03 fire_wound_immunity = 0.01 Обещал рассказать что такое Бонес коэфф протекшн bones_koeff_protection = kombez_antigas_damage Оно отвечает за то,как сильно будет защищать костюм.Если например поставить вместо: kombez_antigas_damage ,вот это: kurtka_mask_damage,то сколько бы ты не ставил защиту,она будет слабой.А если поставить exo_helmet_damage то будет высокая защита.Поставите очень много защиты,вы будете бессмертны,и костюм будет защищать вас очень хорошо(то есть,бывает например,оденешь экзоскелет,и иногда пули попадают и наносят совсем крохотный урон.Вот,если поставить экзо хелмет то такие маленьки уроны будут чаще,а если поставить куртка маск то такие случаи будут редкими.) КСТАТИ:если вы хотите создать свой документ с костюмами,нужно будет в конфиге outfit в само конце написать #include "Название вашего документа.ltx" Например я создал документ с названием nanosuit, я написал вот так. #include "nanosuit.ltx" Все,можете приступать к созданию ваших костюмов,при это зная,в каком документе лежат новые костюмы. |
|
|
28.01.2014 18:42
#53576
Как узнать координаты ГГ без программ.
Это очень важный метод для модостроителей. Сам лично пользуюсь ВНИМАНИЕ: СПОЙЛЕР! Для этого зайдем в gamedata/scripts/ui_main_menu.script Открываем его и в конце пишем вот это: function main_menu:OnButton_credits_clicked() local text local vid local gvid local a = vector() local text a = db.actor:position() vid = db.actor:level_vertex_id() gvid = db.actor:game_vertex_id() text = "Позиция:\nX= "..a.x.." \nY= "..a.y.." \nZ= "..a.z.." \nlevel_vertex= "..vid.." \ngame_vertex_id= "..gvid news_manager.send_tip(db.actor, text, nil, nil, 30000) end Закрываем.Заходим в игру.Доходим до нужного места,нажимаем Esc и нажимаем на титры.Но титры не открываются,а будет звук сообщения.Возвращаемся в игру,заходим в ПДА,Журналы.Скриним или пишем на бумажку. |
|
Спасибо сказали: Клепаныч, comdifo, udav-0, Recluse, pere20, magamed, Holy Sirius, SfnMitrich, Болтов
|
28.01.2014 18:43
#53577
Как сделать помутнение глаз возле аномалий
ВНИМАНИЕ: СПОЙЛЕР! Для этого зайдите в gamedata/config/misc.postprocess.ltx и в место [postprocess_death] ppe_file = radiation.ppe radius_min = 0.5 radius_max = 1.1 [postprocess_flame] ppe_file = radiation.ppe radius_min = 0.5 radius_max = 0.8 [postprocess_fuzz] ppe_file = radiation.ppe radius_min = 0.5 radius_max = 0.8 [postprocess_gravi] ppe_file = radiation.ppe radius_min = 0.3 radius_max = 1.0 [postprocess_electra] ppe_file = radiation.ppe radius_min = 0.5 radius_max = 0.9 [mosquito_bald] ppe_file = radiation.ppe radius_min = 0.2 radius_max = 2.7 вставьте [postprocess_death] ppe_file = alcohol.ppe radius_min = 0.5 radius_max = 1.1 [postprocess_flame] ppe_file = alcohol.ppe radius_min = 0.5 radius_max = 0.8 [postprocess_fuzz] ppe_file = alcohol.ppe radius_min = 0.5 radius_max = 0.8 [postprocess_gravi] ppe_file = alcohol.ppe radius_min = 0.3 radius_max = 1.0 [postprocess_electra] ppe_file = alcohol.ppe radius_min = 0.5 radius_max = 0.9 [mosquito_bald] ppe_file = alcohol.ppe radius_min = 0.2 radius_max = 2.7 |
|
Спасибо сказали: sokolowuriy, Клепаныч, comdifo, Recluse, Holy Sirius, Торба, gen-rostovcev, atfinridi, AC VAL, Сталкер_Ильяс, Mikaela
|
|
Время создания страницы: 0.89 секунд