diff --git a/[admin]/admin2/server/admin_server.lua b/[admin]/admin2/server/admin_server.lua index db62835d1..cfc835eb7 100644 --- a/[admin]/admin2/server/admin_server.lua +++ b/[admin]/admin2/server/admin_server.lua @@ -154,7 +154,9 @@ function updatePlayerCountry(player) local isIP2CResourceRunning = getResourceFromName( "ip2c" ) isIP2CResourceRunning = isIP2CResourceRunning and getResourceState( isIP2CResourceRunning ) == "running" aPlayers[player].country = isIP2CResourceRunning and exports.ip2c:getPlayerCountry(player) or false - aPlayers[player].countryname = isIP2CResourceRunning and exports.ip2c:getCountryName(aPlayers[player].country) or false + if aPlayers[player].country then + aPlayers[player].countryname = isIP2CResourceRunning and exports.ip2c:getCountryName(aPlayers[player].country) or false + end end function aPlayerInitialize(player) diff --git a/[admin]/ip2c/server.lua b/[admin]/ip2c/server.lua index d65f66fa2..d0eada0aa 100644 --- a/[admin]/ip2c/server.lua +++ b/[admin]/ip2c/server.lua @@ -20,6 +20,7 @@ local IP2C_UPDATE_INTERVAL_SECONDS = 60 * 60 * 24 * 1 -- Update no more than onc -- [Exported] function getPlayerCountry ( player ) + if not (isElement(player) and getElementType(player) == "player") then return false end if not loadIPGroupsIsReady() then return false end local ip = getPlayerIP(player) local ip_group = tonumber ( gettok ( ip, 1, 46 ) ) diff --git a/[admin]/ip2c/shared.lua b/[admin]/ip2c/shared.lua index fad3d796d..bdee5b0ac 100644 --- a/[admin]/ip2c/shared.lua +++ b/[admin]/ip2c/shared.lua @@ -255,5 +255,8 @@ local countryListAlpha2 = { -- [Exported] function getCountryName( country ) + if type(country) ~= "string" then + return "Invalid country code" + end return countryListAlpha2[ (string.upper(country)) ] or "Unknown" end