Ir para conteúdo
  • Cadastre-se

[Tutorial Completo] Criando Um Cliente 100% Proprio


Posts Recomendados

criandoumcliente100prpr.png

Olá pessoal! Hoje vou ensinar a vocês como criar um cliente 100% próprio para seu servidor de tibia.

apresentaon.png

Bom, um cliente próprio de tibia nada mais é do que um cliente com várias coisas alteradas. Nesse tutorial vou ensinar a mudar e criar:

  • - A Tela principal.
  • - A Cor e a Forma dos botões.
  • - O ip (Os jogadores não precisarão de mult-ip-change para entrar no seu server)
  • - A Imagem dos Itens.
  • - Mudar o Idioma.
  • - Um Icone.
  • - Um instalador.

downloadsm.png

Existem vários tipos de arquivos que servem para editar seu cliente de tibia, aqui vou colocar os que eu recomendo, mas você está livre para escolher outros. Lembrando que você deve baixar o pacote que irei disponibilizar e um cliente de tibia com qualquer versão.

Pacote de Criação Cliente Próprio

Pacote de Criação Cliente Próprio (Rapid-Share)

Baixe Qualquer Cliente de Tibia - Clique para Escolher

SCAN

comeando.png

Baixe o pacote de criação para cliente próprio e um cliente de Tibia (Funciona com todas as versões).

1_bmp15.jpg

  • Em seguida, extraia todos os itens do pacote, e vá até a pasta onde se encontram os arquivos do tibia (Geralmente C:/Arquivos de programas/Tibia).

2_bmp12.jpg

Estando nessa pasta, copie os arquivos tibia.spr e o tibia.pic para a pasta do pacote.

3_bmp11.jpg

  • Crie uma pasta com o nome do seu cliente próprio (A maioria das vezes é : NOMEDOSERVER Cliente 1.0.0). Nesta pasta, coloque o Tibia.exe e o tibia.dat,que se encontram geralmente em C:/Arquivos de programas/Tibia.

4_bmp10.jpg

mudandoatelaprincipalbo.png

Bom, para começar a mudar esses 2 itens, extraia e abra o NoxPic, que se encontra na pasta do pacote.

5_bmp10.jpg

  • Com ele aberto, abra o paint/photoshop/photoscape/gimp e crie uma imagem com o tamanho 640x 480x (Não importa a imagem, só o tamanho)

6_bmp10.jpg

Depois de ter feito a imagem, salve ela com formato bmp e com o nome "0", sem aspas, na pasta do pacote.

7_bmp10.jpg

  • Feito isso, vá até o NoxPic e clique naquela seta para baixo e selecione Menu Background, e depois em Load Image, depois disso, selecione a imagem que você salvou com o nome 0.

8_bmp10.jpg

  • Depois disso, o programa irá carregar a sua imagem. Para visualizar sua imagem clique em preview, se você não gostou do jeito que ficou, repita o processo, mas se você gostou assim, clique em Save.

  • Você pode ver que ele criou um arquivo chamado Noxitu na pasta onde ele estava localizado, renomeie esse arquivo para Tibia, e cole-o na pasta que você criou para o seu cliente.

9_bmp10.jpg

Pronto! Você mudou a tela principal do seu cliente! Agora que tal mudar os botões?

  • Vá até o NoxPic, e clique naquela seta para baixo e selecione Window Theme. Clique em Save Image, e salve-a na pasta do pacote, com o nome 1.

10_bmp10.jpg

  • Agora vá até onde você salvou a imagem, e abra-a com o paint/photoshop/photoscape/gimpp. Edite o que você quiser, e depois de editar bem, você terá algo +/- assim:

11_bmp11.jpg

  • Salve, e feche. Agora vá até o NoxPic e clique em Load Image. Feito isso, selecione a imagem 1.

12_bmp10.jpg

  • Agora vá ao NoxPic e clique em Save. Agora vá até a pasta do pacote e lá você encontrará outro arquivo com o nome de Noxitu, copie ele e cole na pasta do seu cliente próprio. Renomeie ele para Tibia (Substitua ele pelo antigo, o que você usou para mudar a tela principal).

