Главная | Регистрация | Вход | Приветствую Вас | Гость| RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Форум » Навигатор » Модострой » Вещи (как добавлять)
Вещи
stalin
Дата: Понедельник, 09.05.2011, 09:49 | Сообщение # 11
Сообщений: 49
Награды: 0  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
Создание новых предметов :

В этой статье я расскажу как создавать новые предметы:
Для начал находим файл items.ltx, находящийся в папке config/misc/, и копируем какой-нибудь предмет, я, например, взял:
[bread]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "food and drugs\bread"
;$prefetch = 32
class = II_FOOD
cform = skeleton
visual = weapons\bred\bred.ogf
description = enc_equipment_food_bread1

inv_name = Bread
inv_name_short = Bread
inv_weight = 0.3 ;0.2

inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 11
inv_grid_y = 9
cost = 20

attach_angle_offset = -0.287979, 1.560923, 1.544060
attach_position_offset = 0.096910, -0.013594, 0.107925
attach_bone_name = bip01_r_hand
auto_attach = false

// should be deleted after update
bone_name = bip01_r_hand
position_offset = 0.0,0.0,0.0
angle_offset = 1.570790,1.570790,3.92699

; eatable item
eat_health = 0.05
eat_satiety = 0.2
eat_power = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = -1

; food item
slot = 4
animation_slot = 4

;hud item
hud = wpn_vodka_hud
Вставляем его копию в конец, меняем название:
[bread]
На:
[test]
А также:
inv_name = Bread
inv_name_short = Bread
На:
inv_name = test
inv_name_short = test
И description = enc_equipment_food_bread1 на description = enc_equipment_food_bread1_test
И, также, "по желанию":
eat_health = 0.05 eat_satiety = 0.2 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0 eat_portions_num = -1
Всё, в item.ltx работа закончена, теперь переходим к редактированию описания, открываем string_table_enc_equipment "Блокнотом". Что мы там видим: все описания и названия прописаны по тегам:
<string id="название из inv_name"> <text>Название в игре</text> </string>
И:
<string id="описание из description"> <text>Описание в игре</text> </string>
Пишем:
<string id="test"> <text>Тестовый предмет</text> </string>
И:
<string id="enc_equipment_food_bread1_test">
<text>Тестовый предмет, разработанный в сверхсекретных лабораториях Зоны :)</text>
</string>
Сохраняем... Все! Основная работа завершена! Теперь добавим предмет торговцам, например, Сидоровичу.
Открываем trader_trader из папки config/misc (работа с ним подробно описана в этой статье), прописываем:
test = 0.3, 0.5
В секции:
[trader_generic_buy]
И далее в:
[supplies_start]
test = 10, 1
В [supplies_after_fabric]
test = 10, 1
В [trader_start_sell]
И в:
[trader_after_fabric_sell]
test = 1. 3
Сохраняем, запускаем игру, торгуем с Сидоровичем и видим у него два вида хлеба: один из них - наш smile


[ (RU) ]
paka
Дата: Понедельник, 09.05.2011, 20:47 | Сообщение # 12
Сообщений: 272
Награды: 2  +
Репутация: 4  ±
Замечания:  ±
Статус: Убежал
Ты прям как разраб игры

[ (RU) ]
stalin
Дата: Понедельник, 09.05.2011, 20:53 | Сообщение # 13
Сообщений: 49
Награды: 0  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
для того чтобы стать разработчиком мне ещё многому нужно научится !!! smile

[ (RU) ]
Ангел
Дата: Вторник, 17.05.2011, 17:33 | Сообщение # 14
Сообщений: 23
Награды: 1  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
cool

[ (RU) ]
stalin
Дата: Вторник, 17.05.2011, 20:04 | Сообщение # 15
Сообщений: 49
Награды: 0  +
Репутация: 2  ±
Замечания:  ±
Статус: Убежал
Редактирование оружия

