Tudo que EddyHavoc postou
-
Servidor sql
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!
-
Quem vence permanece!
@Wingardium 3 x 0 @estopa
-
Poké MOBA
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.
-
[TFS 1.3] Block Wall Spell
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.
- ShowOFF Sprites Harry Potter
-
[Como fazer] Modal Window TFS 1.0+
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
-
Programação
[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...)
- Nolis Show Off
-
(Resolvido)Estou perdido com == true | == false
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ê
-
(Resolvido)Estou perdido com == true | == false
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á...
-
Ajuda System Akatsuki NTO
@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).
-
Monster Death Delay
In your Distro/CMD have any error about this ? When any monster or player die?
-
(Resolvido)montros nao ultrapassa sqm.
@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.
-
Exani hur "up
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
-
Exani hur "up
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
-
QUAL LINUX USAR PARA FAZER UM SERVIDOR?
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.
- A volta das Conquistas e mais...
-
Spell - Exani hur - Levitate
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.
-
Spell - Exani hur - Levitate
Você deve estar usando um TFS, uma versão do Tibia bem antiga, onde as spells estão dentro da Source provavelmente.
-
Spell - Exani hur - Levitate
Boa tarde amigo, a abre a Levitate.lua localizado dentro da pasta Spells
-
(Resolvido)[PEDIDO] Cooldown em uma spell
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
-
(Resolvido)Erro ao mudar automaticamente uma outifit quando logar
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
-
Bloquear algumas mensagens baseado no level do jogador.
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.
- 7 fucking anos de Tibia King!
- 17# Evento: Sorteio de 500 Tibia Coins!