Одного не могу понять, почему ты не сделал подхват звуков из файлов scripts\weapons\ak47new.txt (как пример)
Ведь все звуки анимации прописаны там, ты представляешь 25 моделй оружия прописать, да еще и звуки к ним+в каждый звук указать время его использования и в какой анимации он. Ниже пример файла
У меня в модели бывает и по 10 звуков на все анимации, а бывает 5 на одну.
Так же можно было бы подхватывать остальные параметры из файла scripts\ .Например weapon_ak47new.txt Ниже будут его параметры
А в game_sounds_manifest.txt мы просто бы дабавили строку
"preload_file" "scripts/weapons/ak47new.txt"
Просто, быстро удобно, по сути в этих трех файлах содержится вся инфа о модели и звуках, сами звуки релода и прочие прописываются в в самих анимациях в моделях.
Пример скрипта разобраной модели
Так же в каждой анимации приписан их тайминг использования.
Ведь все звуки анимации прописаны там, ты представляешь 25 моделй оружия прописать, да еще и звуки к ним+в каждый звук указать время его использования и в какой анимации он. Ниже пример файла
"Weapon_AK47.Single"
{
"channel" "CHAN_WEAPON"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47-1.wav"
}
"Weapon_AK47.BoltPull"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47_boltpull.wav"
}
"Weapon_AK47.BoltPull"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47_boltpull.wav"
}
"Weapon_AK47.Clipout"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47_clipout.wav"
}
"Weapon_AK47.Clipin"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47_clipin.wav"
}
{
"channel" "CHAN_WEAPON"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47-1.wav"
}
"Weapon_AK47.BoltPull"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47_boltpull.wav"
}
"Weapon_AK47.BoltPull"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47_boltpull.wav"
}
"Weapon_AK47.Clipout"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47_clipout.wav"
}
"Weapon_AK47.Clipin"
{
"channel" "CHAN_ITEM"
"volume" "1.0"
"CompatibilityAttenuation" "1.0"
"pitch" "PITCH_NORM"
"wave" "weapons/csgo/ak47/ak47_clipin.wav"
}
Так же можно было бы подхватывать остальные параметры из файла scripts\ .Например weapon_ak47new.txt Ниже будут его параметры
WeaponData
{
"MaxPlayerSpeed" "221"
"WeaponType" "Rifle"
"FullAuto" 1
"WeaponPrice" "2500"
"WeaponArmorRatio" "1.55"
"CrosshairMinDistance" "4"
"CrosshairDeltaDistance" "4"
"Team" "TERRORIST"
"BuiltRightHanded" "1"
"PlayerAnimationExtension" "ak"
"MuzzleFlashScale" "1.2"
// "MuzzleFlashStyle" "CS_MUZZLEFLASH_X"
"CanEquipWithShield" "0"
// Weapon characteristics:
"Penetration" "2"
"Damage" "36"
"Range" "8192"
"RangeModifier" "0.98"
"Bullets" "1"
"CycleTime" "0.1"
"AccuracyDivisor" "200"
"AccuracyOffset" "0.35"
"MaxInaccuracy" "1.25"
"TimeToIdle" "1.9"
"IdleInterval" "20"
// New accuracy model parameters
"Spread" 0.00060
"InaccuracyCrouch" 0.00687
"InaccuracyStand" 0.00916
"InaccuracyJump" 0.43044
"InaccuracyLand" 0.08609
"InaccuracyLadder" 0.10761
"InaccuracyFire" 0.01158
"InaccuracyMove" 0.09222
"RecoveryTimeCrouch" 0.34868
"RecoveryTimeStand" 0.48815
// Weapon data is loaded by both the Game and Client DLLs.
"printname" "#Cstrike_WPNHUD_AK47"
"viewmodel" "models/weapons/csgo/v_rif_ak47.mdl"
"playermodel" "models/weapons/csgo/w_rif_ak47.mdl"
"anim_prefix" "anim"
"bucket" "0"
"bucket_position" "0"
"clip_size" "30"
"primary_ammo" "BULLET_PLAYER_762MM"
"secondary_ammo" "None"
"weight" "25"
"item_flags" "0"
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
SoundData
{
"single_shot" "Weapon_AK47.Single"
}
// Weapon Sprite data is loaded by the Client DLL.
TextureData
{
//Weapon Select Images
"weapon"
{
"font" "CSweaponsSmall"
"character" "B"
}
"weapon_s"
{
"font" "CSweapons"
"character" "B"
}
"ammo"
{
"font" "CSTypeDeath"
"character" "V"
}
"crosshair"
{
"file" "sprites/crosshairs"
"x" "0"
"y" "48"
"width" "24"
"height" "24"
}
"autoaim"
{
"file" "sprites/crosshairs"
"x" "0"
"y" "48"
"width" "24"
"height" "24"
}
}
ModelBounds
{
Viewmodel
{
Mins "-9 -3 -13"
Maxs "30 11 0"
}
World
{
Mins "-100 -100 -100"
Maxs "100 100 100"
}
}
}
{
"MaxPlayerSpeed" "221"
"WeaponType" "Rifle"
"FullAuto" 1
"WeaponPrice" "2500"
"WeaponArmorRatio" "1.55"
"CrosshairMinDistance" "4"
"CrosshairDeltaDistance" "4"
"Team" "TERRORIST"
"BuiltRightHanded" "1"
"PlayerAnimationExtension" "ak"
"MuzzleFlashScale" "1.2"
// "MuzzleFlashStyle" "CS_MUZZLEFLASH_X"
"CanEquipWithShield" "0"
// Weapon characteristics:
"Penetration" "2"
"Damage" "36"
"Range" "8192"
"RangeModifier" "0.98"
"Bullets" "1"
"CycleTime" "0.1"
"AccuracyDivisor" "200"
"AccuracyOffset" "0.35"
"MaxInaccuracy" "1.25"
"TimeToIdle" "1.9"
"IdleInterval" "20"
// New accuracy model parameters
"Spread" 0.00060
"InaccuracyCrouch" 0.00687
"InaccuracyStand" 0.00916
"InaccuracyJump" 0.43044
"InaccuracyLand" 0.08609
"InaccuracyLadder" 0.10761
"InaccuracyFire" 0.01158
"InaccuracyMove" 0.09222
"RecoveryTimeCrouch" 0.34868
"RecoveryTimeStand" 0.48815
// Weapon data is loaded by both the Game and Client DLLs.
"printname" "#Cstrike_WPNHUD_AK47"
"viewmodel" "models/weapons/csgo/v_rif_ak47.mdl"
"playermodel" "models/weapons/csgo/w_rif_ak47.mdl"
"anim_prefix" "anim"
"bucket" "0"
"bucket_position" "0"
"clip_size" "30"
"primary_ammo" "BULLET_PLAYER_762MM"
"secondary_ammo" "None"
"weight" "25"
"item_flags" "0"
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
SoundData
{
"single_shot" "Weapon_AK47.Single"
}
// Weapon Sprite data is loaded by the Client DLL.
TextureData
{
//Weapon Select Images
"weapon"
{
"font" "CSweaponsSmall"
"character" "B"
}
"weapon_s"
{
"font" "CSweapons"
"character" "B"
}
"ammo"
{
"font" "CSTypeDeath"
"character" "V"
}
"crosshair"
{
"file" "sprites/crosshairs"
"x" "0"
"y" "48"
"width" "24"
"height" "24"
}
"autoaim"
{
"file" "sprites/crosshairs"
"x" "0"
"y" "48"
"width" "24"
"height" "24"
}
}
ModelBounds
{
Viewmodel
{
Mins "-9 -3 -13"
Maxs "30 11 0"
}
World
{
Mins "-100 -100 -100"
Maxs "100 100 100"
}
}
}
А в game_sounds_manifest.txt мы просто бы дабавили строку
"preload_file" "scripts/weapons/ak47new.txt"
Просто, быстро удобно, по сути в этих трех файлах содержится вся инфа о модели и звуках, сами звуки релода и прочие прописываются в в самих анимациях в моделях.
Пример скрипта разобраной модели
$ModelName "weapons\csgo\v_rif_ak47.mdl"
$BodyGroup "studio"
{
studio "v_rif_ak47_reference.smd"
}
$BodyGroup "hands"
{
studio "v_rif_ak47_ct_arms_reference.smd"
}
$SurfaceProp "default"
$Contents "solid"
$MaxEyeDeflection 90
$CDMaterials "models\weapons\V_models\csgo_ak47\"
$CDMaterials "models\weapons\v_models\csgohands\"
$Attachment "1" "v_weapon.AK47_flash" 0 0 0 rotate 0 0 0
$Attachment "2" "v_weapon.AK47_shelleject" 0 0 0 rotate 0 0 0
$CBox 0 0 0 0 0 0
$BBox -11.929 -17.114 -20.877 34.906 7.049 2.434
$Sequence "ak47_idle" {
"v_rif_ak47_anims\ak47_idle.smd"
activity "ACT_VM_IDLE" 1
fadein 0.2
fadeout 0.2
fps 30
loop
}
$Sequence "ak47_fire1" {
"v_rif_ak47_anims\ak47_fire1.smd"
activity "ACT_VM_PRIMARYATTACK" 1
{ event 5001 0 "1" }
{ event AE_CLIENT_EFFECT_ATTACH 0 "EjectBrass_762Nato 2 150" }
fadein 0.2
fadeout 0.2
snap
fps 30
}
$Sequence "ak47_fire2" {
"v_rif_ak47_anims\ak47_fire2.smd"
activity "ACT_VM_PRIMARYATTACK" 1
{ event 5001 0 "1" }
{ event AE_CLIENT_EFFECT_ATTACH 0 "EjectBrass_762Nato 2 150" }
fadein 0.2
fadeout 0.2
snap
fps 30
}
$Sequence "ak47_fire3" {
"v_rif_ak47_anims\ak47_fire3.smd"
activity "ACT_VM_PRIMARYATTACK" 1
{ event 5001 0 "1" }
{ event AE_CLIENT_EFFECT_ATTACH 0 "EjectBrass_762Nato 2 150" }
fadein 0.2
fadeout 0.2
snap
fps 30
}
$Sequence "ak47_draw" {
"v_rif_ak47_anims\ak47_draw.smd"
activity "ACT_VM_DRAW" 1
{ event 5004 0 "Weapon_AK47.Draw" }
{ event 5004 9 "Weapon_AK47.BoltPull" }
fadein 0.2
fadeout 0.2
fps 23
}
$Sequence "ak47_reload" {
"v_rif_ak47_anims\ak47_reload.smd"
activity "ACT_VM_RELOAD" 1
{ event 5004 9 "Weapon_AK47.Clipout" }
{ event 5004 27 "Weapon_AK47.Clipin" }
{ event 5004 41 "Weapon_AK47.BoltPull" }
fadein 0.2
fadeout 0.2
fps 24.22
}
$BodyGroup "studio"
{
studio "v_rif_ak47_reference.smd"
}
$BodyGroup "hands"
{
studio "v_rif_ak47_ct_arms_reference.smd"
}
$SurfaceProp "default"
$Contents "solid"
$MaxEyeDeflection 90
$CDMaterials "models\weapons\V_models\csgo_ak47\"
$CDMaterials "models\weapons\v_models\csgohands\"
$Attachment "1" "v_weapon.AK47_flash" 0 0 0 rotate 0 0 0
$Attachment "2" "v_weapon.AK47_shelleject" 0 0 0 rotate 0 0 0
$CBox 0 0 0 0 0 0
$BBox -11.929 -17.114 -20.877 34.906 7.049 2.434
$Sequence "ak47_idle" {
"v_rif_ak47_anims\ak47_idle.smd"
activity "ACT_VM_IDLE" 1
fadein 0.2
fadeout 0.2
fps 30
loop
}
$Sequence "ak47_fire1" {
"v_rif_ak47_anims\ak47_fire1.smd"
activity "ACT_VM_PRIMARYATTACK" 1
{ event 5001 0 "1" }
{ event AE_CLIENT_EFFECT_ATTACH 0 "EjectBrass_762Nato 2 150" }
fadein 0.2
fadeout 0.2
snap
fps 30
}
$Sequence "ak47_fire2" {
"v_rif_ak47_anims\ak47_fire2.smd"
activity "ACT_VM_PRIMARYATTACK" 1
{ event 5001 0 "1" }
{ event AE_CLIENT_EFFECT_ATTACH 0 "EjectBrass_762Nato 2 150" }
fadein 0.2
fadeout 0.2
snap
fps 30
}
$Sequence "ak47_fire3" {
"v_rif_ak47_anims\ak47_fire3.smd"
activity "ACT_VM_PRIMARYATTACK" 1
{ event 5001 0 "1" }
{ event AE_CLIENT_EFFECT_ATTACH 0 "EjectBrass_762Nato 2 150" }
fadein 0.2
fadeout 0.2
snap
fps 30
}
$Sequence "ak47_draw" {
"v_rif_ak47_anims\ak47_draw.smd"
activity "ACT_VM_DRAW" 1
{ event 5004 0 "Weapon_AK47.Draw" }
{ event 5004 9 "Weapon_AK47.BoltPull" }
fadein 0.2
fadeout 0.2
fps 23
}
$Sequence "ak47_reload" {
"v_rif_ak47_anims\ak47_reload.smd"
activity "ACT_VM_RELOAD" 1
{ event 5004 9 "Weapon_AK47.Clipout" }
{ event 5004 27 "Weapon_AK47.Clipin" }
{ event 5004 41 "Weapon_AK47.BoltPull" }
fadein 0.2
fadeout 0.2
fps 24.22
}
Последнее редактирование: