Ir para conteúdo

Featured Replies

Postado
  • Autor
  Em 03/09/2020 em 22:52, Thony D. Serv disse:

Spell~~ Testa Bem Paralizar O Monstro Eu Ja Não Sei Como Porem Eu Consegui Deixar A Magia Paralizando O Player Até Soltar A Outra Magia De Fogo

Mostrar conteúdo oculto

 

Paralizou o alvo e o erro que estava dando na distro foi resolvido.

 

Será que não da pra por para paralyzar o monstro que estar mandando spell com alguma função?

O exura por exemplo, tem essa função:

Mostrar conteúdo oculto

Se acrescentar essa função no script pra paralizar o monstro que está usando a magia não da certo?

  • Respostas 20
  • Visualizações 1.8k
  • Created
  • Última resposta

Top Posters In This Topic

Postado
Mostrar conteúdo oculto

 

Editado por Thony D. Serv (veja o histórico de edições)

Postado
  • Autor
  Em 03/09/2020 em 23:14, Thony D. Serv disse:

-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 1, 1, 1, 0},
{0, 0, 3, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
	return (0)*-1,(0)*-1 
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat0_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat0_Brush, con___combat0_Brush)

-- Areas/Combat for 900ms
local combat9_Brush_2 = createCombatObject()
setCombatParam(combat9_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(combat9_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat9_Brush_2,createCombatArea({{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 1, 1, 1, 0},
{0, 0, 3, 0, 0}}))
function getDmg_Brush_2(cid, level, maglevel)
	return (10)*-1,(20)*-1 -- ALTERAR DANO AQUI NO MOMENTO ESTA VARIANDO DE 10 A 20
end
setCombatCallback(combat9_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part
	if (isCreature(cid)) then
		doCombat(cid, c, var)
		if (dirList ~= nil) then -- Emit distance effects
			local i = 2;
			while (i < #dirList) do
				if (startDir == 0) then -- N
					doCreatureSetNoMove(cid,true)
					doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
				elseif (startDir == 2) then -- S
					doCreatureSetNoMove(cid,true)
					doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i],y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1])
				elseif (startDir == 1) then -- E
					doCreatureSetNoMove(cid,true)
					doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList[i],z=dirEmitPos.z},dirList[1])
				else -- W / Something weird happened
					doCreatureSetNoMove(cid,true)
					doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList[i],z=dirEmitPos.z},dirList[1])
				end
				i = i + 2
			end		
		end
	end
end

function onCastSpell(cid, var)
    local startPos = Creature(cid):getDirection()
    local startDir = Creature(cid):getDirection()
	RunPart(combat0_Brush,cid.uid,var)
	addEvent(doCreatureSetNoMove, tempo*1000, cid.uid,false)
	addEvent(RunPart,900,combat9_Brush_2,cid.uid,var)
	return true
end

 

Só saiu o primeiro efeito e deu esse erro na distro:

Mostrar conteúdo oculto

 

Ai eu mudei tempo para time e continou o mesmo erro

Postado
Mostrar conteúdo oculto

 

Editado por Thony D. Serv (veja o histórico de edições)

Postado
  • Autor
  Em 03/09/2020 em 23:24, Thony D. Serv disse:

-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 1, 1, 1, 0},
{0, 0, 3, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
	return (0)*-1,(0)*-1 
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat0_Brush = createConditionObject(0+CONDITION_PARALYZE)
setCombatCondition(combat0_Brush, con___combat0_Brush)

-- Areas/Combat for 900ms
local combat9_Brush_2 = createCombatObject()
setCombatParam(combat9_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(combat9_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat9_Brush_2,createCombatArea({{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 1, 1, 1, 0},
{0, 0, 3, 0, 0}}))
function getDmg_Brush_2(cid, level, maglevel)
	return (10)*-1,(20)*-1 -- ALTERAR DANO AQUI NO MOMENTO ESTA VARIANDO DE 10 A 20
end
setCombatCallback(combat9_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part
	if (isCreature(cid)) then
		doCombat(cid, c, var)
		if (dirList ~= nil) then -- Emit distance effects
			local i = 2;
			while (i < #dirList) do
				if (startDir == 0) then -- N
					doCreatureSetNoMove(cid.uid,true)
					doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
				elseif (startDir == 2) then -- S
					doCreatureSetNoMove(cid.uid,true)
					doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i],y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1])
				elseif (startDir == 1) then -- E
					doCreatureSetNoMove(cid.uid,true)
					doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList[i],z=dirEmitPos.z},dirList[1])
				else -- W / Something weird happened
					doCreatureSetNoMove(cid.uid,true)
					doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList[i],z=dirEmitPos.z},dirList[1])
				end
				i = i + 2
			end		
		end
	end
end

function onCastSpell(cid, var)
    local startPos = Creature(cid):getDirection()
    local startDir = Creature(cid):getDirection()
	RunPart(combat0_Brush,cid.uid,var)
	addEvent(doCreatureSetNoMove(cid.uid,false)
	addEvent(RunPart,900,combat9_Brush_2,cid.uid,var)
	return true
end

 

Deu esse erro:

Mostrar conteúdo oculto

O monstro spit Nettle fica imóvel. e a tag que deixa ele imóvel no xml é speed="0">. Será que tem como fazer o addevent mudar a velocidade do monstro que usar a magia para 0?

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