Ir para conteúdo
  • Cadastre-se

(Resolvido)-=[TFS]=- 0.4 8.60 - eu quero que a sd id 2263 seja lançado no trajeto local area se for atingir monstro ou um player ele atingi com local area o player e o monstro na direção do monstro e do player


Ir para solução Resolvido por L3K0T,

Posts Recomendados

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)

function damage(cid, level, maglevel)
    local min = 1000000000
    local max = 1000000000
    return -min, -max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "damage")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

local area = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
local combatArea = createCombatArea(area)
setCombatArea(combat, combatArea)

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
  • Solução
Em 29/03/2024 em 19:10, Muvukaa disse:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)

function damage(cid, level, maglevel)
    local min = 1000000000
    local max = 1000000000
    return -min, -max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "damage")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

local area = {
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
    {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
    {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
local combatArea = createCombatArea(area)
setCombatArea(combat, combatArea)

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

 

Isso??

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)

function damage(cid, level, maglevel, targetPosition)
    local min = 1000000000
    local max = 1000000000
    return -min, -max, getDirectionTo(targetPosition) -- Retorna também a direção para o alvo
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "damage")

function onCastSpell(cid, var)
    local target = variantToPosition(var)
    local targetCreature = getTopCreature(target).uid
    local direction = getDirectionTo(getCreaturePosition(targetCreature))
    local newVar = createCombatArea(getAreaAround(target, 1, 1)) -- Define a área de ataque em torno do alvo
    setCombatArea(combat, newVar)
    return doCombat(cid, combat, var), direction
end

-- Função auxiliar para obter a direção para uma posição alvo
function getDirectionTo(targetPosition)
    local creaturePosition = getCreaturePosition(cid)
    local dx = targetPosition.x - creaturePosition.x
    local dy = targetPosition.y - creaturePosition.y

    if math.abs(dx) > math.abs(dy) then
        if dx > 0 then
            return DIRECTION_EAST
        else
            return DIRECTION_WEST
        end
    else
        if dy > 0 then
            return DIRECTION_SOUTH
        else
            return DIRECTION_NORTH
        end
    end
end

 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

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

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo