Случайная подборка модов
Dream Reader - The Leper Area
4.0
Путь Бандита
2.0
Winter Mod
3.9
Mysterious Zone
4.0
Lost World Condemned
3.5
STCoP Weapon Pack 3.3
4.4
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 1
  • 1
Архив - только для чтения
[ЗП] Создание реактивных выстрелов
Российская Федерация  Stalker_Monstr
Четверг, 14.11.2013, 16:59 | Сообщение # 1
Статус:
Отмычка:
Сообщений: 194
Награды: 8
Регистрация: 30.01.2013

Идея конечно попахивает бредом. Хотя в моде над которым сейчас тружусь я её реализовал.
Суть такого нововведения в том что бы подстволшьник мог стрелять реактивными гранатами-выстрелами (аля ОГ-7В)

Приступим!!!
1) Открываем weapons.ltx и копируем секцию описания выстрела M-203:
Цитата
[ammo_m209]:ammo_base
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "weapons\ammo\ammo_m209" ; option for Level Editor
class = S_M209
cform = skeleton
visual = dynamics\weapons\wpn_ammo\ammo_m209.ogf
description = ammo-m209_descr
slot = -1
$prefetch = 64

cost = 3500

box_size = 1

inv_name = ammo-m209
inv_name_short = ammo-m209_s
inv_weight = 0.1

inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 5
inv_grid_y = 13

kill_msg_x = 61
kill_msg_y = 232
kill_msg_width = 19
kill_msg_height = 22

k_dist = 1
k_disp = 1
k_hit = 1
k_impulse = 1
k_pierce = 0.25
k_ap = 0.25
impair = 1
buck_shot = 0
tracer = off
wm_size = 0.05

fake_grenade_name = wpn_fake_missile2

;могут ли боеприпасы быть неограниченными : 1 - могут, 0 - не могут
can_be_unlimited = true ;false

И перепишем её:
Цитата
[ammo_m209rocket]:ammo_base
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "weapons\ammo\ammo_m209rocket" ; option for Level Editor
class = S_M209
cform = skeleton
visual = dynamics\weapons\wpn_ammo\ammo_m209.ogf
description = ammo-m209rocket_descr
slot = -1
$prefetch = 64

cost = 7500

box_size = 1

inv_name = ammo-m209rocket
inv_name_short = ammo-m209rocket_s
inv_weight = 0.15

inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 5
inv_grid_y = 13

kill_msg_x = 61
kill_msg_y = 232
kill_msg_width = 19
kill_msg_height = 22

k_dist = 1
k_disp = 1
k_hit = 1
k_impulse = 1
k_pierce = 0.25
k_ap = 0.25
impair = 1
buck_shot = 0
tracer = off
wm_size = 0.05

fake_grenade_name = wpn_fake_missile13

;могут ли боеприпасы быть неограниченными : 1 - могут, 0 - не могут
can_be_unlimited = true ;false

Как видите здесь мы поменяли только системное имя, ссылки на описание, вес, стоимость и ссылку на fake_missile. А вот это и есть основа всего =)
Путем долгих разборов выяснилось что подствольник как таковой не стреляет, а лишь запускает функцию fake_missile c определенными парраметрами.
Следовательно, в этом же файле чуть ниже мы видим описания конкретных fake'ов. так вот после всех родных fake'ов мы вставим вот такой вот:
Цитата
[wpn_fake_missile13]:identity_immunities,default_weapon_params
$prefetch = 32
visual = dynamics\weapons\wpn_ammo\ammo_m209.ogf
cform = skeleton
class = G_FAKE

inv_weight = 0

cost = 150

blast = 2.00 ;Взрывная волна(значение влияет на эффект размазанности если ГГ попал в радиус)
blast_r = 15 ;Радиус взрывной волны
blast_impulse = 350 ;Сила с которой волна раскидывает физические объекты
;delete
blast_impulse_factor = 1 ;Судя по всему наличие самой волны (типа 1=true 0=false)

frags = 30 ;Осколки(тут прописано количество онных)
frags_r = 20 ;На какое растояние полетят осколки(желательно делать больше blast_r)
frag_hit = 0.50 ;Повреждение наносимое одним осколком
frag_hit_impulse = 50 ;Сила с которой осколок толкнет физический объект

hit_type_blast = explosion ;Тип урона взрывной волны
hit_type_frag = fire_wound ;Тип урона осколков

up_throw_factor = 0.7 ;Х.з.

;trail = weapons\rpg_trail_01, weapons\rpg_trail_02

explode_particles = explosions\explosion_01 ;Визуал взрыва

light_color = 1.9,1.4,0.5 ;Цвет вспышки при взрыве
light_range = 14.0 ;Яркость вспышки
light_time = 0.85 ;Время свечения(60.0 = 10сек)