Общие положения
Сегодня мы разберем то, каким образом можно редактировать оружие в игре - от характеристик до описания. Характеристики оружия хранятся здесь:
...\S.T.A.L.K.E.R\gamedata\config\weapons\w_[...].ltx
Разбор структуры конфига
Возьмем, для примера, конфиг w_g36.ltx. Он делится на разделы:
Первый раздел
Здесь хранится общая информация о оружии - его класс, тип, ссылки на спавн и т.д. Нас интересуют следующие строки:
• description = enc_weapons1_wpn-g36 - ссылка на string_id, из которого игра подгружает описание этого оружия.
• ef_main_weapon_type = 2 - основной тип, к которому принадлежит оружие
• ef_weapon_type = 6 - подтип, к которому принадлежит оружие
Второй раздел
Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего это оружие в руках:
• holder_range_modifier = 1.85 - во сколько раз увеличивается eye_range
• holder_fov_modifier = 0.3 - во сколько раз увеличивается eye_fov
Третий раздел
Содержит данные о самом оружии, его некоторых характеристиках:
• cost = 18000 - базовая цена (торговцы умножают её на некоторый коэффициент)
• weapon_class = assault_rifle - класс оружия (здесь - штурмовая винтовка)
• ammo_mag_size = 30 - размер магазина
• ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap - типы используемых патронов
• grenade_class = ammo_m209 - тип используемых гранат
• fire_modes = 1, -1 - режимы ведения огня
• hand_dependence = 1 - засивимость о рук (?) - возможно, речь идет о качании ствола
• single_handed = 0 - держится ли только в одной руке
• slot = 2 - слот в инвентаре
• animation_slot = 2 - вид анимации (для пистолета/для винтовки)
• inv_name = wpn-g36 - ссылка на имя, отображаемое в инвентаре, тоже берется из string table, как и описание
• inv_name_short = wpn-g36 - короткое имя; в данном случае используется то же самое
• inv_weight = 3.6 - вес
• inv_grid_width = 5 - координаты первого угла иконки по x
• inv_grid_height = 2 - координаты первого угла иконки по y
• inv_grid_x = 0 - координаты второго угла иконки по x
• inv_grid_y = 10 - координаты второго угла иконки по y
Четвертый раздел
В четвертом разделе хранится информация о износе/отдаче оружия. Практически все параметры там снабжены комментариями, поэтому приведу лишь самые интересные:
• cam_relax_speed = 5.7 - скорость возврата в исходное положение
• cam_dispersion = 0.2 - увеличения угла (в градусах) с каждым выстрелом
• fire_dispersion_condition_factor = 5 - увеличение дисперсии в процентах при максимальном износе
• misfire_probability = 0.003 - вероятность осечки при максимальном износе
• misfire_condition_k = 0.05 - порог (в данном случае - 5%), после которого оружие может заклинивать
• condition_shot_dec = 0.0002 - увеличение износа при каждом выстреле
Пятый раздел
Здесь хранится множество параметров, из которых наиболее интересны эти:
• hit_power = 0.50, 0.54, 0.57, 0.60 - сила выстрела
• hit_impulse = 105 - импульс пули (сила, которую летящая пуля передает жертве, влияет на поведение ragdoll-тела)
• hit_type = fire_wound - тип причиняемых повреждений, в данном случае - пулевые ранения (параметр в синглплеере ни на что не влияет)
• fire_distance = 600 - максимальная дистанция для выстрела
• bullet_speed = 925 - начальная скорость пули
• hud = wpn_g36_hud - внешний вид оружия
Шестой раздел
• position = -0.026, -0.132, 0.0 - позиция по отношению к игроку (?)
• orientation = 0, 0, 0 - направление, в которое смотрит ствол (?)
Седьмой раздел
Содержит описания визуальной стороны оружия и некоторые другие параметры:
• startup_ammo = 90 - как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет)
• visual = weapons\g36\wpn_g36.ogf - модель оружия, используемая NPC, а также игроком при виде от третьего лица
• ph_mass = 4 - физическая масса, используемая при расчетах
• scope_status = 1 - ситуация со съемным прицелом

