Логин: * Пароль: * Регистрация Забыли пароль?
+854 
 -1066
Группировка: Долг
Ранг: Мастер
Должность: Начальник МТЧ
Зарегистрирован: 06/25/2012
Оффлайн

Создание нового оружия
В этой статье мы научимся создавать новые образцы вооружения. Для начала, мы будем использовать модели из оригинальной игры. Если вы хотите создать оружие, имеющее уникальный внешний вид, ознакомьтесь с уроком по созданию моделей.
Добавим в игру АК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
weapons\ak74\wpn_ak74_hud
[...]
Так же не забудте в файле mp_ranks.ltx прописать после available_items (которое внизу) прописать название своего оружия. Это предотвратит вылет при убийстве ГГ.
Добавление в игру
Осталось добавить оружие в игру.
Выдайте его некоторым NPC, расширьте ассортимент торговцев.

usr
⇓⇓ Поделитесь событием с друзьями! ⇓⇓

Спасибо сказали:
banner_donat.png
Stalker.Uz
Зарегин: 06/03/2009
На сайте


Наш канал в телеграмме - Подписывайся!!! - t.me/stalkeruz_com

Наш чат в телеграмме - Велкам!!! - t.me/joinchat/AhAXYUa0wa1dXbp760kauA
EXMO affiliate program
Винторез  \|/
Гость
Гость
+5984 
 -2347

А какие проги для этого нужны?

Страж  \|/
Гость
Гость
+5984 
 -2347

Винторез, Для открытия текстур нужен Paint.NET или Photoshop CS3 и более новой версии, а скрипты и блокнотом открывать можно.

DimanLoL  \|/
Гость
Гость
+5984 
 -2347

MeChEnYu007, у кого статью спер, у АМК?! Где-то я эту статью видел, не помню только где...

+854 
 -1066
Группировка: Долг
Ранг: Мастер
Должность: Начальник МТЧ
Зарегистрирован: 06/25/2012
Оффлайн

DimanLoL, незнаю, мне друг выдал, и сказал размножить. Больше я ничего не знаю.

usr

Минус поставили: Информатор,

+1333 
 -343
Группировка: Наёмник
Ранг: Легенда
Зарегистрирован: 06/20/2013
Оффлайн

DimanLoL, даже если и спёр.. не важно..главное что это полезно и на сайте не было.

1. Запускаешь КС, 2. Приглашаешь друга поиграть. 3. Доигрываете. 4. ГДЕ БЕРКУТ???!!! 5. PROFIT!

Сом  \|/
Гость
Гость
+5984 
 -2347

Cost-это цена.Так можно отредачить артефакт медуза,к примеру.
И стать миллионером прямо в начале игры. Crazy

Актуальные темы на сегодня
Дружба дружбой, а хабар, как известно – врозь. © "Линия огня"
Наверх Вниз