Создание нового оружия — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(→Авторы) |
|||
Строка 1: | Строка 1: | ||
− | В этой статье мы научимся создавать новые образцы вооружения. Для начала, мы будем использовать модели из оригинальной игры. Если вы хотите создать оружие, имеющее уникальный внешний вид, ознакомьтесь с | + | Создание нового оружия |
+ | В этой статье мы научимся создавать новые образцы вооружения. Для начала, мы будем использовать модели из оригинальной игры. Если вы хотите создать оружие, имеющее уникальный внешний вид, ознакомьтесь с уроком по созданию моделей. | ||
+ | Добавим в игру АК101. | ||
+ | Внешний вид | ||
+ | Позаботимся о том, чтобы наше оружие отличалось внешне от того же АК74. | ||
+ | Текстуры | ||
+ | Нарисуем для оружия новую текстуру. | ||
+ | Файлы текстур мы назвали: | ||
+ | wpn_ak10.dds | ||
+ | wpn_ak10_bump#.dds | ||
+ | wpn_ak10_bump.dds | ||
+ | Модели | ||
+ | Новых моделей мы пока делать не станем, просто воспользуемся дублированными моделями от АК74. Скопируем папку: | ||
+ | gamedata\meshes\weapons\ak47\ | ||
+ | И назовем её ak-101. Содержимое, соответственно, переименуем в: | ||
+ | wpn_ak101.ogf | ||
+ | wpn_ak101_hud.ogf. | ||
+ | Теперь пропишем в эти модели созданные нами текстуры. | ||
+ | Иконки | ||
+ | Добавим в игру иконки, которыми оружие будет отображаться в инвентаре. | ||
− | + | Конфиги | |
+ | Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Создадим АК101 на базе конфигов АК74. | ||
+ | Свойства оружия | ||
+ | Скопируем файл из папки: | ||
+ | gamedata\config\ak74.ltx | ||
+ | Назовем его ak101.ltx. | ||
− | + | Отредактируем свойства по своему усмотрению (но лучше - в соответствии с достоверной информацией о характеристиках оружия, т.к. АК101 - всё-таки оружие реально существующее). Редактирование конфигов оружия подробно описано в отдельном уроке. В данном случае конфиг был составлен таким образом: | |
+ | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
+ | [wpn_ak101]:identity_immunities | ||
+ | GroupControlSection = spawn_group | ||
+ | discovery_dependency = | ||
+ | $spawn = "weapons\ak-101" ; name and section in level editor | ||
+ | $npc = on | ||
+ | $prefetch = 8 | ||
+ | scheduled = off ;[] option for ALife Simulator | ||
+ | cform = skeleton | ||
+ | class = WP_AK74 ; class of the weapon that corresponding to CPP class | ||
+ | min_radius = 30 ; [] for AI | ||
+ | max_radius = 100 ; [] for AI | ||
+ | description = enc_weapons1_wpn-ak101 | ||
− | + | ef_main_weapon_type = 2 | |
+ | ef_weapon_type = 6 | ||
− | + | ;----------------------------------------------------------------------------------- | |
+ | holder_range_modifier = 1.0 ; во сколько раз увеличивается eye_range | ||
+ | holder_fov_modifier = 0.7 ; во сколько раз увеличивается eye_fov | ||
+ | ;----------------------------------------------------------------------------------- | ||
− | + | cost = 2;4000 | |
+ | weapon_class = assault_rifle | ||
+ | |||
+ | ammo_limit = 210 | ||
+ | ammo_elapsed = 30 | ||
+ | |||
+ | ammo_mag_size = 30 | ||
+ | fire_modes = 1, -1 | ||
+ | |||
+ | ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap | ||
+ | grenade_class = ammo_vog-25, ammo_vog-25p | ||
+ | launch_speed = 0 | ||
+ | |||
+ | hand_dependence = 1 | ||
+ | single_handed = 0 | ||
+ | |||
+ | slot = 2 | ||
+ | animation_slot = 2 | ||
+ | inv_name = wpn-ak101 | ||
+ | inv_name_short = wpn-ak101 | ||
+ | inv_weight = 3.3 | ||
+ | |||
+ | inv_grid_width = 5 | ||
+ | inv_grid_height = 2 | ||
+ | inv_grid_x = 11 | ||
+ | inv_grid_y = 29 | ||
+ | |||
+ | kill_msg_x = 0 | ||
+ | kill_msg_y = 28 | ||
+ | kill_msg_width = 84 | ||
+ | kill_msg_height = 28 | ||
+ | |||
+ | ;----------------------------------------------------------------------------------- | ||
+ | ;params of weapon recoil | ||
+ | |||
+ | fire_dispersion_base = 0.15;0.2 | ||
+ | control_inertion_factor = 1.1f;1.25f | ||
+ | |||
+ | ;отдача | ||
+ | cam_relax_speed =6;5;3.5; 0.15 | ||
+ | cam_dispersion = 0.1;0.15 | ||
+ | cam_dispersion_inc = 0.2;0.3 | ||
+ | cam_dispertion_frac = 0.8;0.9 | ||
+ | cam_max_angle = 10.0 | ||
+ | cam_max_angle_horz = 20.0 | ||
+ | cam_step_angle_horz = 1.1;1 | ||
+ | |||
+ | fire_dispersion_condition_factor = 5.7;5 | ||
+ | misfire_probability = 0.0055;0.003 | ||
+ | misfire_condition_k = 0.06;0.05 | ||
+ | condition_shot_dec = 0.00035;0.0001 | ||
+ | ;----------------------------------------------------------------------------------- | ||
+ | |||
+ | fire_point = 0,0.216,0.638 | ||
+ | fire_point2 = 0,0.216,0.730 | ||
+ | |||
+ | flame_particles = weapons\generic_weapon05 | ||
+ | smoke_particles = weapons\generic_shoot_00 | ||
+ | grenade_flame_particles = weapons\generic_weapon01 | ||
+ | |||
+ | shell_point = 0,0.216,0.174 | ||
+ | shell_particles = weapons\generic_shells | ||
+ | |||
+ | 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.36, 0.4, 0.43, 0.46 | ||
+ | hit_impulse = 140 | ||
+ | hit_type = fire_wound | ||
+ | fire_distance = 1700 | ||
+ | bullet_speed = 1000 | ||
+ | rpm = 750 | ||
+ | |||
+ | use_aim_bullet = true | ||
+ | time_to_aim = 1.0 | ||
+ | |||
+ | ;params when silencer is attached | ||
+ | ;similar to corresponding params without prefix silencer_ | ||
+ | |||
+ | silencer_hit_power = 0.38 | ||
+ | silencer_hit_impulse = 120 | ||
+ | silencer_fire_distance = 250 | ||
+ | silencer_bullet_speed = 600 | ||
+ | |||
+ | hud = wpn_ak101_hud | ||
+ | |||
+ | position = -0.026,-0.172,0 | ||
+ | orientation = 0,0,0 | ||
+ | |||
+ | ;--STRAP PARAMETERS----------------------------------------------------------------- | ||
+ | strap_position = -0.16,-0.40,0.15 | ||
+ | strap_orientation = -10,-5,10 | ||
+ | strap_bone0 = bip01_spine2 | ||
+ | strap_bone1 = bip01_spine1 | ||
+ | |||
+ | visual = weapons\ak-101\wpn_ak101 | ||
+ | |||
+ | light_color = 0.6,0.5,0.3 | ||
+ | light_range = 5 | ||
+ | light_var_color = 0.05 | ||
+ | light_var_range = 0.5 | ||
+ | light_time = 0.2 | ||
+ | |||
+ | ph_mass = 5 | ||
+ | |||
+ | ;addons | ||
+ | scope_status = 2 | ||
+ | silencer_status = 2 | ||
+ | grenade_launcher_status = 0;2 | ||
+ | |||
+ | zoom_enabled = true | ||
+ | scope_zoom_factor = 50 | ||
+ | |||
+ | scope_name = wpn_addon_scope | ||
+ | scope_x = 42 | ||
+ | scope_y = 3 | ||
+ | silencer_name = wpn_addon_silencer | ||
+ | silencer_x = 218 | ||
+ | silencer_y = 13 | ||
+ | grenade_launcher_name = wpn_addon_grenade_launcher | ||
+ | grenade_launcher_x = 116 | ||
+ | grenade_launcher_y = 23 | ||
+ | |||
+ | ;sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) | ||
+ | snd_draw = weapons\ak74_draw | ||
+ | snd_holster = weapons\generic_holster | ||
+ | snd_shoot = weapons\ak74_shot_0 | ||
+ | snd_shoot1 = weapons\ak74_shot_1 | ||
+ | snd_shoot2 = weapons\ak74_shot_2 | ||
+ | snd_shoot3 = weapons\ak74_shot_3 | ||
+ | snd_empty = weapons\gen_empty, 0.5 | ||
+ | snd_reload = weapons\ak74_reload, 0.7, 0.35 | ||
+ | snd_shoot_grenade = weapons\gen_grenshoot | ||
+ | snd_reload_grenade = weapons\gen_grenload, 1.0, 0.8 | ||
+ | snd_switch = weapons\groza_switch, 1.0, 0.5 | ||
+ | |||
+ | ;params when silencer is attached | ||
+ | ;similar to corresponding params without prefix silencer_ | ||
+ | |||
+ | ;silencer_flame_particles = weapons\generic_weapon01 | ||
+ | silencer_smoke_particles = weapons\generic_shoot_00 | ||
+ | |||
+ | snd_silncer_shot = weapons\w_ak74_shot1 | ||
+ | |||
+ | silencer_light_color = 0.6,0.5,0.3 | ||
+ | silencer_light_range = 0.01 | ||
+ | silencer_light_var_color = 0.05 | ||
+ | silencer_light_var_range = 0.5 | ||
+ | silencer_light_time = 0.2 | ||
+ | |||
+ | ;----------------------------------------------------------------------------- | ||
+ | ;-- HUD DESCRIPTION | ||
+ | ;----------------------------------------------------------------------------- | ||
+ | |||
+ | [wpn_ak101_hud] | ||
+ | allow_inertion = true | ||
+ | |||
+ | ;similar to corresponding params in weapon section but for 1st person view | ||
+ | |||
+ | shell_point = -0.065000,0.000000,-0.045000 | ||
+ | shell_dir = 0.0, 1.0, 0.0 | ||
+ | |||
+ | fire_point = 0.09,0.020,-0.06 | ||
+ | fire_point2 = 0.30, 0.00, 0.05 | ||
+ | fire_bone = wpn_body | ||
+ | |||
+ | orientation = 0, 0, 0 | ||
+ | position = 0, 0, 0.05 | ||
+ | visual = weapons\ak-101\wpn_ak101_hud | ||
+ | |||
+ | grenade_bone = wpn_grenade | ||
+ | |||
+ | ; animation names | ||
+ | |||
+ | anim_idle = idle | ||
+ | anim_idle_aim = idle_aim | ||
+ | anim_reload = reload | ||
+ | anim_draw = draw_wo_gl | ||
+ | anim_holster = holster_wo_gl | ||
+ | anim_shoot = shoot | ||
+ | |||
+ | ; animation names | ||
+ | ; attached grenade launcher [GRENADE fire mode] | ||
+ | anim_idle_g = idle_grenade | ||
+ | anim_idle_g_aim = idle_g_aim | ||
+ | anim_reload_g = reload_grenade | ||
+ | anim_shoot_g = shoot_grenade | ||
+ | anim_switch_grenade_on = switch_grenade | ||
+ | anim_switch_grenade_off = switch_grenade_off | ||
+ | anim_draw_g = draw_grenade_mode | ||
+ | anim_holster_g = holster_grenade_mode | ||
+ | |||
+ | ; attached grenade launcher [NORMAL fire mode] | ||
+ | anim_idle_gl = idle_w_gl | ||
+ | anim_idle_gl_aim = idle_w_gl_aim | ||
+ | anim_reload_gl = reload_w_gl | ||
+ | anim_draw_gl = draw_w_gl | ||
+ | anim_holster_gl = holster_w_gl | ||
+ | anim_shoot_gl = shoot_w_gl | ||
+ | anim_idle_sprint = idle_sprint | ||
+ | |||
+ | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
+ | ;HUD offset in zoom mode (to all) | ||
+ | ;(use CONSOLE: hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in console) | ||
+ | |||
+ | zoom_offset = -0.112400,0.016800,-0.115000 | ||
+ | zoom_rotate_x = 0.000200 | ||
+ | zoom_rotate_y = 0.017500 | ||
+ | |||
+ | zoom_hide_crosshair = true | ||
+ | |||
+ | ; same as above, but for attached grenade launcher for | ||
+ | ; in NORMAL shoot mode | ||
+ | |||
+ | grenade_normal_zoom_offset = -0.112500,0.014000,0.000000 | ||
+ | grenade_normal_zoom_rotate_x = -0.000900 | ||
+ | grenade_normal_zoom_rotate_y = 0.017200 | ||
+ | |||
+ | ; same as above, but for attached grenade launcher for | ||
+ | ; in GRENADE mode | ||
+ | |||
+ | grenade_zoom_offset = -0.039600,-0.433100,0.000000 | ||
+ | grenade_zoom_rotate_x = -0.538700 | ||
+ | grenade_zoom_rotate_y = -0.033800 | ||
+ | Регистрация | ||
+ | Итак, с характеристиками разобрались. Теперь зарегистрируем оружие в файле weapons.ltx. Для этого пропишем в него строку следующего вида: | ||
+ | #include "w_ak101.ltx" | ||
+ | Также, необходимо прописать модели, используемые для отображения оружия, в prefetch.ltx: | ||
+ | [...] | ||
+ | weapons\abakan\wpn_abakan | ||
+ | weapons\abakan\wpn_abakan_hud | ||
+ | weapons\ak-101\wpn_ak101 | ||
+ | weapons\ak-101\wpn_ak101_hud | ||
+ | weapons\ak74\wpn_ak74 | ||
+ | w eapons\ak74\wpn_ak74_hud | ||
+ | [...] | ||
+ | Так же не забудте в файле mp_ranks.ltx прописать после available_items (которое внизу) прописать название своего оружия. Это предотвратит вылет при убийстве ГГ. | ||
+ | Добавление в игру | ||
+ | Осталось добавить оружие в игру. | ||
+ | Выдайте его некоторым NPC, расширьте ассортимент торговцев | ||
+ | Скопировал: Palladium | ||
+ | PS Гады всякие достали портить статьи | ||
==Авторы== | ==Авторы== | ||
Версия 22:47, 20 мая 2011
Создание нового оружия В этой статье мы научимся создавать новые образцы вооружения. Для начала, мы будем использовать модели из оригинальной игры. Если вы хотите создать оружие, имеющее уникальный внешний вид, ознакомьтесь с уроком по созданию моделей. Добавим в игру АК101. Внешний вид Позаботимся о том, чтобы наше оружие отличалось внешне от того же АК74. Текстуры Нарисуем для оружия новую текстуру. Файлы текстур мы назвали: wpn_ak10.dds wpn_ak10_bump#.dds wpn_ak10_bump.dds Модели Новых моделей мы пока делать не станем, просто воспользуемся дублированными моделями от АК74. Скопируем папку: gamedata\meshes\weapons\ak47\ И назовем её ak-101. Содержимое, соответственно, переименуем в: wpn_ak101.ogf wpn_ak101_hud.ogf. Теперь пропишем в эти модели созданные нами текстуры. Иконки Добавим в игру иконки, которыми оружие будет отображаться в инвентаре.
Конфиги Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Создадим АК101 на базе конфигов АК74. Свойства оружия Скопируем файл из папки: gamedata\config\ak74.ltx Назовем его ak101.ltx.
Отредактируем свойства по своему усмотрению (но лучше - в соответствии с достоверной информацией о характеристиках оружия, т.к. АК101 - всё-таки оружие реально существующее). Редактирование конфигов оружия подробно описано в отдельном уроке. В данном случае конфиг был составлен таким образом:
[wpn_ak101]:identity_immunities GroupControlSection = spawn_group discovery_dependency = $spawn = "weapons\ak-101" ; name and section in level editor $npc = on $prefetch = 8 scheduled = off ;[] option for ALife Simulator cform = skeleton class = WP_AK74 ; class of the weapon that corresponding to CPP class min_radius = 30 ; [] for AI max_radius = 100 ; [] for AI description = enc_weapons1_wpn-ak101
ef_main_weapon_type = 2 ef_weapon_type = 6
- -----------------------------------------------------------------------------------
holder_range_modifier = 1.0 ; во сколько раз увеличивается eye_range holder_fov_modifier = 0.7 ; во сколько раз увеличивается eye_fov
- -----------------------------------------------------------------------------------
cost = 2;4000 weapon_class = assault_rifle
ammo_limit = 210 ammo_elapsed = 30
ammo_mag_size = 30 fire_modes = 1, -1
ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap grenade_class = ammo_vog-25, ammo_vog-25p launch_speed = 0
hand_dependence = 1 single_handed = 0
slot = 2 animation_slot = 2 inv_name = wpn-ak101 inv_name_short = wpn-ak101 inv_weight = 3.3
inv_grid_width = 5 inv_grid_height = 2 inv_grid_x = 11 inv_grid_y = 29
kill_msg_x = 0 kill_msg_y = 28 kill_msg_width = 84 kill_msg_height = 28
- -----------------------------------------------------------------------------------
- params of weapon recoil
fire_dispersion_base = 0.15;0.2 control_inertion_factor = 1.1f;1.25f
- отдача
cam_relax_speed =6;5;3.5; 0.15 cam_dispersion = 0.1;0.15 cam_dispersion_inc = 0.2;0.3 cam_dispertion_frac = 0.8;0.9 cam_max_angle = 10.0 cam_max_angle_horz = 20.0 cam_step_angle_horz = 1.1;1
fire_dispersion_condition_factor = 5.7;5 misfire_probability = 0.0055;0.003 misfire_condition_k = 0.06;0.05 condition_shot_dec = 0.00035;0.0001
- -----------------------------------------------------------------------------------
fire_point = 0,0.216,0.638 fire_point2 = 0,0.216,0.730
flame_particles = weapons\generic_weapon05 smoke_particles = weapons\generic_shoot_00 grenade_flame_particles = weapons\generic_weapon01
shell_point = 0,0.216,0.174 shell_particles = weapons\generic_shells
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.36, 0.4, 0.43, 0.46 hit_impulse = 140 hit_type = fire_wound fire_distance = 1700 bullet_speed = 1000 rpm = 750
use_aim_bullet = true time_to_aim = 1.0
- params when silencer is attached
- similar to corresponding params without prefix silencer_
silencer_hit_power = 0.38 silencer_hit_impulse = 120 silencer_fire_distance = 250 silencer_bullet_speed = 600
hud = wpn_ak101_hud
position = -0.026,-0.172,0 orientation = 0,0,0
- --STRAP PARAMETERS-----------------------------------------------------------------
strap_position = -0.16,-0.40,0.15 strap_orientation = -10,-5,10 strap_bone0 = bip01_spine2 strap_bone1 = bip01_spine1
visual = weapons\ak-101\wpn_ak101
light_color = 0.6,0.5,0.3 light_range = 5 light_var_color = 0.05 light_var_range = 0.5 light_time = 0.2
ph_mass = 5
- addons
scope_status = 2 silencer_status = 2 grenade_launcher_status = 0;2
zoom_enabled = true scope_zoom_factor = 50
scope_name = wpn_addon_scope scope_x = 42 scope_y = 3 silencer_name = wpn_addon_silencer silencer_x = 218 silencer_y = 13 grenade_launcher_name = wpn_addon_grenade_launcher grenade_launcher_x = 116 grenade_launcher_y = 23
- sounds (name of the sound, volume (0.0 - 1.0), delay (sec))
snd_draw = weapons\ak74_draw snd_holster = weapons\generic_holster snd_shoot = weapons\ak74_shot_0 snd_shoot1 = weapons\ak74_shot_1 snd_shoot2 = weapons\ak74_shot_2 snd_shoot3 = weapons\ak74_shot_3 snd_empty = weapons\gen_empty, 0.5 snd_reload = weapons\ak74_reload, 0.7, 0.35 snd_shoot_grenade = weapons\gen_grenshoot snd_reload_grenade = weapons\gen_grenload, 1.0, 0.8 snd_switch = weapons\groza_switch, 1.0, 0.5
- params when silencer is attached
- similar to corresponding params without prefix silencer_
- silencer_flame_particles = weapons\generic_weapon01
silencer_smoke_particles = weapons\generic_shoot_00
snd_silncer_shot = weapons\w_ak74_shot1
silencer_light_color = 0.6,0.5,0.3 silencer_light_range = 0.01 silencer_light_var_color = 0.05 silencer_light_var_range = 0.5 silencer_light_time = 0.2
- -----------------------------------------------------------------------------
- -- HUD DESCRIPTION
- -----------------------------------------------------------------------------
[wpn_ak101_hud] allow_inertion = true
- similar to corresponding params in weapon section but for 1st person view
shell_point = -0.065000,0.000000,-0.045000 shell_dir = 0.0, 1.0, 0.0
fire_point = 0.09,0.020,-0.06 fire_point2 = 0.30, 0.00, 0.05 fire_bone = wpn_body
orientation = 0, 0, 0 position = 0, 0, 0.05 visual = weapons\ak-101\wpn_ak101_hud
grenade_bone = wpn_grenade
- animation names
anim_idle = idle anim_idle_aim = idle_aim anim_reload = reload anim_draw = draw_wo_gl anim_holster = holster_wo_gl anim_shoot = shoot
- animation names
- attached grenade launcher [GRENADE fire mode]
anim_idle_g = idle_grenade anim_idle_g_aim = idle_g_aim anim_reload_g = reload_grenade anim_shoot_g = shoot_grenade anim_switch_grenade_on = switch_grenade anim_switch_grenade_off = switch_grenade_off anim_draw_g = draw_grenade_mode anim_holster_g = holster_grenade_mode
- attached grenade launcher [NORMAL fire mode]
anim_idle_gl = idle_w_gl anim_idle_gl_aim = idle_w_gl_aim anim_reload_gl = reload_w_gl anim_draw_gl = draw_w_gl anim_holster_gl = holster_w_gl anim_shoot_gl = shoot_w_gl anim_idle_sprint = idle_sprint
- HUD offset in zoom mode (to all)
- (use CONSOLE
- hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in console)
zoom_offset = -0.112400,0.016800,-0.115000 zoom_rotate_x = 0.000200 zoom_rotate_y = 0.017500
zoom_hide_crosshair = true
- same as above, but for attached grenade launcher for
- in NORMAL shoot mode
grenade_normal_zoom_offset = -0.112500,0.014000,0.000000 grenade_normal_zoom_rotate_x = -0.000900 grenade_normal_zoom_rotate_y = 0.017200
- same as above, but for attached grenade launcher for
- in GRENADE mode
grenade_zoom_offset = -0.039600,-0.433100,0.000000 grenade_zoom_rotate_x = -0.538700 grenade_zoom_rotate_y = -0.033800 Регистрация Итак, с характеристиками разобрались. Теперь зарегистрируем оружие в файле weapons.ltx. Для этого пропишем в него строку следующего вида:
- include "w_ak101.ltx"
Также, необходимо прописать модели, используемые для отображения оружия, в prefetch.ltx: [...] weapons\abakan\wpn_abakan weapons\abakan\wpn_abakan_hud weapons\ak-101\wpn_ak101 weapons\ak-101\wpn_ak101_hud weapons\ak74\wpn_ak74 w eapons\ak74\wpn_ak74_hud [...] Так же не забудте в файле mp_ranks.ltx прописать после available_items (которое внизу) прописать название своего оружия. Это предотвратит вылет при убийстве ГГ. Добавление в игру Осталось добавить оружие в игру. Выдайте его некоторым NPC, расширьте ассортимент торговцев Скопировал: Palladium PS Гады всякие достали портить статьи
Авторы
Статья создана:
Статья подправлена:
По материалам мода Russian Guns за авторством:
Когда будете прописыватьв конфиге значения "inv_grid_y" и "inv_grid_x" имейте в виду, что отсчет по сетке идет с верхнего левого угла и указывать нужно верхний левый угол картинки, которая должна отображатся в инвентаре. То есть координаты самого первого угла будут 0;0. Самая первая винтовка в файле ...\S.T.A.L.K.E.R\gamedata\textures\ui\ui_icon_equipment.dds это - СВД. И если вы посмотрите ее конфигурационный файл то увидете, что там указаны значения inv_grid_x = 0 inv_grid_y = 0. Отсчет по оси X идет по горизонтали с лева на право, а по оси Y - сверху вниз по возрастающей. Но считать с начала сетки - очень не удобно, поэтому вычисляйте координаты вашего обьекта по известным координатам уже существующего и реально правильно отображаемого файла в игре. Например мы имеем inv_grid_x= 5 inv_grid_y= 9 для fn2000(координаты верхнего левого угла) и мы хотим узнать координаты гранатф ф1, которая находится рядом. Для этого удобно использовать фотошоп с сеткой 50 на 50 пикселей. (как ее сделать описано по ссылке в статье к которой написана эта поправка.) И так мы видим что граната находится сразу справа порсле винтовки. То есть на 4-й клетке после квадрата угла винтовки без его учета. Она находится спраа, а значит нужно по оси X к 5 прибавить 4, и получится 9. По оси Y координтаы не изменились так как они находятся на одной линии с винтовкой. Таким образом получает коордитаны гранаты 9 по Х и 9 по Y. Если мы посмотрим конфиг гранаты то увидим там "inv_grid_x= 9" "inv_grid_y= 9". То что и соответствует тому, что мы высчитали. :) Удачи. До правки статья получше выглядела...