Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local translator_url = ''
- local verbose = true
- local lang_table = {}
- AddCSLuaFile('autorun/client/utranslator_init.lua')
- if(!file.Exists('utranslator', 'DATA')) then
- file.CreateDir('utranslator')
- end
- if(!file.Exists('utranslator/config.txt', 'DATA')) then
- file.Write('utranslator/config.txt', '{\n"url": "http://127.0.0.1:1313/translate"\n}')
- end
- translator_url = util.JSONToTable(file.Read('utranslator/config.txt', 'DATA'))['url']
- if(translator_url == 'http://127.0.0.1:1313/translate') then
- print('UniversalTranslator: [SERVER][WARNING] Default config file is being used. Located at "<gmod_directory>/data/utranslator/config.txt"')
- end
- if(translator_url == '') then
- print('UniversalTranslator: [SERVER][ERROR] Got empty string reading from config file, writing default config.')
- file.Write('utranslator/config.txt', '{\n"url": "http://127.0.0.1:1313/translate"\n}')
- end
- util.AddNetworkString("TranslatorURL")
- util.AddNetworkString("LanguageTable")
- util.AddNetworkString("LanguageEntry")
- util.AddNetworkString("PlayerLanguage")
- hook.Add("PlayerInitialSpawn", "player_spawn_translator_hook", function(ply)
- if IsValid(ply) then
- if verbose then
- print("Sending translation url to client: " .. translator_url)
- end
- net.Start("TranslatorURL")
- net.WriteString(translator_url)
- net.Send(ply)
- if verbose then
- print("Sending language table to client")
- end
- --if #player.GetAll() > 1 then -- Don't send an empty table to the first player
- net.Start("LanguageTable")
- net.WriteTable(lang_table)
- net.Send(ply)
- --end
- end
- end )
- net.Receive("PlayerLanguage", function()
- local lang_e = net.ReadTable()
- if lang_e["name"] != nil and lang_e["language"] != nil then
- lang_table[lang_e["name"]] = lang_e["language"]
- net.Start("LanguageEntry")
- net.WriteTable({name = lang_e["name"], language = lang_e["language"]})
- net.Broadcast()
- else
- print('UniversalTranslator: [SERVER][ERROR] Received invalid language entry from client')
- end
- end )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement