Ir para conteúdo
  • 0

[Resolvido] Spell que devolve dano


diarmaint

Pergunta

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

  • 0

@diarmaint

tenta deixar essa linha assim

doCreatureAddHealth(attacker, -value.2, true)


se n der certo tenta assim

doCreatureAddHealth(attacker.2, -value, true)

 

 

acredito q 1 das 2 deve resolver 

dando certo você pode simplesmente trocar o 2 por outro numero exemplo se colocar 3 o dano sera multiplicado por 3 espero q de certo

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

  • 0
29 minutos atrás, wevertonvrb disse:

@diarmaint

tenta deixar essa linha assim

doCreatureAddHealth(attacker, -value.2, true)


se n der certo tenta assim

doCreatureAddHealth(attacker.2, -value, true)

 

 

acredito q 1 das 2 deve resolver 

dando certo você pode simplesmente trocar o 2 por outro numero exemplo se colocar 3 o dano sera multiplicado por 3 espero q de certo

Continua o mesmo em ambos.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...