• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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

Помогите найти аддон

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

Morgan

Модератор
Команда форума
Регистрация
24 Сен 2019
Сообщения
944
Реакции
12
Баллы
62
Адрес
города крутых Модераторов
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Ранее видел аддон на проигрывание mp3 на весь сервер (для всех игроков) , когда игрок берёт определённую профессию.
Например я взял Мэра и начинается проигрывание mp3 для всех игроков на сервере.
Взял Капитана полиции - начинается проигрывание другого mp3 так же для всех игроков.

Заранее спасибо.
 
Не знаю про такой аддон, но можно и самому сделать через sound.Play тот же и добавить хук на смену опеределенных проф, как сменили на нее, так и звук заиграл
 
Не знаю про такой аддон, но можно и самому сделать через sound.Play тот же и добавить хук на смену опеределенных проф, как сменили на нее, так и звук заиграл
Я знаю surface.PlaySound это точно на всю карту звук играет. И я попробовал что-то в этом роде сделать:

Lua:
local teamsSCP = {
    ["TEAM_999"] = true
}

function IsSCP(ply)
    return teamsSCP[ply:Team()]
end

hook.Add("PlayerSpawn", "SpawnSCP", function(ply)
    if player:IsSCP() then
        surface.PlaySound("addoncontent/intercom/intercomstart.mp3")
    end
end)

Но как бы хрен там плавал. Не воркает.....
 
Не воркает хук или функция?
 
https://wiki.facepunch.com/gmod/Global.IsFirstTimePredicted
попробуй через IsFirstTimePredicted проверку сделать
Сообщение автоматически объединено:

Можно сделать аналог локдауна, вырезав почти все

Lua:
function DarkRP.lockdown(ply)
    if lstat then
        if ply:EntIndex() == 0 then
            print(DarkRP.getPhrase("unable", "/lockdown", DarkRP.getPhrase("stop_lockdown")))
            return
        else
            DarkRP.notify(ply, 1, 4, DarkRP.getPhrase("unable", "/lockdown", DarkRP.getPhrase("stop_lockdown")))
            return ""
        end
    end
    if ply:EntIndex() == 0 or (RPExtraTeams[ply:Team()] and RPExtraTeams[ply:Team()].mayor) then
        for k,v in pairs(player.GetAll()) do
            v:ConCommand("play npc/overwatch/cityvoice/f_confirmcivilstatus_1_spkr.wav\n")
        end
        lstat = true
        DarkRP.printMessageAll(HUD_PRINTTALK, DarkRP.getPhrase("lockdown_started"))
        SetGlobalBool("DarkRP_LockDown", true)
        DarkRP.notifyAll(0, 3, DarkRP.getPhrase("lockdown_started"))
    else
        if ply:EntIndex() == 0 then
            print(DarkRP.getPhrase("incorrect_job", "/lockdown", ""))
        else
            DarkRP.notify(ply, 1, 4, DarkRP.getPhrase("incorrect_job", "/lockdown", ""))
        end
    end
    return ""
end
concommand.Add("rp_lockdown", function(ply) DarkRP.lockdown(ply) end)
DarkRP.defineChatCommand("lockdown", function(ply) DarkRP.lockdown(ply) end)
Сообщение автоматически объединено:

Во, нашел похожий запрос, там в комментариях человек хорошо объясняет
 
Последнее редактирование:
Такс. Глупость 1 - я это всё вставлял в cl часть. Потому и не работало:poop:

Проверил Sound.Play 1648823685252.png
Это в Jobs, но это работает только с векторами , то есть в указанном месте будет воспроизводится звук. Без вектора - нельзя (ошибки будут). А если поставить 0,0,0 - то без понятия где вообще звук воспроизводится.


Теперь в sv луа я попробовал следующее:
Lua:
hook.Add("PlayerSpawn", "Penis", function(ply)
    if ply:Team() == TEAM_999 then
        surface.PlaySound("addoncontent/intercom/intercomstart.mp3")
    end
end)

Ошибок нет, но звук - не играет.Если поменять на ply armor ... то работает всё.


Если попробовать самый первый код запустить в sv - ошибки. Ply консоль не распознаёт (nil value)


Во, нашел похожий запрос, там в комментариях человек хорошо объясняет
Я это тоже видел, он предложил что и ты - Sound.Play
 
У меня было предположение, что косяк связан с св и кл частью, но подумал, что вряд-ли.

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

Стопэ - surface.PlaySound( String filepath ) - это же клиентская часть
 
У меня было предположение, что косяк связан с св и кл частью, но подумал, что вряд-ли.

так, а попробуй, что бы он воспроизвел стандартный звук из гмода. Может он не видит твой звук. Есть вариант подгрузить звук и после воспроизводить.
Где и какой звук воспроизводить - аддон понимает. Но как бы правильно написать всё........
 
У меня было предположение, что косяк связан с св и кл частью, но подумал, что вряд-ли.

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

Стопэ - surface.PlaySound( String filepath ) - это же клиентская часть
Так. Я пришёл к выводу: хук, который выше (PlayerSpawn) - работает исключительно в SV части. И еще понял что мне же нужно только 1 раз проигрывать звук, когда игрок берёт нужную профессию, по этому нужно использовать PlayerInitialSpawn (тоже SV).
surface.SoundPlay - исключительно в CL части.

Заново напишу что мне нужно:
Есть условно 5 проф. На каждую профу - новый mp3. Как только игрок выбрал себе одну из условных проф - начинает проигрывать mp3 для всех игроков на сервере.


По этому нужно создавать 2 разных файла (кл/св) и их объединять в коде. В теории что делать - я знаю , только как это написать - нет.
 
Так. Я пришёл к выводу: хук, который выше (PlayerSpawn) - работает исключительно в SV части. И еще понял что мне же нужно только 1 раз проигрывать звук, когда игрок берёт нужную профессию, по этому нужно использовать PlayerInitialSpawn (тоже SV).
surface.SoundPlay - исключительно в CL части.

Заново напишу что мне нужно:
Есть условно 5 проф. На каждую профу - новый mp3. Как только игрок выбрал себе одну из условных проф - начинает проигрывать mp3 для всех игроков на сервере.


По этому нужно создавать 2 разных файла (кл/св) и их объединять в коде. В теории что делать - я знаю , только как это написать - нет.
попробуй через неты юзнуть эту тему
 
попробуй через неты юзнуть эту тему
Зачем засирать свой сервер нетами? Все спокойно можно сделать и на CL. Возьми просто всех игроков и пусть при появлении опр SCP они на СВОЕЙ стороне будут воспроизводить звук. Надеюсь помог и правильно указал.
 
Короче решение куда проще. Частично леванчик был прав по поводу того что можно всё сделать только в CL. И еще подсказка очень важная от человека с забугора.
Вот решение:
Открываем jobs.lua
У некоторых проф есть PlayerLoadout , он в основном для установки хп/армора и бодигроупов.
Но мы сюда еще дописываем
Lua:
ply:EmitSound("#путь/к/звуку.mp3", 0)
. Итак что получается:

Lua:
TEAM_008 = DarkRP.createJob("008", {
   color = Color(0, 201, 8, 255),
   model = {"models/player/Group02/male_02.mdl"},
   description = [[ текст ]],
   weapons = {"weapon_physcannon"},
   command = "008",
   max = 2,
   salary = 35,
   admin = 0,
   vote = false,
   hasLicense = false,
   candemote = false,
   category = "Подпивасники",
   PlayerLoadout = function(ply)
      ply:SetHealt(300)
      ply:EmitSound("#shitsborka/scp/008.mp3", 0)  -- наш звук
    end,
})
А сами звуки mp3 можно засунуть в аддон, загрузить его в воркшоп и оттуда на сервер прописать по стандарту.

По поводу того что перед путём к звуку стоит #, то человек с забугора сказал следующее:
The '#' causes the sound to be unaffected by DSP (i.e. when being underwater).
И если я верно перевёл то звук mp3 не будет слышан для игроков под водой
 
Не плохой вариант, как это можно реализовывать
 
Оказалось это слышно только в определённом радиусе, те кто неподалёку от спавнящегося игрока (у которого прописан мп3).

Вопрос снова открыт.....
 
И так: я переписал один аддон и он работает (выполняет то, что я просил в теме).
Но теперь вопрос в другом: почему не срабатывает таймер (не повторяется функция при повторном заходе за прописанную профу).
Оставляю ссылку на архив, в надежде что кто-то поможет решить проблемс: https://mega.nz/file/HawyxYYL#4bNx13165DTR58BNt0OU8kQNEjA2XOQ2weQk5Pyv6qk
 
Решено , спасибо RaCc0oN.
Всего-то нужно поменять местами end
Решение, как должно быть в конечном итоге:
1649705731228.png
Исправите и можете спокойно использовать этот аддон для своих сцп проектов(или же чего-то другого, звуки только меняйте).

ЛИБО: https://github.com/xerxes228/SoundWhenSCPspawn/ (тут всё исправлено)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Главная Регистрация
Назад
Сверху