Ir para conteúdo
  • Cadastre-se

(Resolvido)Spell de buff que cause dano em área


Ir para solução Resolvido por Agaka,

Posts Recomendados

Bem, eu preciso que essa spell abaixo cause um dano em área no momento do cast.

 

--[[Spell by Shawak Wolf transform ]]--
 

local time = 60 * 1000 -- 60 * 1000 = 2 min

local ml = 5 -- quantos ira aumentar o skill de ML
    
local skillfist = 5 -- quantos ira aumentar o skill de Fist
    
local skillsword = 5 -- quantos ira aumentar o skill de Sword
    
local skillaxe = 5 -- quantos ira aumentar o skill de Axe
    
local skillclub = 5 -- quantos ira aumentar o skill de Club
    
local skilldistance = 5 -- quantos ira aumentar o skill de Distance
    
local health = -5 -- A cada 1 segundo quantos aumentar de vida
    
local addShielding = 5 -- how much shielding should be added
 
 

local wolf = {lookType = 7, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, 5)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
 

local condition = createConditionObject(CONDITION_ATTRIBUTES)

setConditionParam(condition, CONDITION_PARAM_TICKS, time)

setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, addShielding)

setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)

setCombatCondition(combat, condition)
 

local speed = createConditionObject(CONDITION_HASTE)

setConditionParam(speed, CONDITION_PARAM_TICKS, time)

setConditionFormula(speed, 0.7, -56, 0.7, -56)

setCombatCondition(combat, speed)
 

local outfit = createConditionObject(CONDITION_OUTFIT)

setConditionParam(outfit, CONDITION_PARAM_TICKS, time)

addOutfitCondition(outfit, wolf)

setCombatCondition(combat, outfit)
 

local exhaust = createConditionObject(CONDITION_EXHAUST)

setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2)

setConditionParam(exhaust, CONDITION_PARAM_TICKS, time)

setCombatCondition(combat, exhaust)
 

function onCastSpell(cid, var)
    

return doCombat(cid, combat, var)

end
 

Link para o post
Compartilhar em outros sites
  • Solução

@Arthurdavv Qualquer coisa só comentar. :)

 

Citar

--[[Spell by Shawak Wolf transform ]]--

local time = 60 * 1000 -- 60 * 1000 = 2 min
local ml = 5 -- quantos ira aumentar o skill de ML
local skillfist = 5 -- quantos ira aumentar o skill de Fist
local skillsword = 5 -- quantos ira aumentar o skill de Sword
local skillaxe = 5 -- quantos ira aumentar o skill de Axe
local skillclub = 5 -- quantos ira aumentar o skill de Club
local health = -5 -- A cada 1 segundo quantos aumentar de vida
local addShielding = 5 -- how much shielding should be added

local wolf = {lookType = 7, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 5)
setCombatParam(combat1, COMBAT_PARAM_AGGRESSIVE, 0)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, time)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, addShielding)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat1, condition)

local speed = createConditionObject(CONDITION_HASTE)
setConditionParam(speed, CONDITION_PARAM_TICKS, time)
setConditionFormula(speed, 0.7, -56, 0.7, -56)
setCombatCondition(combat1, speed)

local outfit = createConditionObject(CONDITION_OUTFIT)
setConditionParam(outfit, CONDITION_PARAM_TICKS, time)
addOutfitCondition(outfit, wolf)
setCombatCondition(combat1, outfit)

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, time)
setCombatCondition(combat1, exhaust)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
-- setCombatParam(combat2, COMBAT_PARAM_EFFECT, 68) Caso queira mandar um efeito ao lado do player (PRA MARCAR A AREA DO DANO) usa essa linha caso contrario só remover.
setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4.7, 10)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat2, area)

function onCastSpell(cid, var)

doCombat(cid, combat1, var)
doCombat(cid, combat2, var)

	return true
end

 

 

Link para o post
Compartilhar em outros sites

@Arthurdavv Modifica o exhaustion pela tag.

 

Citar

<instant name="O NOME QUE QUISER" words="O QUE PRECISA FALAR PRA USAR" lvl="35" mana="115" prem="1" exhaustion="2000" needlearn="0" event="script" value="SEU ARQUIVO.lua">

 

Link para o post
Compartilhar em outros sites