Добавлено (17.05.2011, 20:04)
---------------------------------------------
• silencer_status = 0 - ситуация со съемным глушителем
• grenade_launcher_status = 0 - ситуация с подствольным гранатометом
• Параметры:
o 0 - нет, новый прикрепить нельзя
o 1 - уже есть, несъемный
o 2 - нет, но можно установить новый
• zoom_enabled = true - есть ли зум (прицеливание)
• scope_zoom_factor = 33.3 - какой зум дает прицеливание (здесь - 1.8х)
• scope_texture = wpn\wpn_crosshair_g36 - текстура прицельной сетки
• shell_point = 0.15, 0.0, -0.05 - точка вылета гильз
• shell_dir = 0.0, 1.0, 0.0
• fire_point = -0.000000,0.062000,0.134000 - точка выстрела
• fire_point2 = 0.30, 0.00, 0.05 - точка выстрела (2)
• fire_bone = wpn_body
• orientation = 0, 0, 0 - направление
• position = 0, 0, 0 - позиция
• visual = weapons\g36\wpn_g36_hud.ogf - модель, отображаемая у нас в руках
Изменение описаний
Описания оружия хранятся в файле: ...\S.T.A.L.K.E.R\gamedata\config\text\rus\string_table_enc_weapons.xml
В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36 ссылается сюда:
[...]
<string id="enc_weapons1_wpn-g36">
<text>Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец
современного оружия - лёгкого, надёжного и эргономичного.\n Боеприпасы:\n обычный 5,56x45 мм
SS109,\n бронебойный 5,56x45 мм АР.</text>
[...]
<string id="wpn-g36">
<text>ГП37</text>
[...]
Меняя их содержимое, мы меняем описания/названия данного оружия.
Изменение патронов
Параметры патронов хранятся в файле:
...\S.T.A.L.K.E.R\gamedata\config\weapons\weapons.ltx
Найдем, например, раздел, отвечающий за патроны к тому же G36 (о них мы узнали из параметра ammo_class), и разберем, что означает каждый параметр:

• visual = weapons\ammo\ammo_556x45_ss190.ogf - модель коробки с патронами
• description = enc_weapons1_ammo_ammo-5.56x45-ss190 - ссылка на string_id, из которого игра подгружает описание этого типа патронов
• cost = 320 - стоимость одной коробки
• box_size = 30 - количество патронов в одной коробке
• inv_name = ammo-5.56x45-ss190 - ссылка на string_id, содержащий имя для инвентаря
• inv_name_short = ammo-5.56x45-ss190_s - ссылка на string_id, содержащий краткое имя для инвентаря
• inv_weight = 0.33 - вес
• inv_grid_width = 2 - координаты первого угла иконки по x
• inv_grid_height = 1 - координаты первого угла иконки по y
• inv_grid_x = 14 - координаты второго угла иконки по x
• inv_grid_y = 11 - координаты второго угла иконки по y

• k_dist = 1 - коэффициент дальности, сама дальность - в стволе, тупо расстояние.
• k_disp = 2.5 - кучность, завязана с кучностью в стволе
• k_hit = 1 - убойность, завязана с убойностью в стволе
• k_impulse = 1 - чисто наскока эффектно ногами непись дрыгнет во время кердыка
• k_pierce = 1 - коэффициент наскока испорится броня при попадании

• impair = 1 - коэффициент износа ствола от пули
• buck_shot = 1 - кол-во составляющих в пуле (напр картечь - 4, пуля - 1)
• tracer = on - является ли патрон трассирующим (on/off)
• wm_size = 0.05 - визуальный размер дырки на стене от пули


[ (RU) ]
Форум » Навигатор » Модострой » Вещи (как добавлять)
Страница 2 из 2«12
Поиск:
Дизайнер сайта Ангел