13_bmp10.jpg

Pronto! Você Mudou a Tela principal e os Botões!

mudandooipconexo.png

A maior vantagem de um cliente próprio é que você não precisa de Tbia-multi-ip-changer para entrar no servidor. Bem, vou ensinar como fazer isso:
  • Vá até o site No-ipe crie uma conta. Depois de ter criado, logue-se, e clique em Add a Host.

14_bmp10.jpg

Agora você precisa criar um host para que as pessoas entrem no server pelo cliente. Lembrando que só pode ter 19 letras, então coloque um nome fácil. Ex: svclient.no-ip.info

15_bmp10.jpg

  • Feito isso, clique em Create Host.
  • Pronto! Seu ip está criado! Agora baixe o No-ip DUC. Esse programa serve para atualizar o seu ip, ou seja, toda vez que reiniciar seu computador, abra esse programa, coloque sua senha, selecione seu ip, clique em Save e depois clique em Refresh Now.

  • Agora que você já tem seu ip criado, vá na pasta do pacote, e extraia e execute o Client Creator.

16_bmp10.jpg

  • Clique em Arquivo e Selecione o Tibia.exe da pasta que você criou para o seu cliente.

17_bmp10.jpg

  • Agora volte para o cliente creator, e onde está escrito Seu ip, coloque o ip que você criou (no meu caso, ipaqui.no-ip.info). E então clique em Alterar.

18_bmp10.jpg

Pronto! Seu Cliente agora não precisa de Multi-ip-Change!

mudandooidioma.png

Essa é a parte mais complicada, por isso deixei para o final. Para começar extraia o XVI32 e abra-o.

20_bmp10.jpg

  • Agora clique em File, open e selecione o seu tibia.exe.

21_bmp10.jpg

  • Agora vamos traduzir uma paralavra. Aperte Ctrl+F, desmarque a opção Case sensitive, e marque a opção Text string. Agora digite Enter Game e de ok.

21_bmp11.jpg

  • Esse é o texto que vai em cima do botão, então procure digitar um sempre com a mesma ou menor quantidade de letras. (ATENÇÃO!: Nunca aperte delete nem o backspace, pois se sumir um quadradinho desses, irá bugar o seu tibia.exe, então lembre-se de fazer um backup).
  • Aqui vou escrever Entrar, é só escrever do lado direito.
  • Para apagar os quadrados que sobraram, vá do lado esquerdo e digite 00 onde você deseja apagar.

22_bmp10.jpg

--------------------------------------------------------------------------------------------

capia_11.jpg

--------------------------------------------------------------------------------------------

capia_12.jpg

  • Faça isso com tudo o que você quiser traduzir, até que fique totalmente em português.
  • Depois de editar bastante, clique em File, e depois em Save.

  • Agora vá até a pasta do seu cliente e abra-o para ver como ficou.

  • Possíveis erros:

  1. Se você editou, mas não está aparecendo nada no botão, tente muda-lo de posição, como 2 quadrados para trás ou para frente.

  2. Se você editou, salvou, e na hora de abrir apareceu: Tibia.exe Não é um aplicativo win32 válido, é porque você deletou algum quadrado, para concertar isso, pegue um novo tibia.exe e edite denovo.

criandoumicone.png

Essa é a parte mais fácil do Tutorial, para criar um ícone, abra o paint/photoshop/photoscape/gimpp e crie um arquivo 300x 300x.

27_bmp10.jpg

  • Primeiro descida se vai ser um ícone, quadrado, redondo, triangular etc. Para o tutorial, vou usar só um escrito.

29_bmp10.jpg

  • Salve em formato PNG com transparência atrás (A Transparência não funciona no paint)

  • Clique em Escolher arquivo e selecione o seu arquivo

28_bmp10.jpg

  • Agora clique em Convert. Agora, clique com o botão direito do mouse em Click here to download, e selecione Salvar link como.

30_bmp11.jpg

  • Agora salve na pasta do seu cliente próprio com o nome ico_NOMEAQUI

31_bmp10.jpg

Pronto! Você criou um ícone! Agora é só aplica-lo no seu cliente criando uma instalação, que é o próximo passo.

criandouminstalador.png

Antes de começar, teste o seu cliente para ver se tudo está funcionando corretamente, e certifique-se de que o arquivo .ico está lá.

  • Depois de Baixar, instale-o e rode-o.

25_bmp10.jpg

  • Bem, para começar, renomeie o Arquivo .exe do seu cliente.

26_bmp10.jpg

  • Depois de Renomear, volte ao Intall Creator, e clique no icone a direita de Source Directories.

31_bmp11.jpg

Agora clique nos ... e selecione a pasta do seu cliente.

32_bmp10.jpg

---------------------------------------------------------------------------------------------

33_bmp10.jpg

  • Agora, no lado esquerdo, provavelmente apareceram 5 itens, selecione o executavél.

34_bmp10.jpg

  • Agora, a direita, clique na aba Shortcut.
  • Em Desktop shortcut name, coloque o nome do executavél do seu arquivo.
  • Em Command line options, deixe em branco.
  • E em Icon file, clique nos ... e selecione seu icone.

35_bmp10.jpg

Agora, vá na aba Wizard Texts. Aqui você editará todos os escritos de todas as etapas, mais você também pode deixar assim.

Agora na mesma aba, em Replace #Title macro by, coloque o nome do cliente.

36_bmp10.jpg

  • Agora na aba Window, você escolhe o tipo da janela da instalção, ou seja, se é full screen, ou normal. Selecione a que você achar melhor.

37_bmp10.jpg

  • Em installer icon, você pode mudar o ícone do instalador, mais eu recomendo não mudar, pois ele só suporta gráficos com uma definição muito ruim.
  • Em Wizard Template, em left bitmap você escolhe a imagem da esquerda, em top bitmap você escolhe a imagem do topo. Para pré-visualizar, clique em preview.

  • Agora vá na aba Options, e em installation directory, escreva: #Program Files#\nome do seu cliente

37_bmp11.jpg

  • Agora vá na aba Build, e clique em Build

39_bmp10.jpg

  • Agora, selecione o desktop, e salve lá.

40_bmp10.jpg

Aguarde alguns instantes e pronto! Você criou um instalador para seu cliente!

Gostarao? Comentem!

Creditos Ao Jakiin (Segundo Anne)

Editado por Stigal (veja o histórico de edições)

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord TibiaKing

 

Link para o post
Compartilhar em outros sites

tutorial do jakiin totalmente copiado sem creditos.

16/11/2014

23/11/2014

 

RIP AnneMotta 21/01/2012 - 15/01/2014

Liga das lendas: DIAMOND É A META

6qpqBbJ.png

Link para o post
Compartilhar em outros sites

@Stigal

Como informado pelos colegas, tudo que não é de sua autoria, deve ser dado os créditos a quem fez!

Peço que em todos os tópicos que você tenha postado, coloque os devidos créditos (nome do usuário) de que fez o tópico original!

# Regras Gerais - TibiaKing.com #
Contato: [email protected]
Não respondo dúvidas via MP.


1C2tu.png4Tlqo.png1C2tu.png


 

Link para o post
Compartilhar em outros sites

Sorry, Mas Não Peguei No Comcorrente! (x...)

Eu Fiz Um Forum Um Tempo Atras e Forao Publicando Esses Tutoriais Sem Creditos!

Minha Intenção é Trazer o Tutorial Para Ajudar, Mesmo Assim Me Passem Por PVT O Nick Do Criador Que Adiciono Ao Topico!

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord TibiaKing

 

Link para o post
Compartilhar em outros sites

mandei o link do perfil do criador do topico original, depois só adicionar os creditos, até.

16/11/2014

23/11/2014

 

RIP AnneMotta 21/01/2012 - 15/01/2014

Liga das lendas: DIAMOND É A META

6qpqBbJ.png

Link para o post
Compartilhar em outros sites

