Líderes
-
MaXwEllDeN
HéroiPontos1185Total de itens -
-
-
johnzynhu22
MembroPontos11Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 05/16/13 em todas áreas
-
Forge System
1 pontoADVANCED FORGE SYSTEM O SISTEMA DE CRIAÇÃO DE ITENS PARA SEU SERVIDOR Creio que muitos já conhecem o sistema de forja criado por mim, acontece que o código já estava um pouco obsoleto, então resolvi reescrever ele do 0. Simplesmente consiste em um sistema de criação de itens avançado que ressuscita um pouco do RPG perdido nos servidores de hoje em dia. O jogador poderá criar itens através de forja, agindo como um verdadeiro ferreiro medieval. Adiciona itens em cima de uma bigorna previamente colocada no mapa e com um martelo cria um item totalmente novo. CARACTERÍSTICAS DA VERSÃO FINAL: - Configuração intuitiva e fácil de compreender; - Mini-tutorial auxiliando criação de novas receitas; - Receitas podem conter até 250 itens diferentes com suas respectivas quantidades; - Sistema inteligente que identifica uma receita em qualquer ordem; - Código totalmente orientado a objetos; - Possibilidade de configurar diferentes requerimentos, diferentes skills, magic level e level Há dois modos de instalar o Advanced Forge System, o primeiro é seguir os passos deste tópico e o segundo e baixar pasta data/ anexada no tópico com os arquivos em seus respectivos diretórios, precisando apenas o registro das chaves nos arquivos XML. Escolha o modo que mais convém a você. Crie um arquivo em data/lib chamado forgesystem.lua e cole o conteúdo abaixo: --[[ ADVANCED FORGE SYSTEM FINAL Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- RecipeHandler = { itemtype = 0, items = {}, level = 1, maglevel = 0, skills = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0} } Forge = { type = nil, position = nil, magicEffect = CONST_ME_MAGIC_GREEN, messages = { class = MESSAGE_STATUS_DEFAULT, success = "You have successfully forged a %s.", needskill = "You don't have enough %s to create a %s.", needlevel = "You need level %s to create a %s.", needmaglevel = "You need magic level %s to create a %s." } } function RecipeHandler:new(itemtype, items, level, maglevel, skills) local obj = { itemtype = (itemtype or 0), items = (items or {}), level = (level or 1), maglevel = (maglevel or 0), skills = (skills or {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0}) } table.insert(Recipes, obj) return setmetatable(obj, {__index = self}) end function RecipeHandler:setItem(itemtype) self.itemtype = (itemtype or 0) end function RecipeHandler:setRecipe(...) self.items = {...} end function RecipeHandler:setRecipeItem(itemid, amount) table.insert(self.items, {itemid, amount}) end function RecipeHandler:setSkill(skillid, value) self.skills[skillid] = value end function RecipeHandler:setLevel(value) self.level = value end function RecipeHandler:setMagLevel(value) self.maglevel = value end function RecipeHandler:check(position) local match = false for n, item in ipairs(self.items) do local thing = getTileItemById(position, item[1]) if thing.uid > 0 and math.max(1, thing.type) >= item[2] then if n == #self.items then match = true end else break end end return match end function RecipeHandler:get(position) if self:check(position) == true then return setmetatable({type = self, position = position}, {__index = Forge}) end return false end function Forge:create(cid) if self.type.itemid == 0 then print("[FORGE SYSTEM - ERROR] ATTEMPT TO CREATE A RECIPE ITEMID 0") return end local status = true if(cid) then if getPlayerLevel(cid) < self.type.level then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needlevel:format(self.type.level, getItemNameById(self.type.itemtype))) return end if getPlayerMagLevel(cid) < self.type.maglevel then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needmaglevel:format(self.type.maglevel, getItemNameById(self.type.itemtype))) return end for skillid, value in pairs(self.type.skills) do if getPlayerSkillLevel(cid, skillid) < value then status = false doPlayerSendTextMessage(cid, self.messages.class, self.messages.needskill:format(SKILL_NAMES[skillid], getItemNameById(self.type.itemtype))) break end end end if status == true then for _, item in ipairs(self.type.items) do local thing = getTileItemById(self.position, item[1]) doRemoveItem(thing.uid, item[2]) end doSendMagicEffect(self.position, self.magicEffect) doPlayerSendTextMessage(cid, self.messages.class, self.messages.success:format(getItemNameById(self.type.itemtype))) doCreateItem(self.type.itemtype, self.position) end end dofile(getDataDir() .."/lib/recipes.lua") Crie um arquivo em data/lib chamado recipes.lua e adicione o conteúdo abaixo: ---------------------------------------- -----** TUTORIAL DE CONFIGURAÇÃO **----- ---------------------------------------- --[[ O 'ADVANCED FORGE SYSTEM' é muito fácil e intuitivo de configurar, você só precisa chamar a função RecipeHandler:new(...), sendo que você já configurar os atributos da receita nela ou usar outras funções para isso. Por exemplo, quero criar uma Magic Sword que precise de 100 Gold Nuggets. RecipeHandler:new(2400, {{2157, 100}}) Ou então Magic_Sword = RecipeHandler:new() Magic_Sword:setItem(2400) Magic_Sword:setRecipe({2157, 100}) Funções do Sistema: RecipeHandler:new(itemtype, items, level, maglevel, skills) --> Cria uma nova instância de forja. RecipeHandler:setItem(itemtype) --> Atribui um certo itemid como resultado da receita. RecipeHandler:setRecipe(recipe) --> Atribui uma receita. RecipeHandler:setRecipeItem(itemid, amount) --> Adiciona um itemid e sua quantidade a receita. RecipeHandler:setSkill(skillid, value) --> Atribui um valor necessário de uma certa skill para poder criar a receita. RecipeHandler:setLevel(value) --> Atribui o level necessário para criar uma receita. RecipeHandler:setMagLevel(value) --> Atribui o magic level necessário para criar uma receita. ]]-- --[[ Este é um exemplo de receita usando algumas funções. É uma Magic Sword (ITEMID: 2400) que precisa de 100 Gold Nuggets (ITEMID: 2157), além disso, o personagem que tentar forjar, precisa ter Level 100 e Sword Fighting 50. ]]-- Recipes = {} magicsword = RecipeHandler:new() magicsword:setItem(2400) magicsword:setRecipeItem(2157, 100) magicsword:setLevel(100) magicsword:setSkill(2, 50) Agora em data/actions/scripts, crie um arquivo chamado iron_hammer.lua e adicione o conteúdo abaixo: function onUse(cid, item, fromPosition, itemEx, toPosition) local recipe = nil for _, v in ipairs(Recipes) do recipe = v:get(toPosition) if(recipe ~= false) then break end end if(recipe) then recipe:create(cid) else doPlayerSendCancel(cid, "This is not a valid recipe.") end return true end E por fim em actions.xml, adicione a seguinte linha: <action itemid="4846" event="script" value="iron_hammer.lua"/> OPCIONAL - TALKACTION A talkaction abaixo mostra ao jogadoras receitas configuradas no servidor que ele pode fazer. Em data/talkactions/scripts, crie um arquivo chamado recipes.lua e adicione o conteúdo abaixo: function onSay(cid, words, param, channel) local ret = {} local msg = " ADVANCED FORGE SYSTEM\n" for _, recipe in ipairs(Recipes) do local skills = true for skillid, value in pairs(recipe.skills) do if getPlayerSkillLevel(cid, skillid) < value then skills = false break end end if skills == true then if getPlayerLevel(cid) >= recipe.level and getPlayerMagLevel(cid) >= recipe.maglevel then table.insert(ret, {recipe, true}) else table.insert(ret, {recipe, false}) end else table.insert(ret, {recipe, false}) end end for _, recipe in ipairs(ret) do msg = msg .."\nRecipe for ".. getItemNameById(recipe[1].itemtype) ..":\n\n" if recipe[2] == true then for _, item in ipairs(recipe[1].items) do msg = msg .."* ".. getItemNameById(item[1]) .." [".. math.min(item[2], math.max(0, getPlayerItemCount(cid, item[1]))) .."/".. item[2] .."]\n" end else msg = msg .."[LOCKED]\n" end end doShowTextDialog(cid, 2555, msg) return true end Em data/talkactions/talkactions.xml, adicione a linha: <talkaction words="/recipes" event="script" value="recipes.lua"/> Siga as instruções para configuração de novas receitas. Em breve vídeo de funcionamento Advanced Forge System.rar1 ponto
-
Tibia Auto Waypoints ((:
Tibia Auto Waypoints ((:
menetix reagiu a johnzynhu22 por uma resposta no tópico
1 pontoRookgaard ! Criaturas : Lvl 6+ Exp : 4k~6k / hr ! Rookgaard Trolls Wolfs e Skeletons by John.xml Port Hope Banuta Andar -1 com Depositer ! Criaturas : Recomendo lvl 40+ Exp : 45k~75k / hr ! Port Hope Banuta andar -1 by John !.xml Laguna Islands Primeira Ilha Andar -2 ! Criaturas : Recomendo lvl 40+ Exp : 35k~50k / hr ! Tortoise e Thornback Tortoise By John.xml Tarantula Caves Port Hope com Depositer ! Criaturas : Lvl 33+ Exp : 30k~45k / hr ! Tarantula Caves Port Hope by John.xml Chicken Feather Nort Port ! Criaturas : Exp : 100~300 / hr ! Chicken Feather North Port by John.xml Yalahar Crystal Lakes Cave ! (Esta ea cave sem a hydra e serpent spawn) Criaturas : Lvl 50+ Exp : 80k~110k / hr ! Yalahar Dragon Crystal Lakes Cave by John.xml Thais Trolls Cave North com Depositer ! Criaturas : Lvl 10+ Exp : 2k~3k / hr ! Thais Troll Cave North Com Depositer by John.xml Rookgaard Bueiro dos Rats ! Criaturas : Lvl 3+ Exp : 500~1,5k / hr ! Rookgaard Rats by John.xml Thais Rotworm Cave North com Depositer e compra Potion ! Criaturas : Lvl 13+ Exp : 5k~8k / hr ! Thais Cave Rotworms North by John.xml Mintwallin ! Criaturas : Lvl 35+ Exp : 25k~40k / hr ! Mintwallin by John.xml Porth Hope Banuta Terreo com Depositer ! Criaturas : Recomendo lvl 40+ Exp : 40k~70k / hr ! Porth Hope Banuta Terreo by John.xml Cyclops Thais Mount Sternum ! Criaturas : Recomendo lvl 45+ Exp : 40k~55k / hr ! Cyclops Thais Mount Sternum by John.xml Yalahar Crystal Lakes Cave ! Criaturas : Lvl 85+ Exp : 150k~210k / hr ! Yalahar Dragon Hydra e Serpent Spawn by John.xml Orc Fortress ! Criaturas : Lvl 45+ Exp : 45k~60k / hr ! Orc Fortress by John.xml Amazon Camp Venore ! Criaturas : Lvl 30+ Exp : 20k~35k / hr ! Amazon Camp Venore by John.xml Agradeçam ;*1 ponto -
Scripts
LEVE ROPE E SHOVEL COMUM! Salve-salve galerinha Eu vi que esta seção do Tibia King estava meio parada e resolvi disponibilizar uns scripts LOW-LEVEL e money-maker A média de exp vai ficar em verde e a média de gold em azul 1º: Esse aqui é da primeira cave de Kazz, bom pra low level (não vai nos guards nem nos soldier, só no -2) 2k~5k / 0.6k ~ 1,5k Nivel recomendado: 9 Set recomendado: IOD Set / Plate Set + Serpent Kazordoon Dwarf Cave1.xml 2º: Esse é de Rookgard, aconselho comprar o Leather Set Full antes de descer pra não morrer no level 3 (pega 1,3k +/- até o level 8) 3~6h pra pegar level 8 / 1k~1,5k até o level 8 Rookgard Rats.xml 3º: Esse é um Addon Colector, faz uma Tour por toda Thais por fora, coleta uns itens pra addons bem interessante pra deixar durante a madrugada! 0,5k ~ 1,5k / 500 gp (o lucro vem dos itens) Level Recomendado: o suficiente para aguentar Bear, Wolf e MUITOS Wasps Set recomendado: IOD Set aguenta tranquilamente Thais Addon Colector.xml 4º: Cave de troll só na parte central, 70% afk pois tem várias caixas que o pessoal põe pra barrar bot 3k ~ 5k / 500gps ~ 900gps Level recomendado: 8 Set recomendado: IOD Set / Plate Set + Serpent Thais Troll -1.xml 5º: Esse script é bem interessante pra quem quer uma lucro maior que dos trolls acima Thais North Rotworms.xml 5k~7k / 800gp ~ 1,5k 6º: Esse script é da mesma cave de troll anterior, mas vai em toda ela. (passa por Poison Spider, pode ficar poison) 4k~6k / 700gps ~ 1k Thais Troll East.xml 7º: Melhor script que eu tenho, exp e lucro muito médios durante o dia e a noite, mas durante a tarde fica MAGNIFICO. Por que? por que é justamente quando é madrugada na Polonia e Cia. Dia/Noite: 1k~2k / 4k~7k Tarde: 2k~3,5k / 9k~15k Thais Undead Mount Sternum.xml Todos esse scripts são de Thais, menos o primeiro que é de Kazz1 ponto
-
[PEDIDO] Piso restrito por vocação
[PEDIDO] Piso restrito por vocação
victorbeico reagiu a GiovaniRodrigo por uma resposta no tópico
1 pontoRecopie o código novamente e teste.1 ponto -
[Resolvido] [PEDIDO] Trocar de Mapa
[Resolvido] [PEDIDO] Trocar de Mapa
GiovaniRodrigo reagiu a MaXwEllDeN por uma resposta no tópico
1 pontoYep, um mapa só e várias towns1 ponto -
[Resolvido] [PEDIDO] Trocar de Mapa
[Resolvido] [PEDIDO] Trocar de Mapa
GiovaniRodrigo reagiu a MaXwEllDeN por uma resposta no tópico
1 ponto<globalevent interval = "600" event = "script" value = "MapChange.lua"/> em interval você configura o intervalo em segundos. MapChange.lua [paste]yqGLGDsj[/paste]1 ponto -
Combat fórmulas
Combat fórmulas
Agaka reagiu a MaXwEllDeN por uma resposta no tópico
1 pontoCriado por: Kaotar Testado e Baseado em: TFS 0.4_DEV Informações adicionais: Todo mundo já se deparou, quando foi modificar a sua spell, com a formula e não entendeu o que cada numero significava, irei explicar tudo o que necessitas nesse tópico. Hail, bom como já leram nas informações adicionais acima, estou aqui para explicar o que cada numero, na formulas de combat, significam. Formula: setCombatFormula(combat, type, mina, minb, maxa, maxb[, minl, maxl[, minm, maxm[, minc[, maxc]]]]) Como podem ver são varios os argumentos que passamos para essa função: para facilitar a explicação vou chama-los de forma diferente. Notem as cores, você pode escolher até que cor quer usar, você pode usar só os argumentos azuis, os azuis e os vermelhos ou todos. PS: Impossível usar apenas o vermelho ou apenas o marrom é obrigatório seguir a ordem. Vamos as explicações: Bom como não é obrigatório colocar os numero em vermelho, quando não é especificados esses números nas spells a formula pega eles do config.lua na parte. formulaLevel = 5.0 formulaMagic = 1.0 Sendo que: Mas e o i ,j? Explicando em outras palavas: i, j serão valores padrões para Minimo e Maximo, se eles forem menores que i, j então i, j que serão considerados.Exemplo: Se Minimo = 50, Maximo = 100, i = 60 e j = 80 então a formula vai ter o Minimo de 60 por causa que i substitui o Minimo, pois é maior Maximo vai ser 100, pois j é menor que o Maximo, então não substitui. Bom acho que isso vai facilitar a vida de muita gente, pois avia varias duvidas na seção de suporte sobre o assunto, então decidi fazer esse tópico. Alguma observações: Este tópico aplica-se apenas quando o tipo de formula é COMBAT_FORMULA_LEVELMAGIC; Está formula ainda tem sofre o adicional da vocação e dos equipamentos; Está formula foi retirada do TFS 0.4_DEV, e pode ter alterações em outras verções. Espero ter ajudado. TODO: Explicar outros tipos de formulas e mostrar outras formas de fazer isso. Lembrando: Não fui eu quem criou esse tutorial, foi o Kaotar, de outro fórum, eu só trouxe ele para o TibiaKing.1 ponto -
Patterns
Patterns
LeoTK reagiu a MaXwEllDeN por uma resposta no tópico
1 pontoPattern Pattern ("Padrão" em pt-br) é uma poderosa funcionalidade para manipulação de strings (caso você não saiba o que é uma "string", busque saber antes de continuar, recomendo também ter um certo domínio sobre a biblioteca string), e usada para buscar um padrão de texto pré-definido. Porque aprender ? Possui recursos indispensáveis quando se precisa trabalhar com strings, alta aplicabilidade em scripts direcionados a otserv (talkactions), não que se vá usar isso a todo o momento, mas é altamente recomendado que se saiba trabalhar com patterns, é extremamente útil as vezes. Funções Algumas funções da biblioteca padrão string que aceitam pattern em seus parâmetros: string.find(string, pattern) – Procura a primeira instância da pattern na string string.gfind(string, pattern) – Quando for chamada repetidamente, retorna cada instância da pattern na string string.gsub(string, pattern, replace) – Retorna uma string em que todas as instâncias da pattern foram substituidas por replace string.match(string, pattern, init) – Retorna uma lista de ocorrências da pattern na string, começando em init (1 significa o primeiro caractere da string, 2 o segundo, assim por diante) Conjuntos Quando se constrói uma pattern, se utiliza alguns caracteres, cada um representando um conjunto diferente: (onde "x" não é um caractere mágico ^$()%.[]*+-?) → Representa o caractere "x" mesmo; . → Representa todos os caracteres; %a → Representa todas as letras; %c → Representa todos os caracteres de controle; %d → Representa todos os dígitos; %l → Representa todas as letras minusculas; %p → Representa todos os caracteres de pontuação; %s → Representa todos os caracteres de espaço; %u → Representa todas as letras maiúsculas; %w → Representa todos os caracteres alfanuméricos; %x → Representa todos os dígitos hexadecimais; %z → Representa o caractere com a representação do 0 (zero). Ao usar zeros na pattern ela não irá funciona, use esta nesse caso; Ao usar letra maiúscula, isso faz representar o contrário (Exemplo: %A → Representa tudo que não for letras; %D → Representa tudo que não for um digito; assim por diante...). Como dito anteriormente, para se criar uma pattern é necessário utilizar esses conjuntos, uma pattern é feita de uma sequência desses conjuntos. Se você quisesse criar uma pattern para encontrar uma certa string em um texto, por exemplo, para encontrar os números da string "23otserv", você teria que usar esta pattern "%d%dotserv", assim você estaria definindo que quer os numeros que estão ao lado da palavra ‘otserv’. Mas e se tivesse que encontrar um numero com 10 "casas" ? Por isso existe os modificadores, para evitar essa repetição desnecessária. Modificadores Servem principalmente para poupar serviço e são quatro, entenda 'x' como sendo algum conjunto (%a, %c, %d, ...): x* → Retorna 0 ou mais repetições do conjunto x. Sempre retornará a maior cadeia possível encontrada; x+ → Retorna 1 ou mais repetições do conjunto x. Sempre retornará a maior cadeia possível encontrada; x- → Retorna 0 ou mais repetições do conjunto x. Sempre retornará a menor cadeia possível encontrada; x? → Retorna 0 ou 1 ocorrência de x; Elementos especiais Existe também quatro elementos especiais: %n → Sendo n um numero entre 1 e 9, busca a enésima captura (apenas vi sendo usada na função string.gsub); %bxy → Procura uma string que inicia com x e termina com y; ^ → Quando está no começo da pattern, força a pattern a ser encontrada no começo da string; $ → Quando está no final da pattern, força a pattern a ser encontrada no fim da string; Nota: Se ^ ou $ estiverem em outros lugares da pattern, não fazem nada, apenas representam eles mesmos. Construindo uma pattern Vamos construir algumas patterns com os elementos citados acima. Primeiro alguns exemplos e depois uma explicação mais detalhada de cada elemento da pattern: String para as patterns: "Exemplo lua de pattern lua feito em lua" exemplos toscos, a gente se vê por aqui Pattern: (%a+) lua Capturaria: Exemplo lua de pattern lua feito em lua Ele só retornará o primeiro caso que corresponder com a pattern. Agora, ao invés de usar o "%a" fosse usado o "." (que captura tudo), aconteceria isso: Pattern: (.+) lua Capturaria: Exemplo lua de pattern lua feito em lua Como "%a" captura apenas letras e não o "espaço", foi por isso que no primeiro exemplo só capturou a palavra "Exemplo" e no segundo exemplo, como foi usado o "." que captura tudo, capturou uma parte maior (ai que vêm a parte do modificador) por causa do modificador "+" que sempre vai buscar a maior cadeia possivel, agora veja um exemplo usando o "-": Pattern: (.-) lua Capturaria: Exemplo lua de pattern lua feito em lua O modificador "-", como dito anteriormente, captura a menor cadeia e por isso capturaria apenas o "Exemplo". Todos os modificadores são importantes. Um exemplo maior: Pattern: (%a+) lua (.-) lua (.+) Capturaria: Exemplo lua de pattern lua feito em lua Para quem não entendeu Explicação passo a passo: (%d+) Captura → O parenteses define que você quer que retorne essa captura. Conjunto → No caso é o de digitos. Modificador → No caso mostra que é para obter a maior cadeia possivel com 1 ou mais repetições do conjunto. Um exemplo mais avançado Agora usando de exemplo a pattern da função string.trim, que remove os espaços em branco do lado esquerdo e direito da string. function string.trim(str) -- Function by Colandus return (string.gsub(str, "^%s*(.-)%s*$", "%1")) end string.gsub(str, "^%s*(.-)%s*$", "%1") str → Uma string qualquer; ^ → Força o começo da pattern ser encontrada no começo de str; %s* → Conjunto de espaços, podendo ter 0 ou mais repetições; (.-) → A captura principal, a que vai ser retornada, podendo ser digitos, letras, espaço, etc; $ → Força o final da pattern ser encontrada no fim de str; %1 → Retorna a 1ª captura da pattern e usa como parametro da função (Esse é um dos elementos especiais, %n); Dessa forma será removido os espaços apenas no começo e no fim da string ! Complemento Depois de dominar e entender como funciona as patterns, vamos aplica-las em funções, vou mostrar um exemplo de cada função (as que foram citadas no começo). string.find: init, end, case1, case2 = string.find("minha string123", "(%a+) (.+)") init → Onde inicia a captura encontrada (nesse caso, init = 1); end → Onde termina a captura encontrada (end = 15); case1 → Primeira captura que equivale a pattern (%a+) (case1 = minha); case2 → Segunda captura que equivale a pattern (.+) (case2 = string123); string.gfind: for occ in string.gfind("a1a2a3a4a5", "(%a%d)") do print(occ) end occ → Terá um valor para cada instância da pattern (%a%d) encontrada, então irá printar a1, a2, a3, a4 e a5. string.match: case1, case2 = string.match("Eu tenho 50 reais", "(%d+) (%a+)") case1 → Primeira captura que equivale a pattern (%d+) (case1 = 50); case2 → Segunda captura que equivale a pattern (%a+) (case2 = reais); Referência http://www.lua.org/manual/5.1/pt/manual.html#5.4.1 http://lua-users.org/wiki/PatternsTutorial Então é isso, espero ter sido o mais claro possivel, Qualquer dúvida, erro ou sugestão, poste !1 ponto -
[Resolvido] [PEDIDO] Script pesca por Skill
[Resolvido] [PEDIDO] Script pesca por Skill
gmstrikker reagiu a MaXwEllDeN por uma resposta no tópico
1 ponto[paste]X3JjuyZ3[/paste]1 ponto -
Script!
Script!
jplaipereira reagiu a Clenwinne por uma resposta no tópico
1 pontoFinalmente arrumei meus scripts e resolvi trazer alguns para vocês! (Os script não são de minha autoria, apenas tenho eles aqui) (Não colocarei o set, o dinheiro e o level recomendado por que são usei nem metade deles, mas são funcionais) Com o tempo eu vou colocando mais alguns scripts!1 ponto -
Mapas Tibia Auto.
1 pontoBom Galera eu tinha Loggin e Senho no site tibia auto mas meu pc formatou e perdi. Tenho alguns scripts do Tibia auto quem tiver disposto a trocar Scripts comigo, vou fazer uma parceria pra ajudar a galera aqui a conseguir scripts eu iria Adorar. Me add ai: Face: Luã Casado Skyper Luã Casado (kkk)1 ponto