Ir para conteúdo
  • 0

MOVIMENTAÇÃO A CADA ATAQUE


Smash Tibia 24

Pergunta

Desde 2019 venho buscado uma forma de fazer ataques com movimentações. Como, por exemplo, em um jogo tibia de Dragon Ball famoso, o goku soltando o kamehameha, grand line adventures com cada um dos ataques movimentados. Mas não tem nada disso falando em nenhum tópico ou fórum, oque é bem triste, já que isso ajudaria muitas pessoas e inovaria as possibilidades e criatividade.
Se alguém que saiba mexer com programação e script puder fazer tópicos ou até vídeos sobre, iria ajudar bastante o pessoal que não é muito experiente.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

No Tibia, os efeitos gráficos são chamados de projectiles ou magic effects. Para criar o Kamehameha, você precisará usar um projectile que se move em uma direção. Aqui está um exemplo simples de como fazer isso:

 

function onCastSpell(creature, variant)
    local position = creature:getPosition() -- Posição inicial do Goku
    local direction = creature:getDirection() -- Direção do Kamehameha

    local distance = 7 -- Distância que o ataque vai percorrer
    local damage = math.random(200, 300) -- Defina o dano do Kamehameha

    -- Definir o efeito gráfico do Kamehameha
    local projectileEffect = CONST_ANI_ENERGYBALL -- Escolha um efeito gráfico adequado

    -- Criação de um loop que movimenta o ataque
    for i = 1, distance do
        local newPosition = position:getNextPosition(direction, i) -- Calcula a posição seguinte
        creature:say("KAMEHAMEHA!", TALKTYPE_MONSTER_SAY) -- Grito de ataque, opcional
        
        -- Cria o projectile e o efeito
        creature:getPosition():sendDistanceEffect(newPosition, projectileEffect)
        
        -- Dano no alvo que está na posição do efeito
        local target = Tile(newPosition):getTopCreature()
        if target and target:isPlayer() then
            target:addHealth(-damage)
            target:getPosition():sendMagicEffect(CONST_ME_EXPLOSIONAREA) -- Efeito de explosão ao atingir
        end

        -- Intervalo para a movimentação do projectile
        addEvent(function()
            newPosition:sendMagicEffect(CONST_ME_ENERGYHIT) -- Efeito na posição final
        end, i * 100) -- Ajusta o intervalo da animação
    end

    return true
end

 

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...