Как добавить своё оружие?
Нужно: 1. Нужен HEX-редактор или другой, но главное, что бы редактировал OGF модели (проверял: стандартный блокнот не работает) 2. Блокнот или другая прога 3. Умение создавать моды
Итак, делаем мод АК47: 1. Скопировать папку ak74 (gamedata\meshes\weapons) и назвать её ak47 и в ней wpn_ak74.ogf и wpn_ak74_hud.ogf переименовать на wpn_ak47.ogf и wpn_ak47_hud.ogf. 2. Нужно в 3D - шке (gamedata\meshes\weapons\ak47\wpn_ak47_hud.ogf и gamedata\meshes\weapons\ak47\wpn_ak47.ogf) с помощью HEX - редактора поменять все 74 на 47 3. Скопировать конфиг АК74 (gamedata\config\weapons\w_ak74.ltx) и назвать его w_ak47.ltx 4. В gamedata\config\weapons\w_ak47.ltx все "74" поменять на "47" 5. В gamedata\config\weapons\weapons.ltx после: #include "w_ak74.ltx" добавить #include "w_ak47.ltx" 6. В gamedata\config\text\rus\string_table_enc_weapons.xml добавить своё оружие. Я сделал так: ... </string> <string id="enc_weapons1_wpn-addon-silencer"> <text>Эффективный глушитель, собранный в Зоне какими-то умельцами. С ним в комплекте идёт набор переходников под оружие любого калибра.</text> </string> <string id="enc_weapons1_wpn-ak74"> <text>Автомат складной образца 1974 года под патрон 5,45x39 мм. Представляет собой простое и надёжное оружие, хотя дешёвизна в производстве несколько сказалась на удобстве использования и точности боя. В Зоне это основное оружие военных сталкеров и многих одиночек.\n Боеприпасы:\n обычный 5,45x39 мм,\n бронебойный 5,45x39 мм БП.</text> </string> ...теперь идёт моё... <string id="enc_weapons1_wpn-ak47"> <text>Автомат образца 1947 года под патрон 7,62x39 мм. Представляет собой простое, надёжное и мощное оружие. В Зоне это оружие найти очень тяжело.\n Боеприпасы:\n обычный 7,62x39 мм,\n бронебойный 7,62x39 мм БП.</text> </string> ...мой текст закончился... <string id="enc_weapons1_wpn-ak74_m1"> <text>Модифицированный затворный механизм увеличивает скорость стрельбы.</text> </string> <string id="enc_weapons1_wpn-ak74u"> <text>По своим габаритам и массе Акм 74/2у (укороченный) близок к пистолетам-пулеметам, однако принцип действия механизма данного оружия и применяемый в нём патрон делают его представителем класса автоматов. К достоинствам относятся малые габариты, что крайне полезно при ведении боя в городских условиях, и довольно высокая пробивающая способность патрона. Главные недостатки - малая прицельная дальность и склонность к быстрому перегреву при стрельбе очередями.\n Боеприпасы:\n обычный 5,45x39 мм,\n бронебойный 5,45x39 мм БП.</text> </string>
7. В gamedata\sounds\weapons скопировать: ak74_draw.ogg ak74_reload.ogg ak74_shoot.ogg ak74_shot_1.ogg ak74_shot_3.ogg ak74_shot_0.ogg ak74_shot_2.ogg
и назвать: ak47_draw.ogg ak47_reload.ogg ak47_shoot.ogg ak47_shot_1.ogg ak47_shot_3.ogg ak47_shot_0.ogg ak47_shot_2.ogg
(можно поставить свои звуки оружия)
8. В gamedata\textures\wpn: wpn_ak74.dds wpn_ak74_bump#.dds wpn_ak74_bump.dds
и заменить:
wpn_ak47.dds wpn_ak47_bump#.dds wpn_ak47_bump.dds
(можно поставить свои текстуры)
9. В gamedata\textures\ui открываем ui_icon_equipment.dds и редактируем. Нужно поставить значок на оружие (появлиется при купле/продаже и просмотре описания). Можно скопировать на свободное место иконку АК74, а можно добавить свою. 10. Открываем gamedata\config\weapons\w_ak47.ltx
И найдем такие строки:
inv_grid_width = 4 inv_grid_height = 2 inv_grid_x = ... inv_grid_y = ...
Где:
inv_grid_width - ширина в сетке 50х50 inv_grid_height - высота в сетке 50х50 inv_grid_x - местонахождение по х inv_grid_y - местонахождение по y
(если не поняли, я про значок для оружия)
В принципе мод готов, но при убийстве ГГ, игра вылетает. Дополняем мод.
10. В gamedata\config\mp\mp_ranks.ltx, все фразы, содержащие "ak74", копируем и называем "ak47"
11. В gamedata\config\mp\artefacthunt_game.ltx, фразу "mp_wpn_ak74" копируем и называем "mp_wpn_ak47"
12. В gamedata\config\mp\weapons_mp\weapons_mp.ltx, копируем:
...
[mp_wpn_ak74]:wpn_ak74 $spawn = "" class = W_AK74 ; class of the weapon that corresponding to CPP class scope_name = mp_wpn_addon_scope silencer_name = mp_wpn_addon_silencer grenade_launcher_name = mp_wpn_addon_grenade_launcher ammo_class = mp_ammo_5.45x39_fmj, mp_ammo_5.45x39_ap ; name of the ltx-section of used ammo grenade_class = mp_ammo_vog-25, mp_ammo_vog-25p tracers = on tracers_color_ID = 0
;params of weapon recoil fire_dispersion_base = 0.125;0.14;0.18;0.2 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках) control_inertion_factor = 1.25f ;отдача cam_relax_speed = 0.75;0.6;0.15 ;скорость возврата в исходное положение cam_dispersion = 0.15 ;увеличения угла (в градусах) с каждым выстрелом cam_dispersion_inc = 0.3 ;увеличениe cam_dispersion с каждым выстрелом cam_dispertion_frac = 0.9 ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac) cam_max_angle = 30.0 ;максимальный угол отдачи cam_max_angle_horz = 20.0 ;(degree) maximum shot horizontal degree cam_step_angle_horz = 1.0 ;(degree) size of step camera moved in horizontal position while shooting
fire_dispersion_condition_factor = 5 ;увеличение дисперсии в процентах при максимальном износе misfire_probability = 0.0003 ;вероятность осечки при максимальном износе condition_shot_dec = 0.00003 ;увеличение износа при каждом выстреле
PDM_disp_base = 1.0 PDM_disp_vel_factor = 1.3 PDM_disp_accel_factor = 1.3 PDM_crouch = 1.0 PDM_crouch_no_acc = 1.0
; ttc hit_power = 0.81;0.825;90 ; size of damage by bullet hit_impulse = 140 ; size of physic impulse by bullet hit_type = fire_wound ; [] type of the wound fire_distance = 1000 ; maximum fire distance that bullet can fly bullet_speed = 900; starting bullet speed rpm = 600 ; max round per minute
;params when silencer is attached ;similar to corresponding params without prefix silencer_
silencer_hit_power = 25 silencer_hit_impulse = 120 silencer_fire_distance = 250 silencer_bullet_speed = 600
;addons scope_status = 2 ; 0 - no addon silencer_status = 2 ; 1 - permanent grenade_launcher_status = 2 ; 2 - attachable ;----------------------------------------------------------------------------------- ... и называем: ... [mp_wpn_ak47]:wpn_ak47 $spawn = "" class = W_AK47 ; class of the weapon that corresponding to CPP class scope_name = mp_wpn_addon_scope silencer_name = mp_wpn_addon_silencer grenade_launcher_name = mp_wpn_addon_grenade_launcher ammo_class = mp_ammo_5.45x39_fmj, mp_ammo_5.45x39_ap ; name of the ltx-section of used ammo grenade_class = mp_ammo_vog-25, mp_ammo_vog-25p tracers = on tracers_color_ID = 0
;params of weapon recoil fire_dispersion_base = 0.125;0.14;0.18;0.2 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках) control_inertion_factor = 1.25f ;отдача cam_relax_speed = 0.75;0.6;0.15 ;скорость возврата в исходное положение cam_dispersion = 0.15 ;увеличения угла (в градусах) с каждым выстрелом cam_dispersion_inc = 0.3 ;увеличениe cam_dispersion с каждым выстрелом cam_dispertion_frac = 0.9 ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac) cam_max_angle = 30.0 ;максимальный угол отдачи cam_max_angle_horz = 20.0 ;(degree) maximum shot horizontal degree cam_step_angle_horz = 1.0 ;(degree) size of step camera moved in horizontal position while shooting
fire_dispersion_condition_factor = 5 ;увеличение дисперсии в процентах при максимальном износе misfire_probability = 0.0003 ;вероятность осечки при максимальном износе condition_shot_dec = 0.00003 ;увеличение износа при каждом выстреле
PDM_disp_base = 1.0 PDM_disp_vel_factor = 1.3 PDM_disp_accel_factor = 1.3 PDM_crouch = 1.0 PDM_crouch_no_acc = 1.0
; ttc hit_power = 0.81;0.825;90 ; size of damage by bullet hit_impulse = 140 ; size of physic impulse by bullet hit_type = fire_wound ; [] type of the wound fire_distance = 1000 ; maximum fire distance that bullet can fly bullet_speed = 900; starting bullet speed rpm = 600 ; max round per minute
;params when silencer is attached ;similar to corresponding params without prefix silencer_
silencer_hit_power = 25 silencer_hit_impulse = 120 silencer_fire_distance = 250 silencer_bullet_speed = 600
;addons scope_status = 2 ; 0 - no addon silencer_status = 2 ; 1 - permanent grenade_launcher_status = 2 ; 2 - attachable ;----------------------------------------------------------------------------------- ...
Всё! Мод готов! Теперь осталось прописать оружие торговцу или кинуть на карту. Таким же способом можно добавить патроны 5,45x39 для этого оружия, но при желании можно играть и так.
|