Bem galera, preciso de uma spell que ao usar mostra um effect, e durante 5 segundos o primeiro dano que eu receber será devolvido com o dobro de dano a quem usou.
Ex. uso a spell, um player me joga uma magia que vai bateria 500, eu não tomo dano nenhum, a magia volta para o atacante e ele receberá 1000 de dano.
em meu servidor já tenho uma magia que devolve o dano, porém gostaria que adicionassem esse dobro no dano devolvido.
spell.
local config = { storage = 3482101, cooldown = 20, effect1 = 109 --- efeito que sai qnd usa a spell }
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, config.storage) == 1 then doPlayerSendCancel(cid, "sua magia já está ativo!.") return false end
if os.time() - getPlayerStorageValue(cid, 55694) >= config.cooldown then setPlayerStorageValue(cid, 55694, os.time()) doSendMagicEffect(getCreaturePosition(cid), config.effect1) setPlayerStorageValue(cid, config.storage, 1) doPlayerSendTextMessage(cid, 23, "magia ativada! O proximo dano será refletido.") else doPlayerSendCancel(cid, "sua magia está carregando, você deve esperar "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55694))).." segundos.") return false end
return true end
em creaturescripts
local config = { storage = 3482101, effect1 = 109, --- efeito que sai ao dar reflect effect2 = 109 -- efeito que aparece na pessoa que levou reflect }
function onStatsChange(cid, attacker, type, combat, value) if value >= 1 and (type == STATSCHANGE_HEALTHLOSS ) then if getPlayerStorageValue(cid,config.storage) == 1 and isCreature(attacker) then doSendAnimatedText(getCreaturePosition(attacker),"-"..value, 215) doCreatureAddHealth(attacker, -value, true) doCreatureSay(cid,"magia repelida!", 19) doSendMagicEffect(getCreaturePosition(cid), config.effect1) doSendMagicEffect(getCreaturePosition(attacker), config.effect2) setPlayerStorageValue(cid,config.storage, 0) return false end end return true end
Pergunta
diarmaint 19
Bem galera, preciso de uma spell que ao usar mostra um effect, e durante 5 segundos o primeiro dano que eu receber será devolvido com o dobro de dano a quem usou.
Ex. uso a spell, um player me joga uma magia que vai bateria 500, eu não tomo dano nenhum, a magia volta para o atacante e ele receberá 1000 de dano.
em meu servidor já tenho uma magia que devolve o dano, porém gostaria que adicionassem esse dobro no dano devolvido.
spell.
local config = {
storage = 3482101,
cooldown = 20,
effect1 = 109 --- efeito que sai qnd usa a spell
}
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, config.storage) == 1 then
doPlayerSendCancel(cid, "sua magia já está ativo!.")
return false
end
if os.time() - getPlayerStorageValue(cid, 55694) >= config.cooldown then
setPlayerStorageValue(cid, 55694, os.time())
doSendMagicEffect(getCreaturePosition(cid), config.effect1)
setPlayerStorageValue(cid, config.storage, 1)
doPlayerSendTextMessage(cid, 23, "magia ativada! O proximo dano será refletido.")
else
doPlayerSendCancel(cid, "sua magia está carregando, você deve esperar "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55694))).." segundos.")
return false
end
return true
end
em creaturescripts
local config = {
storage = 3482101,
effect1 = 109, --- efeito que sai ao dar reflect
effect2 = 109 -- efeito que aparece na pessoa que levou reflect
}
function onStatsChange(cid, attacker, type, combat, value)
if value >= 1 and (type == STATSCHANGE_HEALTHLOSS ) then
if getPlayerStorageValue(cid,config.storage) == 1 and isCreature(attacker) then
doSendAnimatedText(getCreaturePosition(attacker),"-"..value, 215)
doCreatureAddHealth(attacker, -value, true)
doCreatureSay(cid,"magia repelida!", 19)
doSendMagicEffect(getCreaturePosition(cid), config.effect1)
doSendMagicEffect(getCreaturePosition(attacker), config.effect2)
setPlayerStorageValue(cid,config.storage, 0)
return false
end
end
return true
end
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados