Seria isso ?
Ice
function onCastSpell(cid, var)
local DANOS = 3 -- danos
local ATTACKMIN = 250 -- minimo
local ATTACKMAX = 400 -- maximo
local EFEITO = 43 -- efeito
local DIST = 28 -- efeito de distancia
local DELAY = 200 -- intervalo entre ataques em ms
local target = getCreatureTarget(cid)
if target > 0 then
local function triggerSpell(caster, enemy, tries)
if (tries or 1) <= 0 or not isCreature(caster) or not isCreature(enemy) then return end
doTargetCombatHealth(caster, enemy, COMBAT_HOLYDAMAGE, -ATTACKMIN, -ATTACKMAX, EFEITO)
doSendDistanceShoot(getThingPos(caster), getThingPos(enemy), DIST)
addEvent(triggerSpell, DELAY, caster, enemy, (tries or 1) - 1)
end
triggerSpell(cid, target, DANOS)
else
doPlayerSendCancel(cid, "You need a target.")
return false
end
return true
end
Earth
function onCastSpell(cid, var)
local DANOS = 3 -- danos
local ATTACKMIN = 250 -- minimo
local ATTACKMAX = 400 -- maximo
local EFEITO = 50 -- efeito
local DIST = 29 -- efeito de distancia
local DELAY = 200 -- intervalo entre ataques em ms
local target = getCreatureTarget(cid)
if target > 0 then
local function triggerSpell(caster, enemy, tries)
if (tries or 1) <= 0 or not isCreature(caster) or not isCreature(enemy) then return end
doTargetCombatHealth(caster, enemy, COMBAT_HOLYDAMAGE, -ATTACKMIN, -ATTACKMAX, EFEITO)
doSendDistanceShoot(getThingPos(caster), getThingPos(enemy), DIST)
addEvent(triggerSpell, DELAY, caster, enemy, (tries or 1) - 1)
end
triggerSpell(cid, target, DANOS)
else
doPlayerSendCancel(cid, "You need a target.")
return false
end
return true
end
No caso eu troquei os efeitos se não for isso que deseja especifique melhor , Abraços.






info
Grupo: Campones
Registrado: 28/05/13
Posts: 19
Reputação: 0
Char no Tibia: Ons Alaka
Quero fazer 2 scripts a base dessa ai \/.... uma q seja de Ice e outra q seja de Earth
Com efeitos de distancia combinando.
agradece.
function onCastSpell(cid, var)
local DANOS = 3 -- danos
local ATTACKMIN = 250 -- minimo
local ATTACKMAX = 400 -- maximo
local EFEITO = 30 -- efeito
local DIST = 28 -- efeito de distancia
local DELAY = 200 -- intervalo entre ataques em ms
local target = getCreatureTarget(cid)
if target > 0 then
local function triggerSpell(caster, enemy, tries)
if (tries or 1) <= 0 or not isCreature(caster) or not isCreature(enemy) then return end
doTargetCombatHealth(caster, enemy, COMBAT_HOLYDAMAGE, -ATTACKMIN, -ATTACKMAX, EFEITO)
doSendDistanceShoot(getThingPos(caster), getThingPos(enemy), DIST)
addEvent(triggerSpell, DELAY, caster, enemy, (tries or 1) - 1)
end
triggerSpell(cid, target, DANOS)
else
doPlayerSendCancel(cid, "You need a target.")
return false
end
return true
end