Ir para conteúdo
  • 0

Erro na spell


Allangod

Pergunta

Essa spell requer que tenha um item para usar, mas ela só tem um problema.

Se o player não tiver o item, ela não usa (Isso está certo). Se o player tiver o item mas se estiver em cooldown, a spell também não usa (Isso também está certo)... Mas tem um problema!

Quando está em cooldown, ele não usa a spell (Certinho) mas está consumindo o item na mochila do player cada vez que ele conjura a spell (ERRADO).

Eu gostaria de que se estiver no cooldown, a magia continue sem usar mas que não retire o item da mochila do jogador (Só quero que retire o item quando a spell for usada).

Spell:

 

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, 108)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, true)
function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
local waittime1 = 60 -- Tempo de exhaustion
local storage1 = 115819
local item = 1
if getPlayerItemCount(cid, 6550) >= 1 then
doPlayerRemoveItem(cid, 6550, 1)
doPlayerSendTextMessage(cid, 27, "Você usou um coração para não morrer.")
else
doPlayerSendCancel(cid,"Você não tem um coração.")
return false
end
if exhaustion.check(cid, storage1) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage1) .. " segundos para usar a spell novamente.")
return false
end
doPlayerSetStorageValue(cid, 19332, 1)
doPlayerSendTextMessage(cid, 27, "Seu coração tem 20 segundos de efeito.")
addEvent(doPlayerSetStorageValue, 20000, cid, 19332, 0)
addEvent(doPlayerSendTextMessage, 20000, cid, 27, "Seu coração perdeu o efeito.")
exhaustion.set(cid, storage1, waittime1)
return true
end

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

3 respostass a esta questão

Posts Recomendados

  • 0

Tenta mudar o if:

 

 

local combat = createCombatObject()
 
setCombatParam(combat, COMBAT_PARAM_EFFECT, 108)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, true)
 
function onCastSpell(cid, var)
 
	local target = getCreatureTarget(cid)
	local waittime1 = 60 -- Tempo de exhaustion
	local storage1 = 115819
 
    local item = 1
	
 	if exhaustion.check(cid, storage1) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage1) .. " segundos para usar a spell novamente.")
		return false
	end
 
    if getPlayerItemCount(cid, 6550) >= 1 then
        doPlayerRemoveItem(cid, 6550, 1)
        doPlayerSendTextMessage(cid, 27, "Você usou um coração para não morrer.")
    else
        doPlayerSendCancel(cid,"Você não tem um coração.")
        return false
    end
 
	doPlayerSetStorageValue(cid, 19332, 1)
	doPlayerSendTextMessage(cid, 27, "Seu coração tem 20 segundos de efeito.")
	addEvent(doPlayerSetStorageValue, 20000, cid, 19332, 0)
	addEvent(doPlayerSendTextMessage, 20000, cid, 27, "Seu coração perdeu o efeito.")
	exhaustion.set(cid, storage1, waittime1)
	return true
end

 

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...