Ah, sim, mas teria como colocar dentro da spell? Ficaria mais pratico no meu servidor

Bem, consegui colocar um exhaust próprio, obrigado pela ajuda!


--[[Spell by Shawak Wolf transform ]]--

local time = 5000 -- 60 * 1000 = 2 min
local ml = 5 -- quantos ira aumentar o skill de ML
local skillfist = 5 -- quantos ira aumentar o skill de Fist
local skillsword = 5 -- quantos ira aumentar o skill de Sword
local skillaxe = 5 -- quantos ira aumentar o skill de Axe
local skillclub = 5 -- quantos ira aumentar o skill de Club
local health = -5 -- A cada 1 segundo quantos aumentar de vida
local addShielding = 5 -- how much shielding should be added

local wolf = {lookType = 7, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 5)
setCombatParam(combat1, COMBAT_PARAM_AGGRESSIVE, 0)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, time)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, addShielding)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat1, condition)

local speed = createConditionObject(CONDITION_HASTE)
setConditionParam(speed, CONDITION_PARAM_TICKS, time)
setConditionFormula(speed, 0.7, -56, 0.7, -56)
setCombatCondition(combat1, speed)

local outfit = createConditionObject(CONDITION_OUTFIT)
setConditionParam(outfit, CONDITION_PARAM_TICKS, time)
addOutfitCondition(outfit, wolf)
setCombatCondition(combat1, outfit)

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, time)
setCombatCondition(combat1, exhaust)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 34)
setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4.7, 10)

local area = createCombatArea(AREA_CIRCLE2X2)
setCombatArea(combat2, area)

function onCastSpell(cid, var)
if exhaustion.check(cid, 115821) == TRUE then
        doPlayerSendCancel(cid, "Podera usar novamente dentro de 1 segundo.")
        doSendMagicEffect(getCreaturePosition(cid), 2)
        return false
    end

doCombat(cid, combat1, var)
doCombat(cid, combat2, var)
exhaustion.set(cid, 115821, 1.0)
    return true
end

 

Link para o post
Compartilhar em outros sites
  • 3 years later...
Em 21/01/2019 em 19:08, Arthurdavv disse:

Ah, sim, mas teria como colocar dentro da spell? Ficaria mais pratico no meu servidor

Bem, consegui colocar um exhaust próprio, obrigado pela ajuda!


--[[Spell by Shawak Wolf transform ]]--

local time = 5000 -- 60 * 1000 = 2 min
local ml = 5 -- quantos ira aumentar o skill de ML
local skillfist = 5 -- quantos ira aumentar o skill de Fist
local skillsword = 5 -- quantos ira aumentar o skill de Sword
local skillaxe = 5 -- quantos ira aumentar o skill de Axe
local skillclub = 5 -- quantos ira aumentar o skill de Club
local health = -5 -- A cada 1 segundo quantos aumentar de vida
local addShielding = 5 -- how much shielding should be added

local wolf = {lookType = 7, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 5)
setCombatParam(combat1, COMBAT_PARAM_AGGRESSIVE, 0)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, time)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, addShielding)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat1, condition)

local speed = createConditionObject(CONDITION_HASTE)
setConditionParam(speed, CONDITION_PARAM_TICKS, time)
setConditionFormula(speed, 0.7, -56, 0.7, -56)
setCombatCondition(combat1, speed)

local outfit = createConditionObject(CONDITION_OUTFIT)
setConditionParam(outfit, CONDITION_PARAM_TICKS, time)
addOutfitCondition(outfit, wolf)
setCombatCondition(combat1, outfit)

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, time)
setCombatCondition(combat1, exhaust)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 34)
setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4.7, 10)

local area = createCombatArea(AREA_CIRCLE2X2)
setCombatArea(combat2, area)

function onCastSpell(cid, var)
if exhaustion.check(cid, 115821) == TRUE then
        doPlayerSendCancel(cid, "Podera usar novamente dentro de 1 segundo.")
        doSendMagicEffect(getCreaturePosition(cid), 2)
        return false
    end

doCombat(cid, combat1, var)
doCombat(cid, combat2, var)
exhaustion.set(cid, 115821, 1.0)
    return true
end

 

aonde eu coloco isso

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo