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






info
Grupo: Campones
Registrado: 13/04/15
Posts: 73
Reputação: +18
Char no Tibia: [ADM] Harlock
Oi galera, meu nome é Igor "[ADM] Harlock" do servidor Pokémon Underwater.
Estava tentando desenvolver a função doSetLanguage, mais não estou tendo exito, e queria pedir a ajudar de vocês.
Essa função serve para mudar a linguagem por exemplo:
Para que isso ocorra também precisa do: getPlayerLanguage para lê o código.
Por favor alguem pode me ajudar, ou então faze-lo e posta-lo no fórum, sei que irá ajudar muita gente.