Ir para conteúdo
  • 0

[Pedido] Função: doSetLanguage.


Lord Stryton

Pergunta

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:

local texts = {
[PORTUGUESE] = {"Parabéns, você acaba de ganhar um item Raro! ", "Que sorte, acabou de encontrar um : "},
[ENGLISH] = {"Congratulations, you just won a rare item! "" Lucky, just found one: "},
}

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.



Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

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
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...