summaryrefslogtreecommitdiffstats
path: root/main.lua
diff options
context:
space:
mode:
Diffstat (limited to 'main.lua')
-rw-r--r--main.lua53
1 files changed, 45 insertions, 8 deletions
diff --git a/main.lua b/main.lua
index e8d7d7990..da1fdda7d 100644
--- a/main.lua
+++ b/main.lua
@@ -1,14 +1,14 @@
-- This plugin copyright Alexander Harkness 2013, licensed under the MIT license.
-- Configuration
-g_ServerLang = "english"
-g_ConsoleLang = "english"
+g_ServerLang = "english"
+g_ConsoleLang = "english"
-- Global Variables
-g_Plugin = nil
+g_Plugin = nil
g_PluginManager = nil
-g_PluginDir = nil
-g_UserData
+g_PluginDir = nil
+g_UserData = nil
-- START WITH DA AWESOME!
function Initialize( Plugin )
@@ -23,10 +23,13 @@ function Initialize( Plugin )
Plugin:SetVersion( 1 )
-- This is the place for commands!
- PluginManager:BindCommand("/language", "transapi.setlang", HandleLanguageCommand, " - Set your preferred language.")
+ g_PluginManager:BindCommand("/language", "transapi.setlang", HandleLanguageCommand, " - Set your preferred language.")
-- Load the userdata file.
-
+ g_UserData = cIniFile( g_PluginDir .. "/userdata.ini" )
+ if g_UserData ~= true then
+ LOGERROR( "TransAPI INI file could not be opened!" )
+ end
LOG( "Initialized " .. Plugin:GetName() .. " v." .. Plugin:GetVersion() )
@@ -34,9 +37,19 @@ function Initialize( Plugin )
end
-function GetLanguage( user )
+function GetLanguage( Player )
-- Returns a language to use.
+ if g_UserData:ReadFile() == true then
+ local userLang = g_UserData:GetValueSet( Player:GetName(), "language", "false" )
+ g_UserData:WriteFile()
+ end
+
+ if userLang == "false" then
+ return g_ServerLang
+ else
+ return userLang
+ end
end
@@ -46,7 +59,31 @@ function GetConsoleLanguage()
end
function HandleLanguageCommand ( Split, Player )
+
+ -- If the user is not setting the language, tell them the currently selected one.
+ if #Split ~= 2 then
+
+ local userLang = g_UserData:GetValueSet( Player:GetName(), "language", "false" )
+ if userLang == "false" then
+ return g_ServerLang
+ else
+ return userLang
+ end
+
+ end
+
+ -- Set the language.
+ local success = g_UserData:SetValue( Player:GetName(), "language" Split[2] )
+ g_UserData:WriteFile()
+
+ if not success then
+ Player:SendMessage( "Language could not be set!" )
+ else
+ Player:SendMessage( "Language set!" )
+ end
+
return true
+
end
function OnDisable()