- 40
- 0
В общем, я полицейский на аризонке и мне нужен был код который будет воспроизводить аудио-звуки рации в формате .wav, пробовал написать код через ИИ, но у меня постоянно ошибки по типу:
Файлы со звуками были скачаны, перенесены по дирректории moonloader/sounds/radio.
Но всегда сё вылетает и с ошибками.
вот сам код
Код:
[ML] (error) PoliceRadioAtmosphereToggle: ...ona Games Launcher\bin\arizona\moonloader\FunkRandom.lua:34: attempt to call global 'playSound' (a nil value)
stack traceback:
...ona Games Launcher\bin\arizona\moonloader\FunkRandom.lua: in function 'playRandomSound'
...ona Games Launcher\bin\arizona\moonloader\FunkRandom.lua:19: in function <...ona Games Launcher\bin\arizona\moonloader\FunkRandom.lua:10>
[ML] (error) PoliceRadioAtmosphereToggle: Script died due to an error. (1A112F2C)
Файлы со звуками были скачаны, перенесены по дирректории moonloader/sounds/radio.
Но всегда сё вылетает и с ошибками.
вот сам код
Код 2:
-- Настройки скрипта
local radioSounds = {
"WT1.wav",
"WT2.wav",
"WT3.wav",
"WT4.wav",
"WT5.wav",
"WT6.wav",
"WT7.wav"
}
local minDelay = 20000 -- 20 секунд
local maxDelay = 60000 -- 60 секунд
local isRadioActive = false
local soundHandle = nil -- Для контроля воспроизведения
-- Функция воспроизведения звука (правильная для MoonLoader)
function playSoundFile(path)
local fullPath = "moonloader/sounds/radio/" .. path
if not doesFileExist(fullPath) then
print("Ошибка: файл " .. fullPath .. " не найден")
return nil
end
return playSound(fullPath, false, false) -- playSound(path, loop, throttle)
end
-- Основная функция воспроизведения
function playRandomRadioSound()
if not isRadioActive then return end
local randomSound = radioSounds[math.random(1, #radioSounds)]
-- Останавливаем предыдущий звук, если есть
if soundHandle ~= nil then
stopSound(soundHandle)
end
soundHandle = playSoundFile(randomSound)
if soundHandle == nil then
print("Не удалось воспроизвести звук: " .. randomSound)
end
-- Запуск следующего воспроизведения через случайное время
lua_thread.create(function()
wait(math.random(minDelay, maxDelay))
playRandomRadioSound() -- Повторно вызываем, чтобы звук проигрывался периодически
end)
end
-- Проверка существования файла
function doesFileExist(path)
local f = io.open(path, "r")
if f ~= nil then
io.close(f)
return true
else
return false
end
end
-- Инициализация
function main()
wait(5000)
-- Проверяем наличие папки sound/radio
if not doesFileExist("moonloader/sounds/radio/") then
sampAddChatMessage("{FF0000}Ошибка: папка moonloader/sounds/radio/ не найдена!", -1)
return
end
sampAddChatMessage("📻 Используйте {FFFF00}/rtag {FFFFFF}для управления радиошумом", -1)
while true do
wait(1000)
end
end
-- Функция для активации/деактивации радиошума
function toggleRadio()
isRadioActive = not isRadioActive
local status = isRadioActive and "ВКЛЮЧЕНА" or "ВЫКЛЮЧЕНА"
sampAddChatMessage("{FF0000}Рация " .. status, -1)
if isRadioActive then
playRandomRadioSound() -- Начать воспроизведение звуков
else
if soundHandle ~= nil then
stopSound(soundHandle) -- Остановить текущий звук, если он играет
end
end
end
-- Регистрация команд
sampRegisterChatCommand("rtag", toggleRadio) -- Команда для активации/деактивации радиошума