Postado Fevereiro 19, 2016 9 anos Galera, eu tava tentando criar uma spell continua que: - Gasta 40 de mana por segundo. - Spell parar se a mana for menor que 40. - Spell parar se for castada novamente. Citar local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) function skiaiho(cid, level, maglevel) local min = -(level * 4.3+ maglevel * 12 +50) local max = -(level * 5.6+ maglevel * 13 +150) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "skiaiho") function onCastSpell(cid, var) if exhaustion.check(cid, 23056) == false then exhaustion.set(cid, 23056, 5) if isCreature(variantToNumber(var)) then local target = getCreatureTarget(cid) addEvent(function() doPlayerAddMana(cid, math.random(-40, -40)) end, 0000) addEvent(function() return doCombat(cid, combat, var) end, 0000) mana = getCreatureMana(cid) if mana > 200 then addEvent(function() return doCombat(cid, combat, var) end, 1000) addEvent(function() return doCombat(cid, combat, var) end, 2000) end else return false end else doPlayerSendCancel(cid, "Cooldown for Death is " ..exhaustion.get(cid, 23056).." seconds") return false end return true end Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
Postado Fevereiro 19, 2016 9 anos tenta assim Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) function skiaiho(cid, level, maglevel) local min = -(level * 4.3+ maglevel * 12 +50) local max = -(level * 5.6+ maglevel * 13 +150) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "skiaiho") local manacost = 40 -- qnt de mana por segundo local storage = 42719 -- nao mexa (salva se a spell esta ativa ou nao) local function manadraw(uid, mana, combat, var) if isCreature(uid) then if getCreatureMana(uid) >= mana and getPlayerStorageValue(uid, storage) >= 1 then doPlayerAddMana(uid, -mana) doCombat(uid, combat, var) -- faz o combat addEvent(manadraw, 1000, uid, mana, combat, var) -- chama a função novamente end end end function onCastSpell(cid, var) if exhaustion.check(cid, 23056) == false then if getPlayerStorageValue(cid, storage) <= 0 then setPlayerStorageValue(cid, storage, 1) exhaustion.set(cid, 23056, 5) manadraw(cid, manacost, combat, var) else setPlayerStorageValue(cid, storage, 0) -- se usar dnv cancela doPlayerSendCancel(cid, "The spell was canceled.") end else doPlayerSendCancel(cid, "Cooldown for Death is " ..exhaustion.get(cid, 23056).." seconds") return false end return true end Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Fevereiro 19, 2016 9 anos Autor Não tive tempo ainda, mas de madrugada eu testo. Você poderia dar uma explicada como funciona uid? Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
Postado Fevereiro 19, 2016 9 anos qnd vc chama a função assim: manadraw(cid, manacost, combat, var) os parametros que eu passei serão substituidos na função base local function manadraw(uid, mana, combat, var) if isCreature(uid) then if getCreatureMana(uid) >= mana and getPlayerStorageValue(uid, storage) >= 1 then doPlayerAddMana(uid, -mana) doCombat(uid, combat, var) -- faz o combat addEvent(manadraw, 1000, uid, mana, combat, var) -- chama a função novamente end end end e ela ficará assim: Citar function manadraw(cid, manacost, combat, var) if isCreature(cid) then if getCreatureMana(cid) >= manacost and getPlayerStorageValue(cid, storage) >= 1 then doPlayerAddMana(cid, -manacost) doCombat(cid, combat, var) -- faz o combat addEvent(manadraw, 1000, cid, manacost, combat, var) -- chama a função novamente end end end Usar uid é só uma convenção, se eu escrevesse pizza ali e dentro da função me referisse à pizza também daria certo. Tem gente que cria as funções direto com cid mas como cid é padrão do paramêtro do callback, então boto uid. Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Fevereiro 20, 2016 9 anos Autor o unico problema q ta dando é quando acaba a mana e vai utilizar a spell denovo, precisa ativar 2x para ela ir Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.