• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Код на проигрывание звуков на карте?

Статус
В этой теме нельзя размещать новые ответы.

daydreamer

Пользователь
Регистрация
30 Апр 2020
Сообщения
31
Реакции
0
Баллы
16
Собственно говоря, хочу добавить чтобы раз в условные 50 секунд проигрывался звук propaganda1.wav у всех на сервере если карта rp_vardos_bananakin_revamped, иначе не проигрывался. Сам я это сделать не смог, хотя сильно старался честно
 
Пихай функцию timer.Create для создания таймера, и функцию util.GetMapName для получения имени текущей карты.

Код:
local soundName = "propaganda1.wav"
local mapName = "rp_vardos_bananakin_revamped"

timer.Create("PropagandaTimer", 50, 0, function()
    if util.GetMapName() == mapName then
        for _, ply in ipairs(player.GetAll()) do
            ply:EmitSound(soundName)
        end
    end
end)
Попробуй так
 
Пихай функцию timer.Create для создания таймера, и функцию util.GetMapName для получения имени текущей карты.

Код:
local soundName = "propaganda1.wav"
local mapName = "rp_vardos_bananakin_revamped"

timer.Create("PropagandaTimer", 50, 0, function()
    if util.GetMapName() == mapName then
        for _, ply in ipairs(player.GetAll()) do
            ply:EmitSound(soundName)
        end
    end
end)
Попробуй так
[ERROR] lua/autorun/propaganda.lua:5: attempt to call field 'GetMapName' (a nil value)
 
Если не заработает, и никто не ответит, завтра ближе к вечеру у себя затестирую и мб выкачу готовый варик
Сообщение автоматически объединено:

ща протещу, в авторане так и оставлять?
Да
 
Если не заработает, и никто не ответит, завтра ближе к вечеру у себя затестирую и мб выкачу готовый варик
Сообщение автоматически объединено:


Да
Звука нет, но в консоли ошибок нет
 
Звука нет, но в консоли ошибок нет
конечно Звука нет. потому что EmitSound тут вообще не к месту и он не используется в таких случаях как "звук на всей карте для всех игроков."
почитал бы хоть за него https://wiki.facepunch.com/gmod/Entity:EmitSound

Можешь попробовать surface.PlaySound и запускать клиентам через net.Broardcast
Немного отличается но вот я переписывал под себя подобное https://github.com/xerxes228/SoundWhenSCPspawn/tree/main/scpspawn/lua/autorun
 
Код:
local map = "map"
local sound = "sound.wav"
local time = 50

hook.Add("InitPostEntity", "Sound", function()
    timer.Create("SoundPlay", time, 0, function()
        for _, v in pairs(player.GetAll()) do
            v:SendLua(string.format([[surface.PlaySound("%s")]], sound))
        end
    end)
end)
Сообщение автоматически объединено:

Lua:
local map = "map"
local sound = "sound.wav"
local time = 50

hook.Add("InitPostEntity", "Sound", function()
    if game.GetMap() == map then
        timer.Create("SoundPlay", time, 0, function()
            for _, v in pairs(player.GetAll()) do
                v:SendLua(string.format([[surface.PlaySound("%s")]], sound))
            end
        end)
    end
end)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Главная Регистрация
Назад
Сверху