mirror of
https://github.com/sr229/metastruct-experiments.git
synced 2024-09-20 06:30:36 +00:00
Check for permission
Co-authored-by: Henke <henkeswe@users.noreply.github.com> Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>
This commit is contained in:
parent
95f6ec769e
commit
0df5e9d366
1 changed files with 25 additions and 6 deletions
|
@ -7,6 +7,9 @@ local VALID_LANGS = {"en-gb", "en-ca", "en-us", "en-au", "ja", "ph", "so"}
|
||||||
local lang = "en-gb"
|
local lang = "en-gb"
|
||||||
local soundref
|
local soundref
|
||||||
|
|
||||||
|
-- Check if client has permission
|
||||||
|
if not hasPermission("bass.loadURL", "https://translate.google.com/translate_tts") then return end
|
||||||
|
|
||||||
-- A local function to check if this exists on our valid langs
|
-- A local function to check if this exists on our valid langs
|
||||||
-- if it doesn't, we throw error
|
-- if it doesn't, we throw error
|
||||||
local function has_value (tab, val)
|
local function has_value (tab, val)
|
||||||
|
@ -19,6 +22,18 @@ local function has_value (tab, val)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function DoTTS(txt, lng, callback)
|
||||||
|
bass.loadURL("https://translate.google.com/translate_tts?ie=UTF-8&q=" .. txt .. "&tl=" .. lang .. "&client=tw-ob", "3d",
|
||||||
|
callback)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function FollowSound(sound, soundLength)
|
||||||
|
if sound:isValid() then sound:setPos(owner():getPos()) else
|
||||||
|
print("the hook died")
|
||||||
|
hook.remove("think", "soundFollow")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
hook.add("playerchat", "fucke2", function(ply, txt)
|
hook.add("playerchat", "fucke2", function(ply, txt)
|
||||||
if ply ~= owner() then return end
|
if ply ~= owner() then return end
|
||||||
|
|
||||||
|
@ -36,6 +51,7 @@ hook.add("playerchat", "fucke2", function(ply, txt)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if string.sub(txt, 1, 1) ~= ";" then return end
|
if string.sub(txt, 1, 1) ~= ";" then return end
|
||||||
|
|
||||||
txt = string.sub(txt,2)
|
txt = string.sub(txt,2)
|
||||||
|
@ -43,18 +59,21 @@ hook.add("playerchat", "fucke2", function(ply, txt)
|
||||||
|
|
||||||
txt = http.urlEncode(txt)
|
txt = http.urlEncode(txt)
|
||||||
|
|
||||||
bass.loadURL("https://translate.google.com/translate_tts?ie=UTF-8&q=" .. txt .. "&tl=" .. lang .. "&client=tw-ob", "3d",
|
DoTTS(txt, curLang, function(sound, err, name)
|
||||||
function(a, err, name)
|
|
||||||
|
|
||||||
if not a then
|
if not sound then
|
||||||
print("error: " .. err)
|
print("error: " .. err)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
-- we dispose the current reference, then we create a new one
|
-- we dispose the current reference, then we create a new one
|
||||||
if soundref then soundref:stop() end
|
if soundref then soundref:stop() end
|
||||||
soundref = a
|
soundref = sound
|
||||||
|
|
||||||
hook.add("think", "soundFollow", function() a:setPos(owner():getPos()) end)
|
local soundLength = sound:getLength()
|
||||||
a:play()
|
hook.add("think", "soundFollow", function()
|
||||||
|
FollowSound(sound, soundLength)
|
||||||
|
end)
|
||||||
|
|
||||||
|
sound:play()
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
Loading…
Reference in a new issue