Histórico de Curtidas
-
Silveira deu reputação a GiovaniRodrigo em [Resolvido] [PEDIDO] NPC Troca Item por outro ItemCrie um arquivo chamado Jax.lua na pasta data/npc/scripts e cole isso
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local items = { item1 = {2346, 2349}, -- item1 item que será pedido e que será dado na primeira troca item2 = {2033, 15515} -- item2 item que será pedido e que será dado na segunda troca } local counts = { count1 = {1, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca count2 = {10, 1} -- count2 quantidade que será pedido e que será dado na segunda troca } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'blue note') then if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then doPlayerRemoveItem(cid, items.item1[1], counts.count1[1]) doPlayerAddItem(cid, items.item1[2], counts.count1[2]) selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid) else selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid) end elseif msgcontains(msg, 'bar of gold') then if getPlayerItemCount(cid, items.item2[1]) >= counts.count2[1] then doPlayerRemoveItem(cid, items.item2[1], counts.count2[1]) doPlayerAddItem(cid, items.item2[2], counts.count2[2]) selfSay('You just swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid) else selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Crie um arquivo chamado Jax.xml na pasta data/npc e cole isso
<?xml version="1.0" encoding="UTF-8"?> <npc name="Jax" script="Jax.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150" /> <look type="134" head="57" body="59" legs="40" feet="76" corpse="2212" /> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. Do not want to make an exchange? I have {blue note} and {bar of gold}." /> <parameter key="message_farewell" value="Bye bye!" /> </parameters> </npc>
Testado e está 100% funcional
Att.
Giovani Rodrigo
-
Silveira deu reputação a OWeen em [Link Quebrado] Pokemon Evolution [DxP]Sim é na source... provavelmente quando a fizeram esqueceram de configurar os basicos e quanto ao seu erro provavelmente voce esta esquecendo de trocar o ID voce tem que ver o ID do seu player no caso tem que olhar qual é o numero do seu char o numero 1 normalmente é o account manager... queria te ajudar no skype mas o PC aki é muito fraquinho qualquer coisa ele trava ai complica
-
Silveira deu reputação a DarkWore em (Resolvido)Account ManagerVá no config.lua e mude isso:
accountManager = false Para isso:
accountManager = true Pronto problema resolvido.
-
Silveira deu reputação a WhiteBubble em (Resolvido)Account ManagerQuer criar um account manager com site ou sem site ?
-
Silveira deu reputação a GoTheHell em O que é mapear? - Parte três [1/2]Eai galera beleza? Hoje eu vou estar trazendo a terceira parte de vários tutorias explicando o que é e como funciona a arte de mapear.
Os tópicos que serão tratadas são:
--> O que é o mini-map;
--> Introdução à randomização de bordas;
--> Introdução ao detalhamento;
1º O que é o mini-map?
Mini-map (ou mini mapa) é uma parte específica do jogo o qual você pode observar o mapa, mas de uma forma mais diminuída. Ou seja, mini-map é uma parte que mostra a dimensão do mapa o qual você está criando ou, quando jogando, o tamanho do mapa em que se encontra.
Mas geralmente muitas pessoas não se importam com o mini-map. Está ação geralmente não pode ocorrer, apenas em alguns casos como por exemplo criar um mapa apenas para mostrar suas habilidades (aonde o mini-map não vai ser mostrado), ou coisa do tipo. Porém, se você estiver em algum projeto, você mapper não pode fazer um mini-map feio.
Geralmente o mini-map não possui tanto detalhes como o mapa em que você cria, ou que o jogador está jogando. Ou seja, podemos dizer que a qualidade do mini-map é inferior ao mapa real, mas não podemos desprezá-lo.
2º Introdução à randomização de bordas.
Randomização de bordas é, de uma forma bem simples, fazer com que as bordas fiquem mais aleatórias (you don’t say). Mas como assim, fazer com que elas quem mais aleatórias? Podemos explicar isso observando a imagem abaixo.
Como podemos ver, as bordas que foram feitas com a função de auto-border ficaram quadras, chegam a ficarem feias. Por outro lado, as bordas que foram feitas manualmente, ficaram de certa forma mais agradáveis, e possuem uma variação de bordas.
Mas que variação de borda? Podemos não ver muito bem passando o olho rapidamente sobre a imagem, entretanto, se você observar bem, existem duas bordas, uma sobre a outra, dando uma variação.
Quando você está criando seus mapas, existem diversas bordas que podem ser modificas, fazendo-as mais agradáveis, mais agressivas, ou até mesmo deixando-as mais bonitas. Observando as imagens abaixo, você pode ter noção de quantas variação de bordas podem existir.
Foi explicado o que é randomização de bordas, as diferenças de bordas automáticas e manuais e as variações que podem existir. Devemos, agora, explicar como fazer. Não vou mentir para vocês, no começo é um saco, pois é demorado e entediante (mas como foi dito no primeiro tutorial, é preciso paciência e tempo disponíveis para mapear), mas com o tempo você pega a manha e passa a ser mais rápido, fácil e eficiente.
A randomização é algo que você deve treinar. Observe o gif abaixo e logo em seguida tente você mesmo.
3º Introdução ao detalhamento.
Detalhar é uma ação de fazer, neste caso, um ambiente mais bonito e agradável, sem esquecer da jogabilidade, que não pode desaparecer.
Quais ambiente devemos detalhar? Sinceramente, a maioria. Grande parte dos mapas que você for fazer, a ambientação e o detalhamento são muito importantes. Os únicos casos que você não vai precisar detalhar, na minha opinião, é quando o mapa já possui muitos itens. Caso coloque mais itens, seu mapa vai ficar spammed.
Mas como podemos detalhar ambientes?
Cada ambiente que você cria é diferente, então cada um vai ter seu tipo de detalhamento. Vamos pegar um exemplo básico, uma floresta. O que existe em uma floresta além de árvores? Plantas, grama, terra, barro, pedras (grandes e pequenas) e assim por diante. Então só podemos pensar que irá utilizar pedrinhas ou grama como forma de detalhar. Não só isso, mas a utilização de bordas podem ajudar no detalhamento.
Espero que gostem.
Ps.: Infelizmente esse tutorial ficou meio
grande, então eu decidi dividir em duas partes
Continuação (Em breve)->
<- Segunda tutorial.
-
Silveira deu reputação a GoTheHell em O que é mapear? - Parte doisEai galera beleza? Hoje eu vou estar trazendo a segunda parte de vários tutorias explicando o que é e como funciona a arte de mapear.
Os tópicos que serão tratadas são:
--> Como funciona o Remere’s Map Editor (RME);
--> Como utilizar o Remere’s Map Editor (RME);
--> Como dar início a um mapa;
--> Observações sobre o RME.
1º Como funciona o Remere’s Map Editor (RME)?
RME é um programa destinado para criar mapas (como foi citado no primeiro tutorial).
Isso é realmente uma coisa bem obvia, mas pare mapear o programa disponibiliza para nos diferentes abas, com diferentes classificações.
Na verdade este programa está dividido em Terrain Pallet, Doodad Pallet, Item Pallet, House Pallete, Waypoint Pallete, Creature Pallete e por fim RAW Pallete, e cada uma dessas palhetas possuem mais outras palhetas dentro, dividindo em diversas outras coisas.
Além disso, existem a configurações que geralmente não vemos.
Nesta parte (figura abaixo) podemos encontrar muitas coisas importantes, tais como as configurações, os últimos mapas que você abriu, a função de salvar (atalho ctrl+s) e abrir o mapa (atalho ctrl+o). Outras coisas que podem ajudar, bastante, se encontram em view. Por fim, mas não menos importante, existe, em algumas versões do RME, a função de Live, a qual permite você mapear com algum amigo.
2º Como utilizar o Remere’s Map Editor (RME).
A utilização do RME é muito fácil, de uma forma similar a paint. Você escolhe o que vai usar e começa a brincar.
3º Como dar início a um mapa.
Normalmente para começar a criar um mapa você precisa ter alguma coisa em mente. Vamos imaginar que você queira uma casa, e que está casa esteja em uma parte mais distante de uma cidade.
Estarei mostrando duas imagens, uma com auto-border e outra sem.
Como podemos ver, o mapa que foi feita com auto-border não possui um detalhamento muito bom, além de estar muito feio. Por outro lado, o mapa o qual não foi feito com auto-border está mais “pacifico” e “calmo”, sem excesso de coisas no mapa.
Primeiramente, como devemos criar uma casa neste estilo?
A coisa mais básica é criar o ground que você precisa. No caso, é uma casa mais afastada da cidade, só podemos pensar que é no meio do mato.
Após criar algum lugar para construir a casa, devemos criar algum caminho para chegar a casa. Agora vem a parte que pode demorar um pouco. Vá para RAW Pallete, e logo em seguida em borders. Após entrar em borders, procure pelas bordas da grama. Após isso comece a colocar estas bordas, fazendo com que elas pareçam um caminho. Caso não consigam tentem copiar a imagem. Logo após fazer as bordas, colocar um ground de terra.
Logo após isso, demos detalhar o caminho, adicionando gravel. Como fazer isso? Simples, na mesma palheta em que se encontra, RAW Pallete, procure por exterior, depois procure por debris (ID: 6476-6488) faça como a imagem mostra.
Criado o caminho, temos que criar a estrutura da casa, além da natureza em volta da casa. Para criar a estrutura da casa, na mesma palheta, procure por walls, e escolha a parede que mais lhe agrade. Escolhida a parede, coloque-a de forma mais simples possível, como por exemplo um retângulo ou quadrado. Para fazer a natureza, vamos começar adicionando apenas a graminha. Esta se encontra em Nature (ID: 6219 e 6218) e adicione-os.
Como vocês podem ver, eu misturei duas paredes. Pois é, podemos fazer o que a imaginação quiser. Também coloquei tufinhos de grama ao redor da casa. Isto era para ser uma casa no meio da natureza. Então vamos adicionar árvores e flores.
Esta imagem está muito verde, não? Então para remover “este aspecto de verde" que tal adicionar um pouco de água? Na parte de bordas (borders) procure pela borda de água (4644-4654) e adicione-as. Caso não consiga tente fazer que nem a imagem.
Terminado a adição de bordas, deveríamos melhorar a casa, pois esta vazia e sem graça. Na parte de Interior, a maioria dos items necessários para colocar dentro da casa estão. Outra coisa a ser notada, é que a casa está sem janelas, então devemos adiciona-las.
Seguindo todos os passos, o seu mapa pode ter o mesmo resultado do mostrado a cima.
*Observações sobre o RME.
Como podemos ver na imagem abaixo, existem duas divisões, quando estamos na Terrain Pallete, que são chamadas de Tools (ferramentas) e Brush Size (Quantidade de tiles). Nestas duas divisões existem vários quadradinhos. Irei citar as funções que mais são importantes.
Border -> Cria bordas automaticamente. –Não recomendo utilizar.
Erase -> Apaga tiles.
Pz -> Adiciona proteção a um tile.
No-pvp -> Faz com que o tile fique sem pvp.
Logout -> O player não pode deslogar quando está função estiver em um tile
Pvp -> Faz com que o tile seja pvp.
Sinceramente o Brush Size, na minha opinião, não é muito relevante, mas para quem quiser saber, é uma função que faz com que você consiga adicionar mais de um tile de uma vez.
Espero que gostem
Terceiro tutorial (parte 1) ->
<- Primeiro Tutorial
-
Silveira deu reputação a Uglet em Respawn De Shiny'sProcure por:
Obs: para evitar possíveis bugs mantenha a proporção do tempo...
-
Silveira deu reputação a MaxxSilva em [Poketibia] Fly para vipsOlá 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:
-
Silveira deu reputação a Absolute em [Link Quebrado]GLOBAL FULL DOWNLOAD 10.95 [TFS 1.2/FERUMBRAS QUEST/KRAILOS/NEW ARENA/CAST/NEW ITEMS/REWARD/EVENTS/CASINO] ~ AtualizaçõesDISPONÍVEL PARA DOWNLOAD!
Índice
A seguir vocês acompanharão:
1. Introdução
2. Features
3. Imagens
4. Versão
5. Downloads/Scans
6. Notas Finais
PARA TUDO!
Algo jamais visto para download, algo completo!
Tenho hoje o prazer de traze-los o download do servidor que será ESTÁ disponibilizado para galera do TIBIAKING!
Introdução:
Há alguns dias atrás eu e Ciroc resolvemos desenvolver um servidor na versão atual contendo tudo jamais disponibilizado na internet, ou seja; tudo foi realizado do zero e estará sendo disponibilizado para vocês.
Pegamos como base o servidor ORTS do próprio theforgottenserver e trabalhamos arduamente em cima do mesmo, para disponibiliza-los.
Features:
• Novas áreas 10.82/10.90
• Novos items 10.90
• Novos monstros/npcs/montarias 10.90
• Umbral creation
• Reward system Full Global
• Bosses prison roshamuul
• Oramond full incluindo seacrest ground e glooth factory
• Cast system work
• Casino automático
• Raids Full
• Battlefield Event
• Zombie Event
• Exp Shared
• Krailos
• New Arena Tibia.com
• Ferumbras' Ascendant Quest
• Equip HOTKEY
Imagens:
• Depot Thais (Entrada para nova arena)
• Nova arena PVP 10.90
• Cassino dice automático
• Treiners online aquatic room
• Seacrest Ground Cave
• Roshamuul prison key (incluido golden key)
• Novos monstros, novos items e novas outfits/montarias
• Boss Feroxa invasão 100%, mapa também.
• Local para duelar na arena (5vs5)
• Ao dar use, os players serão teleportados pra arena.
• Ferumbras' Ascendant Quest
• Entrada 7 bosses Ferumbras Quest
• Coletando recompensa com questlog.
• Entregando as demonic essences ao npc Mazarius
• Respawn Krailos Otimizado
Versão atual (Atualizaremos juntamente com o tibia.com)
~
Downloads/Scan (DISPONÍVEL):
Atenção: o servidor foi postado em um novo site de upload para tibia que iremos inaugurar oficialmente em breve, agradecimentos otupload.com ao @Guilherme pelo desenvolvimento em si.
Download do servidor completo + database + sources [LINUX]: http://otupload.com/file/1456169626_G1091_ABSOLUTE_CIROC_FOR_TK
Download do servidor completo + database + sources [LINUX] (LINK ALTERNATIVO, PROVISÓRIO): https://www.sendspace.com/file/1ctint
Download do servidor completo + database + sources [WINDOWS]: (Ainda não disponível, caso alguém queira se habilitar e compilar nossas sources, nós e a comunidade TK deixamos os sinceros votos de agradecimentos)
Scan do servidor: https://www.virustotal.com/pt/file/2f5fe15d174d47ec9080e1a9db3d33767e8536794a7b331c4c9646229567de97/analysis/1458112382/
Github: https://github.com/absoluten/absoluteglobal (O projeto será lançado em breve no github para as demais atualizações, sigam lá).
Notas Finais:
Este servidor é completo, é uma base/prévia do meu servidor em que trabalho.
O servidor é completo e encontra-se livre de quaisquer bugs graves.
Estaremos atualizando o servidor juntamente com a versão do tibia.com
Vocês poderão opinar e contribuir com o projeto de qualquer forma; sugestões, reports e etc.
Atenção: em breve nós estaremos trabalhando em um website na altura deste projeto, vocês poderão acompanhar aqui no fórum, fiquem atentos.
Créditos:
*Absolute
*@ciroc
*Orts
*Theforgottenserver
*@xWhiteWolf
Absolute/Ciroc Global, um servidor completo e perfeito, aproveitem.
-
Silveira deu reputação a Lekstar em (Resolvido)[PEDIDO] Comando de !invite na houseta ai seus comandos de House :
tenta substituir por este :
pode editar ao seu gosto os comandos, fiz aqui agora.
Te ajudei ? REP +
-
Silveira deu reputação a Makhai Drakon em [PEDIDO] NPC vender item por outro itemchequei agr estava viajando vou baixar um server de tibia e arrumar
-
Silveira deu reputação a Makhai Drakon em Informação OtserverComo disse anteriormente começe pelo inicio onde toda jornada começara e tibia n rola mt mudar mapa n so se for baiak (minha opiniao)
-
Silveira deu reputação a Makhai Drakon em [PROBLEMA] Escadas do mapa bugadas.va em edit/ replace item
em replace this item coloque o id da escada
em with this item escada desejada
-
Silveira deu reputação a Makhai Drakon em [TUTORIAL] Como adicionar pokemons com {Icon System}.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.
5- Caso for estendido marque a caixa.
6- Após isto procure as outfit, corpse, ícone e portrait do pokemon desejado.
obs: aconselho escrever os números em um bloco de notas
7- Após isto abra o ItemEditor .
8- Aperte Ctr+P ou Clique em "File"/"Preferences".
9- Clique em Browse.
10- E abra a pasta onde fica seu tibia.spr e o tibia.dat.
11- Caso for estendido marque a caixa e confirme.
12- Aperte Ctr+N ou Clique em "File"/"Open...".
13- E abra a pasta onde fica seu item.otb.
14- Crie 5 itens.
15- Em Cliete ID coloque os IDs do portrait, corpse, 1 ícone on e 2 ícones off que você pegou no ObjectBuilder.
16- Deixe os atributos exatamente assim.
Portrait
Corpse
Icone On
Icone Use
Icone Off
obs: a partir daqui usara estes IDs
obs: aconselho escrever os números em um bloco de notas
17- Por fim de save.
.
18- Agora vá em Data/Items e abra items.xml.
Em algum local adicione isto!
<item id="AAAAA" article="a" name="Icone."> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="BBBBB" article="a" name="Icone using"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="CCCCC" article="a" name="Icone dead"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="DDDDD" article="a" name="EEEEE"> <attribute key="containerSize" value="10" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="300" /> </item> <item id="FFFFF" article="a" name="portrait"> <attribute key="weight" value="0" /> <attribute key="slotType" value="legs" /> </item> Em "AAAAA" coloque o ID do ícone on
Em "BBBBB" coloque o ID do ícone use
Em "CCCCC" coloque o ID do ícone off
Em "DDDDD" coloque o ID do corpse
Em "EEEEE" coloque fainted "nome do poke"
Em "FFFFF" coloque o ID do portrait
Salve e feche
19- Agora vá em Data/Monster/Pokes
Copie alguma .xml e modifique o seu nome para o do pokemon desejado depois abra-a
<?xml version="1.0" encoding="UTF-8"?> <monster name="AAAAA" nameDescription="a BBBBB" race="CCCCC" experience="1500" speed="207" manacost="0"> <health now="270" max="270"/> <look type="DDDDD" head="90" body="100" legs="95" feet="113" corpse="EEEEE"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Aqua Tail" interval="2805" chance="29" range="1"/> <attack name="Headbutt" interval="2705" chance="29" range="1"/> <attack name="Dragon Breath" interval="3040" chance="28" range="6"/> <attack name="Hyper Beam" interval="2899" chance="29" range="5"/> <attack name="Thunder Wave" interval="2993" chance="28" range="6"/> <attack name="Twister" interval="2852" chance="29" range="3"/> <attack name="Wing Attack" interval="3040" chance="28" range="6"/> <attack name="Thunder Punch" interval="2752" chance="29" range="1"/> <attack name="Fire Punch" interval="2952" chance="29" range="1"/> <attack name="Dragon Claw" interval="2900" chance="29" range="1"/> </attacks> <defenses armor="0" defense="0"> </defenses> <voices interval="5000" chance="10"> <voice sentence="FFFFF!"/> </voices> <loot> <item id="11449" chance="150" count="1" countmax="1"/> <item id="12159" chance="3000" count="1" countmax="1"/> <item id="13794" chance="10000" countmax="80"/> --snowball <item id="12275" chance="3000" count="1" countmax="1"/> <item id="12244" chance="70" count="1" countmax="1"/> <item id="12338" chance="10" count="1"/> --bag box --bag box </loot> <script> <event name="Spawn"/> </script> </monster> Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque o ID da outfit do pokemon
Em "CCCCC" coloque o a raça do pokemon
Em "DDDDD" coloque o ID da outfit do pokemon obs: no meu caso e 2241
Em "EEEEE" coloque o ID corpse obs: no meu caso e 20758
Em "FFFFF" coloque a fala do pokemon
Lista de raças:
fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost Attacks Lembrando esses são os ataques que os pokemons selvagens soltara! E possível ver os attacks em data/spells/scripts/ps name = "Nome do attack" interval = "Intervalo para usar o attack" chance = Chance do attack ser acertado" obs: sempre deixe o melee 100 range = "Distancia mínima necessária para usar o attack"
Loot
item id = "ID do item que será dropado"
chance = "Chance do item ser dropado"
count = "Mínimo de itens a ser dropado"
countmax = "Máximo de itens a ser dropado"
salve e feche
20- Agora vá em Data/Monster e abra monster.xml
Adicione esta tag
1 - caso esteja em uma pasta
<monster name="AAAAA" file="pokes/BBBBB/CCCCC.xml"/> 2 - caso apenas esteja na pasta pokes
<monster name="AAAAA" file="pokes/CCCCC.xml"/> Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque o nome da pasta onde ele esta
Em "CCCCC" coloque o nome da .xml que você criou
salve e feche
21- Agora vá em Data/Lib e abra configuration.lua
1ª
desça um pouco e se ver algo deste género
Vá ate o ultimo e cole este código.
["AAAAA"] = {move1 = {name = "Aqua Tail", level = 10, cd = 12, dist = 1, target = 1, f = 50, t = "water"}, move2 = {name = "Thunder Wave", level = 12, cd = 16, dist = 1, target = 0, f = 70, t = "electric"}, move3 = {name = "Thunder Punch", level = 16, cd = 16, dist = 1, target = 1, f = 65, t = "electric"}, move4 = {name = "Fire Punch", level = 15, cd = 20, dist = 1, target = 1, f = 75, t = "electric"}, move5 = {name = "Dragon Claw", level = 22, cd = 16, dist = 1, target = 1, f = 60, t = "dragon"}, move6 = {name = "Dragon Breath", level = 40, cd = 20, dist = 1, target = 0, f = 80, t = "dragon"}, move7 = {name = "Twister", level = 46, cd = 24, dist = 1, target = 0, f = 80, t = "dragon"}, move8 = {name = "Wing Attack", level = 70, cd = 28, dist = 1, target = 0, f = 75, t = "flying"}, move9 = {name = "Hyper Beam", level = 70, cd = 24, dist = 1, target = 0, f = 190, t = "normal"}, move10 = {name = "Draco Meteor", level = 110, cd = 60, dist = 1, target = 0, f = 150, t = "dragon"}, }, Em "AAAAA" coloque o nome do pokemon
Moves
name = "Nome do attack"
level = "Level mínimo para usar o attack"
cd = "tempo para o attack recarregar"
dist = "distancia mínima para usar o attack"
target = "1 significa que precisa se alvo / 0 que não e necessário"
f = "força do attack"
t = "tipo do attack"
Lista de tipos
fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
2ª
Desça mais um pouco encontrara o fly
caso seu pokemon tenha pegue o id da outfit do fly e subtraia 351 EX: 2242-351=1891
Vá ate o ultimo e cole este código.
["AAAAA"] = {BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque o ID do fly subtraído por 351 EX: 2242-351=1891
Em "CCCCC" coloque a velocidade que dará
obs: Surf e ride mesma coisa
3ª
Desça mais um pouco encontrara o pokeballs
Vá ate o ultimo e cole este código.
["AAAAA"] = {effect = 188, on = BBBBB, use = CCCCC, off = DDDDD, all = {BBBBB, CCCCC, DDDDD}}, Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque o ID do icon on
Em "CCCCC" coloque o ID do icon use
Em "DDDDD" coloque o ID do icon off
4ª
Desça mais um pouco encontrara o icons
Vá ate o ultimo e cole este código.
["AAAAA"] = { on = BBBBB, off = CCCCC, use = DDDDD }, Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque o ID do icon on
Em "CCCCC" coloque o ID do icon off
Em "DDDDD" coloque o ID do icon use
5ª
Desça mais um pouco encontrara o effectiveness mais não mecha nele
Desça mais um pouco encontrara o pokes
Vá ate o ultimo e cole este código.
["AAAAA"] = {offense = 4.5, defense = 10, specialattack = 12.2, vitality = 11.8, agility = 350, exp = 800, level = 80, wildLvl = 150, type = "ice", type2 = "ghost"}, Em "AAAAA" coloque o nome do pokemon
offense = "offense que ganha por level"
defense = "defense por level"
specialattack = "special attack que ganha por level"
vitality = "vida que o poke ganha pra cada vitality que tem"
agility = "velocidade base dos pokes"
exp = "experiência que dá a cada level que tem (somada a exp base, no xml do poke)"
level = "level min pra usar o poke / offense base"
wildlevel = "level que o pokemon selvagem será"
type = "tipo do pokemon"
type2 = "segundo tipo do pokemon" obs caso não tenha coloque no type"
Lista de tipos
fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
6ª
Desça mais um pouco encontrara o fotos
Vá ate o ultimo e cole este código.
["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque o ID do portrait
7ª
Desça mais um pouco encontrara o pokecatches
Vá ate o ultimo e cole este código.
["AAAAA"] = {chance = BBBBB, corpse = CCCCC}, Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque a chance de capturar o pokemon obs quanto maior o numero mais difícil fica
Em "CCCCC" coloque o ID corpse
8ª
Desça mais um pouco encontrara o newpokedex
Vá ate o ultimo e cole este código.
["AAAAA"] = {gender = 500, level = 80, storage = 100, stoCatch = BBBBB}, Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque 1 e um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457
gender = "género género do pokemon 500 = 50% de ser m ou f, 75 = 75% de ser f 25 = 25% de ser f, -1 = sem sexo " obs se o server não tiver gender system não faz diferença
level = "level min pra usar o poke " obs apenas afetará o pokedex
storage = "Não mexa!"
stoCatch = "coloque um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457"
9ª
Desça mais um pouco encontrara o oldpokedex
Vá ate o ultimo e cole este código.
{"AAAAA", BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque o level min pra usar o poke
Em "CCCCC" coloque o coloque um numero depois do pokemon anterior Ex o anterior é 1290 então coloque 1291
10ª
Desça mais um pouco encontrara o poevo
Caso o pokemon que será adicionado tenha uma anti evolução
Vá ate o ultimo e cole este código.
["AAAAA"] = {level = 150, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, Em "AAAAA" coloque o nome da anti evolução pokemon
Em "BBBBB" coloque o nome da evolução do pokemon
Em "CCCCC" coloque o ID da stone que ira evoluir o pokemon
Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o pokemon obs opcional deixe 0 se não tiver stone
Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
level = "level mínimo para evoluir o pokemon"
evolution = "nome do pokemon evoluído"
count = "quantidade de stones necessárias"
stoneid = "ID da stone que ira evoluir o pokemon"
stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
11ª
Desça mais um pouco encontrara o spcevo
Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
Vá ate o ultimo e cole este código.
["AAAAA"] = {[1] = {level = 65, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, [2] = {level = 65, evolution = "EEEEE", count = 1, stoneid = FFFFF, stoneid2 = GGGGG}}, Em "AAAAA" coloque o nome da anti evolução pokemon
Em "BBBBB" coloque o nome da 1ª evolução do pokemon
Em "CCCCC" coloque o ID da stone que ira evoluir o 1º pokemon
Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o 1º pokemon obs opcional deixe 0 se não tiver stone
Em "EEEEE" coloque o nome da 2ª evolução do pokemon
Em "FFFFF" coloque o ID da stone que ira evoluir o 2º pokemon
Em "GGGGG" coloque o ID do segundo tipo stone que ira evoluir o 2º pokemon obs opcional deixe 0 se não tiver stone
Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
level = "level mínimo para evoluir o pokemon"
evolution = "nome do pokemon evoluído"
count = "quantidade de stones necessárias"
stoneid = "ID da stone que ira evoluir o pokemon"
stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
12ª
Desça mais um pouco encontrara o gobackmsgs mais não mecha nele
Desça mais um pouco encontrara o specialevo
Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
specialevo = {"Poliwhirl", "Gloom", "Tyrogue", "Eevee", "AAAAA"} Em "AAAAA" coloque o nome da anti evolução pokemon
13ª
Desça mais um pouco encontrara o specialabilities
Caso queira colocar alguma habilidade no pokemon coloque
Em "AAAAA" coloque o nome da anti evolução pokemon
Coloque nas habilidades desejadas
14ª
Desça mais um pouco encontrara o auraSyst mais não mecha nele
Desça mais um pouco encontrara o hitmonchans mais não mecha nele
Desça mais um pouco encontrara o headbutt mais não mecha nele
Desça mais um pouco encontrara o lookClans mais não mecha nele
Desça mais um pouco encontrara o youAre mais não mecha nele
Desça mais um pouco encontrara o passivesChances
Caso queira colocar alguma especial no pokemon coloque
Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque a chance de sair a passiva
15ª
Desça mais um pouco encontrara o pokesPrice
Vá ate o ultimo e cole este código.
["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
Em "BBBBB" coloque o preço que o pokemon será vendido no npc
salve e feche
22- Agora vá em Data/Movements/ e abra o movements.xml
1º
Logo no começo voçe vera o Icone System
Em <movevent type="Equip" itemid=
Va ate o final da lista coloque o id o ícone on-id do ícone off; Ex 20740-20742;
Ficara assim
2º
Em <movevent type="DeEquip
Va ate o final da lista coloque o id o ícone on-id do ícone off; Ex 20740-20742;
Ficara assim
23- Agora vá em Data/Actions/ e abra o actions.xml
Procure por Icone System
Em <action itemid=
Va ate o final da lista coloque o id o ícone on-id do ícone off; Ex 20740-20742;
Ficara assim
24- Caso tenha adicionado evolução vá em Data/Actions/Scripts e abra o evolution.lua
Em local types =
Vá ate o final da lista da stone que evolui o pokemon coloque o nome da anti evolução Ex , "Spearow" obs caso for 2 stones diferentes adicione nas 2
Ficara assim
25- Seja feliz
Obrigado pela atenção qualquer duvida comente
Caso ajudei REP+
Creditos: 100% Ckfox
-
Silveira deu reputação a GuuhTorres em (RESOLVIDO) Mudando Position do account managerEdita nesses dois lugares :
no config.lua :
newPlayerSpawnPosX = 1007
newPlayerSpawnPosY = 1005
newPlayerSpawnPosZ = 7
E tem no sql que é só abrir o sql, abrir os dados do server, e procura o account manager, la voce troca as posições...
Caso ainda não entender, eu explico melhor...
-
Silveira deu reputação a Viny 13 em Conteúdo retiradoConteúdo retirado, duvida era muito simples, inicio de carreira haha
-
Silveira deu reputação a Viny 13 em 3 Erros na distro de Poketibia á cada 1 resolvido REP+Gente estou com 2 erro na distro que apaga dando uma TRAVADA no servidor e esse complica muito
As vezes quando alguem fala hi pra nurse joy da esse erro na distro
O Segundo erro é quando alguem usa um Pokémon ai da esse erro na distro :
O Terceiro é no move1.lua não sei porque da o erro, mas na distro aparece isso :
-
Silveira deu reputação a Viny 13 em Light muito escuraTudo já foi resolvido, desculpe eu era noob nessa época, já até nem sei mais como eu resolvi, nem estou mais com o PROJETO.
-
Silveira deu reputação a Viny 13 em SISTEMA DE ADDON COMPLETOBom gente esses dias o @Ceetros postou um sistema de Addon, que funciona no fly, ride e surf
Só vou repostar aqui pra vocês, pois ele só postou no outro forum
Vá em actions/scripts e crie um arquivo chamado addon.lua.
Adicione isso lá:
function onUse(cid, item, fromPosition, itemEx, toPosition) local addons = { [ID DO ITEM] = {pokemon= "NOME DO POKEMON" , looktype = LOOKTYPE NORMAL, fly = FLY, SE NÃO TIVER PONHA 0, ride = RIDE, SE NÃO TIVER PONHA 0, surf = SE NÃO TIVER SURF PONHA 0}, } if #getCreatureSummons(cid) > 0 then doPlayerSendCancel(cid, "Please back your pokemon.") return false end local addon = addons[item.itemid].looktype local fly = addons[item.itemid].fly local ride = addons[item.itemid].ride local surf = addons[item.itemid].surf local pb = getPlayerSlotItem(cid, 8).uid local pk = addons[item.itemid].pokemon if getItemAttribute(pb,"poke") ~= pk then doPlayerSendCancel(cid, "Sorry, you can't use this addon on this poke.") return false end if getItemAttribute(pb,"addon") >= 0 then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 27, "Congratulations! Now your pokemon will use the addon.") doSetItemAttribute(pb,"addon",addon) doSetItemAttribute(pb,"addonfly",fly) doSetItemAttribute(pb,"addonride",ride) doSetItemAttribute(pb,"addonsurf",surf) return true end return true end
Em actions.xml adicione:
<action itemid="ID;ID;ID" event="script" value="addon.lua"/> Agora em actions/goback.lua antes de:
else doPlayerSendCancel(cid, "This pokemon is fainted.") end return true end Adicione:
local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb,"addon") if not look then doSetItemAttribute(pb,"addon",0) end if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) end Em lib/order.lua encontre:
local pokemon = flys[getPokemonName(getCreatureSummons(cid)[1])] doPlayerSendTextMessage(cid, 27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower.") doChangeSpeed(cid, -getCreatureSpeed(cid)) local speed = 500 + PlayerSpeed/5 + getSpeed(sid) * 6 * speedRate doChangeSpeed(cid, speed) setPlayerStorageValue(cid, 54844, speed) doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) setPlayerStorageValue(cid, 17000, 1) Abaixo adicione:
local addonfly= getPlayerSlotItem(cid, 8).uid local addofly = getItemAttribute(addonfly,"addonfly") if not addofly then doSetItemAttribute(addonfly,"addonfly",0) end if addofly > 0 then doSetCreatureOutfit(cid, {lookType = addofly}, -1) end Continuando em order.lua Encontre:
local pokemon = rides[getPokemonName(getCreatureSummons(cid)[1])] doChangeSpeed(cid, -getCreatureSpeed(cid)) local speed = 150 + PlayerSpeed + getSpeed(sid) * 5 * speedRate doChangeSpeed(cid, speed) setPlayerStorageValue(cid, 54844, speed) doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) setPlayerStorageValue(cid, 17001, 1) Em baixo adicione:
local addonride = getPlayerSlotItem(cid, 8).uid local addoride = getItemAttribute(addonride,"addonride") if not addoride then doSetItemAttribute(addonride,"addonride",0) end if addoride > 0 then doSetCreatureOutfit(cid, {lookType = addoride}, -1) end Agora em movements/surf.lua encontre:
doSetCreatureOutfit(cid, {lookType = surfs[getPokemonName(getCreatureSummons(cid)[1])].lookType + 351}, -1) doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", 1) doChangeSpeed(cid, -(getCreatureSpeed(cid)))
E troque por:
local addonsurf = getPlayerSlotItem(cid, 8).uid local addosurf = getItemAttribute(addonsurf,"addonsurf") if not addosurf then doSetItemAttribute(addonsurf,"addonsurf",0) doSetCreatureOutfit(cid, {lookType = surfs[getPokemonName(getCreatureSummons(cid)[1])].lookType + 351}, -1) end if addosurf > 0 then doSetCreatureOutfit(cid, {lookType = addosurf}, -1) end doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", 1) doChangeSpeed(cid, -(getCreatureSpeed(cid))) No mesmo arquivo ache:
doSummonMonster(cid, pokemon) Logo abaixo adicione:
local pk = getCreatureSummons(cid)[1] local balla = getPlayerSlotItem(cid, 8).uid local balladdon = getItemAttribute(balla,"addon") if not balladdon then doSetItemAttribute(balla,"addon",0) end if balladdon > 0 then doSetCreatureOutfit(pk, {lookType = balladdon}, -1) end Por ultimo em actions/order.lua encontre:
doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1) doRegainSpeed(cid) --alterado v1.7 doRemoveCondition(cid, CONDITION_OUTFIT) Abaixo adicione:
local pkjg = getCreatureSummons(cid)[1] local pkza = getPlayerSlotItem(cid, 8).uid local pkxd = getItemAttribute(pkjg,"addon") if not pkxd then doSetItemAttribute(pkza,"addon",0) elseif pkxd > 0 then doSetCreatureOutfit(pkjg, {lookType = pkxd}, -1) end Caso não tenha addon box vá data/actions/scripts e adicione isso:
Explicando:
local addons = {12803,12804,12805,12806,12807,2135,2136,2137,2138,2139,2142} ( Onde tá os numeros é o id da sua addon )
onde tá 12802 ( é o id da addon box )
Onde tá (1, 11 ) é a quantidade de items que tem na box,sempre que for adicionar uma aumente o numero pois pode falhar.
EM DATA/ACTIONS/ACTIONS.XML
ADICIONE ESTA TAG :
<action itemid="ID DA SUA ADDON BOX" event="script" value="addon box.lua"/>
Pra finalizar Vá em creaturescripts/scripts/login.lua Troque tudo por:
-
Silveira deu reputação a Viny 13 em Boost Poketibialocal btype = "normal"
local pokemon = "Nome do pokemon"
local storage = 60008 -- storage
function onUse(cid, item, frompos, item2, topos)
if pokemon == "" then return true end
if getPlayerStorageValue(cid, storage) <= 0 then
addPokeToPlayer(cid, pokemon, 0, nil, btype)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce terminou a quest e pegou seu "..pokemon.."!!")
doSendMagicEffect(getThingPos(cid), 29)
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)
setPlayerStorageValue(cid, storage, 1)
doPlayerAddItem(cid, 2160, 1)
else
doPlayerSendCancel(cid, "Você já pegou seu Pokémon")
end
return TRUE
end
TAG : <action actionid="30018" event="script" value="quests/NOMEDOARQUIVO.lua"/>
AGORA É SO BOTAR NO ACTION ID DO BAU 30018
-
Silveira deu reputação a Viny 13 em Boost Poketibiatenta mudar no boost_rate dentro do configuration.lua
-
Silveira deu reputação a ryukicho em (Resolvido)[Pokemon] Como arrumar experiencia e outrosComo Arrumar Experiencia de Pokemon com Level e outros :
Para Quem não sabe aumentar experiencia , arrumar tempo de ataque de Pokemon's e até mesmo trocar a Portrait , esse tutorial Escrito Por Min "Ryukicho" Venho lhe mostra o básico do configuration.lua.
Como aumentar/abaixar Experiencia do PokeTibia , speed , ataque/defesa . 1 abra o arquivo configuration.lua com bloco de notas ou outro que se encontra na pasta server/data/lib .
Procure isso no script , que se encontra logo no começo:
explicação :
Experiencia no config.lua Procure por isso:
Explicação :
Como arrumar os tempos e ataque dos pokemon's Vá em configuration.lua e procure isso :
Obs : procure o pokemon que queira editar em ( movestable = { ), no meu caso peguei Salamence !
Explicação :
Bom galera se ajudei Rep+ Tutorial feito Por Min , aqui fiz somente o básico . caso tenha duvida Posta , que lhe ajudo
-
Silveira deu reputação a Wakon em (Resolvido)[Pedido/Duvida] Premium Tile [Assunto antigo]Em "Data/movements/scripts" copie e cole um arquivo .lua e renomeie para premmytile.lua, apague tudo e cole:
function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getPlayerPremiumDays(cid) <= 0 then doPlayerSendCancel(cid, "Apenas premium accounts podem passar aqui.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 13) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo a area premium.") doSendMagicEffect(position, 12) end return true end Agora em "Data/movements" abra o movements.xml e adicione a tag:
<movevent type="StepIn" actionid="25200" event="script" value="premmytile.lua" /> Ai você coloca a actionid 25200 nos locais que apenas premium pode passar.
Agora em "Data/creaturescripts/scripts" copie e cole um arquivo .lua e renomeie para checkpremmy.lua, apague tudo e cole:
function onLogin(cid) local pos = {x = 160, y = 54, z = 7} local storage = 21590 if getPlayerStorageValue(cid, storage) <= 0 and getPlayerPremiumDays(cid) >= 1 then setPlayerStorageValue(cid, storage, 1) end if getPlayerPremiumDays(cid) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem "..getPlayerPremiumDays(cid).." dias de premium restantes.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você é free account.") end if getPlayerStorageValue(cid, storage) >= 1 and getPlayerPremiumDays(cid) <= 0 then doTeleportThing(cid, pos) doPlayerSendTextMessage(cid, 25, "Sua premium expirou.") setPlayerStorageValue(cid, storage, -1) doSendMagicEffect(getPlayerPosition(cid), 13) end return true end Em "Data/creaturescripts" abra o creaturescripts.xml e adicione a tag:
<event type="login" name="CheckPremmy" event="script" value="CheckPremmy.lua"/> -
Silveira deu reputação a Viny 13 em Sistema de Addon [ Poketibia ]Tudo bem ?
Venho trazer um sistema de poketibia que são no caso as roupinhas de Pokémon's
Vamos á instalação ?
Na parte onde fica actions.xml adicione á seguinte tag :
Onde está 1234 vai ser o id do item que vai dar á addon
AGORA VOCE VAI ADICIONAR O SCRIPT :
Crie um arquivo e renomei para addons.lua abra-o e coloque isso dentro :
AGORA VOCÊ VAI PREOCURAR O ARQUIVO action do GOBACK e se eu não me engano tá na pasta action.
Quando você encontrar abre ele, e bem no finalzinho antes disso :
PS : Vai adicionar isso \/ 2 linhas acima do else :
AGORA VOCE VAI ATÉ " DATA/LIB/Catch system.lua " e vai abrir o catch system.lua
agora você vai dar cntrl+f e pesquisar por isso
quando você encontrar você pule 2 linhas e adicione isso
FEITO ISSO VOCE VAI EM data/talkactions/scripts/createpokeball.lua
Abra o arquivo, quando abrir aperte ctrl+f e pesquise por :
quando você achar isso pule 2 linhas e adicione isso :
Se gostou do conteúdo não esqueça de avaliar com um REP+ que já vai me ajudar bastante da mesma forma que eu te ajudei " Yeaaah "
O Sistema de Addon box é o mesmo sistema do = Randon Box só preocurar ai no tibiaking ai você pode botar os id da addon dentro dessa random box pra gerar uma addon
PS : Se o seu pokemon dar fly não vai dar fly com o addon acontece o mesmo com o RIDE
Obrigado ai galera do grupo Poketibias, por me insistirem tanto por PM !
CREDITOS :
Cacaio : Deu e fez elas
Stigal : Arrumou e deixou compatível em todas versões
SkyFrozer : Disponibilizou no tópico e no fórum : Tibiaking
-
Silveira recebeu reputação de Love Tibia em SpriteGalera vou pedir uma coisa diferente na verdade não quero nenhum remake nem nda eu gostaria muito de saber se alguém com tempo, poderia criar uma sprite para mim desse pokemon ,eu achei muito show e pensei,será que o tk n me ajuda,ai galera agradeço desde já desculpe qualquer coisa e se forem fazer eu ficaria muito feliz se quiserem contato tenho skype:andrewbonisil