ph_mass = 5 ;Физическая масса
;engine_f = 530
;engine_u = 90

jump_height = 1 ;Подпрыгивание гранаты перед взрывом

;трассы от осколков
fragment_speed = 100 ;Скорость полёта осколков

wm_size = 0.05 ;Размер отверстия от осколка(на стенах и т.д.)
;wallmarks
wallmark_section = explosion_marks
explode_duration = 5 ;подолжительность взрыва (с)

;звуки
snd_explode = weapons\f1_explode ;Звук взрыва
snd_fly_sound = weapons\rocket_fly ;Звук полета(работы двигателя)

;свойства которые читаются, но не используются
inv_name = ammo-vog-25p
inv_name_short = ammo-vog-25p
inv_weight = .2

inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 19
inv_grid_y = 9

kill_msg_x = 38
kill_msg_y = 233
kill_msg_width = 21
kill_msg_height = 22

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Свойства CustomRocket
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
engine_present = true ;присутствует ли в ракете двигатель
engine_work_time = 3000 ;время работы двигателя (в милисекундах)
engine_impulse = 300 ;разгонная сила двигателя
engine_impulse_up = 133,906 ;подъёмная сила двигателя( установлена сила при которой снаряд немного опускается)
engine_particles = weapons\rpg_trail_00 ;визуал работы двигателя
lights_enabled = true ;свет вокруг ракеты, во время полета
trail_light_color = 0.6,0.5,0.3 ;цвет освещения во время полёта
trail_light_range = 8.0 ;яркость освещения во время полета
force_explode_time = 10000 ;время в милисекундах через которое снаряд взорвется не достигнув цели(типа если пальнуть вверх)

Сохраняем weapons.ltx
2) Добавление к оружию. Откроем для примера w_fn2000.ltx найдем строку:
Цитата
grenade_class = ammo_m209

И поменяем на:
Цитата
grenade_class = ammo_m209, ammo_m209rocket

Сохраняем w_fn2000.ltx
3) Идем в gamedata\configs\text\rus и открываем st_items_weapons.xml
В нем по аналогии создаем секции содержащие:
Цитата
ammo-m209rocket_descr ;Описание
ammo-m209rocket ;Имя в инвентаре
ammo-m209rocket_s ;Имя в слоте

Вот и всё. Теперь если дать ГГ ФН-2000 и эти гранаты он сможет с лёгкостью разделаться с любым врагом =)

Автор: WincentDark69
  Злобная реклама
Четверг, 14.11.2013, 16:59
Статус:
Сообщений: 666
Регистрация: 30.01.2013
Российская Федерация  RETRIX
Четверг, 14.11.2013, 18:45 | Сообщение # 2
AP-Production
Статус:
Ветеран:
Сообщений: 9439
Награды: 12
Регистрация: 24.08.2011

Stalker_Monstr, таким способом можно лишь повеселиться и провести вечер. По сути реактивные гранаты в ПГ - лишнее и в игре не нужно.
  Злобная реклама
Четверг, 14.11.2013, 18:45
Статус:
Сообщений: 666
Регистрация: 24.08.2011
Российская Федерация  Stalker_Monstr
Четверг, 14.11.2013, 18:48 | Сообщение # 3
Статус:
Отмычка:
Сообщений: 194
Награды: 8
Регистрация: 30.01.2013

RETRIX, Если отличная фантазия, то, каждому предмету, можно найти свое место. Например: Можно использовать для квестов.
  Злобная реклама
Четверг, 14.11.2013, 18:48
Статус:
Сообщений: 666
Регистрация: 30.01.2013
Российская Федерация  RETRIX
Четверг, 14.11.2013, 18:49 | Сообщение # 4
AP-Production
Статус:
Ветеран:
Сообщений: 9439
Награды: 12
Регистрация: 24.08.2011

Stalker_Monstr, ну, в принципе конечно можно. Как например "Миниган" или транспорт в некоторых модах используют для какого-нибудь квеста, один раз за игру.
  Злобная реклама
Четверг, 14.11.2013, 18:49
Статус:
Сообщений: 666
Регистрация: 24.08.2011
Российская Федерация  Stalker_Monstr
Четверг, 14.11.2013, 18:51 | Сообщение # 5
Статус:
Отмычка:
Сообщений: 194
Награды: 8
Регистрация: 30.01.2013

RETRIX, Солидарен, один раз можно использовать.
  Злобная реклама
Четверг, 14.11.2013, 18:51
Статус:
Сообщений: 666
Регистрация: 30.01.2013
В теме находится ({"SCRIPTDATA":"","ERROR":"Could not find script location"})
  • Страница 1 из 1
  • 1
Поиск: