iAxel Posted July 7, 2014 Share Posted July 7, 2014 (edited) Здравствуйте форумчани, нашел один скрипт который добавляет звуки для оружии, поставил все четко пашет, но если взять дигл или простой пистолет, звук проигрывается 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 July 7, 2014 by Guest Link to comment
iAxel Posted July 7, 2014 Author Share Posted July 7, 2014 Закрывайте проблема решена) Link to comment
TheNormalnij Posted July 7, 2014 Share Posted July 7, 2014 Я бы скинулся на выпрямление рук разработчику. Возможно, его писали те же немцы, которые разрабатывали этот же dayz. Такое количество неудачных решений, как создание аккаунтов для авто, хранение их пароля в коде( sql чуваки не умеют, можно вызвать ошибку сервера, залогинившись род автор или автоменеджера). Синхронизации через элементдату, копипейст подобных конструкций по десять раз. Отсутствие ООП или как минимум нормальной системы предметов пресикают всякое желание добавить что-то новое. Весь код покрыт ифами, использование одноуровневых( очень редко двухуровневых ). Фак кодеров, фак. Link to comment
Kenix Posted July 7, 2014 Share Posted July 7, 2014 Да уж, таблицы для слабаков, тока if, тока хардкор. Link to comment
iAxel Posted July 7, 2014 Author Share Posted July 7, 2014 Я понимаю код угар, и писали немцы не немцы, помогите с кодом, я просто новичок еще . Link to comment
Elengar Posted July 7, 2014 Share Posted July 7, 2014 Я бы скинулся на выпрямление рук разработчику. Возможно, его писали те же немцы, которые разрабатывали этот же dayz.Такое количество неудачных решений, как создание аккаунтов для авто, хранение их пароля в коде( sql чуваки не умеют, можно вызвать ошибку сервера, залогинившись род автор или автоменеджера). Синхронизации через элементдату, копипейст подобных конструкций по десять раз. Отсутствие ООП или как минимум нормальной системы предметов пресикают всякое желание добавить что-то новое. Весь код покрыт ифами, использование одноуровневых( очень редко двухуровневых ). Фак кодеров, фак. Не эти немцы его писали. Они уже полтора года как закрыли разработку. И да, оригинальный код от немцов раз в 15 лучше того, что сейчас пишут на одном русскоязычном форуме и того, что пишут на форуме такой же тематики, только португальском. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now