Ir para conteúdo
Banner com Efeitos

EddyHavoc

Héroi
  • Registro em

  • Última visita

Tudo que EddyHavoc postou

  1. EddyHavoc postou uma resposta no tópico em Suporte Tibia OTServer
    Acredito que será difícil encontrar algo pronto do tipo, antigamente até que achava mas hoje em dia... não sei. Eu particularmente não sei como passar para MySQL. Aconselho a acostumar com o xml, é bem tranquilo de editar. Boa sorte bro!
  2. @Wingardium 3 x 0 @estopa
  3. EddyHavoc postou uma resposta no tópico em Suporte & Pedidos
    Acredito que não pode ignorar o fato do tipo de pokémon (água, grama, fogo, aço...) influenciar no dano do pokémon. Não sei se já está com isto em mente, pois quando citou Defense deu a entender que se eu estiver um pokémon do tipo grama com alta defense irei resistir igualmente um pokémon do tipo água ou fogo. Gostei da ideia, super interessante, desejo-lhe boa sorte e continue firme.
  4. Nome: Ice Wall Tipo: Spell Autor: Eddy Havoc Essa é a versão final da spell Ice Wall ou Block Wall criada por mim. Exibição in-game: Crie um arquivo chamado ice_wall.lua na pasta data/spells/scripts/conjuring e copie o conteúdo abaixo: --[[ Created by: Eddy Havoc name: Victor Amaral contact: victor.amaral1@gmail.com É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- local north = 0 local south = 2 local east = 1 local west = 3 local delay = 1 -- Tempo em segundos local itemh = 6728 local itemv = 6729 combat = createCombatObject() combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE) function onCastSpell(creature, variant) local cDir = creature:getDirection() local cPos = creature:getPosition () local pos = (Position(0,0,0)) if cDir == north then if not getTileInfo(cPos).house and not getTilePzInfo(cPos) then setCombatParam(combat, COMBAT_PARAM_CREATEITEM, itemv) pos = Position(cPos + Position(0, -1)) meffect = pos:sendMagicEffect(44) end elseif cDir == east then if not getTileInfo(cPos).house and not getTilePzInfo(cPos) then setCombatParam(combat, COMBAT_PARAM_CREATEITEM, itemh) pos = Position(cPos + Position(1, 0)) meffect = pos:sendMagicEffect(44) end elseif cDir == south then if not getTileInfo(cPos).house and not getTilePzInfo(cPos) then setCombatParam(combat, COMBAT_PARAM_CREATEITEM, itemv) pos = Position(cPos + Position(0, 1)) meffect = pos:sendMagicEffect(44) end elseif cDir == west then if not getTileInfo(cPos).house and not getTilePzInfo(cPos) then setCombatParam(combat, COMBAT_PARAM_CREATEITEM, itemh) pos = Position(cPos + Position(-1, 0)) meffect = pos:sendMagicEffect(44) end end addEvent(function() local wall = {itemh, itemv} for i = 1, 2 do if getTileItemById(pos, wall[i]).uid > 0 then doRemoveItem(getTileItemById(pos, wall[i]).uid) return TRUE end end end,delay*1000) return doCombat(creature, combat, variant) end Adicione a seguinte tag no arquivo spells.xml localizadon a pasta data/spells: <instant group="support" spellid="94" name="Protection" words="Ice Wall" level="1" mana="1" casterTargetOrDirection="1" blocktype="all" prem="0" cooldown="1000" groupcooldown="500" needlearn="0" script="conjuring/ice_wall.lua"> <vocation name="Elder Druid"/> </instant> Para configurar qual item a spell irá conjurar edite itemh/itemv. Itemh: item que irá aparecer horizontalmente (norte e sul). Itemv: item que irá aparecer verticalmente (leste e oeste). Qualquer dúvida estou a disposição, Atenciosamente, Eddy Havoc.
  5. EddyHavoc postou uma resposta no tópico em Suporte & Pedidos
    Lindas sprites!! Parabéns. É de algum projeto?
  6. Funciona apenas para TFS 1.0+ e Tibia 9.7 em diante. Tutorial feito por Evans, traduzido e adaptado por EddyHavoc. A funcionalidade ModalWindow te permite adicionar botões, entradas de escolha e textos. Pode ser usada para diversas coisas, para diferentes funcionalidades, tudo que precisa é conhecimento e criatividade. funções do ModalWindowNeste tutorial não iremos nos aprofundas, mas terá exemplos de como utilizar. Escolhendo seu tapete gratuitamente! Neste exemplo precisa de algo para acionar o script, ou seja um actionscript.Neste exemplo, foi usado um item simples. Você pode fazê-lo de qualquer outra maneira, isso é puramente por exemplo. Construindo a janela modal e enviando para o jogador:ModalWindow: sendToPlayer () envia apenas a janela, quando a janela for atendida (pressione o botão, etc.) o evento onModalWindow () em CriatureScripts será acionado! Tenha em mente que o jogador deve ter o evento registrado antes de enviar o ModalWindow! CreatureEvent onModalWindow (): Resumo Você deve registrar a ModalWindow como um CreatureEvent antes de enviá-la para o jogador ou então o jogador não receberá nada Você deve cancelar o registro da ModalWindow em CreatureEvent quando o jogador recebe. Dessa forma, o jogador pode receber a janela modal de forma limpa e apropriada novamente no futuro As janelas, botões e escolhas possuem IDs que você precisa definir. Isso permitirá que você verifique qual Modal Window, qual botão, que escolha o jogador selecionou em onModalWindow () Botões e escolhas são todos opcionais. Você pode ter uma Modal Window que tenha apenas botões. Você pode até ter 4 botões em vez de 2 (4 é o máximo embora). É bastante flexível. O setDefaultEnter / EscapeButton (id) leva apenas 1 parâmetro, o id do botão setDefaultEnterButton disparado ao clicar duas vezes ou a tecla Enter pressionada setDefaultEscapeButton ativado quando a tecla Escape pressionada Seja criativo! As ModalWindow abriram muitas oportunidades para os desenvolvedores criarem! Código usado nestes exemplos: function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey) player:registerEvent("ModalWindow_Tutorial") local title = "Pick your favorite color!" local message = "You get a free tapestry in the color of your choice!" local window = ModalWindow(1000, title, message) window:addButton(100, "Confirm") window:addButton(101, "Cancel") window:addChoice(1, "Red") window:addChoice(2, "Orange") window:addChoice(3, "Yellow") window:addChoice(4, "Green") window:addChoice(5, "Blue") window:addChoice(6, "Purple") window:setDefaultEnterButton(100) window:setDefaultEscapeButton(101) window:sendToPlayer(player) return true end function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("ModalWindow_Tutorial") local tapestry = {1869, 1866, 1863, 1860, 1872, 1857} if modalWindowId == 1000 then if buttonId == 100 then player:addItem(tapestry[choiceId], 1) end end end Créditos: Evans EddyHavoc
  7. EddyHavoc postou uma resposta no tópico em Suporte Tibia OTServer
    [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: !vipdays[10/01/2018 17:43:03] [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: /checkvip[10/01/2018 17:43:03] [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: /addvip[10/01/2018 17:43:03] [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: /delvip[10/01/2018 17:43:03] [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: /checkvip[10/01/2018 17:43:03] [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: /addvip[10/01/2018 17:43:03] [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: /delvip[10/01/2018 17:43:03] [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: !vipdays[10/01/2018 17:43:03] [Warning - TalkAction::configureEvent] Duplicate registered talkaction with words: /addvip Suas talkactions estão duplicadas. Vá em Talkactions.xml e delete oque está duplicado. ( /checkvip; /addvip; /delvip; /checkvip...)
  8. EddyHavoc postou uma resposta no tópico em Mapping Show Off
    Muito bom Daniel, um dos melhores mappers que conheço.
  9. Você poderia liberar o seu .lua inteiro ? Notei que ele verifica uma storage já presente no jogador, qual .lua que está definindo ela? Disponibilizando eu monto o script e explico cada linha pra você
  10. Traduzindo o código para o Português Se verificar storage do jogador 40300 for verdadeira (true) (se ele tiver a storage) então falar pra sí mesmo (oque estiver em "done") (done = "frase") trocar vocação (oque estiver em IDdaVocacao) (IDdaVocacao = 1 ou 2 ou 3 ou 4 ou 5 ou 6 ou 7 ou 8 ou 9 ou 10....) adicionar a storage do jogador 40301 se não (else) ... TRUE (Afirmação) FALSE (Negação) Brother esse seu script ta funcionando? Ta mal estruturado sei lá...
  11. @emanueldaltro Este seu erro: [Error - LauScriptInterface::loadFile] cannot open data/npc/scripts/akatsukiropa: No such file or directory [Warning - NpcScript] cannot load script: data/npc/scripts/akatsukiropa cannot open data/npc/scripts/akatsukiropa: No such file or directory Ocorre porque o arquivo .lua do NPC não está encontrando o Script. Por favor poste o script do seu npc que usa o script que está sendo buscado (akatsukiropa).
  12. In your Distro/CMD have any error about this ? When any monster or player die?
  13. @Leomonti Esta é a lista de efeitos disponíveis: CONST_ME_DRAWBLOOD = 0 CONST_ME_LOSEENERGY = 1 CONST_ME_POFF = 2 CONST_ME_BLOCKHIT = 3 CONST_ME_EXPLOSIONAREA = 4 CONST_ME_EXPLOSIONHIT = 5 CONST_ME_FIREAREA = 6 CONST_ME_YELLOW_RINGS = 7 CONST_ME_GREEN_RINGS = 8 CONST_ME_HITAREA = 9 CONST_ME_TELEPORT = 10 CONST_ME_ENERGYHIT = 11 CONST_ME_MAGIC_BLUE = 12 CONST_ME_MAGIC_RED = 13 CONST_ME_MAGIC_GREEN = 14 CONST_ME_HITBYFIRE = 15 CONST_ME_HITBYPOISON = 16 CONST_ME_MORTAREA = 17 CONST_ME_SOUND_GREEN = 18 CONST_ME_SOUND_RED = 19 CONST_ME_POISONAREA = 20 CONST_ME_SOUND_YELLOW = 21 CONST_ME_SOUND_PURPLE = 22 CONST_ME_SOUND_BLUE = 23 CONST_ME_SOUND_WHITE = 24 CONST_ME_BUBBLES = 25 CONST_ME_CRAPS = 26 CONST_ME_GIFT_WRAPS = 27 CONST_ME_FIREWORK_YELLOW = 28 CONST_ME_FIREWORK_RED = 29 CONST_ME_FIREWORK_BLUE = 30 CONST_ME_STUN = 31 CONST_ME_SLEEP = 32 CONST_ME_WATERCREATURE = 33 CONST_ME_GROUNDSHAKER = 34 CONST_ME_HEARTS = 35 CONST_ME_FIREATTACK = 36 CONST_ME_ENERGYAREA = 37 CONST_ME_SMALLCLOUDS = 38 CONST_ME_HOLYDAMAGE = 39 CONST_ME_BIGCLOUDS = 40 CONST_ME_ICEAREA = 41 CONST_ME_ICETORNADO = 42 CONST_ME_ICEATTACK = 43 CONST_ME_STONES = 44 CONST_ME_SMALLPLANTS = 45 CONST_ME_CARNIPHILA = 46 CONST_ME_PURPLEENERGY = 47 CONST_ME_YELLOWENERGY = 48 CONST_ME_HOLYAREA = 49 CONST_ME_BIGPLANTS = 50 CONST_ME_CAKE = 51 CONST_ME_GIANTICE = 52 CONST_ME_WATERSPLASH = 53 CONST_ME_PLANTATTACK = 54 CONST_ME_TUTORIALARROW = 55 CONST_ME_TUTORIALSQUARE = 56 CONST_ME_MIRRORHORIZONTAL = 57 CONST_ME_MIRRORVERTICAL = 58 CONST_ME_SKULLHORIZONTAL = 59 CONST_ME_SKULLVERTICAL = 60 CONST_ME_ASSASSIN = 61 CONST_ME_STEPSHORIZONTAL = 62 CONST_ME_BLOODYSTEPS = 63 CONST_ME_STEPSVERTICAL = 64 CONST_ME_YALAHARIGHOST = 65 CONST_ME_BATS = 66 CONST_ME_SMOKE = 67 CONST_ME_INSECTS = 68 CONST_ME_NONE = 255 Só substituir o CONST_ME_TELEPORT Pelo efeito que você desejar.
  14. EddyHavoc postou uma resposta no tópico em Suporte Tibia OTServer
    Dependendo da sua distro a magia Levitate está como uma function, tenta só colocar isto no xml. em Spells.xml <instant name="Levitate" words="exani hur" lvl="12" mana="50" prem="0" aggressive="0" exhaustion="1000" params="1" needlearn="0" event="function" value="Levitate"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> Agora coloque esse novo Levitate.lua
  15. EddyHavoc postou uma resposta no tópico em Suporte Tibia OTServer
    data/spells/scripts/support/ Levitate.lua local function levitate(creature, parameter) local fromPosition = creature:getPosition() if parameter == "up" and fromPosition.z ~= 8 or parameter == "down" and fromPosition.z ~= 7 then local toPosition = creature:getPosition() toPosition:getNextPosition(creature:getDirection()) local tile = Tile(parameter == "up" and Position(fromPosition.x, fromPosition.y, fromPosition.z - 1) or toPosition) if not tile or not tile:getGround() and not tile:hasFlag(parameter == "up" and TILESTATE_IMMOVABLEBLOCKSOLID or TILESTATE_BLOCKSOLID) then tile = Tile(toPosition.x, toPosition.y, toPosition.z + (parameter == "up" and -1 or 1)) if tile and tile:getGround() and not tile:hasFlag(bit.bor(TILESTATE_IMMOVABLEBLOCKSOLID, TILESTATE_FLOORCHANGE)) then return creature:move(tile, bit.bor(FLAG_IGNOREBLOCKITEM, FLAG_IGNOREBLOCKCREATURE)) end end end return RETURNVALUE_NOTPOSSIBLE end function onCastSpell(creature, variant) local returnValue = levitate(creature, variant:getString()) if returnValue ~= RETURNVALUE_NOERROR then creature:sendCancelMessage(returnValue) creature:getPosition():sendMagicEffect(CONST_ME_POFF) return false end creature:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return true end
  16. Boa tarde @Vim Rusha Sua pergunta entre ubuntu e debian é tipo pergunta se prefiro, adidas ou nike, coca cola ou pepsi, apesar de o Debian ser o principal e o Ubuntu derivado do Debian. Para instalação do seu Apache + MySql e compilação do servidor eu indico este tópico que está bem completo e irá conseguir te orientar perfeitamente em como fazer.
  17. EddyHavoc postou uma resposta no tópico em Portal
    TK sempre na frente. <3
  18. Só alterando nas sources e depois recompilando elas, é um pouco complicado. Caso não saiba alterar na source, melhor configurar seu servidor em uma versão mais atual, com um TFS mais recente.
  19. Você deve estar usando um TFS, uma versão do Tibia bem antiga, onde as spells estão dentro da Source provavelmente.
  20. Boa tarde amigo, a abre a Levitate.lua localizado dentro da pasta Spells
  21. Você só quer que tenha o cooldown de 60 segundos ? Tente o seguinte: Em Spells.xml <instant name="paralyze" words="paralyze" lvl="40" mana="70" prem="0" range="5" needtarget="1" blockwalls="1" needweapon="1" exhaustion="60000" needlearn="0" script="Vip/paralyse.lua"> Em paralyse.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) local condition1 = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition1, CONDITION_PARAM_TICKS, 10000) setConditionParam(condition1, CONDITION_PARAM_SPEED, -1000) setConditionFormula(condition1, -0.9, 0, -0.9, 0) setCombatCondition(combat, condition1) function onCastSpell(cid, var) return doCombat(cid, combat, var) end function onCastSpell(cid, var) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position1, 342) return doCombat(cid, combat, var) end
  22. function onLogin(cid) vocationvisual = { [1] = {lookType = {lookType=24}}, [2] = {lookType = {lookType=28}}, [3] = {lookType = {lookType=31}}, } if checkvisual = 0 then else local checkvisual = vocationvisual[getPlayerVocation(cid)] doSetCreatureOutfit(cid, checkvisual.lookType, -1) doCreatureSay(cid, 'Welcome !', TALKTYPE_ORANGE_1) return true end end
  23. Versão: 1.2 Distro: 0.4 Criado por: Eddy Havoc Descrição: Este script deixa restrito certas palavras com base no level do jogador. TAG: <talkaction words="lixo;vsf;tnc;vtnc;server;servidor" event="script" value="bwords.lua"/> SCRIPT: talkactions/scripts/bwords.lua function onSay(cid, words, param) local level = getPlayerLevel(cid) local lvlmin = 20 local lvlMsg = "Voce precisa de mais tempo para poder falar sobre isso. Você ficara mudo por "..time.." segundos!" local blockMsg = "Palavras Bloqueadas!" local time = 120 if level < lvlmin then doPlayerSendtTextMessage(cid, MESSAGE_INFO_DESCR, lvlMsg ) doCreatureSay(cid, blockMsg, TALKTYPE_SAY) doMutePlayer(cid, time) elseif level >= lvlmin then doCreatureSay(cid, words, TALKTYPE_SAY) end return TRUE end Atenção o script não foi testado, fiz enquanto estava na aula de Estatística Aplicada aqui na Faculdade... Se alguém puder validar, agradeço. Att, Eddy Havoc.
  24. EddyHavoc postou uma resposta no tópico em Portal
    Grande TK!! 5 Anos e 6 Meses fazendo parte dessa bagaça foda d+
  25. Quero ganhar 5O0 Tibia Coins pelo Tibia King

Informação Importante

Confirmação de Termo