Postado Julho 15, 2015 9 anos Bom eu quero uma spell que aumenta todas as skills do meu amigo. Tipo exana skill "amigo. Irá aumenta +15 em todas skills por 50 segundos, terá uma cooldown de 3 minutos. Editado Julho 15, 2015 9 anos por Admnwso (veja o histórico de edições)
Postado Julho 15, 2015 9 anos tente assim. combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) combat:setParameter(COMBAT_PARAM_AGGRESSIVE, 0) local area = createCombatArea(AREA_CROSS5X5) combat:setArea(area) local condition = Condition(CONDITION_ATTRIBUTES) condition:setParameter(CONDITION_PARAM_SUBID, 3) condition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1) condition:setParameter(CONDITION_PARAM_TICKS, 2 * 60 * 1000) condition:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 15) condition:setParameter(CONDITION_PARAM_SKILL_MELEE, 15) condition:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 15) function onCastSpell(creature, var) local position = creature:getPosition() local party = creature:getParty() if not party or party:getMemberCount() < 1 then creature:sendCancelMessage('No party members in range.') position:sendMagicEffect(CONST_ME_POFF) return false end local partyMembers, affected, member = party:getMembers(), {} for i = 1, #partyMembers do member = partyMembers[i] if member:getPosition():getDistance(position) <= 36 then affected[#affected + 1] = member end end local tmp = #affected if tmp < 1 then creature:sendCancelMessage('No party members in range.') position:sendMagicEffect(CONST_ME_POFF) return false end local mana = math.ceil((0.9 ^ (tmp - 1) * 120) * tmp) if creature:getMana() < mana then creature:sendCancelMessage(RETURNVALUE_NOTENOUGHMANA) position:sendMagicEffect(CONST_ME_POFF) return false end if not combat:execute(creature, var) then creature:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) position:sendMagicEffect(CONST_ME_POFF) return false end creature:addMana(-(mana - 120), false) creature:addManaSpent((mana - 120) * configManager.getNumber(configKeys.RATE_MAGIC)) creature:addCondition(condition) for i = 1, #affected do affected[i]:addCondition(condition) end return true end Editado Julho 15, 2015 9 anos por pedrook (veja o histórico de edições)
Postado Julho 15, 2015 9 anos Autor tente assim. combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) combat:setParameter(COMBAT_PARAM_AGGRESSIVE, 0) local area = createCombatArea(AREA_CROSS5X5) combat:setArea(area) local condition = Condition(CONDITION_ATTRIBUTES) condition:setParameter(CONDITION_PARAM_SUBID, 3) condition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1) condition:setParameter(CONDITION_PARAM_TICKS, 2 * 60 * 1000) condition:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 15) condition:setParameter(CONDITION_PARAM_SKILL_MELEE, 15) condition:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 15) function onCastSpell(creature, var) local position = creature:getPosition() local party = creature:getParty() if not party or party:getMemberCount() < 1 then creature:sendCancelMessage('No party members in range.') position:sendMagicEffect(CONST_ME_POFF) return false end local partyMembers, affected, member = party:getMembers(), {} for i = 1, #partyMembers do member = partyMembers[i] if member:getPosition():getDistance(position) <= 36 then affected[#affected + 1] = member end end local tmp = #affected if tmp < 1 then creature:sendCancelMessage('No party members in range.') position:sendMagicEffect(CONST_ME_POFF) return false end local mana = math.ceil((0.9 ^ (tmp - 1) * 120) * tmp) if creature:getMana() < mana then creature:sendCancelMessage(RETURNVALUE_NOTENOUGHMANA) position:sendMagicEffect(CONST_ME_POFF) return false end if not combat:execute(creature, var) then creature:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) position:sendMagicEffect(CONST_ME_POFF) return false end creature:addMana(-(mana - 120), false) creature:addManaSpent((mana - 120) * configManager.getNumber(configKeys.RATE_MAGIC)) creature:addCondition(condition) for i = 1, #affected do affected[i]:addCondition(condition) end return true end poderia manda tag tb. Mas pelo que eu vejo isso é usado em party(PT). Se for n é o jeito que quero. Eu quero tipo healando o amigo, EXURA SIO "Amigo. No meu caso é EXANA SKILL "Amigo, aumentará todas skill em determinado tempo.
Postado Julho 16, 2015 9 anos poderia manda tag tb. Mas pelo que eu vejo isso é usado em party(PT). Se for n é o jeito que quero. Eu quero tipo healando o amigo, EXURA SIO "Amigo. No meu caso é EXANA SKILL "Amigo, aumentará todas skill em determinado tempo. entendi, tente assim buff friend.lua local combat = Combat() local condition = Condition(CONDITION_ATTRIBUTES) condition:setParameter(CONDITION_PARAM_SUBID, 3) condition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1) condition:setParameter(CONDITION_PARAM_TICKS, 2 * 60 * 1000) condition:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 15) condition:setParameter(CONDITION_PARAM_SKILL_MELEE, 15) condition:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 15) function onGetFormulaValues(player, level, maglevel) min = ((level / 5) + (maglevel * 6.3) + 45) max = ((level / 5) + (maglevel * 14.4) + 90) return min, max end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(creature, var) return combat:execute(creature, var) end <instant group="healing" spellid="85" name="Buff Friend" words="exana skill" lvl="50" mana="600" prem="1" aggressive="0" blockwalls="1" needtarget="1" playernameparam="1" params="1" exhaustion="1000" groupcooldown="1000" needlearn="0" script="healing/buff friend.lua"> <vocation name="Druid" /> <vocation name="Sorcerer" /> <vocation name="Master Sorcerer" /> <vocation name="Elder Druid" /> </instant> ps: não testei.
Postado Julho 16, 2015 9 anos Autor Solução Vlw amigo mas eu consegui o que eu queria. E min desculpe por n ter procurado antes. Mas está aqui: http://www.tibiaking.com/forum/topic/29755-magia-de-buff-para-life-skill-e-mana/ rep+ quando volta os meus rep.
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.