Ir para conteúdo
Banner com Efeitos

FabiiioH

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    FabiiioH deu reputação a xWhiteWolf em Castle War 24hras Ligando Automaticamente   
    @Teobaudo1, eu comecei a scriptar há 7 anos atrás, na época x-tibia nem existia  e eu peguei a época desde o começo até falir.. adm's porcos que vendiam scripts e baniam membros que os liberassem. Aqui a moderação se esforça ao máximo pra trazer conteúdo novo, e, se você tá tendo dificuldades pra achar um castle war, é porque você não tá sabendo usando o 'pesquisar'... e se o caso for de não achar que oque vc queria, porque você não vira scripter e faz seu próprio castle?? Aqui tem uns 3 ou 4 sistemas de castle mas cada player reclama de uma coisa ("AI NAO É OQUE EU QUERIA", "AI ESSE NAO TEM O GLOBAL EVENTS", "AI NÃO ATIVA AUTOMÁTICO", "AI NÃO AVISA QUE TEM INVASOR") vamo parar de ser criança e entender que existem diferentes sistemas cada um com seus pontos positivos e negativos, todos são funcionais (do contrário não estariam aqui). E lembrando que é contra as regras upar um tópico que já tem mais de 60 dias, ainda mais sem ter algo relevante pra dizer. Por último, gostaria de salientar que se você realmente quer que o fórum cresça e tenha tanto conteúdo quanto você achava que o tibiaking tinha, passe a doar seu scripts e trazer conteúdo novo também.
  2. Obrigado
    FabiiioH deu reputação a thelifeofpbion em [Ajuda] Spell de Teleporte   
    Acho que consegui fazer mais ou menos o que você queria...
    Só não entendi uma coisa, o tp deveria ser apagado? porque eu apenas criei, até consigo fazer um add Event, que apaga depois de x tempo o tp...
    se for para apagar quando pisa acho que teria que ser um movement dai.. ou fazer com que esse tp criado receba uma action e em movements colocar pra apagar quando pisar, sei lá.
    enfim é isso.
     


     
  3. Curtir
    FabiiioH deu reputação a xWhiteWolf em [Pedido] Akatsuki,Sage,Hokage etc...   
    willian12345, posta o script aqui e ajuda o cara... é assim q funciona o suporte, você ajuda um dia e te ajudam no outro. Pra que ficar nessa de ficar trocando script como se fosse figurinha? Até parece que você já não pegou um monte de script de graça aqui que outros fizeram.. ja tá mais que na hora de retribuir o favor!
  4. Gostei
    FabiiioH deu reputação a KotZletY em Problema em trocar Template Modern acc   
    Index.tpl
  5. Gostei
    FabiiioH deu reputação a Dean183 em Aumentando attackspeed por fist(sem usar sources)   
    Olá criançada do tibiaking.
     
            Durante muito tempo, várias pessoas vieram me perguntar como colocar o attackspeed por fist fighting e a resposta sempre foi a mesma:
     
    "Tendo as sources é só dar uma procurada no tibiaking que lá tem(Jabá)"
     
            Mas parando para pensar um pouco e sendo criativo, elaborei 1 jeito(incrivelmente fácil) de imitar esse sistema apenas em LUA.
     
     
     
    Nota1: Como a estrutura lua apresenta certas limitações infelizmente o sistema também, será necessário um item na mão para se treinar o fist (se você bater em algum target sem items, a velocidade do ataque ira parecer a original mesmo tendo 5k de fist fighting.
     
    Nota2: Caso você tenha acesso as sources do seu ot e saiba como compilar etc, é melhor que você use o sistema nas sources vide: Attackspeed por Fist
     
    Nota3: Se você não tiver acesso as sources(elas são sempre um problema não é mesmo)e a velocidade de ataque aumente muito, a mudança no attackspeed só será visível se o player estiver usando bot.
     
     
     
     
           Então vamos logo ao que interessa a todos:
     
     
                    Primeiro: criei um arquivo lua em data\creaturescripts\scripts como o nome de  attackspeed.lua  e coloque o seguinte dentro:
     
    function onAttack(cid, target) --------Fist fighting decreasing/increasing attackspeed in lua by MMF--------     local skill = getPlayerSkill(cid, 0)     local velocidade = math.floor(20000/(1.35*skill)) -- altere aqui para aumentar/diminuir a quantidade de ataques por segundo!     local item = getPlayerWeapon(cid)     if item.itemid == 0 then         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter uma arma em sua mão para atacar!")     return false     end         doItemSetAttribute(item.uid,'attackspeed', velocidade)      return true end Lembre-se que para aumentar a quantidade de ataques por segundo a variável velocidade tem de ficar MENOR e o contrário para diminuir a velocidade.
     
     
     Adicione a seguinte tag no XML:
    <event type="attack" name="attackspeed" script="attackspeed.lua"/>  
     
    Agora vá em  data\creaturescripts\scripts, encontre o login.lua e adicione:
    registerCreatureEvent(cid, "attackspeed") Agora vá em data\items, encontre o items.xml e escolha o item que será usado para treinar o fist no meu caso escolhi uma blue rose.
     
    no item que você escolher adicione os seguintes atributos:
    <attribute key="attack" value="1" /> <attribute key="weaponType" value="fist" />  
     
    no meu caso a blue rose ficou assim, mas você pode fazer com qualquer item que possa ser colocado na mão do personagem.
        </item>     <item id="2745" article="a" name="blue rose">         <attribute key="weight" value="80" />         <attribute key="attack" value="1" />         <attribute key="weaponType" value="fist" />     </item>  
    E é isso(se eu não me esqueci de nada). Se você for utilizar esse sistema em seu servidor lembre-se de avisar aos players que precisa de 1 item para treinar o fist!
     
    Dúvidas/edições é só postar nos comentários ou me chamar nos comentários que farei o possível para ajudar!
     
    meu skype: john.winchester8
  6. Gostei
    FabiiioH deu reputação a KotZletY em ShootEffect de Uint_8 para Uint_16 para versão 8.54   
    Salve galera, a pedido dos membros: @zangoosedoido, @leozincorsair, @themapa, @ZikaLord, dentre outros membros via pm não citados, estarei trazendo um tutorial de como aumentar o limite de ShootEffects(missiles, distanceEffect) no client 8.54 para mais de 255.
     
    Informação: É necessário fazer as devidas alterações na source para ShootEffects, não basta fazer somente no client!
    AVISO: Esse tutorial é somente para a versão 8.54, caso deseja fazer isso na versão 8.60, siga meu outro tutorial para o mesmo, clicando aqui!
     
    Vamos ao tutorial, baixe o Ollydbg, programa que usaremos para fazer as alterações, você poderá encontrar o download no final do tópico.
    Inicie o OllyDbg, e selecione o client:
     
    Depois de selecionar, pressione CTRL+G e procure pelo seguinte endereço: 00410576
     
    Você vai cair em cima dos endereços a ser alterado:
     
    Feito isso, dê dois clicks no primeiro endereço e altere para: CALL 004F4FF0
     
    Dê dois clicks no segundo endereço, no caso o que está abaixo do primeiro que foi alterado, e mude para: MOVZX EAX, AX
     
     
    Pronto, agora iremos salvar as alterações feita no client:
     
    Pronto, seu client já está modificado. Agora curta e faça bom proveito dos 65k de slots de shootEffects. Hehehe! xD
     
    Download: Download do OllyDbg
    Scan: Scan do OllyDbg
     
    O vírus encontrado no OllyDbg, não é nada mais nada menos que um falso-positivo, por ser um programa que altera tudo que você quiser em algum soft, e programas com tal capacidade, pode ser interpretado como maligno por alguns anti-vírus! 
     
    Créditos = {
    ["KotZletY"] = "Feito o tutorial",
    ["Fernando Prado"] = "Parça que me ensinou os macetes, dentre muitos outros."
    }
  7. Gostei
    TFS 0.3.6 (Crying Damson) Versão suportada 8.54 porém com as modificações só o client disponível suporta ele se encontra em OTX porém pode ser compilado em theforgotten normal.
     
    Fala guys poxa perambulando pela área de downloads e vi vários servidores mas nenhum tem sourcer então vou disponibilizar essa sourcer aqui com limites de effects aumentado já ele está em otx e compila em windows de boa em linux não testei espero que ajude a rapazeada ai que ta começando agora e o servidor não tem sourcer lembrando ta aumentado até 429 magic effects e 123 shotyeffects.
     
    É necessário alterar o client para ler em uint16 e então está tudo certo!
     
    Source:
    Download
    Scan
     
    Nota: deixarei um otclient já modificado para uint16 e com algumas outras modificações caso queiram.
    Client:
    Download
    Scan
     
    Obs: Caso quiser usar a tfs compilada na pasta dev-cpp/test podem usar foi a ultima que compilei em windows para mim esta tudo certinho.
  8. Gostei
    FabiiioH deu reputação a KotZletY em [Narutibia] Jinchuuriki System - Distro 0.4   
    @FabiiioH por nada, espero que tenha gostado, estou com algumas coisas pendentes por agora, quando eu estiver livre, dento de 2 ou 3 dias, ae farei o buff desse sistema, e atualizarei o tópico. Abraços, qualquer duvida, sugestão é só mandar, fico feliz que tenha gostado! xD
  9. Gostei
    FabiiioH deu reputação a KotZletY em [Narutibia] Jinchuuriki System - Distro 0.4   
    Salve rápázyádá, recentemente estava de rolê pelo tk, e vi um tópico com o seguinte pedido: "Jinchuuriki System", pra que não conhece irei da um breve resumo.
     
    Para quem conhece o anime naruto sabe sobre as bijuus, e que elas foram seladas em shinobis destinados a carregar tamanha responsabilidade devido a cada biju ter um poder destruidor, como por exemplo a bijuu raposa de nove caldas(Kyuubi), selada dentro do personagem principal chamado de Naruto Uzumaki, a Kyuubi quando dominada, dá ao usuário uma grotesca quantidade de chakra, assim como jutsus e muito mais, cada bijuu tem sua especialidade, jutsus de defesa, assim como a própia defesa e resistência do usuário a tais jutsus, mas claro para você ter a bijuu, é necessário que você sele-a dentro de você, através de um dos jutsus proibidos, como o Shiki Fuujin usado por Minato o 4º Hokage e também pai de naruto, ao usar o selo ele consome a alma de quem usa levando-o a morte após o termino do jutsu, minato como hokage não poderia deixar a kyuubi destruir a vila, então ele invoca o Selo Consumidor do Demônio Morto(Shiki Fuujin) conhecido também como Selo Ceifeiro da Morte, e sela a kyuubi dentro de seu própio filho salvando a vila e morrendo como herói, e naruto desde então passa a ser o Jinchuuriki da raposa de nove caldas.
     
     
    Tendo uma ideia básica de como funciona, vamos a explicação do sistema, que não é diferente.
     
    Ao usar um jutsu(spell) de selo em algum bijuu(monstro), você terá ele selado dentro de você e obterá os jutsus de acordo com cada bijuu, mas para isso, a vida(hp) da bijuu deve está menor que 20%(configurável), e então você durante 2(configurável) dias, terá ele selado dentro de você e poderá usar os jutsus, ao acabar esse tempo você irá perdelo, assim como os jutsus.
    Sistema criado e testado na versão 8.60 usando uma distro na versão 0.4, mesmo assim pode funcionar em versões inferiores!!
     
    Siga os passos corretamente que é sucesso.
     
    Vá em data/lib e crie um arquivo chamado JinchuurikiSystem.lua e coloque o seguinte code dentro:
     
    A tabela está de acordo com a ordem de bijuus existente desde o bijuu de 1 calda, até a biju de nove caldas, então você irá mexer somente em qual ou quais jutsus(spells) cada bijuu irá usar, mais precisamente aqui:
    spells = {""} entre aspas coloque a quantidade que seja de jutsus(spell), como por exemplo:
    Tk no Jutsu 1- Tk no jutsu 2, separados por virgula, assim:
    spells = {"Tk no jutsu 1", "Tk no jutsu 2"} Lembrando que o nome das spells não é a que fica em words, é que  fica em name na xml, por exemplo:
    eu tenho um jutsu chamado kai, quem joga narutibia sabe pra que serve, para usar ela, usamos o nome que está em words, e a que fica em name, será que vai ser mostrada quando for usar, entretanto a função que faz o player aprender a spell, segui pelo nome:
    <instant name="Kai!" words="kai" note que contém uma exclamação no nome da spell, então vai ter que ir exclamação e tudo junto, ficando assim:
    spells = {"Tk no jutsu 1", "Tk no jutsu 2", "Kai!"} e então quando o player for usar a spell pelo words kai, a spell será usada.
     
    Agora vá em data/spells/scripts crie um arquivo chamado selojin.lua e coloque o seguinte code dentro:
     
    Agora vá em data/spells/scripts crie um arquivo chamado buff bijuu.lua e coloque o seguinte code dentro:
     
     
    a tag que você irá colocar na spells.xml para esse jutsu(spell) será a seguinte:
    <instant name="Shiki Fuujin" words="shiki fuujin" lvl="1" mana="1" prem="0" exhaustion="10" enabled="1" needtarget="1" event="script" value="selojin.lua"> </instant> <instant name="Buff Jin" words="buff jin" lvl="1" mana="0" prem="0" selftarget="1" exhaustion="1000" enabled="1" event="script" value="buff bijuu.lua"> </instant>  
     
    Agora vá em data/talkactions/scripts e crie um arquivo chamado jincheck.lua e coloque o seguinte code dentro:
     
    Nota: esse comando serve para você checar quanto tempo você tem de Jinchuuriki, e qual bijuu está selado dentro de você.
    A tag da talkactions.xml para esse jutsu(spell) é a seguinte:
    <talkaction words="!jincheck" event="script" value="jincheck.lua"/>  
    Agora vá em data/globalevents/scripts e crie um arquivo chamado jincheck.lua e coloque o seguinte code dentro:
     
    Nota: esse script checa a cada um minuto, os players online na qual o tempo de Jinchuuriki já expirou, e então remove, para assim ele não continuar com os jutsus.
     
    A tag do globalevents.xml desse script é a seguinte:
    <globalevent name="JinSystem" interval="60000" script="jincheck.lua"/>  
    Agora pra finalizar vá em data/creaturescripts/scripts e crie um arquivo chamado jinsystem.lua e adicione o seguinte code:
     
    e a tag do creaturescripts.xml desse script é a seguinte:
    <!-- Jinchuuriki System --> <event type="look" name="JinSystemLook" event="script" value="jinsystem.lua"/> <event type="death" name="JinSystemDeath" event="script" value="jinsystem.lua"/> <event type="login" name="JinSystemLogin" event="script" value="jinsystem.lua"/> <event type="logout" name="JinSystemLogout" event="script" value="jinsystem.lua"/>  
    Nota: na spells.xml que não precisam ter uma vocação especifica para ser usada e devem conter a tag:
    needlearn="1" contendo essa tag, a spell não irá aparecer para nenhum player e não poderá ser usado até que o player sele a bijuu, após ser aprendida quando o player sela a bijuu, irá aparecer no comando !jutsus que em servidores normais é o spellbook e o !spells, em quanto o player não selar, ele não ver e nem pode usar.
     
    bijuu_outfit é o id da looktype que o player vai ganhar ao usar o buff(se você tem outro buff ou speel que faça o mesmo, remova-o ou então remova a função doSetCreatureOutfit da minha buff, assim não gerando conflito e ficando o outfit que deseja).
    skill_p é a quantidade de pontos que ao usar o buff da bijuu, vai add no player.
    time_buff é quanto tempo o buff vai ficar no player valendo também para a looktype.
    effBuff é o id do efeito que vai sair em cima do player quando ele usar o buff.
     
    Pronto, basta configura a spells que cada bijuu(monstro), e pronto.
    Acho que não preciso explicar como configurar, no própio script deixei umas observações.
     
    É totalmente proibido levar meu sistema para outro blog, site ou fórum, fiz esse sistema exclusivamente para membros da comunidade do TibiaKing.
     
     
    Quaisquer erros, sugestões, críticas(construtivas), fiquem a vontade, caso tenha alguma duvida sobre tal parte do script, ou não entendeu alguma parte de como configurar, basta comentar que estarei dando suporte.
     
    Script feito por mim.
     
     
     
    Abraços, bom uso, e boa noite! xD
  10. Gostei
    FabiiioH deu reputação a LeoTK em Barra De Mana abaixo da vida   
    na minha opinião isso é muito situacional cara não pode generalizar tudo ou seja cada caso é um caso eu particularmente sou muito grato a comunidade tibiana principalmente os programadores,scripter etc... porque além de aprender muito eu tive muita ajuda e hoje eu posso estar devolvendo o favor e ajudando sempre que posso sem olhar a quem e disponibilizar conteúdos bons de graça sim porque se não amigo nada vai sair do lugar se ninguém dar o braço a torcer vai ficar nessa mesmice para sempre por exemplo já disponibilizei minha source toda configurada que fiquei mais de 2 semanas editando disponibilizei de graça sem cobrar nada porque simplesmente quero incentivar projetos open sourcer então Reflita você amigo porque desse mundo as pessoas só leva os momentos nada mais se você morrer amanhã vai ficar tudo ai ... você não leva nada REFLITA  
  11. Gostei
    Dizer que ninguém consegue é muito precipitado, mas por que você quer esconder seu client? quando ele vai para memória, não importa o que você tente esconder, vai está desprotegido, se for o Old Client... se quer realmente proteger seu client de alguma coisa, use o VMProtect, é um pouco mais difícil de fazer unpacking, mas dependendo da proteção que você vai utilizar, o anti virus pode detectar alguns falsos positivos.
  12. Gostei
    FabiiioH deu reputação a xFatality em Bug ao restartar server (skills aumentam subtamente)   
    Quando for reiniciar/fexar o servidor digita na sua conta da staff /save
    Obrigado,
    Abraços.
  13. Gostei
    FabiiioH deu reputação a sear10 em Bug ao restartar server (skills aumentam subtamente)   
    Isso já aconteceu comigo, isso ocorre porque o servidor fecha sem dar save, e ai termina bugando algumas coisas, level, magic level, skill e tal.
    As vezes buga o vocation.xml e por isso o servidor trava, pois o player bugado loga e o servidor não consegue reconhecê-lo.
    Aconselho resetar o servidor, e tentar ver se resolve o problema, e não feche o server sem dar save.
  14. Gostei
    FabiiioH deu reputação a xWhiteWolf em Mining System   
    Antes de tudo queria agradecer ao cara do suporte que me pediu pra fazer isso, achei muito legal a idéia. Fala galera do TK, vim trazer um script bem simpleszinho mas que abre um leque de opções de RPG e diversão pro seu OT.. Trata-se do Mining System, um sistema que você pode utilizar a pick normal (ou uma outra pick especial) para minerar a terra e tentar conseguir items que você pode trocar por dinheiro, items ou utilizar para craftar items. São 70 leveis de Mining que vão upando conforme vc minera.
    Enfim, vamos ao script:
    actions\scripts\mining.lua:
    terra = {351,352,353,354,355}  levels = { [-1] = 2229, ---- skull [0] = 1294, --- small stone [1] = 3976, --- worm [10] = 2149, -- Small Emerald [12] = 2146, -- Small Sapphire [15] = 2145, -- Small Diamond  [17] = 2150, -- Small Amethyst [20] = 2147, -- Small Ruby [25] = 2144, -- Black Pearls  [27] = 2143, -- White Pearls [30] = 2157, -- Gold Nuggets [35] = 2156, --- red gem [36] = 2158, -- blue gem  [37] = 2155, -- green gem  [38] = 2153, -- violet gem [39] = 2154, -- yellow gem [40] = 7761, -- small enchanted emerald  [42] = 7759, -- Small Enchanted Sapphiire [45] = 7762, -- Small Enchanted Amethyst [50] = 7760, -- Small Enchanted Ruby [70] = 2177  -- Life Crystal } local config = { storage = 19333, chance = 40, --- chance de achar um item ou não k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante) experience = 19334 } function onUse(cid, item, fromPosition, itemEx, toPosition) local drops = {} function getDrops(cid) for i= -1,getPlayerStorageValue(cid, config.storage) do if levels[i] then table.insert(drops, levels[i]) end end return true end if isInArray(terra, itemEx.itemid) then getDrops(cid) doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1) local experience = getPlayerStorageValue(cid, config.experience) if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1) doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".") if getPlayerStorageValue(cid, config.storage) == 50 then doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.") doPlayerAddItem(cid, 7497, 1, true) end end if config.chance >= math.random(1,100) then if #drops >= 1 then local item = drops[math.random(1,#drops)] doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".") doPlayerAddItem(cid, item, 1, true) end doSendMagicEffect(toPosition, 3) else doSendMagicEffect(toPosition, 2) return true end elseif itemEx.itemid == item.itemid then doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".") else return false end return true end em terra vc coloca os ids dos chãos em que é possível minerar, levels é o level da skill e o ID do respectivo item que você fica capaz de conseguir após alcançar esse nível. Em outras palavras, no começo vc só consegue minerar skull, no nv 70 vc vai ter a chance de conseguir todos os items anteriores e não só life crystal. O restante das configurações está no meio do script:
    local config = {
    storage = 19333,
    chance = 40, --- chance de achar um item ou não
    k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
    experience = 19334
    }
    o storage é onde vai salvar o seu nível
    chance é a chance de pegar um item cada vez que minera.
    k é a constante de level, o nivel 10 precisa de 10*10/k de experiencia para ser alcançado (com k sendo 2 dá 50 de experiencia), ou seja, com 50 picaretadas na terra vc pega nivel 10.
    experience é o storage que fica salvo sua experiencia.
    Bônus: Ao alcançar level 50 você ganha o Mining Helmet como prêmio, ele não faz nada de especial mas é como se fosse um troféu. No meu server tem uma série de troféus que voce pode colecionar e fica como sendo uma conquista épica para os players.
    e no actions.xml:
    <action itemid="2553" script="mining.lua"/> OBS: Sugiro que vcs utilizem uma outra pick pra não dar conflito mas você faz oque quiser.
    PS: Uma fotinha pra vcs verem
    Espero que tenham gostado!  
  15. Gostei
    FabiiioH deu reputação a ManoTobira em [Action] Hiraishin Kunai   
    Esse sistema é o da hiraishin kunai uma kunai que teleporta para position que voce escolhe vamos lá
     
    Em Actions/Scripts/ Copie um Arquivo.lua e renomeie para hiraishin apague tudo e coloque a seguinte script:
     



     
    em Actions.xml Adicione a seguinte tag:
    <action itemid="7382" event="script" value="hiraishin.lua" allowfaruse="1"/> explicando
     
    local vocs = {250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261} --- aqui é o id das voc que pode usar a kunai
     
    local parede = {1030, 1029, 1025, 1026, 1027, 1259, 1028, 1032, 1034, 1033, 1536, 1533, 873, 919, 874, 1037, 4472, 4475, 4471, 3388, 3373, 3363, 3398, 3408, 3417, 3420, 3407, 3368, 2701, 5130, 6170, 6166, 1596}
    são as parede que não podem passar  etc...
     

     
    Créditos
    Luan Mello
  16. Gostei
    FabiiioH deu reputação a xWhiteWolf em Hirashin Ni No Dan   
    Fala galera do TK, um cara tinha pedido no suporte pra eu fazer essa spell aqui http://youtu.be/ZWrsRvVYgys?t=1m54s e eu fiz rapidinho e ficou uma bosta, então eu decidi melhorar ela e postar aqui pra vocês. 

    O vídeo é bem explicativo então eu acho que não preciso ficar prologando isso daqui, se vc não quiser ver o vídeo tente entender pelas fotos:








    Bom, antes de tudo vá em spells.xml e coloque isso daqui:
    <instant name="Tibia King" words="Hirashin ni no dan" lvl="50" mana="100" prem="1" range="6" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/playerport.lua"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> aqui vc configura nome da magia, palavras pra usar ela, level pra usar, mana que custa, se precisa ser premio, o alcance máximo dela, se precisa de um target (nessa magia em específico eu vou pedir pra que vc não mexa nisso), se ela é bloqueada pelas paredes (1 quer dizer que sim), a exaustão entre um uso e outro (nesse caso vc usa a magia e precisa esperar 1 segundo (1000 milisegundos) pra usá-la novamente) se ela precisa ser aprendida (0 significa que vc já vem com ela) e em value você tem o diretório em que ela vai ficar (no caso dentro da pasta spells\scripts vai ter uma pasta chamada especiais e dentro dessa pasta vai ter um arquivo chamado playerport.lua

    Feito isso crie o arquivo playerport.lua que deverá conter o seguinte:
    local config = { storage = 49708, tempo = 1.5, effect = 65 } local exception = {"Trainer", "Training Monk", "GOD"} function onCastSpell(cid, var) local name = getCreatureName(getCreatureTarget(cid)) if not isInArray(exception, name) then if getPlayerStorageValue(cid, config.storage) <= 0 then doPlayerSetStorageValue(cid, config.storage, 1) doSendMagicEffect(getThingPos(cid), config.effect) doSendMagicEffect(getThingPos(variantToNumber(var)), config.effect) addEvent(function() doPlayerSetStorageValue(cid, config.storage, 0) if isCreature(cid) and isCreature(variantToNumber(var)) then if isWalkable(getCreaturePosition(variantToNumber(var)), false, true, true) then doTeleportThing(cid, getThingPos(variantToNumber(var)), true) arr = {3} doAreaCombatHealth(cid, 1, getThingPos(variantToNumber(var)), arr, -getPlayerLevel(cid), -2*(getPlayerLevel(cid)), 0) elseif isCreature(cid) and not isWalkable(getCreaturePosition(variantToNumber(var)), false, true, true) then doPlayerSendCancel(cid, "You can't reach your target") end end end, 1000*config.tempo) elseif getPlayerStorageValue (cid, config.storage) > 0 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendCancel(cid, "You've already set your target.") end else doPlayerSendCancel (cid, "You can't use this spell in this creature.") return false end return true end Ali no começo é possível configurar algumas coisas do script:
    o script em si é bem fácil de se configurar.

    Agora pra evitar possíveis bugs você deve ir em creaturescripts\scripts\login.lua e adicionar essas linhas antes do ultimo return true:
    ---------- PlayerPort--------------- if getPlayerStorageValue(cid, 49708) ~= 0 then         setPlayerStorageValue(cid, 49708, 0)  end Lembrando que o storage no login.lua tem que ser igual ao storage no script!!

    OBS: a fórmula pode ser mudada nessa linha aqui:
    doAreaCombatHealth(cid, 1, getThingPos(variantToNumber(var)), arr, -getPlayerLevel(cid), -2*(getPlayerLevel(cid)), config.effectdamage)   aqui é a fórmula:
     -getPlayerLevel(cid), -2*(getPlayerLevel(cid)) sendo min, max respectivamente. Em outras palavras, o mínimo que a magia tira é o level do player e o máximo que ela tira é 2x o level;

    Espero que vcs tenham gostado :]
  17. Gostei
    Bom galera, tem uma coisa bem simples que nem o tibia global fez e que eu to trazendo aqui pra vocês. Trata-se de um pequeno sistema que fará você sempre virar pra direção do seu target ao atacar.
    Testado em TFS 0.3.6 Cliente 8.54.

    Imagem auto explicativa:




    Chega de atacar de costas! 

    Agora pra instalar é bem tranquilo. Abra um arquivo .lua em data\creaturescripts\scripts chamado target e coloque o seguinte conteudo dentro dele:




    Feito isso adicione essa linha no creaturescripts.xml:
    <event type="attack" name="targetCreature" script="target.lua"/> E para finalizar adicione a seguinte tag em creaturescripts\scripts\login.lua:
    registerCreatureEvent(cid, "targetCreature") Espero que vcs tenham curtido, é algo bem simples mas ninguém havia pensado nisso antes (nem o próprio Tibia), é uma coisa bem básica e que torna o jogo bem mais importante e sério. 


    EDIT:: Usem essa versão que está mais completa, na anterior se o target estivesse na diagonal ele não virava.



  18. Gostei
    FabiiioH deu reputação a Bryan Robert em Passar um Ot de NTO do 8.54 peo 8.6 AJUDA   
    Assunto:
    Passando o seu servidor de narutibia de 8.54 para 8.60.
     
    Tutorial:
    Baixe o servidor "Crying Dasmon Forgotten Server 8.60" & o "RME" (ou qualquer outro editor que funcione  na versão 8.60).
    Abra o mapa do Forgotten Server e vá em:
    File > Import > Map
    Depois de importado dê save e apague tudo da pasta data do Forgotten Server (menos a pasta World do mapa) e coloque as do NTO Shinobi. Após isto configure a config.lua para mysql (phpmyadmin) e pronto.
     
    Bugs:
    Caso dê bug nos Monsters/NPC do seu server, abra seu mapa no RME e vá em: 
    File > Import > NPC or Monster 
    Selecione todos os arquivos .xml de npc e monster da sua pasta data.
     
    Downloads:
    Crying Dasmon Forgotten Server 8.60 RME Creditos:
    Vegettotaku (eu, pelo tutorial)
    Naruto Shinobi [Hoobin Hood] (Pelo Server)
    Crying Dasmon (Pelo Server)
  19. Gostei
    FabiiioH deu reputação a Absolute em [Anunciar Morte] Fulano acabou de morrer para Ciclano   
    Salve galerinha do TK.
    A tempos algumas pessoas vem me pedindo sistema simples de anunciar morte, visto bastante em servidores de wars, baiaks e demais servidores.
    Então resolvi fazer e trazer aqui para vocês do TK.
     
    Sistema simples e legas, quanto um player morrer para outro player irá aparecer no Default:
    "Nome do player que morreu" acabou de ser humilhado pelo jogador "Nome do player que matou"
     
    Acho que esse sistema deixa a galera louca, caçando players e zoando então resolvi trazer pra cá.
     
     
     
    Primeiramente em creaturescripts.xml adicione a seguinte linha:
    <event type="kill" name="anunciarmorte" event="script" value="anunciar_morte.lua"/> Pós adicionar, crie um arquivo com o nome de anunciar_morte.lua e coloque dentro da pasta creaturescripts/scripts com o seguinte conteúdo:
    function onKill(cid, target, lastHit) if not isPlayer(target) or not isPlayer(cid) then return true end doBroadcastMessage(""..getCreatureName(target).."["..getPlayerLevel(target).."] acabou de ser humilhado pelo jogador "..getCreatureName(cid).."["..getPlayerLevel(cid).."].", MESSAGE_STATUS_CONSOLE_ORANGE) return true end E por fim vá até creaturescripts/scripts e abra seu login.lua, abaixo de: registerCreatureEvent(cid, "Mail") ou qualquer linha parecida com registerCreature... adicione a seguinte linha:
    registerCreatureEvent(cid, "anunciarmorte") Pronto, finalizado!
     
    Só isso? Sim script simples e divertido!
     
    Qualquer dúvida me comunique
     
    Créditos:
    Absolute.
     
     

Informação Importante

Confirmação de Termo