Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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, иначе не проигрывался. Сам я это сделать не смог, хотя сильно старался честно
 

DeadMeat

Пользователь
Регистрация
21 Янв 2019
Сообщения
17
Реакции
0
Баллы
15
Пихай функцию 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)
Попробуй так
 

DeadMeat

Пользователь
Регистрация
21 Янв 2019
Сообщения
17
Реакции
0
Баллы
15
Отпишись работает чи не
 

daydreamer

Пользователь
Регистрация
30 Апр 2020
Сообщения
31
Реакции
0
Баллы
16
Пихай функцию 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)
 

DeadMeat

Пользователь
Регистрация
21 Янв 2019
Сообщения
17
Реакции
0
Баллы
15
Поменяй на game.GetMap()
 

DeadMeat

Пользователь
Регистрация
21 Янв 2019
Сообщения
17
Реакции
0
Баллы
15
Если не заработает, и никто не ответит, завтра ближе к вечеру у себя затестирую и мб выкачу готовый варик
Сообщение автоматически объединено:

ща протещу, в авторане так и оставлять?
Да
 

daydreamer

Пользователь
Регистрация
30 Апр 2020
Сообщения
31
Реакции
0
Баллы
16
Если не заработает, и никто не ответит, завтра ближе к вечеру у себя затестирую и мб выкачу готовый варик
Сообщение автоматически объединено:


Да
Звука нет, но в консоли ошибок нет
 

Morgan

Модератор
Команда форума
Регистрация
24 Сен 2019
Сообщения
942
Реакции
12
Баллы
52
Адрес
города крутых Модераторов
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Звука нет, но в консоли ошибок нет
конечно Звука нет. потому что EmitSound тут вообще не к месту и он не используется в таких случаях как "звук на всей карте для всех игроков."
почитал бы хоть за него https://wiki.facepunch.com/gmod/Entity:EmitSound

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

denomito

Пользователь
Регистрация
6 Ноя 2020
Сообщения
8
Реакции
1
Баллы
13
Код:
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)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу