From 16d519786632c3a575cbd1b6d8fb57cfbd210359 Mon Sep 17 00:00:00 2001 From: Easelm Date: Sat, 26 Apr 2014 16:51:50 -0400 Subject: [PATCH] Updated GetAreaName with locale being an optional argument WIKI: http://wiki.emudevs.com/doku.php?id=eluna_global_method_getareaname --- GlobalMethods.h | 6 +++++- LuaFunctions.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/GlobalMethods.h b/GlobalMethods.h index bbf1c57d58..268f0c3850 100644 --- a/GlobalMethods.h +++ b/GlobalMethods.h @@ -270,11 +270,15 @@ namespace LuaGlobalFunctions int GetAreaName(lua_State* L) { uint32 areaOrZoneId = sEluna->CHECKVAL(L, 1); + int locale = sEluna->CHECKVAL(L, 2, DEFAULT_LOCALE); + if (locale < 0 || locale >= MAX_LOCALES) + return luaL_argerror(L, 2, "Invalid locale specified"); + AreaTableEntry const* areaEntry = GetAreaEntryByAreaID(areaOrZoneId); if (!areaEntry) return luaL_argerror(L, 1, "Invalid Area or Zone ID"); - sEluna->Push(L, areaEntry->area_name[sWorld->GetDefaultDbcLocale()]); + sEluna->Push(L, areaEntry->area_name[locale]); return 1; } diff --git a/LuaFunctions.cpp b/LuaFunctions.cpp index d3f782761e..e98a9617ba 100644 --- a/LuaFunctions.cpp +++ b/LuaFunctions.cpp @@ -64,7 +64,7 @@ void RegisterGlobals(lua_State* L) lua_register(L, "GetGUIDLow", &LuaGlobalFunctions::GetGUIDLow); // GetGUIDLow(guid) - Returns GUIDLow (uint32) from guid (uint64 as string) UNDOCUMENTED lua_register(L, "GetGUIDType", &LuaGlobalFunctions::GetGUIDType); // GetGUIDType(guid) - Returns Type (uint32) from guid (uint64 as string) UNDOCUMENTED lua_register(L, "GetGUIDEntry", &LuaGlobalFunctions::GetGUIDEntry); // GetGUIDEntry(guid) - Returns Entry (uint32) from guid (uint64 as string), may be always 0 UNDOCUMENTED - lua_register(L, "GetAreaName", &LuaGlobalFunctions::GetAreaName); // GetAreaName(area or zone ID) - Returns area or zone (string) name by area or zone ID + lua_register(L, "GetAreaName", &LuaGlobalFunctions::GetAreaName); // GetAreaName(area or zone ID[, locale]) - Returns area or zone (string) name by area or zone ID. Locale is optional (Default = 0 (enUS)) lua_register(L, "bit_not", &LuaGlobalFunctions::bit_not); // bit_not(a) - Returns ~a UNDOCUMENTED lua_register(L, "bit_xor", &LuaGlobalFunctions::bit_xor); // bit_xor(a, b) - Returns a ^ b UNDOCUMENTED lua_register(L, "bit_rshift", &LuaGlobalFunctions::bit_rshift); // bit_rshift(a, b) - Returns a >> b UNDOCUMENTED