Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


4 participantes

    Dano minimo e máximo janela de habilidades

    GallighanMaker
    GallighanMaker
    Colaborador
    Colaborador


    Medalhas : Dano minimo e máximo janela de habilidades ZgLkiRU
    Mensagens : 985
    Créditos : 102

    Ficha do personagem
    Nível: 1
    Experiência:
    Dano minimo e máximo janela de habilidades Left_bar_bleue0/0Dano minimo e máximo janela de habilidades Empty_bar_bleue  (0/0)
    Vida:
    Dano minimo e máximo janela de habilidades Left_bar_bleue30/30Dano minimo e máximo janela de habilidades Empty_bar_bleue  (30/30)

    Dano minimo e máximo janela de habilidades Empty Dano minimo e máximo janela de habilidades

    Mensagem por GallighanMaker Qui Jun 20, 2019 3:35 am

    Pessoal, criei um script que mostra o dano minimo e máximo de uma habilidade, utilizando o "damage formula" do próprio editor de habilidades do RPG Maker VX Ace.

    O script pega apenas a parte do dano que é calculável em atributos do jogador, ignorando a parte de defesa do oponente, por exemplo, uma habilidade chamada "Fogo":

    Dano minimo e máximo janela de habilidades 21kXC_V7SQGb0JJCGXoNAQ

    Formula:
    50 + a.mat * 2 - b.mdf * 2


    O script corta esse texto para apenas:
    50 + a.mat * 2

    Ou seja, removemos a parte que calcula a defesa, com isso podemos calcular o dano minimo e máximo em base na variação, alterando os tipos de atributos a.atk (ataque), a.mat (ataque mágico), a.agi (agilidade) para os pontos de atributos do personagem. Por  exemplo, suponhamos que o personagem tem 50 pontos de ataque mágico:

    Original:
    50 + a.mat * 2


    Alterando o atributo
    50 + 50 * 2

    Agora temos o calculo real do dano máximo, a variação apenas subtrai desse valor para gerar o minimo e máximo, uma variação de 20 seria o resultado: 

    50 + 50 * 2 = 200
    200 - 20 = 180

    Dano mínimo: 180, Dano Máximo: 200

    Chega de calculo e bora para o script e o resultado:

    Adicione as linhas abaixo no final do script: [VS] Vocab:
    Código:
    # Janela de Habilidades
    Damage             = 'Dano:'

    Agora em [VS] Script_Help, substitua a função inteira draw_skill pela de baixo:
    Código:
    def draw_skill
        return unless @item.is_a?(RPG::Skill)
        self.bitmap.draw_text(21, 70, 100, line_height, Vocab::MPCost)
        self.bitmap.draw_text(21, 88, 105, line_height, Vocab::Hit)
        self.bitmap.draw_text(125, 70, 40, line_height, @item.mp_cost, 2)
        self.bitmap.draw_text(140, 88, 25, line_height, @item.success_rate, 2)
        
        # Show only in HP Damage skills type
        if @item.damage.type == 1
          # Begin - Show skill damage
          atk = $game_actors[1].param(2)# Attack power
          mat = $game_actors[1].param(4) # Magic power
          agi = $game_actors[1].param(6) # Agility
          
          variance = @item.damage.variance # Skill variance %
          if variance == 0
            variance = 1
          end
          
          formula = @item.damage.formula # Damage formula

          min_damage = 0 # Min damage
          max_damage = 0 # Max damage
          damage_variance = 0 # Damage variance
          
          # Change atk, mat and agi formula values for actor attributes
          map = {'a.atk' => atk.to_s, 'a.mat' => mat.to_s, 'a.agi' => agi.to_s}
          map.each {|k,v| formula.sub!(k,v)}
          
          # Remove enemy defense part of damage formula, Ex: a.atk * 2 - b.def
          # keep only a.atk * 2
          if formula.include? "-"
            new_formula = formula.split('-')[0]
            max_damage = eval(new_formula)
            if max_damage > 0
              damage_variance = max_damage / max_damage * variance
              min_damage = max_damage - damage_variance
            end
          else
            max_damage = eval(formula)
            if max_damage > 0
              damage_variance = max_damage / max_damage * variance
              min_damage = max_damage - damage_variance
            end
          end

          color = crisis_color
          self.bitmap.font.color.set(color)
          self.bitmap.draw_text(21, 106, 100, line_height, Vocab::Damage)
          self.bitmap.draw_text(65, 106, 100, line_height, min_damage.to_s + '~' + max_damage.to_s, 2)
          self.bitmap.font.color.set(normal_color)
        end
        # End
    end
    Resultado:

    Dano minimo e máximo janela de habilidades HhVRvad

    Fiz esse script rapidinho aqui, fiquem a vontade para ajustar.

    xD


    Última edição por GallighanMaker em Sex Jun 21, 2019 1:23 am, editado 3 vez(es)


    _________________
    Dano minimo e máximo janela de habilidades 8dVK0ku
    using C# and import Python developer || Expert in Unity Engine IDE. || Dano minimo e máximo janela de habilidades 769_heart 2D pixel games.
    retropiguru
    retropiguru
    Novato
    Novato


    Mensagens : 14
    Créditos : 0

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por retropiguru Qui Jun 20, 2019 8:03 am

    muito bom *-* 
    partiu usar rsrs


    malz aproveitando o script [sabe falar como removo esse precisão ? acho q ele desnecessário rsrs]


    _________________
    PROJETO: Heros Online [20%]
    Classes: Guerreiro, Arqueiro, Mago e Sacerdote
    VXA-OS "gráficos RM.vx.ace"
    GallighanMaker
    GallighanMaker
    Colaborador
    Colaborador


    Medalhas : Dano minimo e máximo janela de habilidades ZgLkiRU
    Mensagens : 985
    Créditos : 102

    Ficha do personagem
    Nível: 1
    Experiência:
    Dano minimo e máximo janela de habilidades Left_bar_bleue0/0Dano minimo e máximo janela de habilidades Empty_bar_bleue  (0/0)
    Vida:
    Dano minimo e máximo janela de habilidades Left_bar_bleue30/30Dano minimo e máximo janela de habilidades Empty_bar_bleue  (30/30)

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por GallighanMaker Qui Jun 20, 2019 10:31 am

    Você diz a variação do dano min e max?. Não entendi exatamente a precisão que quer remover kk.


    _________________
    Dano minimo e máximo janela de habilidades 8dVK0ku
    using C# and import Python developer || Expert in Unity Engine IDE. || Dano minimo e máximo janela de habilidades 769_heart 2D pixel games.
    retropiguru
    retropiguru
    Novato
    Novato


    Mensagens : 14
    Créditos : 0

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por retropiguru Qui Jun 20, 2019 11:51 am

    GallighanMaker escreveu:Você diz a variação do dano min e max?. Não entendi exatamente a precisão que quer remover kk.
    a informação que fica acima do dano
    acho que ficaria melhor e facilitaria na escrita da descrição da magia.. [já q tem limite de texto..]
    Dano minimo e máximo janela de habilidades Sem_tz10


    _________________
    PROJETO: Heros Online [20%]
    Classes: Guerreiro, Arqueiro, Mago e Sacerdote
    VXA-OS "gráficos RM.vx.ace"
    GallighanMaker
    GallighanMaker
    Colaborador
    Colaborador


    Medalhas : Dano minimo e máximo janela de habilidades ZgLkiRU
    Mensagens : 985
    Créditos : 102

    Ficha do personagem
    Nível: 1
    Experiência:
    Dano minimo e máximo janela de habilidades Left_bar_bleue0/0Dano minimo e máximo janela de habilidades Empty_bar_bleue  (0/0)
    Vida:
    Dano minimo e máximo janela de habilidades Left_bar_bleue30/30Dano minimo e máximo janela de habilidades Empty_bar_bleue  (30/30)

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por GallighanMaker Qui Jun 20, 2019 12:53 pm

    Só remover essas duas linhas:

    Código:
    self.bitmap.draw_text(21, 88, 105, line_height, Vocab::Hit)
    self.bitmap.draw_text(140, 88, 25, line_height, @item.success_rate, 2)


    _________________
    Dano minimo e máximo janela de habilidades 8dVK0ku
    using C# and import Python developer || Expert in Unity Engine IDE. || Dano minimo e máximo janela de habilidades 769_heart 2D pixel games.
    retropiguru
    retropiguru
    Novato
    Novato


    Mensagens : 14
    Créditos : 0

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por retropiguru Qui Jun 20, 2019 2:20 pm

    vlw +10 xD


    _________________
    PROJETO: Heros Online [20%]
    Classes: Guerreiro, Arqueiro, Mago e Sacerdote
    VXA-OS "gráficos RM.vx.ace"
    Manticora
    Manticora
    Membro Ativo
    Membro Ativo


    Mensagens : 266
    Créditos : 62

    Ficha do personagem
    Nível: 1
    Experiência:
    Dano minimo e máximo janela de habilidades Left_bar_bleue0/0Dano minimo e máximo janela de habilidades Empty_bar_bleue  (0/0)
    Vida:
    Dano minimo e máximo janela de habilidades Left_bar_bleue30/30Dano minimo e máximo janela de habilidades Empty_bar_bleue  (30/30)

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por Manticora Qui Jun 20, 2019 3:07 pm

    Ótimo Script GallighanMaker !

    +1 Crédito
    Azel
    Azel
    Iniciante
    Iniciante


    Mensagens : 47
    Créditos : 7

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por Azel Qui Jun 20, 2019 7:15 pm

    Dano minimo e máximo janela de habilidades Print10
    Muito bom Very Happy Gall porém estou com esse problema 
    GallighanMaker
    GallighanMaker
    Colaborador
    Colaborador


    Medalhas : Dano minimo e máximo janela de habilidades ZgLkiRU
    Mensagens : 985
    Créditos : 102

    Ficha do personagem
    Nível: 1
    Experiência:
    Dano minimo e máximo janela de habilidades Left_bar_bleue0/0Dano minimo e máximo janela de habilidades Empty_bar_bleue  (0/0)
    Vida:
    Dano minimo e máximo janela de habilidades Left_bar_bleue30/30Dano minimo e máximo janela de habilidades Empty_bar_bleue  (30/30)

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por GallighanMaker Sex Jun 21, 2019 1:08 am

    @Azel

    Pode ser alguma variação com valor 0 e da o erro ao tentar criar o dano minimo, poderia me passar a linha que isso ocorre?. Se você entrar em scripts após o erro provavelmente ele irá apontar a linha. 

    Outra coisa, alterei um pouco o script, poderia trocar pelo do tópico dnv?. Aguardo o feedback.


    _________________
    Dano minimo e máximo janela de habilidades 8dVK0ku
    using C# and import Python developer || Expert in Unity Engine IDE. || Dano minimo e máximo janela de habilidades 769_heart 2D pixel games.
    Azel
    Azel
    Iniciante
    Iniciante


    Mensagens : 47
    Créditos : 7

    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por Azel Sáb Jun 22, 2019 10:56 am

    Obrigado Gall troquei pela nova alteração o script funcionou normalmente 
    Erro não aparece mais  Very Happy

    Conteúdo patrocinado


    Dano minimo e máximo janela de habilidades Empty Re: Dano minimo e máximo janela de habilidades

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Dez 13, 2024 2:45 am