Ir para conteúdo

Featured Replies

Postado

Fala galera, quero adicionar uma nova runa no meu servidor que dê um double heal, porém queria que essa runa pudesse usada apenas em si mesmo, sem os players poderem usar em outros players e desbalancear o pvp. Tentei modificar a runa tirando o use with, mas não funcionou.
Utilizo tfs 1.2

Spoiler

local storageCoolDown = 95555
local storageTime = 10

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 50)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)


function onGetFormulaValues(cid, level, maglevel)
    min = (level * 3 + maglevel * 2.74) + 80
    max = (level * 3 + maglevel * 3.8) + 120
            
    return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")


function onCastSpell(creature, var)
    local player = Player(creature:getId())
 
    if player:getStorageValue(storageCoolDown) < os.time() then
        player:setStorageValue(storageCoolDown, os.time() + storageTime * 1)
        combat:execute(creature, var)
    addEvent(function() combat:execute(creature, var) end, 2000)
    else
        player:sendTextMessage(MESSAGE_STATUS_SMALL, "You must wait 10 seconds to use this rune again.")
        return false
    end
    return true
end

 

Resolvido por Von Dale

Ir para solução
Postado
  • Solução

Fiz um improvisado aqui, estou sem tempo para verificar se esta funcionando, verifica ai e me avisa.

 

data/actions/actions.xml

<action itemid="ID DA RUNA" script="doubleHeal.lua"/>

 

 

data/actions/scripts/doubleHeal.lua

 

local storageCoolDown = 95555
local storageTime = 10

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 50)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

function onGetFormulaValues(cid, level, maglevel)
    min = (level * 3 + maglevel * 2.74) + 80
    max = (level * 3 + maglevel * 3.8) + 120
            
    return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
	if target == player then
		if player:getStorageValue(storageCoolDown) < os.time() then
			player:setStorageValue(storageCoolDown, os.time() + storageTime * 1)
			local var = {type = 1, number = player:getId()}
			combat:execute(creature, var) 
			addEvent(function() combat:execute(creature, var) end, 2*1000)
		else
			player:sendTextMessage(MESSAGE_STATUS_SMALL, "You must wait 10 seconds to use this rune again.")
			return false
		end
	else
		player:sendTextMessage(MESSAGE_STATUS_SMALL, "Can be used only on you.")
	end
    return true
end

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo