Ir para conteúdo
  • 0

Monstro ficar paralizado ao usar spell


Icaro Simoes

Pergunta

Boa tarde pessoal, gostaria que ao monstro ao usar essa magia, ele fica paralizado por 2 segundos. Como podem ver, a magia consiste em usar um efeito no instante em que o monstro ativa a spell e 2 segundos depois usa outro efeito. Gostaria que no momento da ativação do spell (primeiro efeito) o monstro fique imóvel por 2 segundos.

 

OBS: o monstro que usa essa magia.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
Em 18/08/2020 em 16:23, Icaro Simoes disse:
Versão do Servidor: TFS - 1.2
Tipo de Script: monster
Código:
  Ocultar conteúdo


-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, 5)
setCombatArea(combat0_Brush,createCombatArea({{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, 0},
{0, 0, 0, 2, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))


-- Areas/Combat for 2000ms
local combat20_Brush_2 = createCombatObject()
setCombatParam(combat20_Brush_2, COMBAT_PARAM_EFFECT, 26)
setCombatParam(combat20_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat20_Brush_2,createCombatArea({{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, 0},
{0, 0, 0, 2, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
	return (50)*-1,(150)*-1 
end
setCombatCallback(combat20_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

-- =============== 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)
	addEvent(RunPart,2000,combat20_Brush_2,cid,var)
	return true
end

Boa tarde pessoal, gostaria que ao monstro ao usar essa magia, ele fica paralizado por 2 segundos. Como podem ver, a magia consiste em usar um efeito no instante em que o monstro ativa a spell e 2 segundos depois usa outro efeito. Gostaria que no momento da ativação do spell (primeiro efeito) o monstro fique imóvel por 2 segundos.

 

OBS: o monstro que usa essa magia.

Troca a paralyze rune e muda pra attack e needtarget = 1

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, brazvct disse:

Troca a paralyze rune e muda pra attack e needtarget = 1

Isso vai paralizar o monstro que usou a magia? Needtarget = 1 significa que vai paralizar o alvo (player) ou o caster (monstro)?

 

O monstro que usa a magia que tem que ficar paralizado.

Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, Icaro Simoes disse:

Isso vai paralizar o monstro que usou a magia? Needtarget = 1 significa que vai paralizar o alvo (player) ou o caster (monstro)?

 

O monstro que usa a magia que tem que ficar paralizado.

Needtarget ignifica que voce precisar clicar em algo pra usar a runa, e esse algo vai ser paralizado, mas ai vc altera o cid

Link para o comentário
Compartilhar em outros sites

  • 0
8 minutos atrás, Deadpool disse:

Needtarget ignifica que voce precisar clicar em algo pra usar a runa, e esse algo vai ser paralizado, mas ai vc altera o cid

No caso needtarget = 0 (precisa clicar) e needtarget = 1 (não precisa clicar)?

 

No meu servidor o script da paralyze não tem needtarget, mas tem "ishotkey". Retirei o "ishotkey" da função. Ficaria assim?

 

Spoiler

-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, 5)
setCombatArea(combat0_Brush,createCombatArea({{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, 0},
{0, 0, 0, 2, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))

function onCastSpell(creature, variant)
local condition = Condition(CONDITION_PARALYZE)
condition:setParameter(CONDITION_PARAM_TICKS, 20000)
condition:setFormula(-1, 80, -1, 80)
combat:addCondition(condition)
 


-- Areas/Combat for 2000ms
local combat20_Brush_2 = createCombatObject()
setCombatParam(combat20_Brush_2, COMBAT_PARAM_EFFECT, 26)
setCombatParam(combat20_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat20_Brush_2,createCombatArea({{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, 0},
{0, 0, 0, 2, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
	return (50)*-1,(150)*-1 
end
setCombatCallback(combat20_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

-- =============== 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)
	addEvent(RunPart,2000,combat20_Brush_2,cid,var)
	return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
3 horas atrás, Icaro Simoes disse:

No caso needtarget = 0 (precisa clicar) e needtarget = 1 (não precisa clicar)?

 

No meu servidor o script da paralyze não tem needtarget, mas tem "ishotkey". Retirei o "ishotkey" da função. Ficaria assim?

 

  Mostrar conteúdo oculto


-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, 5)
setCombatArea(combat0_Brush,createCombatArea({{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, 0},
{0, 0, 0, 2, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))

function onCastSpell(creature, variant)
local condition = Condition(CONDITION_PARALYZE)
condition:setParameter(CONDITION_PARAM_TICKS, 20000)
condition:setFormula(-1, 80, -1, 80)
combat:addCondition(condition)
 


-- Areas/Combat for 2000ms
local combat20_Brush_2 = createCombatObject()
setCombatParam(combat20_Brush_2, COMBAT_PARAM_EFFECT, 26)
setCombatParam(combat20_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatArea(combat20_Brush_2,createCombatArea({{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, 0},
{0, 0, 0, 2, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
	return (50)*-1,(150)*-1 
end
setCombatCallback(combat20_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")

-- =============== 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)
	addEvent(RunPart,2000,combat20_Brush_2,cid,var)
	return true
end

 

needtarget é na tag do script em spells.xml

Link para o comentário
Compartilhar em outros sites

  • 0
2 minutos atrás, brazvct disse:

needtarget é na tag do script em spells.xml

Já havia colocado no spells.xml.

   

 <instant name="dragon breath" words="###60" aggressive="1" blockwalls="1" needtarget="1" needlearn="1" script="monster/dragon_breath.lua" />

 

Estou achando que vocês não entenderam, eu preciso modificar a spell que eu criei, para paralizar o monstro que usa a spell.

Link para o comentário
Compartilhar em outros sites

  • 0
24 minutos atrás, Icaro Simoes disse:

Já havia colocado no spells.xml.

   

 <instant name="dragon breath" words="###60" aggressive="1" blockwalls="1" needtarget="1" needlearn="1" script="monster/dragon_breath.lua" />

 

Estou achando que vocês não entenderam, eu preciso modificar a spell que eu criei, para paralizar o monstro que usa a spell.

Voce quer dizer que quando o monstro usa a spell, ele mesmo se paralisa?

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...