Postado Setembro 2, 2020 4 anos 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
Postado Setembro 9, 2020 4 anos 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
Postado Setembro 9, 2020 4 anos Autor Só tive que colocar como action, mas funcionou perfeitamente, obrigado mano!
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.