Добавить "говорилку" в автодонат

Пожалуйста дайте говорилку и инструкцию

Какую говорилку? И инструкцию к чему, как установить её?

Попробуй это

IGS("Говорилка на 30 дней", "govorilka")
:SetPrice(100)
:SetTerm(30)
:SetDescription("Если хочешь чтобы твой текст озвучивался, то эта штука для тебя")
:SetNetworked(true)

Закинуть в sh_additems.lua. Еще вот это установить надо:

googlespeech.zip (9.1 КБ)

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

Если не заработает говорилка сверху, то попробуй эту: https://forum.gm-donate.net/t/govorilka-v-donat-dlya-vashego-servera/166?u=gmd

мне надо спросить как ее установить так как я не знаю куда закидывать
файлы

Я выше скинул ссылку на тему. Там написано как установить

Не работает у меня админ система Badmin а там Fadmin прописан

Переделай под badmin 2 минуты делов то

а куда этот файл кидать?

В файлы авто-доната, обычно они расположены здесь - garrysmod/addons/igs-modification/lua/igs/settings/sh_additems.lua

переделай под badmin

пожалуйста

фсо вроде, всего то нужно было заменить ply:FAdmin_GetGlobal("FAdmin_chatmuted") на ply:IsChatMuted()

if SERVER then
    util.AddNetworkString("SayTTS")

    hook.Add("PlayerSay", "TTSFTW", function(ply, text, team)
        if not team then
            if ply:HasPurchase("govorilka") and string.sub(text, 1, 1) ~= "/" and string.sub(text, 1, 1) ~= "!" and string.sub(text, 1, 1) ~= "@" and not ply:IsChatMuted() and ply:Alive() then
                net.Start("SayTTS")
                net.WriteString(text)
                net.WriteEntity(ply)
                net.Broadcast()
            end
        end
    end)
else
    local char_to_hex = function(c) return string.format("%%%02X", string.byte(c)) end

    local function urlencode(url)
        if url == nil then return end
        url = url:gsub("\n", "\r\n")
        url = url:gsub("([^%w ])", char_to_hex)
        url = url:gsub(" ", "+")

        return url
    end

    net.Receive("SayTTS", function()
        local text = net.ReadString()
        local ply = net.ReadEntity()
        if LocalPlayer():GetPos():Distance(ply:GetPos()) > 1000 then return end

        sound.PlayURL("https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=" .. urlencode(text) .. "&tl=ru", "3d", function(snd)
            if IsValid(snd) and IsValid(ply) then
                snd:SetPos(ply:GetPos())
                snd:SetVolume(1)
                snd:Play()
                snd:Set3DFadeDistance(200, 1000)
                ply.sound = snd
            end
        end)
    end)

    hook.Add("Think", "FollowPlayerSound", function()
        for k, v in pairs(player.GetAll()) do
            if IsValid(v.sound) then
                v.sound:SetPos(v:GetPos())
            end
        end
    end)
end