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

Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Nivel de dificudade Empty Nivel de dificudade 6/5/2012, 00:14

The Lucas Wugades

The Lucas Wugades
Membro Honorário III
Membro Honorário III
Niveis de Dificuldade
por Dargor

Introdução

Permite adicionar um módulo de dificuldade. Esse script altera apenas os status dos inimigos.

Características


Dificuldades totalmente editáveis

Screenshots


Spoiler :


Como usar

Apenas cole acima do Main


Script


Código: [Selecionar]
Código:
#==============================================================================
# ** Nível de Dificuldades
#------------------------------------------------------------------------------
#  © Dargor, 2008
#  24/06/08
#  Version 1.1
#  Tradução por Atheron
#------------------------------------------------------------------------------
#  Sobre as Versões
#  - 1.0 (24/06/08)  Lançamento
#  - 1.1 (24/06/08)  Adicionada EXP e Gold modificações
#------------------------------------------------------------------------------
#  INSTRUÇÕES:
#  - Cole acima do Main e abaixo do Materials
#  - As dificuldades são editáveis na área abaixo
#==============================================================================



#==============================================================================
# ** Configuração da Dificuldade
#==============================================================================

module Difficulty
  # Dificuldade padrão
  Default = 1
  # Nome dos níveis
  Names = [
            'Fácil',
            'Médio',
            'Difícil'
          ]
  # Uma pequena descrição sobre os níveis de dificuldade.
  Descriptions = [
                  'Nivel Fácil',
                  'Nivel Intermediário',
                  'Nível Difícil',
                ]
  # Modifica os seguintes stat dos inimigos:
  # HP/MP/ATK/DEF/SPI/AGI/Hit de Evasão/EXP e Gold
  Modifiers = [
                [0.5, 0.5, 0.5, 0.5 ,0.5 ,0.5, 0.5 ,0.5, 0.5, 0.5],
                [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                [1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1, 1],
              ]
  # Mostrar na tela de título?
  In_Title = true
end

#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# Esta classe manipula dados relacionados com o sistema.Também gerencia veículos e BGM, etc
# A instância desta classe é referenciado por $ game_system.
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # * Variaveis de Instacia Publica
  #--------------------------------------------------------------------------
  attr_accessor :difficulty_id
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias dargor_vx_difficulty_system_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    dargor_vx_difficulty_system_initialize
    @difficulty_id = Difficulty::Default
  end
  #--------------------------------------------------------------------------
  # * Get Difficulty
  #--------------------------------------------------------------------------
  def difficulty
    return Difficulty::Modifiers[@difficulty_id]
  end
end

#==============================================================================
# ** Game_Enemy
#------------------------------------------------------------------------------
#  Esta classe manipula os characters dos inimigos.Ele é utilizado dentro da classe Game_Troop
# ($game_troop).
#==============================================================================

class RPG::Enemy
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias dargor_vx_difficulty_enemy_maxhp maxhp
  alias dargor_vx_difficulty_enemy_maxmp maxmp
  alias dargor_vx_difficulty_enemy_atk atk
  alias dargor_vx_difficulty_enemy_def def
  alias dargor_vx_difficulty_enemy_spi spi
  alias dargor_vx_difficulty_enemy_agi agi
  alias dargor_vx_difficulty_enemy_hit hit
  alias dargor_vx_difficulty_enemy_eva eva
  alias dargor_vx_difficulty_enemy_exp exp
  alias dargor_vx_difficulty_enemy_gold gold
  #--------------------------------------------------------------------------
  # * Recebe o Maximo de HP
  #--------------------------------------------------------------------------
  def maxhp
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_maxhp * difficulty[0]
    return result.round
  end
  #--------------------------------------------------------------------------
  # *Recebe o Maximo de MP
  #--------------------------------------------------------------------------
  def maxmp
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_maxmp * difficulty[1]
    return result.round
  end
  #--------------------------------------------------------------------------
  # * Recebe Ataque
  #--------------------------------------------------------------------------
  def atk
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_atk * difficulty[2]
    return result.round
  end
  #--------------------------------------------------------------------------
  # *Recebe Defesa
  #--------------------------------------------------------------------------
  def def
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_def * difficulty[3]
    return result.round
  end
  #--------------------------------------------------------------------------
  # * Get Spirit
  #--------------------------------------------------------------------------
  def spi
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_spi * difficulty[4]
    return result.round
  end
  #--------------------------------------------------------------------------
  # * Recebe Agilidade
  #--------------------------------------------------------------------------
  def agi
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_agi * difficulty[5]
    return result.round
  end
  #--------------------------------------------------------------------------
  # * Recebe a taxa de HIT
  #--------------------------------------------------------------------------
  def hit
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_hit * difficulty[6]
    result = [result, 100].min
    return result.round
  end
  #--------------------------------------------------------------------------
  # * Recebe a taxa de Evasão
  #--------------------------------------------------------------------------
  def eva
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_eva * difficulty[7]
    result = [result, 100].min
    return result.round
  end
  #--------------------------------------------------------------------------
  # * Recebe EXP
  #--------------------------------------------------------------------------
  def exp
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_exp * difficulty[6]
    return result.round
  end
  #--------------------------------------------------------------------------
  # * Recebe Gold
  #--------------------------------------------------------------------------
  def gold
    difficulty = $game_system.difficulty
    result = dargor_vx_difficulty_enemy_gold * difficulty[7]
    return result.round
  end
end

#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# Esta classe realiza a tranformação da tela de título.
#==============================================================================

<p>class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias dargor_vx_difficulty_title_start start
  alias dargor_vx_difficulty_title_terminate terminate
  alias dargor_vx_difficulty_title_update update
  #--------------------------------------------------------------------------
  # * Inicio do processo
  #--------------------------------------------------------------------------
  def start
    dargor_vx_difficulty_title_start
    create_difficulty_window
  end
  #--------------------------------------------------------------------------
  # * Termino do processo
  #--------------------------------------------------------------------------
  def terminate
    dargor_vx_difficulty_title_terminate
    @difficulty_window.dispose
    @help_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def create_difficulty_window
    names = []
    for name in Difficulty::Names
      names << name
    end
    @difficulty_window = Window_Command.new(172, names)
    @difficulty_window.x = @command_window.x
    @difficulty_window.y = @command_window.y
    @difficulty_window.height = @command_window.height
    @difficulty_window.visible = false
    @difficulty_window.active = false
    @help_window = Window_Help.new
    @help_window.openness = 0
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    @difficulty_window.update
    @help_window.update
    if @difficulty_window.active
      update_difficulty_window
      return
    end
    if @command_window.methods.include?('selection')
      condition = [email='@command_window.selection]'@command_window.selection[/email] == Vocab::new_game'
    else
      condition = [email='@command_window.index]'@command_window.index[/email] == 0'
    end
    if Input.trigger?(Input::C) && eval(condition)
      if [email=!@difficulty_window.active]!@difficulty_window.active[/email] && Difficulty::In_Title
        Sound.play_decision
        @difficulty_window.visible = true
        @difficulty_window.active = true
        @help_window.open
        @command_window.visible = false
        @command_window.active = false
        return
      end
    end
    dargor_vx_difficulty_title_update
  end
  #--------------------------------------------------------------------------
  # * Frame Update (Difficulty)
  #--------------------------------------------------------------------------
  def update_difficulty_window
    if self.methods.include?('create_map_background')
      @spriteset.update
      $game_map.interpreter.update
      $game_map.update
    end
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @difficulty_window.visible = false
      @difficulty_window.active = false
      @help_window.close
      @command_window.visible = true
      @command_window.active = true
    end
    if Input.trigger?(Input::C)
      close_difficulty_window
      command_new_game
    end
    id = $game_system.difficulty_id = @difficulty_window.index
    @help_window.set_text(Difficulty::Descriptions[id])
  end
  #--------------------------------------------------------------------------
  # * Close Command Window
  #--------------------------------------------------------------------------
  def close_difficulty_window
    @difficulty_window.close
    @help_window.close
    begin
      @difficulty_window.update
      @help_window.update
      Graphics.update
    end until @difficulty_window.openness == 0
  end
end
Perguntas Frequentes

Citar
Pergunta: Posso fazer mais níveis?
Resposta:Sim, siga o padrão do script. Apenas copie as linhas com o nome, a descrição e os valores.

Pergunta: Funciona com Scripts que modificam a Title?
Resposta: Testei apenas com o Mog Scene Title, mas acredito que não.

Créditos e Agradecimentos

Feito por Dargor

Traduzido por Atheron

OBS: Encontrei ele em um site random, e com uma pequena parte já traduzida, mas não possuiam créditos.
Caso alguém saiba quem começou, avise que eu modifico o post. Obrigado

https://templorpgmakerbr.forumeiros.com/forum

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos