Ir para conteúdo

Silveira

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    Silveira deu reputação a GiovaniRodrigo em [Resolvido] [PEDIDO] NPC Troca Item por outro Item   
    Crie 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
  2. Gostei
    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
  3. Gostei
    Silveira deu reputação a DarkWore em (Resolvido)Account Manager   
    Vá no config.lua e mude isso:
     
    accountManager = false Para isso:
     
    accountManager = true Pronto problema resolvido.
  4. Gostei
    Silveira deu reputação a WhiteBubble em (Resolvido)Account Manager   
    Quer criar um account manager com site ou sem site ?
  5. Gostei
    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.
  6. Gostei
    Silveira deu reputação a GoTheHell em O que é mapear? - Parte dois   
    Eai 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
  7. Gostei
    Silveira deu reputação a Uglet em Respawn De Shiny's   
    Procure por:
    Obs: para evitar possíveis bugs mantenha a proporção do tempo...
  8. Gostei
    Silveira deu reputação a MaxxSilva em [Poketibia] Fly para vips   
    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:
  9. Gostei
    DISPONÍ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.

     
  10. Gostei
    Silveira deu reputação a Lekstar em (Resolvido)[PEDIDO] Comando de !invite na house   
    ta ai seus comandos de House :
     
    tenta substituir por este :
     
    pode editar ao seu gosto os comandos, fiz aqui agora.
     
    Te ajudei ? REP +
  11. Gostei
    Silveira deu reputação a Makhai Drakon em [PEDIDO] NPC vender item por outro item   
    chequei agr estava viajando vou baixar um server de tibia e arrumar
     
  12. Gostei
    Silveira deu reputação a Makhai Drakon em Informação Otserver   
    Como 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)
     
  13. Gostei
    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
  14. Gostei
    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
     

    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
     

    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
     

    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
     

    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
     

    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
     

    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
     

    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
     

    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"
     

    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
     

    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
     

    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
  15. Gostei
    Silveira deu reputação a GuuhTorres em (RESOLVIDO) Mudando Position do account manager   
    Edita 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...
  16. Gostei
    Silveira deu reputação a Viny 13 em Conteúdo retirado   
    Conteúdo retirado, duvida era muito simples, inicio de carreira haha
  17. Gostei
    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 :

     

     
  18. Gostei
    Silveira deu reputação a Viny 13 em Light muito escura   
    Tudo já foi resolvido, desculpe eu era noob nessa época, já até nem sei mais como eu resolvi, nem estou mais com o PROJETO.  
  19. Gostei
    Silveira deu reputação a Viny 13 em SISTEMA DE ADDON COMPLETO   
    Bom 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:

     
     
  20. Gostei
    Silveira deu reputação a Viny 13 em Boost Poketibia   
    local 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
     
  21. Gostei
    Silveira deu reputação a Viny 13 em Boost Poketibia   
    tenta mudar no boost_rate dentro do configuration.lua
  22. Gostei
    Silveira deu reputação a ryukicho em (Resolvido)[Pokemon] Como arrumar experiencia e outros   
    Como 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 
     
     
  23. Gostei
    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"/>
  24. Gostei
    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
  25. Gostei
    Silveira recebeu reputação de Love Tibia em Sprite   
    Galera 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

Informação Importante

Confirmação de Termo