Postado Outubro 10, 2013 11 anos Bem, você terá que adicionar isso em todos os arquivos buff de party : local condition1 = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition1, CONDITION_PARAM_TICKS, 2 * 60 * 1000) Lá no final de cada magia de party, você encontrará algo assim : for _, pid in ipairs(affectedList) do doAddCondition(pid, condition) end E então você trocará assim : for _, pid in ipairs(affectedList) do doAddCondition(pid, condition) doAddCondition(pid, condition1) end ... exemplo de uma magia (enchant.lua) : local combat = createCombatObject() local area = createCombatArea(AREA_CROSS5X5) setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_SUBID, 3) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 1) local condition1 = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition1, CONDITION_PARAM_TICKS, 2 * 60 * 1000) local config = { baseMana = 120, hardcoreManaSpent = getConfigValue("addManaSpentInPvPZone") } function onCastSpell(cid, var) local pos, membersList = getCreaturePosition(cid), getPartyMembers(cid) if(membersList == nil or type(membersList) ~= 'table' or table.maxn(membersList) <= 1) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE) doSendMagicEffect(pos, CONST_ME_POFF) return false end local affectedList = {} for _, pid in ipairs(membersList) do if(getDistanceBetween(getCreaturePosition(pid), pos) <= 36) then table.insert(affectedList, pid) end end local tmp = table.maxn(affectedList) if(tmp <= 1) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE) doSendMagicEffect(pos, CONST_ME_POFF) return false end local mana = math.ceil((0.9 ^ (tmp - 1) * config.baseMana) * tmp) if(getCreatureMana(cid) < mana) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMANA) doSendMagicEffect(pos, CONST_ME_POFF) return false end if(not doCombat(cid, combat, var)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) doSendMagicEffect(pos, CONST_ME_POFF) return false end doCreatureAddMana(cid, -(mana - config.baseMana), false) if(not getPlayerFlagValue(cid, PlayerFlag_NotGainMana) and (not getTileInfo(getThingPosition(cid)).hardcore or config.hardcoreManaSpent)) then doPlayerAddSpentMana(cid, (mana - config.baseMana)) end for _, pid in ipairs(affectedList) do doAddCondition(pid, condition) doAddCondition(pid, condition1) end return true end Bem, é isso, se não der certo, desculpa, era a única coisa que eu tinha em mente. 愛"A alma permanece em suas criações" 平(Não dou suporte por mensagem privada.)
Postado Outubro 10, 2013 11 anos Autor Funcionou Jamison. Vlw mesmo cara! Dei 3 Rep merecidos! , Muito obrgaido. Abraço, pode fechar o Tópico! Editado Outubro 10, 2013 11 anos por IagoNp (veja o histórico de edições)
Postado Outubro 10, 2013 11 anos Dúvida sanada, tag adicionada. Tópico movido! 愛"A alma permanece em suas criações" 平(Não dou suporte por mensagem privada.)
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.