Postado Julho 30, 2021 4 anos 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 19-13-47.mp4 Editado Julho 30, 2021 4 anos por Nother (veja o histórico de edições)
Postado Julho 30, 2021 4 anos 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 Julho 31, 2021 4 anos 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 Julho 31, 2021 4 anos 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.