Cara NÃO importa da onde você tenha pego o tutorial SEMPRE bote os créditos!! ¬¬

Link para o post
Compartilhar em outros sites

Creditos Adicionados... Vi Bem Nas Imagens e o Topico Nem e Do Comcorrente!

Seria De Outro Forum Com Outros Assuntos (Web...)

Procurei La e Achei o Mesmo Usuario Que Anne Informou Com o Mesmo Topico!

Obrigado Por Informarem!

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord TibiaKing

 

Link para o post
Compartilhar em outros sites

verifiquei pela data da postagem :

webcheats = 27-07-2011

xti~ = 28 de outubro de 2011

sé estiver errada desculpe.

Editado por adrianoo1997 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

você esta errado, pois eu ajudei criar este topico, ajudei jakiin criar no xti~, até.

16/11/2014

23/11/2014

 

RIP AnneMotta 21/01/2012 - 15/01/2014

Liga das lendas: DIAMOND É A META

6qpqBbJ.png

Link para o post
Compartilhar em outros sites

Bom Eu Vi Na Web...

Creditos Estavao a Ele! Mas Não Consegui Ver o Postador Pq To Com Uma Net Via Manivela (SPEEDY)

Mais Creditos Forao Adicionados!

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord TibiaKing

 

Link para o post
Compartilhar em outros sites
  • 1 year later...
  • 5 months later...

Mano Sou grato Pela Explicaçao Mais Os Cara ainda pode decopilar o client vc conhece uma maneira deles nao decopilar ?

NTO PANZER SERVIDOR 24H 

1554689_1.png

http://narutopanzer.blogspot.com.br/

RATE  EXP 999

 

DBO SERVIDOR 24H 

1549171_1.png

http://dbowtf.ddns.net/

