Ir para conteúdo

Tutoriais sobre Scripting

Aprenda com os mestres da comunidade a desenvolver seus scripts, sistemas e domine a linguagem .lua!

Atenção!

- Esta área é para publicação de Tutoriais sobre criação de códigos Otserv.

- Ao ler um tutorial, dê reputação ao membro que o publicou e comente no tópico. Este pequeno incentivo faz com que membros continuem trazendo tutoriais e outros conteúdos ao fórum.

- Se o conteúdo não for seu, adicione Créditos!

- Por motivos de segurança é necessário que um membro da equipe Aprove o seu Tópico, dessa forma mantemos o fórum organizado e livre de conteúdos maliciosos, obrigado pela compreensão!

 

Procure pelo tipo de código:

 

  1. É o seguinte galera, vocês vão ter que ir em: /data/creaturescripts/pokeexp.lua PARA EDITAR O EXP QUE O PLAYER GANHA QUANDO MATA POKEMONS: procurem por: playerAddExp(pk, expTotal) e depois disso do lado da variavel expTotal vocês botam '/' que significa dividir, no caso vai ser expTotal dividido por o numero que você quiser. Vou botar 10 de exemplo playerAddExp(pk, expTotal / 10) e salvem ai no caso se um ratata tiver dando 20k de exp ele agora vai tar dando 2k de exp graças a essa divisão. Mas ai vocês escolhem o numero que vcs querem dividir. PARA EDITAR EXP QUE SEU POKEMON GANHA AO MATAR POKEMONS…

    • 8 respostas
    • 3.1k visualizações
  2. Bom Galera Primeiro irei mandar uma foto de como irá ficar a mensagem de boas vindas Imagem e então vamos lá Vocês irão ir em: /mods/firstitems.xml e vocês irão procurar por: doAddContainerItem(bag, 12260, 1) e embaixo disso vocês colocam: Spoiler local msg = [[ --------- Mensagem Inicial by Korobeiniki / Atiralol --------- Bote tudo oque voce quiser aqui : ) Nao esqueca de dar rep xD --Bom jogo a todos!-- ]] doPlayerPopupFYI(cid, msg) se eu ajudei vocês porfavor deixe seu rep não custa nada

    • 1 resposta
    • 1.3k visualizações
  3. olá galera eu vi que muita gente tem esse problema de puxar um squirtle por exemplo e depois botar outra ball no slot e nascer 2 squirtle, e dai dps que nasceu 2 squirtle o cara puxa outra ball pro slot e puxa + 1 squirtle ai fica 3 squirtle fora da ball e então eu vou ensinar vocês como faz para arrumar esse bug e deixar apenas para puxar 1 poke de cada vez !!! primeiramente vocês vão em: /data/actions/scripts/goback.lua e vocês procurem por: elseif item.itemid == pokeballs[btype].on then e embaixo vocês botam: Spoiler if #getCreatureSummons(cid) == 1 then if item.itemid == 11826 or 11829 …

    • 2 respostas
    • 944 visualizações
  4. Started by MaxxSilva,

    Olá galera do Tk, eu estava vendo uns tópicos que pediram fly para vips ai resolvi cavucar com esse assunto então mexi um pouco com o script de fly e na sorte acabei conseguindo. Testei no meu servidor pda e deu certo! Só deixar claro a todos que eu não sou scripter fiz isso na sorte mesmo. Resumidamente, esse tutorial é para você que quer usar sistema de fly só para vips. Primeiro vá em data/lib/order.lua e procure seu sistema de fly você vai achar o seguinte: Agora embaixo você vai encontrar o seguinte: Apague isso e adicione no lugar esta parte: Dúvidas pergunte. Espero ter ajudado a todos

    • 6 respostas
    • 2.5k visualizações
  5. Hoje é dia de brincadeira e iremos criar uma solução onde o app em modo cli verifica se o número é impar ou par. Abra um editor de texto de sua preferencia e então digite: import time # criando função par. def par(numeroPar): #Verifica se o resto do número passado no parametro é 0, se for 0 então retorna Par se não, retorna Ímpar if numeroPar %2 == 0: return ("%d - Par" %numeroPar) else: return ("%d - Ímpar" %numeroPar) print(par(4)) ''' ou também poderíamos fazer assim: Primeiro iremos pedir para o usuário digitar qualquer número quando o usuário digitar, verificamos se o número é par ou impar ''' digite_um_numero = int(input()) # caso o usuário digite um númer…

    • 0 respostas
    • 1.4k visualizações
  6. [TESTADO EM OTX 2.x.x SERIES] 8.60 Primeiramente vá em game.cpp e procure por: bool Game::broadcastMessage(const std::string& text, MessageClasses type) { std::clog << "> Broadcasted message: \"" << text << "\"." << std::endl; for(AutoList<Player>::iterator it = Player::autoList.begin(); it != Player::autoList.end(); ++it) it->second->sendTextMessage(type, text); return true; } Abaixo adicione: bool Game::globalSendChannelMessage(std::string author, std::string text, MessageClasses type, uint16_t channel) { std::clog << "> Channel message: \"" << text << "\"." << std…

  7. A Organização O Projeto Olá venho aqui fornecer a todos um repositório que estou começando fazer code views de todos os códigos lua que julgar interessante para um sistema de RPG Este é o local onde podem ser vistos os PR e os CodeReviews. Fiquem livres para utilizar os códigos da melhor maneira possivel. Quer interagir? bom então eu te convido a fazer parte da organização deixando seu nick no github aqui em baixo ou me mandando uma pm! todos serão bem vindos! PRS Me ajude a desenvolver criando um Issue e fazendo seu pedido, tente preencher todas as lacunas ao fazer o pedido para não gastarmos tempo com issues inúteis Usando este repos…

  8. Started by MerlinMage,

    Boa noite pessoal ,eu gostaria de saber primeiramente como que eu faço pros players usarem os outfits com os 2 addons .. sem ter aquela coisa de addon doll . ou de ter q pegar em npc... como eu habilito os 2 addons?

    • 3 respostas
    • 1.6k visualizações
  9. Bom, estarei ensinando como editar as mensagens que aparece em seu server enquanto jogas ele. vá em server - data - global events - e procure por msg.lua

    • 1 resposta
    • 611 visualizações
  10. Started by LeoTK,

    Fala galera bom eu coloquei esse "sistema" recentemente no meu servidor e achei muito bacana então resolvi compartilhar com vocês que basicamente funciona da seguinte maneira quando o jogador usar a spell e subir o exaust de cooldown vai aparecer a mensagem no chat configurado assim não floodando o chat do default dos jogadores enfim vamos lá Primeiramente vocês vão precisar editar a source Source 0.3.6 8.54 Usem esse tópico do membro @MySticaL Clique Aqui Source 0.4 8.60 Usem esse tópico do membro @L3K0T Clique Aqui Após aplicar as configurações na source vamos configurar o servidor, criando um channel p…

  11. Started by Anuudek,

    Compilando OTServer em Linux (Testado em Debian7 e Ubuntu14.04) Olá TibiaKing! Venho trazendo um tutorial muito útil para aqueles que não faz a mínima ideia de como compilar um OT de uma forma simples! Funciona somente com sources de TFS 1.x Primeiro de tudo, você tem que ter a Source e o OT que deseja compilar. Então 'LETS GO'! Programas para instalar PuTTY para conectar via SSH. (aqui) FilleZila Client para ter acesso aos arquivos da máquina. (aqui) Começando Ao instalar os programas, abra o Fillezila. Em Host, Nome de Usuário, Senha, Port (padrão 22), coloque oque te passaram pelo email…

  12. Started by Huziwara,

    Olá galerinha TKbianos, Eu postei aqui, a tradução (as funções) que estão no config.lua, vejo muita pessoa com dúvidas que acha que precisa fazer script, mas naverdade essas dúvidas estão na cara de vocês, bem no config.lua! (Botei os necessários) Config.lua : accountManager = "no" (Utilização de account manager.) newPlayerChooseVoc = "yes" (Se o player pode escolher a vocação, caso esteja em "no" ele vai começar como "no vocation".) {newPlayerSpawnPosX = 155} {newPlayerSpawnPosY = 39} (Posição do player criado pelo account manager.) {newPlayerSpawnPosZ = 7} newPlayerTownId = 1 (ID da cidade [configurado no map editor].) newPlayer…

    • 6 respostas
    • 14.2k visualizações
  13. Started by thiagobji,

    Olá Galera do TK, agora estou postando um tutorial sobre stages.xml Todo mundo sabe que é super fácil, mais não existe ainda (EU ACHO), não custa nada criar Só irei explicar essa parte abaixo <stage minlevel="1" maxlevel="50" multiplier="200"/> Explicação agora <stage minlevel="1" maxlevel="50" multiplier="200"/> - Do level 1 ao 50 o player irá upar 200x de EXP Pronto, só isso.. rsrs

    • 0 respostas
    • 444 visualizações
  14. Started by thiagobji,

    Eai Galera do TK, hoje venho ensinar aos iniciantes a mexer um cado em vocations.xml Vo fazer só uma mesma, a primeira vocação Master Sorcerer - Vocação <vocation id="1" name="Master Sorcerer" description="a master sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="25" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="550" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/&g…

    • 4 respostas
    • 4.1k visualizações
  15. Started by thiagobji,

    Eai Galera, venho trazer mais um tutorial só que agora sobre WEAPON, é simples <!-- Rods --> <wand id="2182" level="7" mana="2" min="8" max="18" type="earth" event="function" value="default"> <!-- Snakebite Rod --> <vocation id="2"/> </wand> Agora vou explicar como editar passo a passo <wand id="2182" - Aqui é o ID do item, para saber os ID só ir na pasta items/items.xml (¬¬) level="7" - Aqui é o level para o player poder usar a rod ou wand, no caso é rod mana="2" - Mana para poder usar a rod ou wand, no caso é rod min="8" max="18" - Aqui é minimo e o máximo hit que a wand ou a rod irá hi…

    • 0 respostas
    • 525 visualizações
  16. Started by thiagobji,

    Como o título já diz tudo, vou ensinar umas partes para os iniciantes hoster de OTServer que sabe pouco ainda Vou fazer só 1 mesmo para entenderem mesmo (Estou pegando o outfits do Global Compacto, rsrs) O Outfit sem está editado <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> Agora editando, passo a passo <outfit id="1"> - Eu peguei o primeiro addon, então será o número 1 <list gender="0" - Todo mundo sabe que GENDER é SEXO (SÉRIO? ¬¬), o número 0 é o sexo masculino e o número 1 é o sexo feminino. lookType="136" - o n…

    • 2 respostas
    • 1.3k visualizações
  17. Started by dodoby,

    Bom á muito tempo, muitas pessoas procuram tutoriais para pokemon dash, erondino, entre outras bases antigas, de como adicionar pokemons, colocar para evoluir, adicionar fly, ride, surf, criar spells, adicionar attacks aos pokemons etc. Irei fazer este tutorial justamente para quem tanto procura esse tipo de coisa e quer ingressar em uma coisa séria! Aviso! (É trabalhoso e exige dedicação e atenção) ( ͡° ͜ʖ ͡°) Tutorial n° 1 (Como adicionar novos pokemons) Bom como em todos os servidores é obrigatório ter o xml do pokemon e o seu registro na pasta monster. (Pularei a parte da monster...) Para adicionar um novo pokemon ao caught "Catch" Siga as im…

    • 6 respostas
    • 2k visualizações
  18. Started by Stigal,

    Ola Poketibianos, Venho Postar o Sistema De CLANS Do "PokeXGames"... Arrumei Uns Problemas Neles e Agora So Podem Entrar Nos Clan Level 80+ e contem promoçoes! Aviso: Funcional em servidores sem level nos pokemons e em PDA! Vamos Ao Tutorial Então: Vá a "Pasta Do Servidor > Data > Lib" Crie Um Um Arquivo.lua Nomeado Como "clan system" Adicione Isso Dentro Dele: Salve e Feche. Agora Vá a Pasta "NPC" e Crie Os Seguintes Npc's: Gardestrike Master Malefic Master Naturia Master Orebound Master Psycraft Master Raibolt Master Seavel Master Volcanic Master W…

    • 6 respostas
    • 7.6k visualizações
  19. Started by Vampira,

    #Adicionando mounts em server 8.7+ Tutorial: Neste tuto vou ensinar a vocês como adicionar mais mounts em seu server 8.7+ que já tenha mount sistem, como por exemplo um War Wolf Va em seu Mounts.xml E adicione a tag com seu ID e nome <mount id="-" clientid="-" name="--" speed="--" /> * Mount id eh a identificaçao de sua montaria... no caso sempre ponha 1 a mais q o anterior. * O Client ID é o looktipe de sua Outfit. * Name é o nome de sua montaria. * Speed é a velocidade que a montaria oferece. * Vamos fazer com um War Wolf... que seu Outfit eh o numero 3 Logue o GOD e verá que o War Wolf já estará disponível…

    • 5 respostas
    • 3k visualizações
  20. Started by Danihcv,

    Aqui no TK tem alguns tutoriais ensinando a botar novas mounts em seus servers, porém não achei nenhum que trouxesse uma informação fundamental: existe um limite de mounts que vc pode ter em seu server ao mesmo tempo. Por exemplo, em meu server o limite é de 50 mounts. Se eu colocar, no arquivo mounts.xml, 51 mounts, o player quando abrir a tela pra escolher a mount ou irá tomar debug, ou a mount simplesmente não estará lá. Tendo isso em mente, vamos ao tutorial: 1°) Colocando a criatura como mount Abra seu arquivo mounts.xml que se encontra na pasta data/XML. Dentro dele adicione a seguinte tag: Em vermelho vc irá colocar o id da mount. Para …

  21. Boa noite meus amigos do TK! Hoje venho trazer uma vídeo aula que muitos me pediram sobre como adicionar novos pokémons no PDA que possui Icon System! (Funciona nos que não possuem Icon System tbm) É um esquema bem simples, porém detalhista. Basta seguir o passo a passo que você não terá problemas http://youtu.be/AUlpi33gsgk OBS: Desculpem, o vídeo ficou muito longo, mas acredito que para aqueles que estiverem com dúvidas, esse vídeo responderá quase tudo! Edit: Item Editor by EdMignari Edit 2.0: Esse é um vídeo do membro Dyego que será muito útil sobre como adicionar as sprites novas no seu Object Builder!Não deixem de conferir: https://ww…

    • 37 respostas
    • 6.4k visualizações
  22. Started by JhonatanCWest,

    Olá TibiaKing, Vou ensinar pra vocês como mecher no SQL Studio.. Vamos por a mão na massa e parar se nhênhênhê.. Primeiramente baixem o SQLite Studio (1.1.1 Última Versão). SQLite Studio 1.1.1 ( Site Oficial) Certo, primeiro vou dar uma introdução.. Pra que serve SQLite Studio? R: SQLite Studio, é os mais recentes editores de players, houses, accounts, etc.. É muito pesado o programa? Tem que instalar? R: Não, em ambas perguntas não. Não tem que instalar, e não é pesado.. Como eu mecho nisso? R: Vou lhe ensinar agora!! Bora, mão na massa!! Que Bom que estão empolgados!! 1.Abra o seu SQLite Studio 1.1.1 2.Adicio…

    • 2 respostas
    • 8.2k visualizações
  23. Bem, quebrei muita cabeça um dia desses com esse maldito Bug, porém, com umas dicas do amigo "danihcv" e eu mexendo, acabei resolvendo e quis dividir esse tutorial com o povo do TibiaKing. Lembrando que esse erro acontece quem usa Mysql e possue website "Gesior"( Não sei se todas as versões dão esse erro, mas a versão 0.3.8 deu). Vamos deixar e papo e mão na massa . O erro é o seguinte: - Quando loga a conta no tibia ele abre a janela normalmente do char, porém, quando tenta logar dar esse erro: (Esse erro é um conflito que há entre as coordenadas (x,y e z) do config.lua + database). 1- Para retirar esse bug, a primeira coisa será entrar no config.lua e achar ess…

    • 9 respostas
    • 4.3k visualizações
  24. Started by Slaake,

    Fala galerinha do TK, como estão ? Bom, vou ensinar a voces a como adicionar novas Outfits Bom, é simples e rapido, então vamos la 1º vá em data/xml/outfits.xml e abra-o e estarão assim [/font]<?xml version="1.0"?> <outfits> <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> <outfit id="2"> <list gender="0" lookType="137" name="Hunter"/> <list gender="1" lookType="129" name="Hunter"/> </outfit> <outfit id="3"> <list gender="0" lookType="138" name="Mage"/> <list gender="1" lookType=…

    • 7 respostas
    • 4.1k visualizações
    • 14 respostas
    • 4.3k visualizações
  25. Resolvi fazer este tutorial porque os que que encontrei estavam muito confusos e não entendi certas coisas. Programas utilizados: ObjectBuilder: http://www.4shared.com/rar/XsT3Kkgsba/ObjectBuilder034.html ItemEditor: http://www.4shared.com/file/232461654/31f90261/otitemeditor037.html [TUTORIAL] Como adicionar pokemons com {Icon System}. 1- Abra o seu ObjectBuilder. 2- Aperte Ctrl+O ou Clique em "File"/"Open". 3- Clique em Browse. 4- E abra a pasta onde fica seu tibia.spr e o tibia.dat. …

  26. Hoje resolvi fazer este tutorial porque os que que encontrei estavam muito confusos e não entendi certas coisas. V [TUTORIAL] Como adicionar pokemons com {Icon System}. 1- Abra o seu ObjectBuilder. 2- Aperte Ctrl+O ou Clique em "File"/"Open". 3- Clique em Browse. 4- E abra a pasta onde fica seu tibia.spr e o tibia.dat. 5- Caso for estendido marque a caixa. 6- Após isto procure as outfit, corpse, ícone e portrait do pokemon desejado. ob…

    • 1 resposta
    • 1.3k visualizações
  27. Started by Sanieg,

    [[Tópico formatado e melhorado]] Então pessoal irei ensinar como adicionar um novo pokemon no servidor configurando as técnicas e passivas etc... Primeiro você terá que adicionar o pokemon no servidor, então vamos lá o pokemon que adicionarei é o shiny tangrowth Abra o bloco de notas com o arquivo Shiny Tangrowth.xml e nele coloque: Coloque esse script em data/monsters/scripts depois vá em data/monsters abra monsters.xml e em seguida adicione esse tag no Monsters.xml: <monster name="Shiny Tangrowth" file="scripts/Shiny Tangrowth.xml"/> Agora para poder capturar e usa-lo. Abra data/lib depois configuration.lua e…

    • 9 respostas
    • 8.2k visualizações
  28. E ai galera do TK tudo bem? Bom venho trazer a vocês este tutorial compilando o TFS 1.2 em windows x32 ou x64 bit com Microsoft Visual Studio 2015. Então vamos lá: 1ª Baixe os programa primeiro: Visual Studio 2015 -> MSVC 2015 (compilador) TFS Sdk 3.2 -> Sdks 3.2 (libs) Boost MSVC 2015 -> (32-bit, 64-bit) 2ª Instale os Programa: Primeiro o Boost 32bit ou 64bit. Imagem: 3ª Agora extraia o arquivo tfs-sdk-3.2. Imagem: 4ª Pronto depois de ter feito isso agora abra a pasta da source e depois a pasta vc14 e abre o theforgottenserver. Imagem: …

  29. Fala galera, sou o [ADM]Harlock do Pokémon Undewater, e hoje vim mostrar a vocês como por acentos quando estiver editando seus scripts. Por exemplo: Você vê; Você está vendo; Está carregando, Pokémon.1- Primeiro baixe o Notepad ++ (Clique aqui) Escolha um Script para editar: local pokes = { ["Charmander"] = {level = 16, go = "Vai Charmander", back = "Volte Charmander."}, ["Charmeleon"] = {level = 35, go = "Vai Charmeleon", back = "Volte Demon."}, ["Charizard"] = {level = 75, go = "Vai Dragon Lord", back = "Volte Dragon Lord."}, ["Mewtwo"] = {level = 8, go = "Vai Mewtwo", back = "Volte Mewtwo"}, } local msgunica = false function onUse(cid, item, frompos, …

    • 2 respostas
    • 1.7k visualizações
  30. Started by ZORAN,

    Olá amigos da Comunidade Tibiaking venho trazer a vocês este tutorial de como compilar o TFS v1.0 em windows 32 or 64 bits com Microsoft Visual Studio 2013 (Obs: Eu uso a 2013 Ultimater Recomendo). Vamos ao tutorial >> 1) Primeito baixe os programas abaixo se não tiver claro: MSVS 2013 >> Click Here http://www.visualstudio.com/downloads/download-visual-studio-vs Agora baixar os Programas do TFS v1.0: TFS Sdk >> Click Here - Link 2: (Mirror) Source Do TFS v1.0 >> Click Here Atenção Baixe apenas a Boost da versão do Pc 32 or 64 Bits. Boost MSVS 2013 32Bits >> Click Here Boost MSVS 2013 64Bits >> Click Here 2) Agora…

  31. E ai galera, venho para minha primeira contribuição! Tenho visto bastante pessoas com dificuldade ao compilar em Linux. Estarei inserindo imagens ao TUTORIAL para facilitar e melhor explicar. PROGRAMAS NECESSÁRIOS: http://the.earth.li/~sgtatham/putty/0.63/x86/putty.exe- Putty - Para conectar ao Terminal. http://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.9.0.5/FileZilla_3.9.0.5_win32-setup.exe/download?use_mirror=ufpr -Filezilla - Para transferir arquivos ao servidor. PASSO 1: Acessar o servidor via SSH utilizando o programa Putty. (imagem Putty 1) (imagem Putty 2) PASSO 2: Digite os comandos abaixo no Putty após conectado. apt-get update …

    • 10 respostas
    • 3.9k visualizações
  32. Olá galera do TK, eu vejo muitos tutoriais de config.lua, mais eu não vi nenhum ainda da versão 8.6 Porque a versão 8.6 tem umas partes a mais, e nos tutoriais não explica, e esse tutorial aqui é próprio, eu não estou copiando de nada, estou fazendo parte por parte mesmo. Config.lua - Peguei do Baiak Extreme accountManager = "false" -- Ativar ou Desativar o ACC Manager namelockManager = "no" -- É possível algum player criar um char com o nome Account Manager? newPlayerChooseVoc = "yes" -- Yes para o player escolher a vocação que ele quer ser no ACC Manager, e No pra não escolher. newPlayerSpawnPosX = 100 -- Onde o novo player criado irá aparecer newPla…

  33. Started by Adriano SwaTT,

    É, todos conhecem a "Mana Rune", então nem tenho muito o que fala... Então vamos lá.. A Imagem da Runa que será a "Mana Rune" está no spoiler abaixo. 1º Passo 2º Passo 3º Passo Ex: <item fromid="2275" toid="2285" article="a" name="spell rune"> <attribute key="weight" value="120" /> </item> Item FromID 2275 - ToID 2285, ou seja, da ID 2275 à ID 2285 todos os items serão chamados de "spell rune" como está na tag. P- Certo, então como procurá-la então? R- Simples... basta você procurar pelo nome do item, ou seja, procure por "spell rune". Nessa parte tem um porém... você tem que verificar se não há uma tag que comp…

  34. Started by lucascsa123,

    Primeiro Vá Em Data/Spells/Scripts/Attack Crie Um Arquivo Chamado : noble Agora Abra O Arquivo E Cole Isto Dentro : local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_PHYSICALDAMAGE) setAttackFormula(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE, 50, 50, 80, 100) local area = createCombatArea(AREA_CROSS5X5) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end 50, 50, 80, 100) É O Ataque Do Poder Vcs Editam Quanto Vcs Querem ~~ Vamos Lá Salve e feche , Agora vá em 'spells.xml' e adicione esse TAG Aba…

    • 1 resposta
    • 1.3k visualizações

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Informação Importante

Confirmação de Termo