Fiz um via talkaction para você.
talkactions.xml:
<talkaction words="bomb" script="bomb.lua"/>
bomb.lua:
function onSay(cid, words)
local mana = 100 -- Mana necessária
local vocations = {"Elder Druid", "Sorcerer"} -- Vocations que podem usar
local waittime = 30 -- Exhaust em segundos
local storage = 1941
local armar = 4 -- Tempo para armar a bomba
local tempo = 3 -- Segundos até a bomba detonar
local area = { -- Área da explosão
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1}
}
if getPlayerMana(cid) < mana then
doPlayerSendCancel(cid, "Not enough mana.") return true
elseif exhaustion.check(cid, storage) then
doPlayerSendCancel(cid, "You are in cooldown. Wait more "..exhaustion.get(cid, storage).." seconds.") return true
elseif not isInArray(vocations, getPlayerVocationName(cid)) then
doPlayerSendCancel(cid, "Your vocation cannot use this spell.") return true
elseif getPlayerStorageValue(cid, 29999999999) >= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode usar Jutsu.") return true
end
mayNotMove(cid, true)
doCreatureSay(cid, "*planting bomb*", TALKTYPE_MONSTER)
addEvent(mayNotMove, armar*1000, cid, false)
addEvent(doCreatureSay, armar*1000, "*bomb planted*", TALKTYPE_MONSTER)
setPlayerStorageValue(cid, 29999999999, 1)
addEvent(setPlayerStorageValue, armar*1000, cid, 29999999999, nil)
bomb = doCreateItem(2510, 1, getCreaturePos(cid))
addEvent(doRemoveItem, (tempo+armar)*1000, bomb.itemid, 1)
addEvent(doAreaCombatHealth, (tempo+armar)*1000, 0, COMBAT_FIREDAMAGE, getCreaturePos(cid), area, -min, -max, 5)
doPlayerAddMana(cid, -mana)
exhaustion.set(cid, storage, waittime)
return true
end




info
Grupo: Campones
Registrado: 30/03/08
Posts: 20
Reputação: 0
Char no Tibia: clowd leo
Galeria queria criar uma magia que plante uma bomba no chao(id 2510) após 4 segundos pois seria o tempo de "armar" a bomba
e depois de 3 segundos após a bomba plantada explodisse dando dano em area....
abaixo meu script ele esta plantando o item no chão certinho so que não estou conseguindo remover o item e a magia em area esta saindo apenas a animação,não esta tirando dano! podem me ajudar?
____________________________________________________________________________________________________
Spell:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 2510)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 51)
setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.2, 2)
local area = createCombatArea(AREA_ENVOLTA)
local area2 = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)
setCombatArea(combat2, area2)
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
if isExhausted(cid, "explosion bomb") == false and getPlayerStorageValue(cid,29999999999) < 1 then
mayNotMove(cid,1)
setPlayerStorageValue(cid,29999999999,1)
addEvent(setPlayerStorageValue,3200,cid,29999999999,nil)
doSendAnimatedText(getPlayerPosition(cid), "1...", TEXTCOLOR_BLUE)
addEvent(doSendAnimatedText, 1000, getPlayerPosition(cid), '2...', TEXTCOLOR_BLUE)
addEvent(doSendAnimatedText, 2000, getPlayerPosition(cid), '3...', TEXTCOLOR_BLUE)
addEvent(doSendAnimatedText, 3000, getPlayerPosition(cid), '4...', TEXTCOLOR_BLUE)
addEvent(doSendAnimatedText, 3200, getPlayerPosition(cid), 'Ok!!!', TEXTCOLOR_RED)
addEvent(onCastSpell901,3200,parameters)
addEvent(qualquer,3200,cid)
local positionn = addEvent(doCreateItem,3200,2510,1,getCreaturePosition(cid))
addEvent(doRemoveItem,6200,2510,1)
addEvent(onCastSpell902,6200,parameters,positionn)
setCooldown(cid, "explosion bomb", 10)
doPlayerSendCancel(cid, "You are in cooldown. Wait more " .. math.ceil(getCooldown(cid, "explosion bomb")) .. " seconds.")
end
doPlayerSendCancel(cid, "You are in cooldown. Wait more " .. math.ceil(getCooldown(cid, "explosion bomb")) .. " seconds.")
if getPlayerStorageValue(cid,29999999999) >= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Nao pode usar Jutsu.")
end
end
function onCastSpell901(parameters)
doCombat(parameters.cid, combat, parameters.var)
end
function onCastSpell902(parameters,position)
doCombat(positionn, combat2, parameters.var)
end
function qualquer(cid)
mayNotMove(cid,0)
return 0
end