Jump to content
×
×
  • Create New...

pedido [Pedido] Função: doSetLanguage.


Go to solution Solved by zipter98,

Recommended Posts

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 to post
Share on other sites
  • Solution

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 to post
Share on other sites
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


    Administrador |  Diretor |  Coordenador |  Moderador |  Suporter |  Estagiário |  Herói
  • Similar Content

    • By tvsxde
      Versão do Servidor: TFS - 0.4 Tipo de Script: moveevent Código: NAO SEI COMO FAZ MAS QUERIA SABER DE UM SCRIPT E AONDE COLOCA PARA QUE O ITEM TIPO : HELMET FIQUE NO SLOT HEAD SEM PODER POR NA MAO OU NO SLOT FLECHA PRECISO FIXISALO ALGUEM SABE O MEU SERVER É O YUROTS GOD BON 1.2 TIBIA 8.10!!!
    • By WorstZoe
      Bom dia/tarde/noite meus amigos XTibianos.
       
      Pra quem não me conhece, meu nome é Sabrina, e eu gostaria de ajudinha se possível com uma coisinha beeem básiquinha.
      Antecipadamente gostaria de pedir desculpas por trazer uma dúvida tão 'ridícula' por ser relativamente fácil de ser resolvida, no qual eu não consegui resolver sozinha única e exclusivamente por 'burrice' kkkk
      Enfim, eu amo ficar vasculhando as sprites de servidores pra usa-las em diferentes ocasiões, tenho quase que um 'estoque' aqui hahaha
      Mas meu Obj Builder se recusa a abrir as Sprites deste servidor disponibilizado aqui mesmo no Xtibia: 
       
      Já tentei de toda forma, com e sem extended, com e sem transparency e etc etc..
      Sei também que meu Obj Builder funciona, até pq uso ele constantemente com outros arquivos de dat/spr..
       
      Obrigada antecipadamente!
      E desculpem novamente pela pergunta frívola.
       
      --------------------------------------------------------------------------------
      Atenciosamente, Zoe [ Sabrina ]
       
       
       
      @Edit
      Podem fechar o tópico, resolvi.
      O problema era uma incompatibilidade de versões, meu Object Builder por ser de uma versão um tanto quanto recente não funcionava com Dat/Spr antigos.
      Resolvi utilizando uma versão mais antiga.
    • By Nysman
      Versão do Servidor: TFS - 0.3.4 Tipo de Script: spell Código: Procurei em todo o forum, achei alguns semelhates, porém incompletos. REP++
      1 - Queria que o player ao sofrer dano saisse sangue.
      2 - Queria que o própro player tirasse dano no target sem pokémon.
      Independete se for monstro ou player.
      Desde já agradeço!!!
       
    • By No Face
      Opa, suave? A um tempo uns amigos me disseram que nesse fórum eu poderia achar um client/servidor para baixar, eu estou querendo brincar um pouco com esse tipo de coisa (me divertir como ADM), eu achei vários clients e servidores para baixar, o problema e que grande maioria que eu baixei não vem com o TheForgettenServer ou por que vem com vários Scripts bugados, eu estou atrás de uma base de Poketibia que seja igual (ou quase) a base do OTPokémon, PokeMemories ou então Poke World, até achei algumas aqui, porém elas também vem com defeitos.
       O defeito mais comum que vejo nessas bases de OTP é que mesmo abrindo o server, ao tentar logar fala que o servidor esta offline, se alguém tiver uma base (de OTP, memories ou world) que funcione, por favor poderia deixar o Download?  
       Ou então caso saibam resolver esse problema. Obrigado a todos por tirarem um pouco do seu tempo para lerem esse tópico ❤️ 
    • By Marcos VMA
      Bom Dia/Boa Tarde/Boa noite a todos do xTibia..
       
      Vim pedir a vocês se alguém poderia me passar a [SOURCE SERVER] ou [BASE INTEIRA] do OtPokemon Imperium se for possível, a base foi divulgada por GOD Vitor [Link de um Fórum com link quebrado -> https://pokeking7.forumeiros.com/t223-exclusivo-open-source-otpokemon-imperium-v1-completo ]
       
      Base que estou utilizando: OtPokemon ZD [Não divulgada em nenhum Fórum]
       
      Motivo do Pedido: Estou utilizando uma base que precisa da mesma source que foi utilizada no OtPokemon Imperium [Ou] se a base for boa utilizarei ela.
       
      PRINT DA DISTRO ABERTA: