сталкер как создавать моды
Советы начинающим
Создание анимации через файл *.seq
Создание новой группировки
Назовем нашу группировку (айди) grom
Добавляем группировку в таблицу, прописываем отношение к другим группировкам, НЕ ЗАБЫВАЕМ добавлять по еще одному значению по вертикали!
;(порядок должен совпадать с communities_relations)
[communities_sympathy]
actor = 0.0
bandit = 0.0
dolg = 0.0
ecolog = 0.0
freedom = 0.0
killer = 0.0
army = 0.0
monolith = 0.0
monster = 0.0
stalker = 0.0;0.01
zombied = 0.0
grom = 0.0
Сюда тоже добавляем в таком же порядке.
P.S. В пункте 6 Все штуки «[» и «]» заменить на » «
Добавление физического объекта на локацию
В этой статье я подробно напишу как добавить на локацию физический объект через all.spawn. Создадим на затоне на Земснаряде газовую плиту (В комнатке или как там она называется =))))
Нам потребуются файлы: all.spawn и распаковщик all.spawn’а.
Положим сам all.spawn в распаковщик и нажимаем Декомпиляция или по другому там написано Decompile. Нажимаем начинается распаковка. Все готово.
Теперь открываем файл alife_zaton и найдем например под номером [215]
[215]
В section_name не писать что попало а писать само секционное имя.
В name можно написать любое имя например напишем zaton_gaz_plita
Если будете спавнить несколько таких плит то имя должно БЫТЬ ИНДИВИДУАЛЬНЫМ т.е если вы ещё захотите заспавнить плиту с таким именем то в name напишем zaton_gaz_plita_2 и т.д понятно? =)))
game_vertex_id Гейм вертекс
level_vertex_id Левел вертекс
visual_name тут уже идет на саму модель плиты то вот что мы напишем dynamicskitchen_roomgaz_plita_small
Ну а остальные строчки не важны =)))
Ну что же приступим? =))
А alife_zaton важно посмотреть последний номер если он например [1920] то при создании нового вы должны написать [1921] ну т.е должно быть индивидуальным
за поворот объекта отвечает значение direction. Нужно указать x, y, z значения поворота объекта на уровне.
Если кто-то не понял обращайтесь ко мне в асю : 555905622
Или на мыло: kirill_95-08@mail.ru
Изменение старта главного героя
1) ACDC для ЗП
(narod.ru/disk/17377026000/ACDC%20Cop.rar.html)
2) Блокнот (надеюсь он у тя есть XD )
3) Снималка координат (в поисковике так и введи СКАЧАТЬ
СНИМАЛКУ КООРДИНАТ ДЛЯ СТАЛКЕРА)
4) ActivePerl-5.10.0.1004 (в поисковике так и введи СКАЧАТЬ
ActivePerl-5.10.0.1004)
5) Распакованная игра
Чуть не забыл руки! Но если руки растут не оттуда, наверное, это ноги! 😉
Начнем:
1) Скачиваем ActivePerl-5.10.0.1004
2) Скачиваем ACDC
3) Устанавливаем ActivePerl-5.10.0.1004
4) Открываем папку gamedata/spawn/ копируем от туда файл
all.spawn
5) Открываем папку в которой находится ACDC
6) Вставляем туда all.spawn
7) Распаковываем all.spawn соответствующим bat файлом
(decompile.bat) если нет такого, проделываем такие
операции:
8) После этого открываем игру, бежим в то место где хотим
начинать игру, снимаем координаты. Координаты должны
выглядеть так:
x=
y=
z=
game_vertex=
level_vertex=
[982]
; cse_abstract properties
section_name = actor
name = zaton_actor
position = x,y,z
direction =0,0,0
s_flags = 0x29
game_vertex_id = game_vertex
level_vertex_id = level_vertex
; cse_visual properties
visual_name = actorsstalker_neutralstalker_neutral_1
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =
upd:health = 1
upd:timestamp = 0xc2ba3333
upd:creature_flags = 0x99
upd:position = x,y,z
upd:o_model = 0
upd:o_torso = 2.81339907646179,-0.0120869996026158,0
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0
; cse_alife_trader_abstract properties
money = 15000
trader_flags = 0
character_profile = actor
cse_alife_trader_abstract__unk1_u8 = 1
upd:actor_state = 0
upd:actor_accel_header = 0
upd:actor_accel_data = 0
upd:actor_velocity_header = 0
upd:actor_velocity_data = 0
upd:actor_radiation = 0
upd:actor_weapon = 215
upd:num_items = 0
11) x,y,z – меняем на цифры свои «смотри пункт 8»,
level_vertex и game_vertex то же меняем на свои
Вывод сообщения на экран
Изменение HUD’a
Файлы
Советы:
Спавн предметов
Спавн аномалии
attack_animation = idle —?(скорее всего партикл)
Создаем собственную еду
Для начала отрываем файл: items из директории: gamedataconfigsmisc
Идём в самый конец файла и добавляем туда это:
(Показываю на примере водки)
[my_napitok]:booster
$spawn = «food and drugsmy_napitok »
cform = skeleton
visual = dynamicsdevicesdev_vodkadev_vodka.ogf
description = st_my_napitok_descr
inv_name = st_my_napitok
inv_name_short = st_my_napitok
inv_weight = 0.6 ;0.2
inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 5
inv_grid_y = 2
cost = 150
bone_name = bip01_r_hand
position_offset = 0.0,0.0,0.0
angle_offset = 1.570790,1.570790,3.92699
break_particles = destroy_fxdestroy_bottle
break_sound = materialbottlecollidebottle_break_1
Теперь поясню:
inv_name = st_my_napitok — ссылка на имя
inv_name_short = st_my_napitok — ссылка на имя
inv_weight = 0.6 ;0.2 – вес предмета(изменяйте первое число)
inv_grid_width = 1 – высота иконки по клеткам
inv_grid_height = 1 – ширина иконки по клеткам
inv_grid_x = 5 – координата иконки по оси х
inv_grid_y = 2 – координата иконки по оси y
cost = 150 — стоимость
attach_bone_name = bip01_r_hand — не трогайте
bone_name = bip01_r_hand
position_offset = 0.0,0.0,0.0
angle_offset = 1.570790,1.570790,3.92699
break_particles = destroy_fxdestroy_bottle
break_sound = materialbottlecollidebottle_break_1
use_sound = interfaceinv_vodka — не трогать
После того как всё сделали, сохраняем.
Идём в файл: st_items_equipment. В папке: gamedataconfigstextrus
Сразу после строчки: пишем это:
Название которое будет высвечиваться в игре
Любое описание какое захотите.
Сделали? Если да то сохраняем и идём дальше…
Нам осталось только добавить наш супер-напиток торговцу, Бороде например
Итак, идём в файл: trade_zat_a2_barmen в папке: gamedataconfigsmisctrade
И везде где есть слово еда: прописываем по аналогии с другой едой, например с хлебом.
Не следует забывать о том, что надо писать название которое понимает игра. В нашем случае это : my_napitok
Спавн НПС через скрипт
Tris. Скажу ему спасибо.
Как создать тайник
Надеюсь, распаковывать all.spawn умеем?
После распаковки открываем файлы alife_zaton
Например находим строчки под номером [52]
; cse_alife_object properties
game_vertex_id = 0
distance = 0
level_vertex_id = 293223
object_flags = 0xffffff3f
custom_data =
Внимание. надо сменить [52] на [1866] нельзя чтобы были номера одинаковыми.
; cse_alife_object properties
game_vertex_id = 0 гейм вертекс
distance = 0
level_vertex_id = 293223 левел вертекс
object_flags = 0xffffff3f
custom_data =
Если хотите рюкзак пропишите это:
; cse_alife_inventory_box properties
tip = inventory_box_use
Координаты можно отснять прогой Position Extraktor
И вот что выйдет
; cse_alife_object properties
game_vertex_id = 14
distance = 0
level_vertex_id = 133074
object_flags = 0xffffff3f
custom_data =
Всё запаковываем all.spawn и появится файлик new. Копируем его в сталкера в папку spawn и переименовываем в all.spawn
Параметры погоды
sky_rotation = 0 ; определяет положение (азимут) скайбокса на описываемый час. Если выставить в соседних секциях разные значения азимута, то в переходах между секциями скайбокс будет плавно совершать вращение от одного значения к другому.
sky_color = 1.0, 1.0, 1.0 ; это цвет неба, или, точнее, цвет рассеянного света,
формат из 3 цифр, как и в параметрах ниже, подразумевает цветовую модель RGB, учитывая то, что здесь максимальная интенсивность цвета (255), здесь равна 1.0.
Аналогично эффекту смешивания в фотошопе (screen). НО! Опытным путем установлено, что движок может работать со значениями больше единицы.
far_plane = 350 ; это, судя по всему, дальность видимости (расстояние, на котором «обрезается» карта).
fog_distance = 350 ; в DX9 это расстояние, на котором туман фактически «прекращает» действовать. непосредственно дымка, интенсивность которой задаётся fog_density, «висит» в радиусе fog_distance. за пределами этого радиуса часть геометрии «съедается»
и вместо неё отображается небо (скайбокс). правильно подобранная текстура неба имитирует вдали клубы тумана. а уже дальше снова проявляется геометрия уровня (холмы и т.д.). в DX8-режиме туман рудиментарен и обсуждать его нет особого смысла.
fog_color = 0.043, 0.043, 0.055 ; непосредственно сам цвет тумана. При слишком высоких значениях параметра объекты вдали будут светлее неба, поэтому если вдали видим «белые сосны», то проблема именно в этом параметре.
fog_density = 0.9 ; это плотность тумана, выставив значение в 0, можно увидеть четкие края карты, а если поставить значение больше единицы, то туман будет виден прямо перед носом.
rain_density = 0.2 ; это плотность дождя, действует, видимо, как и туман. Примечательно, что зависимость от параметра нелинейна, и значение 0.2 практически не отличается от единицы. Чтобы сделать действительно слабый дождь, надо экспериментировать с очень маленькими значениями.
rain_color = 0.21, 0.21, 0.27 ; цвет (непосредственно капель) падающего дождя.
thunderbolt = thunderbolt_collection_default ; это имя заготовки грозы, если грозы не предусмотрено, значение можно оставить пустым.
bolt_duration = 0.35f ; это собственно продолжительность фазы вспышки молнии. выставив высокое значение, можно вовсе получить не молнию, а некое плавно нарастающее свечение.
lmap_color = 1.0, 1.0, 1.0 ; видимо, цвет лайтмапа.
sun_color = 0.0, 0.0, 0.0 ; свет солнца, его интенсивность также влияет на тени, если солнце не светит, теней от него не будет. Зависимость глубины тени от значений света не линейна.
env_ambient = ambient_env_rain ; это набор звуков окружения.
Создание оружия
Все эти файлы мы должны подготовить перед тем как начать. Если вы готовы то продолжим.
За характеристики отвечают эти строки:
И нужно будет исправить эту строку: hud и поставить = wpn_ak47_hud Должно получиться так: hud = wpn_ak47_hud
Отрываем файл: weapons
И видим такую структуру:
#include «w_ak74.ltx»
#include «w_ak74u.ltx»
#include «w_fn2000.ltx»
#include «w_rpg7.ltx»
#include «w_knife.ltx»
#include «w_bolt.ltx»
#include «w_f1.ltx»
#include «w_rgd5.ltx»
#include «w_gd5.ltx»
#include «w_rg6.ltx»
Прописываем по анологии, должно получиться так:
Всё сохраняем, и идём дальше.
Открываем файл: st_items_weapons
Советский автомат Ак-47.
Проверяем, если всё правельно сохраняем, и идём вперед.
Открываем файл: mp_ranks
После того как везде прописали сахраняем.
Отрываем файл trade_zat_b30_stalker_trader.
Открываем Файл inventory_upgrades
отрываем файл stalkers_upgrade_info
Пример:
wpn_pm
wpn_pb
wpn_fort
wpn_ak47 —Наше оружие
Потом ищем Азота и делаем тоже самое.
Добавление места для сна
И меняем на:
И также меняем на:
function sleep(actor, npc)
local sleep_zones = <
«произвольное название вашего места»,
«zat_a2_sr_sleep»,
«jup_a6_sr_sleep»,
«pri_a16_sr_sleep»,
«actor_surge_hide_2»
>
Собираем all.spawn. Готово! Теперь после запуска игры с новым all.spawn у нас будет спальное место в барже Ноя (координаты брались оттуда).
Вывод информации о своём моде в главном меню
Я увидел в sgm версию мода, хотел попытатся сделать тоже самое но ничего не вышло. Методом проб и ошибок я научился выводить версию и название мода изменив всего 3 файла, а в sgm наверно таких файлов штук так 10 и тем более своих.
Сегодня я напишу в этом уроке как выводить инфу о своем моде в главном меню.
Сложность: очень очень очень легко
В самом начале видим вот это:
Сталкер как создавать моды
Крайне рекомендуется добавить руководство в «избранное» и следить за обновлениями!
Итак, с чего же начинается сталкерское модостроение? Естественно, с папки «gamedata», которая является основой любого любительского мода. Но простое создание данной папки в корне игры ничего не принесет, так как для модостроения нужны файлы, достать которые можно двумя путями: либо взять за основу любую другую модификацию, либо использовать файлы оригинальной игры. И, так как редактирование сторонней модификации будет скорее модификацией модификации, а не собственноручно созданным модом, то мы за основу модифицирования возьмем оригинальные файлы игры.
Можете не беспокоиться, архив без вирусов. По сути, вы также можете распаковать пиратскую версию S.T.A.L.K.E.R.: Тень Чернобыля любым другим анпакером, благо, их достаточно много в интернете, но зачем тратить свое время и место на жестком диске, когда проще распаковать лицензию?
Стоит обратить внимание, данная программка тестировалась лишь на Steam-версии S.T.A.L.K.E.R.: Тень Чернобыля. Пиратские версии, а также версия игры для GOG не проходили тестирование.
Итак, когда вы скачаете архив, внутри него вас будет ждать лишь один файл. Эта и есть подходящая программка. Ее вы просто перетаскиваете из архива на рабочий стол и запускаете.
В этой же программе вы указываете путь к корневой папке со сталкером и от туда начинаете разархивировать файлы gamedata.
Вы просто выбираете нужный файл gamedata и нажимаете кнопку «открыть». Далее архиватор вам предложит выбрать место хранения файлов. Я рекомендую разархивировать файлы в отдельную папку на рабочем столе. Себе же для удобства я разархивировал каждую «геймдату» в отдельную папку. Зачем? Вы узнаете далее.
Для 90% любительских модификаций будет достаточно распакованного gamedata.db0.
Предположим, что вы не имеете никакого опыта в простейшем модостроении и еще не разобрались с файлами и папками. Для начала стоит разобраться с простейшими параметрами, которые бы вы, предположительно, хотели изменить в игре. Вот самая простая навигация для новичков лишь по одной папке Config.
Вот самые основные параметры, изменения которых помогут вам в создании простейших модификаций.
Для того, чтобы реализовать в игре модификацию, вам потребуется создать папку gamedata в корневой папке игры.
Далее, допустим, я хочу модифицировать главного героя, работая в файле actor.ltx.
Он расположен по пути config\creatures, соответственно, в папке gamedata я создаю папку config, с ней создаю папку creatures. В данную папку я закидываю файл actor.ltx. Но для корректной работы внесенных параметров в actor.ltx, необходимо их же продублировать в system.ltx. Файл system.ltx находится в папке config, соответственно, данный файл переноситься по пути корень/gamedata/config
После этого внесенные изменения сохраняются. Модифицированный сталкер можно будет запустить сразу, начав новую игру.
Таким образом, первая небольшая модификация занимает место всего в 33 КБ.
Как мы можем наблюдать, для создания модификаций совершенно не обязательно иметь полностью разархивированную папку gamedata в корень игры. Простейшие модификации требуют в папке gamedata только тех файлов, которые подвергаются изменению.
С другой стороны, создание модов требует комплексного подхода и знания взаимосвязей файлов игры. Даже для изменения параметров грузоподъемности ГГ необходимо знать о взаимосвязях того же actor.ltx и system.ltx.
Поэтому советую практиковаться, но перед этим изучать теорию сталкерского модостроения.
Как визуально улучшить картинку в игре? Как изменить (поменять) текстуры? При помощи каких программ работать с текстурами? На этот и все другие вопросы, связанные с текстурированием и визуализацией вы найдете ответы в текущей главе гайда по модостроению в сталкере ТЧ.
Я же предпочитаю работать в программе Photoshop CS6, потому что его инструментарий и работа со слоями мне ближе, чем функционал Paint.net.
Допустим, вы обзавелись одной из программ. Далее для работы с текстурами вам понадобится папка textures. Из предыдущих глав гайда вы уже должны понимать, где при разархивации будет находиться данная папка.
Сохраняете текстуры вы, естественно, в формате DDS. Если пользуетесь плагином для Photoshop, то советую оставлять в настройках Nvidia все как есть.
Как изменить имя главного героя игры (Меченого)?
В первой строке «lname_bandit_0» означает, что кличка свойственна бандитам из игры, а строка
означает, как не сложно догадаться, кличку. Изменяем, как обычно, то, что вписано между «
«, вписываем прямо между «> МАТЬ
Вам понадобится программа, ссылку на которую я оставлю ниже (пробелы уберете). Все нормально, без вирусов, регистрации и смс, а простая, как 5 копеек, короче, качаем архив.
Google:
https ://drive.google. com/file/d/126NJ8h9duJua6uDAKWn4LX9npg3Sou2-/view?usp=sharing
Яндекс:
https:// //disk.yandex. ru/d/kYuX-KkyJgSoaQ
Далее, значит, кидаем наш файл и файл оригинальной озвучки деда на ярлык этой самой программы. У вас выйдет 2 окна. В окне вашего файла вы должны изменить параметры так, как они есть в оригинальном аудио-файле. Для этого вводите все так, как показано на скриншоте, думаю, что с другими файлами алгоритм будет понятен (за мат извините).
Пишем следующие и у вас должно выйти вот так:
Далее создаем файл lootmoney.script (копируем любой скрипт, переименовываем его в lootmoney и убираем там все строки); прописываем в нем следующее:
Теперь у трупов ваших врагов всегда в кармане будет пара шекелей)
И так, дорогие друзья, данный раздел руководства посвящен тому, без чего не обходится ни один глобальный мод на Тень Чернобыля. Я подробно объясню вам, как установить X-Ray SDK 0.4 и выложу подробнейшую инструкцию о работе с X-Ray SDK 0.4. Вы наконец-то сможете войти в глобальное построение модов и узнаете, как менять локации, тайники, перетащить Сидоровича и, быть может, даже отстрелить ему его жирный зад (но это не точно).
Выкладываю несколько файлов, которые вам необходимо скачать.
Друзья! Гайд будет изменяться и пополняться со временем. К сожалению, мое время не бесконечно и я не могу постоянно заниматься пополнением руководства. Чем больше читателей оценят проделанную работу, тем скорее выйдет продолжение гайда. Планируется дополнять руководство новыми материалами либо каждую неделю, либо раз в две недели, но, запомните, что все зависит только от вашей активности!
Для самостоятельного изучения модостроения выкладываю матчасть:
Оценка и активность в других материалах также поспособствует активному пополнению руководства!
Друзья, если вам интересны краткие, но качественные обзоры на игры (и не только), советую вступить в мою группу, чтобы поддержать меня в роли начинающего куратора!
Как создавать моды для Сталкера.
Sabira
Локализатор
—>
Чтобы делать качественные моды, нужно по крайней мере иметь представление по программированию на языке C++ вот первый урок.
1. В уроке мы рассмотрим простые математические операции: сложение, вычитание, умножение и деление.
На примере простого калькулятора.
# include
# include
using namespace std;
И так что мы с Вами имеем: цикл do с выходом по условию while, то есть пока переменная d равна у цикл будет выполнятся, иначе программа закончит свою работу, обратите внимание что переменная d должна быть инициализирована до начала цикла, иначе при повторном вычислении программа ее не увидит.
Циклы предназначены для многократного выполнения какого-либо блока.
В С++ существуют три вида циклов: for, while, do. while. Все они имеют сходную структуру и характерные особенности: инициализация счётчика цикла, проверка условия цикла, увеличение счётчика цикла.
2. Цикл For:
——————
#include // подключим стандартную С++ библиотеку ввода/вывода
#include // установим поддержку языковых пакетов
using namespace std; // указывает на использование стандартного простанства имен С++ (STD)
int main()
<
setlocale(LC_CTYPE,»Russian»); // подключим русский язык для отображения в консоли
ui_iconsTotal_esc_help_wounded_from_raid
escape_tasks.task_fox_complete
garbage_meetstalker_start
esc_fox_help
green_location
Escape_stalker_from_raid
escape_fox_heal
esc_dogs_return
green_location
Escape_stalker_from_raid
escape_stalker_done
Более обобщенно:
Задает имя (id) нового квеста. В данном случае, esc_help_wounded_from_raid. prio = «» задает приоритет задачи. Чем выше приоритет, тем больше вероятность того, что текущий маркер квеста будет переключен на ваше задание.
esc_help_wounded_from_raid
Задает заголовок квеста. Т. е. его название. Название можно прописать в виде текста, либо в виде ссылки. В данном случае используется ссылка на текст, который хранится в файле string_table_tasks_escape.xml.
escape_tasks.task_fox_complete
Вызывает функцию из файла escape_tasks.script под именем task_fox_complete. При выполнении данной функции дается info_portion, который завершает данную подзадачу, в случае, если все условия функции соблюдаются.
escape_fox_heal
Текущее подзадание будет завершено в случае, если игроку будет дан этот info_portion.
esc_dogs_return
Текущее подзадание будет провалено в случае, если игроку будет дан этот info_portion.
green_location
Создает указатель на карте с подсказкой esc_fox и типом green_location.
Escape_stalker_from_raid
Указывает на sid из файла gamedata\config\game_story_ids.ltx
garbage_meetstalker_start
Автоматически устанавливает данную подзадачу в положение «Выполнено», если у игрока есть данный info_portion. //. Не уверена – не пользовалась не разу.
Вернуться к Сидорычу
blue_location
Escape_Trader
player_complete_new_task
Поговорить с Волком
ui_iconsTotal_find_item
green_location
Escape_novice_lager_volk
player_talked_with_wolf
Вернуться к Сидорычу
blue_location
Escape_Trader
player_complete_new_task
Конечно можно и по другому, но это оптимальный вариант.Продолжим!
Теперь скелет диалога квеста:
——————————————
new_task_started
player_talked_with_wolf
player_complete_new_task