RATE EXP 400

 

 

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

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 Underewar
      Tutorial: Criando um Sistema de Enviar efeito com OTClient.


       
      Neste tutorial, vamos criar um sistema simples de Enviar efeito no OTClient.
      Este sistema permitirá que os jogadores ativem um efeito especial e vejam uma janela ao clicar em um botão específico.
      Pré-requisitos:
      Ambiente de Desenvolvimento:
      Certifique-se de ter um ambiente de desenvolvimento configurado com OTClient Edubart. Conhecimento Básico em Lua:
      Familiaridade com a linguagem de script Lua.
       
      Passo 1: Estrutura do projeto
       
      Organize seu projeto conforme abaixo:

      OTC / MODS



      Passo 2: Criando a Interface Gráfica (OTUI)

      game_pass.otui
      Repare que em nossa interface nossos botões de ação entram no caminho do module e iniciam uma função que esta disponivel em nosso game_pass.lua (Client-Side)

       



      Passo 3: Criando funções Client-Side

      Agora com as funções criada podemos chamar elas de acordo com a necessidade em nosso arquivo de interface.
      Por exemplo a função effect() que foi chamada em nosso arquivo de interface.otui agora é criada aqui para mostrar o efeito ao jogador.

      game_pass.lua
       
       
      Passo 4: Registrando o novo Mod

      Agora podemos registrar e iniciar nosso modulo usando o arquivo de configuração

      game_pass.otmod
       

      Feito isso ja podemos ver nosso module no client e enviar opcodes através do gameprotocol e também receber o buffer para manipular os dados podemos utilizar :
      protocolGame:sendExtendedOpcode(14, "1")
      Basicamente oque estamos fazendo é armazenando o valor 1 na variaval 14 do ExtendedOpcode e futuramente podemos recuperar esse valor.

      Recuperamos esse valor em nosso server side data/creatuerscript/otc/game_pass.lua

      Verificando se o opcode é 14 se for 14 então fazemos x ação.

      Show, tendo isso em mente para que o nosso client-side consiga receber com sucesso o efeito enviado ao jogador então utilizamos 

      Passo 5: Criando o Server-side responsavel por enviar o efeito correto ao jogador dependendo do opcode selecionado no nosso cliente.

      data/creaturescripts/otc/game_pass.lua
       
      Passo 6: Registrando o evento para evitar erros futuros!
      Para que tudo funcione corretamente sem erros é  necessário registrar o evento no creaturescript.xml / login.lua

      creaturescript.xml
      <event type="extendedopcode" name="GamePass" script="otc/game_pass.lua" />
      login.lua
          player:registerEvent("GamePass")  


      Ótimo agora ao selecionar o menu recompensa o jogador recebera um efeito.

      Espero que tenha ficado claro como usar Opcodes/ExetendedOpcodes.

      Arquivos usados no tutorrial:
      OTC MODULE
      game_pass.rar
      Creaturescript
      game_pass.lua

      Vi muitos tutoriais desatualizado então resolvi trazer esse!
      Reparem que nesse caso passamos creature como parametro do buffer isso porque precisamos enviar um efeito no player.

      Melhorando a formatação com JSON Encoder

       
       
    • Por Mateus Robeerto
      este é um tutorial de como usar um cliente com spr/dat estendido e protegido pelo CAB.
       
      fiz um video mostrando como usar um client com spr/dat estendido sem o error, basta seguir passo a passo o que eu fiz, em resumo voce precisara copiar seu dat estendido pra outro local para poder editar ele, salvando ele como não estendido e dps renomeando para poder usar junto com o original e compilando tudo com o programa cab...
       
      A DLL ajuda o cliente a ler as 2 dat (compilada pelo programa cab) , sem ela o cliente não abre, caso o teu cliente tenha o bug do ctrl+n ou alguns outros bugs que eu vi em alguns casos, a DLL tem a função de arrumar a maioria deles.
       
       
       
       
       
      LINK DOWNLOAD
       
       
      https://www.mediafire.com/file/kxqkywxeijk8hn2/programa_para_oldclient.rar/file
      ou
      creator cab
      https://drive.google.com/file/d/19b-EqpS-RmOQ_1o7ubb2a7j6RKcijjUa/view?usp=sharing
      scan https://www.virustotal.com/gui/file/4398e414d680ac26addbedc1f20bd59a82b546a1633abbb02b13d2f7150e950e/detection
      DLL
      https://drive.google.com/file/d/1T8XgwgHJAO9sgw5WR809GjMfej2NvP3n/view?usp=sharing
      SCAN https://www.virustotal.com/gui/file/539f0f7187c668457a14d87603e075ab5d1b6f6ac6a17aabf2b591fc3c177741/detection
       stup-pe hoohar o client
      https://drive.google.com/file/d/1cwR1wj3M8IsvxmIt5pQhZ4-DlFSMQVal/view?usp=sharing
      scan https://www.virustotal.com/gui/file/d06889d61474ee9480947956e52916fb997a3717e9f59d3ed830b5c780e81340/detection
       
       
       
    • Por oclipper
      Nesse video eu ensino como encontrar os Address e Offsets basicos para OTClient, eu usei meu bot como exemplo, com essses dados voce pode atualizar e conseguir utilizar bastantes funçoes do bot (heal, mana train, auto utamo/hur, etc)

      tipos de variaveis pra cada offset:
      name = string
      hp = double
      mana = double
      light = 1 byte
      color = 1 byte
      flags = 4 byte
      speed = 4 byte
      pos x = 4 byte
      pos y = 4 byte
      pos z = 1 byte
      id = 4 byte 
      hp% = 1 byte
      direcao = 4 byte
      skull = 1 byte
    • Por EddyHavoc
      Resumo
      A maneira atual para implementar Modal Window é um pouco complicada. Atualmente precisamos cria-la em algum lugar, registrar o evento, adicionar os botões em uma ordem específica, definir o ID da janela, dos botões e da escolha. Isso não é o ideal, então esta biblioteca foi criada pelo Non Sequitur para ajudar nisso. E eu estou trazendo para a OtServBrasil.

      Exemplo/ Tutorial Usando Modal Window
       
      Instalando
      Adicionar em data/lib/lib.lua dofile('data/lib/modalwindow.lua') Crie o arquivo modalwindow.lua com o seguinte conteúdo em data/lib if not modalWindows then modalWindows = { modalWindowConstructor = ModalWindow, nextFreeId = 500, windows = {} } end local MT = {} MT.__index = MT function ModalWindow(...) local args = {...} if type(args[1]) == 'table' then local self = setmetatable(args[1], MT) local id = modalWindows.nextFreeId self.id = id self.buttons = {} self.choices = {} self.players = {} self.created = false modalWindows.nextFreeId = id + 1 table.insert(modalWindows.windows, self) return self end return modalWindows.modalWindowConstructor(...) end function MT:setDefaultCallback(callback) self.defaultCallback = callback end function MT:addButton(text, callback) local button = {text = tostring(text), callback = callback} table.insert(self.buttons, button) return button end function MT:addButtons(...) for _, text in ipairs({...}) do table.insert(self.buttons, {text = tostring(text)}) end end function MT:addChoice(text) local choice = {text = tostring(text)} table.insert(self.choices, choice) return choice end function MT:addChoices(...) for _, text in ipairs({...}) do table.insert(self.choices, {text = tostring(text)}) end end function MT:setDefaultEnterButton(text) self.defaultEnterButton = text end function MT:setDefaultEscapeButton(text) self.defaultEscapeButton = text end function MT:setTitle(title) self.title = tostring(title) end function MT:setMessage(message) self.message = tostring(message) end local buttonOrder = { [4] = {3, 4, 2, 1}, [3] = {2, 3, 1}, [2] = {1, 2}, [1] = {1} } function MT:create() local modalWindow = modalWindows.modalWindowConstructor(self.id, self.title, self.message) local order = buttonOrder[math.min(#self.buttons, 4)] if order then for _, i in ipairs(order) do local button = self.buttons[i] modalWindow:addButton(i, button.text) button.id = i if button.text == self.defaultEnterButton then modalWindow:setDefaultEnterButton(i) elseif button.text == self.defaultEscapeButton then modalWindow:setDefaultEscapeButton(i) end end end for _, choice in ipairs(self.choices) do modalWindow:addChoice(_, choice.text) choice.id = _ end self.modalWindow = modalWindow end function MT:sendToPlayer(player) if not self.modalWindow then self:create() end player:registerEvent('ModalWindowHelper') self.players[player:getId()] = true return self.modalWindow:sendToPlayer(player) end Adicionar em data/creaturescripts/craturescripts.xml <event type="modalwindow" name="ModalWindowHelper" script="modalwindowhelper.lua" /> Crie o arquivo modalwindowhelper.lua com o seguinte conteúdo em data/creaturescripts/scripts/ function onModalWindow(player, modalWindowId, buttonId, choiceId) local modalWindow for _, window in ipairs(modalWindows.windows) do if window.id == modalWindowId then modalWindow = window break end end if not modalWindow then return true end local playerId = player:getId() if not modalWindow.players[playerId] then return true end modalWindow.players[playerId] = nil local choice = modalWindow.choices[choiceId] for _, button in ipairs(modalWindow.buttons) do if button.id == buttonId then local callback = button.callback or modalWindow.defaultCallback if callback then callback(button, choice) break end end end return true end  
      Pronto!
       
      Espero que gostem. Posteriormente irei postar um tutorial de como usar/ aplicar e alguns scripts utilizando a Biblioteca.
    • Por Endless
      Olá meus senhores, hoje venho trazer pra vocês 1 tutorial que li a muito tempo atrás e me ajudou muito. O tutorial não é meu, mas vejo que muita gente, muita gente mesmo não conhece esse módulo do apache, então achei válido trazer pra comunidade. Espero que ajude alguém!!
      O módulo que venho apresentar a vocês é o mod_evasive do Apache.
       
      Sobre ele:
       

      Instalando o mod_evasive:

       

      Configurando o mod_evasive:
       

      Carregando o módulo mod_evasive no apache:
       

      Teste da proteção DDoS
       

      Conclusão
       

      Créditos:

      https://sempreupdate.com.br/mod_evasive-no-apache-oferece-protecao-contra-ataque-de-ddos/
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo