Ir para conteúdo
  • 0

porque nao consigo editar isso aqui?


tonynamoral

Pergunta

fala ai galera , eu to com 1 spell aqui , porém todas as modificaçoes que eu faço no SHOTEFFECT , nao muda nada '-'

 

please help.

 


local spell_config = {
   [1] = {
       damage = COMBAT_FIREDAMAGE,
       areaEffect = CONST_ME_FIREAREA,
       shootEffect = 15,
       formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))"
   },
   [2] = {
       damage = COMBAT_ENERGYDAMAGE,
       areaEffect = CONST_ME_ENERGYAREA,
       shootEffect, 13,
       formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))"
   },
   [3] = {
       damage = COMBAT_EARTHDAMAGE,
       areaEffect = CONST_ME_SMALLPLANTS,
       shootEffect, 1,
       formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))"
   }
}

local combats = {}
for _, config in ipairs(spell_config) do
   local combat = createCombatObject()
   setCombatParam(combat, COMBAT_PARAM_TYPE, config.damage)
   setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect)
   setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, config.shootEffect)
   function onGetFormulaValues(cid, level, skill, attack, factor)
       return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
   end
   setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
   table.insert(combats, combat)
end

function onCastSpell(cid, var)
   for n = 1, #combats do
       addEvent(doCombat, n * 100, cid, combats[n], var)
   end
   return true
end

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0


local spell_config = {
[1] = {
	damage = COMBAT_FIREDAMAGE,
	areaEffect = CONST_ME_FIREAREA,
	shootEffect = 15,
	formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))"
},
[2] = {
	damage = COMBAT_ENERGYDAMAGE,
	areaEffect = CONST_ME_ENERGYAREA,
	shootEffect, 13,
	formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))"
},
[3] = {
	damage = COMBAT_EARTHDAMAGE,
	areaEffect = CONST_ME_SMALLPLANTS,
	shootEffect, 1,
	formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))"
}
}

local combats = {}

function onGetFormulaValues(cid, level, skill, attack, factor)
return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
end

for _, config in ipairs(spell_config) do	
local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, config.damage)
setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, config.shootEffect)
--setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

table.insert(combats, combat)
end

function onCastSpell(cid, var)
for n = 1, #combats do
	addEvent(doCombat, n * 100, cid, combats[n], var)
end

return true
end

 

Não sei como funciona esse setCombatCallback, aparentemente está ok, tô meio com sono agora D:. Testa ai como eu coloquei ai, e presta atenção que eu criei outra função combat pra que quando ele tente executar se o player estiver morto ou algo do tipo, não bugar.

Editado por MaXwEllDeN
Link para o comentário
Compartilhar em outros sites

  • 0
local spell_config = {
   [1] = {
    damage = COMBAT_FIREDAMAGE,
    areaEffect = CONST_ME_FIREAREA,
    shootEffect = 15,
   },
   [2] = {
    damage = COMBAT_ENERGYDAMAGE,
    areaEffect = CONST_ME_ENERGYAREA,
    shootEffect, 13,
   },
   [3] = {
    damage = COMBAT_EARTHDAMAGE,
    areaEffect = CONST_ME_SMALLPLANTS,
    shootEffect, 1,
   }
}

local combats = {}
for _, config in ipairs(spell_config) do
   local combat = createCombatObject()
   setCombatParam(combat, COMBAT_PARAM_TYPE, config.damage)
   setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect)
   function onGetFormulaValues(cid, level, skill, attack, factor)
    return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
   end
   setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
   table.insert(combats, {combat, config.shootEffect})
end

function onCastSpell(cid, var)

   local function doSendDistance(cid, target, effect)
    if not isCreature(cid) or not isCreature(target) then return end
    doSendDistanceShoot(getThingPos(cid), getThingPos(target), effect)
   end

   for n = 1, #combats do
    addEvent(doCombat, n * 100, cid, combats[n][1], var)
    addEvent(doSendDistance, n * 100, cid, getCreatureTarget(cid), combats[n][2])
   end
   return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

local effects = {41, 20, 12} -- Aqui bote o efeitos que irão sair
local spell_config = {
   [1] = {
	    damage = COMBAT_FIREDAMAGE,
	    areaEffect = CONST_ME_FIREAREA,
   },
   [2] = {
	    damage = COMBAT_ENERGYDAMAGE,
	    areaEffect = CONST_ME_ENERGYAREA,
   },
   [3] = {
	    damage = COMBAT_EARTHDAMAGE,
	    areaEffect = CONST_ME_SMALLPLANTS,
   }
}
local combats = {}
for _, config in ipairs(spell_config) do
   local combat = createCombatObject()
   setCombatParam(combat, COMBAT_PARAM_TYPE, config.damage)
   setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect)
   function onGetFormulaValues(cid, level, skill, attack, factor)
	    return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))
   end
   setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
   table.insert(combats, {combat, config.shootEffect})
end
function onCastSpell(cid, var)
   local function doSendDistance(cid, target, effect)
	    if not isCreature(cid) or not isCreature(target) then return end
	    doSendDistanceShoot(getThingPos(cid), getThingPos(target), effect)
   end
   for n = 1, #combats do
	    addEvent(doCombat, n * 100, cid, combats[n][1], var)
	    for _, efid in pairs(effects) do
		  addEvent(doSendDistance, n * 100, cid, getCreatureTarget(cid), efid)
	    end
   end
   return true
end

 

Agora ta funcionando. Não está 100% do seu gosto, acho eu.

Link para o comentário
Compartilhar em outros sites

  • 0

Agora sim \o/

 

sempre que tiver uma duvida sanada reporte para que seja movida para area de duvidas e pedidos atendiso ajudando a busca de todos no forum e sempre que tiver uma duvida veja se já nao foi resolvida na area de duvidas e pedidos atendidos!

 

Movido!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...