Cara o script tem uma função um incrível e você ainda conseguiu simplificar-lo ao máximo, parabéns!
É ótimo para servidores com um grande publico estrangeiro... ;]
REP+ abraços...
info
Grupo: Herói
Registrado: 25/06/08
Posts: 723
Reputação: +275
Gênero: Masculino
Char no Tibia: Diiva

Cara o script tem uma função um incrível e você ainda conseguiu simplificar-lo ao máximo, parabéns!
É ótimo para servidores com um grande publico estrangeiro... ;]
REP+ abraços...
info
Grupo: Artesão
Registrado: 13/05/10
Posts: 114
Reputação: +11

Ótimo, vale apena por no Ot. Tem muita gente da polonia, espanha, estados unidos...
Vou pôr aqui, valeu.
+REP
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

fiz uma chest só para demonstrar como ficaria + ou -
-- Demon Armor chests
local msgs = {
success = {"You have found a Demon Armor ", "Você achou uma Demon Armor "},
fail = {"It is empty.", "isto está vazio."}
}
function onUse(cid, item, frompos, item2, topos)
if item.uid == 7696 then queststatus = getPlayerStorageValue(cid,7696)
if queststatus == -1 then
local msg = msgs.success[getPlayerLanguage(cid)]
doPlayerSendTextMessage(cid,22, msg)
doPlayerAddItem(cid,2494,1)
setPlayerStorageValue(cid,7696,1)
else
local msg = msgs.fail[getPlayerLanguage(cid)]
doPlayerSendTextMessage(cid,22, msg)
end
else
return 0
end
return 1
end
info
Grupo: Marquês
Registrado: 08/05/08
Posts: 1.3k
Reputação: +168

Muuuuuito bom cara, parabéns mesmo!!
REP+
Só uma coisa: Não seria: you change your language to english?
Abraços!
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

edited
ah ta sim na imagem
SUHIUSHuishIUsiuh' aquilo era test pronto arrumado ![]()
@UP
sim mais isso acontece automaticamente por causa da variavel que contem na lib
ou seja quando eu aciono o [1] que no caso é a ingles a variavel manda a mensagem correspondente da tabela xD
Editado Junho 20 por Vodkart
info
Grupo: Campones
Registrado: 05/04/11
Posts: 34
Reputação: +6

putz esse sistema eu gostei,vou colocar no meu ot para os gringos ![]()
info
Grupo: Campones
Registrado: 24/06/10
Posts: 87
Reputação: +2
Char no Tibia: Loading...

qual versão do tibia serve foi usado?
bom script
so não vou uzar pq to com preguiça de fazer meu serve todo denovo :confused:
Aprovado
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Wow, apesar de ser mais um tópico revivido, gostei muito do script. É realmente bem útil, só fazer uma talkaction para mudar de língua ai fica bacana, até.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino
Sistema de Multi Linguaguem
1- O que é e como funciona?
Uma palavra exemplo "uma coisa", que permite aos jogadores um jogo mais fácil do idioma do servidor exterior.
Dizer "uma coisa" eu quero dizer o conjunto de funções (não só uma) para ajudar a escrever scripts em que as informações transmitidas para os jogadores serão exibidos em diferentes idiomas. Bem, bem, vamos continuar...
2- Instalação.
vá até Data\lib abre o 050-function.lua
e adicione:
---------------Linguaguem--------------- local config = { default = 1, storage = 11548, languages = { [1] = "english", [2] = "portugues" } } function getPlayerLanguage(cid) local status = getPlayerStorageValue(cid, config.storage) if(status == -1 or status == 0) then setPlayerStorageValue(cid, config.storage, config.default) end return getPlayerStorageValue(cid, config.storage) end function getPlayerLanguageName(cid) local status = getPlayerStorageValue(cid, config.storage) if(status == -1 or status == 0) then setPlayerStorageValue(cid, config.storage, config.default) end return config.languages[getPlayerStorageValue(cid, config.storage)] end function setPlayerLanguage(cid, languageId) return setPlayerStorageValue(cid, config.storage, languageId) end function getLanguagesList() return config.languages endPara adicionar uma nova língua deve ser colocada na tabela:
obs: só não se esqueça da virgula.
Bem, o sistema foi instalado. Somente o jogador pode mudar isso, o script é simples ele que irá fornecer informações básicas sobre o sistema e permitir a alteração do idioma.
Agora vá até
Data\Talkactions\script crie um arquivo.lua e renomeie para
language.lua
function onSay(cid, words, param, channel) local msgs = { info = {"Multi language system\n\n commands:\n /lang language_number - if you want to set language\n\nLanguage list:\n", "Multi language system\n\n Comando:\n /lingua numero da linguaguem - Se você quiser mudar o idioma seleciona na lista\n\nLista linguagens:\n"}, succes_set = {"You change your language to ", "Você mudou o Idioma para "}, fail_set = {"Wrong param format.", "Param formato invalido."} } local t = string.explode(param, ",") if(not t[1]) then local languages = getLanguagesList() local msg = msgs.info[getPlayerLanguage(cid)] for id, name in pairs(languages) do msg = msg .."".. id ..". ".. name .."\n" end doPlayerPopupFYI(cid, msg) elseif(t[1]) then setPlayerLanguage(cid, tonumber(t[1])) local msg = msgs.succes_set[getPlayerLanguage(cid)] .."".. getPlayerLanguageName(cid) doPlayerSendTextMessage(cid, 22, msg) elseif(t[2]) then local msg = msgs.fail_set[getPlayerLanguage(cid)] doPlayerSendCancel(cid, msg) end return TRUE endEm talkactions.xml adicione a tag:
No início alguns podem ter problemas com a edição das informações apresentadas pelo roteiro, mas todos os problemas desapareceram depois de ler o próximo passo.
3- Utilizando o novo sistema.
Para exibir as mensagens em uma linguagem específica seria necessária a informação em uma linguagem que o jogador atua. Isto é possível graças ao "getPlayerLanguage(cid)", que retorna o id da linguagem escolhida pelo jogador. Então, no início de cada script é bom para fazer uma variável que irá armazenar esta informação:
Ok, mas onde obter o conteúdo das informações? A melhor maneira é armazená-lo (eles) na tabela...
Para visualizar esta mensagem em um jogador apenas deve se referir ao id correspondente, para esse fim, usamos uma variável que armazena o id do idioma do jogador:
local lingua = getPlayerLanguage(cid) local info = {"message in english", "mensagem em portugues"} local exibe_informa = info[lingua]Para visualizar a mensagem simplesmente usar o código da funções, tais como:
4. Screen's
Editado Junho 20 por Vodkart