Postado Março 11, 2023 2 anos Opa, belezinha?? Minha dúvida é como eu faço para reposicionar o efeito da spell, digamos que quero que a efeito saia mais < ou até >, quero fazer isso em várias spells, porém não consigo, já usei outros modelos para reposicionar mas fica dando erro na spell no geral. Ficaria grato se alguém me auxiliasse! Spoiler local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 494) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -250.0, 0, -275.0, 0) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1 } addEvent(onCastSpell1, 0, parameters) return true end Aqui é um exemplo, ele sai digamos do lado do target, mas queria saber como reposicionar a vontade, no caso dele até ir em cima do target. Editado Março 11, 2023 2 anos por Grogu Ajuste (veja o histórico de edições)
Postado Março 13, 2023 2 anos Olá! faça um teste, veja se isso funciona: Spoiler local effect = 494 local effectOffset = {x=1, y=0, z=0} local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -250.0, 0, -275.0, 0) function onTargetCreature(cid, target) local position = {x=getThingPosition(target).x + effectOffset.x ,y=getThingPosition(target).y + effectOffset.y, z=getThingPosition(target).z + effectOffset.z} doSendMagicEffect(position, effect) end setCombatCallback(combat1, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") function onCastSpell(cid, var) return doCombat(cid, var) end
Postado Março 13, 2023 2 anos Autor 1 hora atrás, samueldev disse: Olá! faça um teste, veja se isso funciona: Mostrar conteúdo oculto local effect = 494 local effectOffset = {x=1, y=0, z=0} local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -250.0, 0, -275.0, 0) function onTargetCreature(cid, target) local position = {x=getThingPosition(target).x + effectOffset.x ,y=getThingPosition(target).y + effectOffset.y, z=getThingPosition(target).z + effectOffset.z} doSendMagicEffect(position, effect) end setCombatCallback(combat1, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") function onCastSpell(cid, var) return doCombat(cid, var) end Vish maninho, não deu muito certo, coloquei isso no script, porém quando vou usar a habilidade em jogo ele simplesmente fecha o OTX, tentei mudar de effect porém nada.
Postado Março 14, 2023 2 anos Em 13/03/2023 em 16:51, Grogu disse: Vish maninho, não deu muito certo, coloquei isso no script, porém quando vou usar a habilidade em jogo ele simplesmente fecha o OTX, tentei mudar de effect porém nada. Posta qual erro que deu no console.
Postado Março 15, 2023 2 anos Diretor Solução Não testei local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 494) -- adiciona o efeito 494 setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -250.0, 0, -275.0, 0) local function onCastSpell1(parameters) local targetPos = getCreaturePosition(parameters.target) if targetPos then doSendMagicEffect(targetPos, 494) -- exibe o efeito 494 na posição do alvo doCombat(parameters.cid, parameters.combat1, positionToVariant(targetPos)) end end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, target = getCreatureTarget(cid) } addEvent(onCastSpell1, 0, parameters) return true end Versão otimizada: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 494) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -250, 0, -275, 0) function onCastSpell(cid, var) local target = getCreatureTarget(cid) if not target then return false end local targetPos = getCreaturePosition(target) if not targetPos then return false end doSendMagicEffect(targetPos, 494) doCombat(cid, combat1, positionToVariant(targetPos)) return true end Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
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.