Ir para conteúdo

Featured Replies

Postado

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" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

  • Respostas 7
  • Visualizações 847
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Jamison Collins
    Jamison Collins

    Vá até as tags de magias que você quer, procure por :  aggressive="0"    Encontrando-as, substitua por : aggressive="1" ou apague-as.

  • Jamison Collins
    Jamison Collins

    Abra os scripts deles, e procure por : setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)   tente por :    setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, true)   e ve se funciona.

  • Jamison Collins
    Jamison Collins

    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)

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.7k

Informação Importante

Confirmação de Termo