Isso aí você faz em Lua, não em C++. Em qualquer arquivo de data/lib, coloque:
LANGUAGE_STORAGE = 4929
Languages = {
--["linguagem"] = valor_da_storage,
["english"] = 1,
["portuguese"] = 2,
["spanish"] = 3,
}
function getPlayerLanguage(cid)
if not isPlayer(cid) then return true end
for lang, value in pairs(Languages) do
if value == getPlayerStorageValue(cid, LANGUAGE_STORAGE) then
return lang
end
end
return "none"
end
function setPlayerLanguage(cid, new_language)
if not isPlayer(cid) or not Languages[new_language] then return true end
setPlayerStorageValue(cid, LANGUAGE_STORAGE, Languages[new_language])
end
Para alterar a linguagem do jogador:
setPlayerLanguage(cid, nova_linguagem)
Ex.:
setPlayerLanguage(cid, "english")
setPlayerLanguage(cid, "portuguese")
Para obter a linguagem do jogador:
getPlayerLanguage(cid)
Que retorna valores como:
english
portuguese
Em login.lua, recomendo colocar, abaixo de:
function onLogin(cid)
o seguinte bloco de código:
if getPlayerLanguage(cid) == "none" then
setPlayerLanguage(cid, "portuguese")
end
Exemplo de uso do sistema:
local test_messages = {
["portuguese"] = "Mensagem de teste.",
["english"] = "Test message.",
["spanish"] = "Mensaje de prueba."
}
function onSay(cid)
doPlayerPopupFYI(cid, test_messages[getPlayerLanguage(cid)])
return true
end