Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Como funciona esse sistema?

R-> Simples caso seu otServ for para todos os players, de todos continentes e você não

queira deixar as funções em lua apenas em uma língua, você pode utilizar esse sistema.

 

Como usar?

R-> Após o sistema estar instalado 100%, vai ter 3 comandos: !lang en (setar a linguagem para english), !lang pt (setar a linguagem portuguese) &

!lang es (setar a linguagem espanõl).

MwtqREJ.png

Vamos começar, vai em data/lib/ e crie um arquivo chamado lang system.lua e coloque isto dentro:

function getPlayerLanguage(cid) 
    local Lang = db.getResult("SELECT `language` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
    if Lang:getID() ~= LUA_ERROR then
        local langid = Lang:getDataInt("language")
        Lang:free()
        return langid
    end
    return LUA_ERROR
end

function doPlayerSetLanguage(cid, new) 
    local acc = getPlayerAccountId(cid)
    if new == 2 then
        db.executeQuery("UPDATE `accounts` SET language = 2 WHERE `id` = " .. acc)
    elseif new == 1 then
        db.executeQuery("UPDATE `accounts` SET language = 1 WHERE `id` = " .. acc)
    else
        db.executeQuery("UPDATE `accounts` SET language = 0 WHERE `id` = " .. acc)
    end  
end

Ainda em data/lib encontre o arquivo 000-constant.lua e coloque ao final dele isto:

ENGLISH = 2
SPANISH = 1
PORTUGUES = 0

Agora execute este código na sua SQL:

ALTER TABLE  `accounts` ADD  `language` INT( 11 ) NOT NULL DEFAULT  '0'

Pronto, o sistema está pronto agora vamos criar um comando para que troque a linguagem, vá em data/talkactions/scripts

e crie um arquivo chamado lang.lua e coloque isto dentro:

function onSay(cid, words, param)

if(param == '') then
return true
end

if(param == 'en') then
if getPlayerLanguage(cid) == 2 then
doPlayerSendTextMessage(cid, 20, "[Language System (Beta)] Your language is alredy set to english.")
return true
else
doPlayerSendTextMessage(cid, 27, "[Language System (Beta)] You have set english as your language.")
doPlayerSetLanguage(cid, 2)
return true
end
end

if(param == 'pt') then
if getPlayerLanguage(cid) == 0 then
doPlayerSendTextMessage(cid, 20, "[Language System (Beta)] Sua língua já está definida como português.")
return true
else
doPlayerSendTextMessage(cid, 27, "[Language System (Beta)] Você definiu o português como sua língua.")
doPlayerSetLanguage(cid, 0)
return true
end
end

if(param == 'es') then
if getPlayerLanguage(cid) == 1 then
doPlayerSendTextMessage(cid, 20, "[Language System (Beta)] Su lengua ya esta definida como español.")
return true
else
doPlayerSendTextMessage(cid, 27, "[Language System (Beta)] Tu definistes el español como tu lengua.")
doPlayerSetLanguage(cid, 1)
return true
end
end
end

E em data/talkactions abra o talkactions.xml e coloque está tag:

<talkaction log="yes" words="!lang" event="script" value="lang.lua"/>

Vou dar um exemplo de como usa-la em .lua:

if getPlayerLanguage(cid) == 2 then
	doPlayerSendTextMessage(cid, 25, "This message will be displayed in English if the language of the player is in -en!")
end
	
if getPlayerLanguage(cid) == 0 then
	doPlayerSendTextMessage(cid, 25, "Está mensagem será exibida em português se a linguagem do jogador estiver em -pt!")
end

if getPlayerLanguage(cid) == 1 then
	doPlayerSendTextMessage(cid, 25, "Usted mensaje se mostrará en Espanõl si el jugador está en el lenguaje -es!")
end

Outro Exemplo:

function onLogin(cid)
	local langmsg = {
		[ENGLISH] = {"This message will be displayed in English if the language of the player is in -en!"}
		[SPANISH] = {"Usted mensaje se mostrará en Espanõl si el jugador está en el lenguaje -es!"},
		[PORTUGUES] = {"Está mensagem será exibida em português se a linguagem do jogador estiver em -pt!"},
   	 }

	doPlayerSendTextMessage(cid, 25, langmsg[getPlayerLanguage(cid)][1])
    	return true
	end

Pronto, agora o sistema está perfeito, os comandos estão no começo do tópico em "Como usar?"

 

créditos:

Acubens 

Drazyn1291 

MySticaL

Link para o post
Compartilhar em outros sites
  • Respostas 7
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Como funciona esse sistema? R-> Simples caso seu otServ for para todos os players, de todos continentes e você não queira deixar as funções em lua apenas em uma língua, você pode utilizar esse sistema.   Como usar? R-> Após o sistema estar instalado 100%, vai ter 3 comandos: !lang en (setar a linguagem para english), !lang pt (setar a linguagem portuguese) & !lang es (setar a linguagem espanõl). Vamos começar, vai em data/lib/ e crie um arquiv

esse sistema é bem antigo, lembro que postei uma versão dessas em 2010... Mas o sistema é bem útil! No caso ao invés de fazer por DB, seria mais simples fazer por storage, só alterando os values... 

@Phineasz Você praticamente teria que editar todas as quest, npc, globalevents, etc... para colocar as frases em inglês, espanhol, pt e tal... ai sim vai ter diferença.

@Tópico aprovado e movido para área correta! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

esse sistema é bem antigo, lembro que postei uma versão dessas em 2010... Mas o sistema é bem útil! No caso ao invés de fazer por DB, seria mais simples fazer por storage, só alterando os values... 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
  • 5 months later...
  Em 17/01/2017 em 16:02, Vodkart disse:

esse sistema é bem antigo, lembro que postei uma versão dessas em 2010... Mas o sistema é bem útil! No caso ao invés de fazer por DB, seria mais simples fazer por storage, só alterando os values... 

Expand   Mostrar mais  

Fazendo por DB, você pode pegar essa configuração geral por account, por exemplo, Eu tenho char 1 e char 2, se eu logar em qual quer um dos dois sempre vai está na mesma linguagem. E também o site, se ele for multi-linguagem, você loga na sua conta, ele checa sua linguagem padrão e já configura. Pode-se usar também em conjunto com o OTClient. Há infinitas possibilidades.

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites
  • 6 months later...

Agora execute este código na sua SQL:

ALTER TABLE  `accounts` ADD  `language` INT( 11 ) NOT NULL DEFAULT  '0'

Mano como executo esse codigo na SQL ?? 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Thiagodsw
      Olá galera do Tibia King !
      Venho por meio deste tópico, publicar a ultima versão do meu servidor derivado de Tibia NTO Battle.
       
      deixei para brincarem e verem sistemas, as sources não disponibilizarei nem o site. afinal é um projeto que fiz com carinho e está a venda as sources. Thogo#9713
       
      O que tem de diferente no NTO Battle ? 
       
      Aura System e Wings Healthbar Monster Bar Healthbar vocation Sistema Raridade Shaders Dungeons e Tasks Game Shop Entre outros Veja algumas Imagens !
       
       
      O que tem nesse Pacote de Arquivos NTO Battle? 
       
      Datapack mais recente e completa do servidor. ( compilada pra windows Client Compilado SQL
      ACC GOD - god/god


      QUALQUER MSG NO DISCORD Thogo#9713
      -source client e otserv e site.
       
      DOWNLOAD  &  SCAN


       
      Client:
      https://mega.nz/file/hbgnSDRJ#xQT-qQHWLUV2Dn8jalwMGblCWnmL0_s3rZfqbxO7znw
      Server:
      https://mega.nz/file/sSZXlZ6a#gow-Db6diNVrnnPIH7qyBqP8WmVLFxWy85-yub_f32Y


       
      Scan
      Client
      https://www.virustotal.com/gui/file/86da72135d75d826c2665bb572084c30288eea843c2cfe2f7a405cfe1ea2f59c/detection
      Servidor
      https://www.virustotal.com/gui/file/cfa4d83c8b6c12fa0daf28cefd6762a053aee7245e6be8f5c02594825a2e2c1e?nocache=1
    • Por dodoby
      - Pokemon Imperium -
      ✺ INFORMAÇÕES
      ✺EDIÇÕES
      ✺PRINT's
      ✺ERROS - BUGS
      ✺CRÉDITOS
      ✺DOWNLOAD's

      Projeto tinha somente minha (LORDBAXX) dedicação, e tenho certeza que servirá para boas bases de projetos futuros.
      Eu trabalhava nele sempre um pouco, tanto na criação de sistemas quanto em codes para as sources (Ainda não muito modificada), o servidor é instituído somente pela primeira geração e todos os shinys (Primeira Versão), um detalhe sobre os shinys é que são de respawn com cores diferentes, pode nascer tanto de uma cor quanto de outra! (EXCRUSIVO)
      Continuo Trabalhando no servidor, então qualquer atualização estarei postando, e quem puder ajudar em melhorias, toda ajuda é bem vinda! 
      Vou listar alguns sistemas novos!
      ¤ Egg System (Único) - 100%
      ¤ TM System
      (Não único porém diferenciado)
      ¤ Age System
      (Sistema de idade nos pokemons, quando seu pokemons alcançar certas idades, vc pode ganhar items e até egg's, "IDADE MÁXIMA 30", Pode ser modificado)
      ¤ Evolution System
      (Modificado, seu pokemon pode ser evoluído pelo level usando um item de evolução que mostrarei logo mais nos prints, ou utilizando stone sem precisar de level)
      ¤ Pokeball's animadas
      ¤ Rare Candy para level e para idade
      ¤ Boost system
      (Temporariamente retirado para testes, talvez volte na v2)
      Bom estes são alguns dos sistemas, agora irei mostrar os sistemas tradicionais de todo servidor!
      ¤ Catch System - 100%
      ¤ Nurse - 100%
      ¤ 6 Balls diferentes - Normal ball, Super ball, Great ball, Ultra ball, Master ball e fresh ball
      ¤ Order system - 100% (Move, rock smash, dig, cut, fly, ride, surf ambos funcionando perfeitamente)
      ¤ Evoluções - 100%
      ¤ Pokemons Passivos e Agressivos - 100% (Demorou mais consegui rs')
      ¤ Mapa incompleto - somento uns 5 ou 10 % do mapa feito por mim ( Estava focado nas script's )
      ¤ Gender system - 100%
      ¤ Pokemons balanceados de acordo com o level e com seus determinados loot's e moves
      Acho que é isso se esqueci algo posto logo mais!
      Print's




      Erros-Bug's



      Créditos
      Lordbaxx - Sistemas, Scripts, codes, mapa - SERVER
      NextBr - Pelo sistema de idade no qual trabalhei
      Qualquer outro envolvido será creditado!
      DOWNLOAD's



      LEMBRANDO QUE AS SPRITES DOS POKEMONS SÃO DAS MAIS ANTIGAS ENTÃO SEM RECLAMAÇÕES POIS É UMA COISA SIMPLES DE SE FAZER!
      OBRIGADO VLW FLW
      att: LORDBAXX
    • Por KotZletY
      Salve geral, recentemente fiz um Task System para meu servidor, então gostaria de compartilha ele com vocês, assim como outros scripts que fiz e gostaria de compartilhar. Bom, vamos ao que interessa.
                        
       
                                                                                                               Informações!!
      Task Normal - Você 1x por vez, quantas vezes quiser, repetindo a task se também quiser.
      Task Diaria -  Você faz uma vez por dia, não podendo repeti em quanto as 24 horas não terminar.
      Task Rank - É mostrado na descrição do player qual rank task ele possui.
      Task Rank Quest - Um extra desse task system é o piso task, será explicado na parte do script, leiam com atenção.
      Task Comandos - Comandos task, 1 para ver o progresso das suas task e outro para mostrar informações do seu personagem, como uma consulta, os comandos são: !task que mostra quais task você ta fazendo, tanto diaria quanto normal e !task me que mostrar informações do seu personagem, como rank, quantidade de pontos task e quantidade de pontos task rank.
      Well, o resto é surpresa, cabe você descobrir! xD
       
       
      Para não ficar só nas palavras, mostrarei algumas imagens, várias no caso: Removida, colocarei novas!
       
                                                                                                               Instalação!!
      Muito bem, chega de conversa, como instalar logo essa bagaça. Primeiramente vá em data/lib e abra o arquivo lib.lua e adicione:
      dofile('data/lib/task system.lua') Ainda na pasta lib crie um arquivo.lua chamado task system.lua e adicione esse code dentro:
       
      No final do tópico, ensinarei a configurar a lib. Agora vai em, data/npc e crie um arquivo.xml chamado  task.xml e coloque esse code dentro:
      <?xml version="1.0" encoding="UTF-8"?> <npc name="NPC Task" script="task system.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="430"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. I'm in charge of delivering missions to the players. Would you like to do a {normal} task, {daily} task, {receive} your reward from a task or {abandon} a task ? You can also see the {normal task list} and the {daily task list}."/> <parameter key="message_farewell" value="See you later." /> <parameter key="message_walkaway" value="See you later." /> </parameters> </npc> Ainda na pasta npc, entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro:
       
      Agora vá em data/talkactions e abra o arquivo talkactions.xml e adicione a seguinte tag:
      <talkaction words="!task" separator=" " script="task system.lua" /> Ainda na pasta talkactions entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro dele:
       
      Agora vá em data/creaturescripts e abra o arquivo creaturescripts.xl e adicione a seguinte tag:
      <event type="kill" name="tasksystem" script="task system.lua"/> Ainda na pasta creaturescripts entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro dele:
      Ainda na pasta script  abra o login.lua e adicione dentro:
      player:registerEvent("tasksystem") Agora vá em data/events/scripts e abra o arquivo player.lua, depois de aberto, antes de:
      self:sendTextMessage(MESSAGE_INFO_DESCR, description) adicione:
      if thing:isCreature() then if thing:isPlayer() then description = string.format("%s\nTask Rank: "..getRankTask(thing), description) end end  
                                                                                              Extra(Opcional)!!
       
      Extra,  vá em data/movements/scripts e crie um  arquivo chamado tile task.lua, depois de aberto, antes de:
            
      Vá em data/movements/movements.xml adicione: 
      <movevent event="StepIn" actionid="XXXX" script="tile task.lua"/>  
      Explicação: Com esse movements acima, você só poderá passar por o piso caso tenha pontos task necessário para passar, se ativar a opção, removePoints então a mesma quantidade de pontos necessária para passar, será removida, ao passar, caso esteja desativada, então
      apenas será necessário ter os pontos task para passar. Em XXXX coloque o actionid, e o actionid coloque no piso desejado!
       
      New Extra: Vá em data/movements/scripts e crie um arquivo chamado tile task2.lua e adicione o seguinte scripts:
       
      Vá em data/movements/movements.xml adicione:  
      <movevent event="StepIn" actionid="XXXX" script="tile task2.lua"/> Explicação: Ao adicionar esse movements acima, você só poderá passar pelo piso caso seu rank task seja igual ou superior ao rank definido na variável, caso não seja igual e nem superior, não será possível passar.
      Configure na lib, a sequência de ranks de acordo com a sequência de rank da tabela de pontos, assim:
       
      A sequência precisa está igual e numeradas.
                                                                                               Configurando!!
      task_monsters = { [1] = {name = "monster1", mons_list = {"monster_t2", "monster_t3"}, storage = 30000, amount = 20, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {name = "monster2", mons_list = {"", ""}, storage = 30001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {name = "monster3", mons_list = {"", ""}, storage = 30002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {name = "monster4", mons_list = {"", ""}, storage = 30003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} } task_daily = { [1] = {name = "monsterDay1", mons_list = {"monsterDay1_t2", "monsterDay1_t3"}, storage = 40000, amount = 10, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {name = "monsterDay2", mons_list = {"", ""}, storage = 40001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {name = "monsterDay3", mons_list = {"", ""}, storage = 40002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {name = "monsterDay4", mons_list = {"", ""}, storage = 40003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} }                                        
                                                    
      nome - Nome do monstro.
      mons_list - Nome dos monstro que são semelhantes e que matando eles também contará.
      Exemplo:
      name = "troll", mons_list = {"troll","frost troll","island troll"} e assim matando,  troll, frost troll e island troll contará na task também.
      storage - É a storage que salva a quantidade de monstros já matados.
      amount - É a quantidade necessária de monstros matados para finalizar a task.
      exp - É a quantidade de Experiência que vai ganhar ao finalizar a task, caso não queira dar experiência, basta deixar em 0.
      pointsTask = {Task Points Que vai ganhar(Pontos usado no piso e etc..), Pontos Rank, que irá ganhar e aumentar seu rank.}
      items - Itens que o player vai ganhar, devem está tabelados, dentro da tabela item, adicione das tabelas contendo o id do item e count, quantidade de items que irá ganhar.
      Ex: items = {{id = 2157, count = 1}, {id = 2160, count = 3}} -- Aqui contém 2x tipos de itens, o 2157 e o 2160, e suas devidas quantidades que irá ganhar.
      items = {{id = 2157, count = 1}} -- Aqui só tem 1 tipo de item e a quantidade que vai ganhar.
      Adicione quantos itens quiser. O mesmo vale para as task diarias!
       
       
       
      Bom, é isso ae, qualquer duvida, crítica, sugestões, deixem ae, se precisa de suporte na instalação ou está com erro em algo estarei dando suporte, abraços e bom uso do sistema.
      É totalmente proibido leva meu sistema para outro site, blog ou fórum!
    • Por Gabrieltxu
      Prometi a mim mesmo não ajudar mais a comunidade, porem com os acontecimentos em cima dessa base me deixou com raiva e vim compartilhar a mesma com vocês, o servidor foi feito em cima da base vasada do Psoul, onde Walox e outro que não sei o nick trabalharam, porem como já de costume Walox melhorou a interface assim como a Mytology e a ZRing, e para não perder o costume anunciou a venda do mesmo, onde algumas pessoas chegaram a pagar bem caro pela base, quase 2 mil reais. 
      Até ai tudo bem, porem não contente começou a vender ainda mais copias do servidor, e quem comprava também vendia a copia do servidor, algo que acho totalmente errado.
      Enfim para acabar com essa palhaçada hoje estou postando a base.
       
      Ressalvo que NÃO IREI DAR SUPORTE A ESSA BASE, BASE CONTEM MUITOS BUGS, OQUE TEM DE MELHOR É A INTERFACE MESMO 
       
      Algumas Imagens do servidor:
       
      Scans
       
      Link para Download (Contem tudo, Client, server etc..): https://mega.nz/file/6dIwRaxT#y2nRFVckLLTLFSBRRtEUJVb-KBAwVPfMhqxyTEEv4Cs
      Mediafire: https://www.mediafire.com/file/d89t3ol1beq8129/poke+jornadas+completo+++src.rar/file
      Senha do Winrar: naoetrote1234567890@
       
      Créditos:  - Criadores da base Psoul
                       - Walox (Wave) e equipe
       
       
      É isso, espero que essa pratica de venda de servidores desenfreados acabe, desejo boa sorte a todos com a base e façam bom proveito.      
       
       
    • Por M ustang
      Olá vim aqui postar o servidor do NARUTO STORM e NARUTO UNLIMITED pois o servidor foi vendido e mesmo assim colocaram o servidor online depois de prometer que não iriam abrir.
      Com mesmo mapa etc.
      https://www.youtube.com/channel/UCpqGkQxffeaqRdxf8UvAyUg Aqui possui alguns videos do que contem no servidor.
       
      Link do server: 
      https://mega.nz/file/q6YQhKLa#-QJ8sK-wwaL-9d4My2LdLYABjcgrVaw73mWEewTCdTI
      Scan
      obs: Scan por @LeoTK
       
      Informações do Servidor:
      System de FLY
      Portões do GUY
      Imortal
      Mapa proprio
      Radar Bijuu
      OBS: CONTEÚDO PRÓPRIO PARA ESTE FÓRUM COMO FOI COMPRADO QUERO O CONTEÚDO SÓ AQUI NÃO ESTÁ LIBERADO A POSTAGEM EM OUTROS FÓRUNS 
      ( não recomendo baixar e colocar online e sim estudar oque foi tentado criar pois contem muitos bugs )
       
      Servidor criado por: Daniel e Bruno.
      Tenho o total direito de postar pois o mesmo foi vendido para varias outras pessoas.
      Caso precisem de provas que o servidor foi comprado mande uma mensagem na DM.
  • Estatísticas dos Fóruns

    96844
    Tópicos
    519597
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo