Suporte no desenvolvimento de jogos


    [VXA-OS] Dano minimo e máximo janela de habilidades

    GallighanMaker
    GallighanMaker
    Aldeia Friend
    Aldeia Friend

    Medalhas : [VXA-OS] Dano minimo e máximo janela de habilidades ZgLkiRU
    Mensagens : 915
    Créditos : 90
    Cash : 0

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

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por GallighanMaker em 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":

    [VXA-OS] 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:

    [VXA-OS] 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)


    _________________
    @IndieDB @Steam Concept
    [VXA-OS] Dano minimo e máximo janela de habilidades 41324
    --
    retropiguru
    retropiguru
    Novato
    Novato

    Mensagens : 14
    Créditos : 0
    Cash : 0

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por retropiguru em 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
    Aldeia Friend
    Aldeia Friend

    Medalhas : [VXA-OS] Dano minimo e máximo janela de habilidades ZgLkiRU
    Mensagens : 915
    Créditos : 90
    Cash : 0

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

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por GallighanMaker em 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.


    _________________
    @IndieDB @Steam Concept
    [VXA-OS] Dano minimo e máximo janela de habilidades 41324
    --
    retropiguru
    retropiguru
    Novato
    Novato

    Mensagens : 14
    Créditos : 0
    Cash : 0

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por retropiguru em 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..]
    [VXA-OS] 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
    Aldeia Friend
    Aldeia Friend

    Medalhas : [VXA-OS] Dano minimo e máximo janela de habilidades ZgLkiRU
    Mensagens : 915
    Créditos : 90
    Cash : 0

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

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por GallighanMaker em 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)


    _________________
    @IndieDB @Steam Concept
    [VXA-OS] Dano minimo e máximo janela de habilidades 41324
    --
    retropiguru
    retropiguru
    Novato
    Novato

    Mensagens : 14
    Créditos : 0
    Cash : 0

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por retropiguru em 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
    Ocasional
    Ocasional

    Mensagens : 245
    Créditos : 60
    Cash : 0

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

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

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

    Ótimo Script GallighanMaker !

    +1 Crédito
    Azel
    Azel
    Iniciante
    Iniciante

    Mensagens : 47
    Créditos : 7
    Cash : 0

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

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

    [VXA-OS] Dano minimo e máximo janela de habilidades Print10
    Muito bom Very Happy Gall porém estou com esse problema 
    GallighanMaker
    GallighanMaker
    Aldeia Friend
    Aldeia Friend

    Medalhas : [VXA-OS] Dano minimo e máximo janela de habilidades ZgLkiRU
    Mensagens : 915
    Créditos : 90
    Cash : 0

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

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por GallighanMaker em 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.


    _________________
    @IndieDB @Steam Concept
    [VXA-OS] Dano minimo e máximo janela de habilidades 41324
    --
    Azel
    Azel
    Iniciante
    Iniciante

    Mensagens : 47
    Créditos : 7
    Cash : 0

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por Azel em Sab 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

    [VXA-OS] Dano minimo e máximo janela de habilidades Empty Re: [VXA-OS] Dano minimo e máximo janela de habilidades

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Seg Dez 09, 2019 11:29 am