Jump to content

Звуки для оружии


Recommended Posts

Здравствуйте форумчани, нашел один скрипт который добавляет звуки для оружии, поставил все четко пашет, но если взять дигл или простой пистолет, звук проигрывается ak-47 или rifle, открыл скрипт посмотрел, там проверка по названию оружии, можно ли сделать не по названию а по id?

function disableSounds() 
  setAmbientSoundEnabled( "gunfire", false ) 
end 
addEventHandler("onClientResourceStart",root,disableSounds) 
  
local function playGunfireSound() 
  local muzzleX, muzzleY, muzzleZ = getPedWeaponMuzzlePosition(source) 
  local px, py, pz = getElementPosition ( source ) 
  local weapon = getElementData(localPlayer,"currentweapon_1") 
local weapon1 = getElementData(localPlayer,"currentweapon_2") 
  if not weapon then return end 
if not weapon1 then return end 
  weapon = tostring ( weapon ) 
weapon1 = tostring ( weapon1 ) 
  if weapon == "М4А1 CCO" then 
    local sound = playSound3D("sounds/M4.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
  elseif weapon == "CZ550" then 
    local sound = playSound3D("sounds/Sniper.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
  elseif weapon == "Винчестер 1866" then 
    local sound = playSound3D("sounds/Shotgun.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
  elseif weapon == "SPAZ-12 Combat Shotgun" then 
    local sound = playSound3D("sounds/Combat Shotgun.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
  elseif weapon == "Sawn-Off Shotgun" then 
    local sound = playSound3D("sounds/Sawed-Off.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
  elseif weapon == "AK-74" then 
    local sound = playSound3D("sounds/AK-47.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
  elseif weapon == "Lee Enfield" then 
    local sound = playSound3D("sounds/Rifle.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
elseif weapon1 == "Револьвер" then 
    local sound = playSound3D("sounds/Deagle.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
  end 
end 
addEventHandler("onClientPlayerWeaponFire", root, playGunfireSound) 

РЕШЕНИЕ:

function disableSounds() 
  setAmbientSoundEnabled( "gunfire", false ) 
end 
addEventHandler("onClientResourceStart",root,disableSounds) 
  
local function playGunfireSound() 
  local muzzleX, muzzleY, muzzleZ = getPedWeaponMuzzlePosition(source) 
  local weapon = getPedWeapon(getLocalPlayer()) 
  if weapon == 31 then 
    local sound = playSound3D("sounds/M4.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 34 then 
    local sound = playSound3D("sounds/Sniper.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 25 then 
    local sound = playSound3D("sounds/Shotgun.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 27 then 
    local sound = playSound3D("sounds/Combat Shotgun.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 26 then 
    local sound = playSound3D("sounds/Sawed-Off.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 30 then 
    local sound = playSound3D("sounds/AK-47.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 33 then 
    local sound = playSound3D("sounds/Rifle.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 22 then 
    local sound = playSound3D("sounds/Colt45.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 23 then 
    local sound = playSound3D("sounds/Silenced.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 28 then 
    local sound = playSound3D("sounds/UZI.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 29 then 
    local sound = playSound3D("sounds/MP5.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  elseif weapon == 24 then 
    local sound = playSound3D("sounds/Deagle.mp3", muzzleX, muzzleY, muzzleZ, false) 
    setSoundMaxDistance(sound, 40) 
    setSoundVolume(sound, 0.7) 
  end 
end 
addEventHandler("onClientPlayerWeaponFire", root, playGunfireSound) 

Edited by Guest
Link to comment

Я бы скинулся на выпрямление рук разработчику. Возможно, его писали те же немцы, которые разрабатывали этот же dayz.

Такое количество неудачных решений, как создание аккаунтов для авто, хранение их пароля в коде( sql чуваки не умеют, можно вызвать ошибку сервера, залогинившись род автор или автоменеджера). Синхронизации через элементдату, копипейст подобных конструкций по десять раз. Отсутствие ООП или как минимум нормальной системы предметов пресикают всякое желание добавить что-то новое. Весь код покрыт ифами, использование одноуровневых( очень редко двухуровневых ). Фак кодеров, фак.

Link to comment
Я бы скинулся на выпрямление рук разработчику. Возможно, его писали те же немцы, которые разрабатывали этот же dayz.

Такое количество неудачных решений, как создание аккаунтов для авто, хранение их пароля в коде( sql чуваки не умеют, можно вызвать ошибку сервера, залогинившись род автор или автоменеджера). Синхронизации через элементдату, копипейст подобных конструкций по десять раз. Отсутствие ООП или как минимум нормальной системы предметов пресикают всякое желание добавить что-то новое. Весь код покрыт ифами, использование одноуровневых( очень редко двухуровневых ). Фак кодеров, фак.

Не эти немцы его писали. Они уже полтора года как закрыли разработку. И да, оригинальный код от немцов раз в 15 лучше того, что сейчас пишут на одном русскоязычном форуме и того, что пишут на форуме такой же тематики, только португальском.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...