Ir para conteúdo

Featured Replies

Postado

Alguém poderia me ajudar nessa spell que to tentando criar? Eu editei ela com todos os recursos que eu tinha mas não consigo fazer os Effects saírem antes da spell.

A spell é o seguinte, os 2 effects (265, 266) ficam na cabeça do char e meio que carregam um poder, logo depois que carrega o char arremeça um missile (57) e depois explode no alvo com o effect (274).
Está tudo certo e funcional, mas ainda não consegui mexer no tempo da spell.
Quando eu uso a spell, ele joga o missile instantaneamente e o efeito de carregar não da prazo de sair primeiro. Ou seja, os dois primeiros effects precisam acontecer primeiro, acho que coisa de 1 segundo para eles acontecerem, e depois que iria sair o restante da spell. Utilizei o Super Kamehameha do DBO, que ele primeiro faz a aura e depois solta o Kamehameha, mas nas minhas modificações não funcionou, sai tudo junto.

To usando tfs 0.3.6

 

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 266)
 
local 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, 0, 0, 0},
{0, 0, 0, 0, 1, 2, 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)

local combat0 = createCombatObject()
setCombatParam(combat0, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat0, COMBAT_PARAM_EFFECT, 265)

local arr0 = {
{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, 0, 0, 0, 1, 2, 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 area0 = createCombatArea(arr0)
setCombatArea(combat0, area0)

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTPURPLE)
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 57)

function onGetFormulaValues(cid, level, maglevel)
	local min = ((level*30)+(maglevel*30))
	local max = ((level*32)+(maglevel*32))
    return -min, -max
end

setCombatCallback(combat1, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
 
arr1 = {
{0, 3, 0}
}
 
local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)

function rhk3(cid)
	if getCreatureLookDirection(cid) == 1 then
		doCombat(cid, combat1, numberToVariant(cid))
	end
end

function rhk2(cid)
	doPlayerSay(cid, 'DAMAAAAA', TALKTYPE_ORANGE_1)
	doCombat(cid, combat0, numberToVariant(cid))
	addEvent(rhk3,500,cid)
end

function rhk1(cid)
	doPlayerSay(cid, 'BIJUUUUU', TALKTYPE_ORANGE_1)
	doCombat(cid, combat, numberToVariant(cid))
	addEvent(rhk2,500,cid)
end

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
  
function onCastSpell(cid, var)
	if exhaustion.check(cid, 24006) == TRUE then
		doPlayerSendCancel(cid, "Podera usar novamente dentro de 3 segundos.")
		doSendMagicEffect(getCreaturePosition(cid), 32)
		return false
	end
	addEvent(rhk1,500,cid)
	
	local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+4, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}
	local parameters = { cid = cid, var = var, combat1 = combat1 }
	addEvent(onCastSpell1, 0, parameters)
	doSendMagicEffect(position1, 274)
	exhaustion.set(cid, 24006, 3.0)

return true
end

 

Adcionei um vídeo mostrando como está a spell

 

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

Postado
  • Autor
5 horas atrás, So volto tarde disse:

usa addevent

poderia me ajudar a adcionar? eu tentei fazer addevent com parameters mas so consegui atrasar o hit, a magia ainda saia antes do hit, ainda não sei criar spells então eu fico pegando pedacinho por pedacinho de cada uma.

Postado

tenta tirar o combat_param_effect e fazer todo o script a partir da função onCastSpell, provavelmente deve ter um jeito de atrasar o combat_param_effect, mas desconheço, então no meu caso eu faria o que disse.

um exemplo p enviar um efeito no target depois de 5 segundos:
addEvent(function()
        doSendMagicEffect(position1, 22)
end, 5000)

 

ao adicionar isso no escopo da função onCastSpell, na teoria, era para enviar o efeito 22 no target do player que castou a spell, basta seguir essa lógica alternando entre target(position1) e caster(cid)

Editado por So volto tarde (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 520.3k

Informação Importante

Confirmação de Termo