Ir para conteúdo

Featured Replies

Postado

Olá, alguem poderia me ajudar a criar uma spell de area de 1 hit, que ao invés de usar effect, ela seja com distance effect como na imagem abaixo ?

agradeço desde ja.

ae.png.5ce29496d79bee5f2292db89284f043a.png

 

Citar

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_HITCOLOR, COLOR_ORANGE)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 107)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -230.0, 0, -270.0, 0)

arr = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 3, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
    local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 1, z = getPlayerPosition(cid).z}
    doSendMagicEffect(pos1, 46)
    return doCombat(cid, combat, var)
end
 

 

Editado por Maahzeera (veja o histórico de edições)

Postado
11 minutos atrás, Maahzeera disse:

Olá, alguem poderia me ajudar a criar uma spell de area de 1 hit, que ao invés de usar effect, ela seja com distance effect como na imagem abaixo ?

agradeço desde ja.

ae.png.5ce29496d79bee5f2292db89284f043a.png

Posta a spells que vc quer fazer pra usar. o effect. fica mais facil alguem te ajuda

Postado
-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat0_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat0_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat0_Brush,createCombatArea({{0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 2, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0}}))
setCombatFormula(combat0_Brush, COMBAT_FORMULA_LEVELMAGIC, -230.0, 0, -270.0, 0)
local dfcombat0_Brush = {CONST_ANI_BOLT,0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1,-2,1,-2,2,-1,2,0,2,1,2,2,2,2,0,2,1,2,-1,2,-2,1,-2,0,-2,-1,-2,-2,-2,-2,-1,-2,0,1,3,0,3,-1,3,-3,1,-3,0,-3,-1,-1,-3,0,-3,1,-3,3,-1,3,0,3,1,0,4,-4,0,0,-4,4,0}

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
	if (isCreature(cid)) then
		doCombat(cid, c, var)
		if (dirList ~= nil) then -- Emit distance effects
			local i = 2;
			while (i < #dirList) do
				doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
				i = i + 2
			end		
		end
	end
end

function onCastSpell(cid, var)
	local startPos = getCreaturePosition(cid)
	RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos)
	return true
end

 

Editado por Anderson Sacani (veja o histórico de edições)

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo