local combats = {}
local count = 5
local combatTypes = {1,3}
local combatEffects = {340}
local combatDistanceEffects = {1}
local combatFormulas = {{-99, -9, -9, -99}}
local delays = {300,100, 100, 100,100,200,200,200}
for i = 1, count do
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, combatTypes[((i-1) % #combatTypes)+1])
setCombatParam(combat, COMBAT_PARAM_EFFECT, combatEffects[((i-1) % #combatEffects)+1])
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, combatDistanceEffects[((i-1) % #combatDistanceEffects)+1])
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, unpack(combatFormulas[((i-1) % #combatFormulas)+1]))
combats[i] = combat
end
local function onCastSpellDelayed(cid, combat, var, combat_id)
if(isCreature(variantToNumber(var)) and isCreature(cid) and not getTileInfo(getThingPosition(variantToNumber(var))).protection) then
doCombat(cid, combat[combat_id], var)
if(combat[combat_id+1] ~= nil) then
addEvent(onCastSpellDelayed, delays[((combat_id-1) % #delays)+1], cid, combats, var, combat_id+1)
end
end
end
function onCastSpell(cid, var)
onCastSpellDelayed(cid, combats, var, 1)
return true
end
Spell De Atack De Monstro Dando Bug, Quando Monstro Morre.
Por roriscrave, 29 de jul. de 2012 em Scripts
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

Ae parceir, você conhece d+. Deu certinho. Só que acabou meus rep de hoje, amanha irei te dar rep.
Pode me reponder só o que você mudou?
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

Adicionei um "isCreature(cid)" na função "onCastSpellDelayed" para quando ela for executada verifica se a criatura ainda é uma criatura, ou seja, ela não morreu.
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

Vlw ai cara, você cunhece msm, quando puder dar rep+ te darei.



info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei
No meu server tem uma spell que uso tanto para player quanto para monstros. Porém ela está dando bug. Que acontece quando o monstro solta spell e o jogador mata o monstro antes da spell terminar.
local combats = {} local count = 5 local combatTypes = {1,3} local combatEffects = {340} local combatDistanceEffects = {1} local combatFormulas = {{-99, -9, -9, -99}} local delays = {300,100, 100, 100,100,200,200,200} for i = 1, count do local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, combatTypes[((i-1) % #combatTypes)+1]) setCombatParam(combat, COMBAT_PARAM_EFFECT, combatEffects[((i-1) % #combatEffects)+1]) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, combatDistanceEffects[((i-1) % #combatDistanceEffects)+1]) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, unpack(combatFormulas[((i-1) % #combatFormulas)+1])) combats[i] = combat end local function onCastSpellDelayed(cid, combat, var, combat_id) if(isCreature(variantToNumber(var)) and not getTileInfo(getThingPosition(variantToNumber(var))).protection) then doCombat(cid, combat[combat_id], var) if(combat[combat_id+1] ~= nil) then addEvent(onCastSpellDelayed, delays[((combat_id-1) % #delays)+1], cid, combats, var, combat_id+1) end end end function onCastSpell(cid, var) onCastSpellDelayed(cid, combats, var, 1) return true endO erro é o seguinte:
Darei rep+