O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Script De selecionar dificuldade para Rpg maker VX Ace

Iniciado por Gabriel_Of_Gamer, 18/10/2015 às 10:40

18/10/2015 às 10:40 Última edição: 18/10/2015 às 10:43 por Gabriel_Of_Gamer
Agora veio aprensentar meu primeiro Topico sistema de selecionar dificuldade..
bem o Script não e meu so vim publica-ló.e so copia-lo colocar no seu projeto. :O=O:
no Script já mostra o autor do script.bem no final do topico tem o dowload do Script

#=========================================================
# JB{Seleção de Dificuldade} - Versão 1.2
#---------------------------------------------------------
# Autor: JohnBolton
# Data : 23/06/2012
#---------------------------------------------------------
# Descrição: Insere no jogo um sistema de dificuldade,
# onde a escolha de um certo nível resultará em uma
# alteração nos atributos dos inimigos, tornando-os mais
# fortes ou mais fracos. Uma das quatro opções só será
# liberada para o jogador se ele já tiver terminado o
# jogo pelo menos uma vez.
#---------------------------------------------------------
# Instruções: Coloque-o acima do main e abaixo de todos
# os outros scripts, e por fim, personalize-o da maneira
# desejada no módulo de configurações abaixo.
#=========================================================

#==========================================================
# * Change_Log
#----------------------------------------------------------
#
#  Versão 1.1
#
#    - Modificação em GOLD e EXP adicionados
#    - Correção nos tipos de dados
#
#  Versão 1.2
#
#    - Adicionado um cabeçalho
#    - Correção no número de arquivos zerados
#
#==========================================================

module JohnBolton
  module Difficulty_System
   
    #=============================================================#
    #    **                 Configurações                  **     #
    #=============================================================#
   
# Opções que aparecerão na janela de seleção de dificuldade :
Options = [ 'Fácil', 'Normal', 'Difícil', 'Insano' ]

# Atributos dos monstros multiplicados respectivamente por :
JB_Some = [    0.5   ,    1   ,     2   ,    3    ] 

# Switch que dirá se o jogo já foi zerado ou não :
JB_SWITCH = 2

#Texto que aparecerá no cabeçalho :
Text = "              Selecione a dificuldade"

    #=============================================================#
    #     ----------     Fim das Configurações  -----------       #
    #=============================================================#

  end
end



#==============================================================================
# ** Window_DifficultyCommand
#------------------------------------------------------------------------------
#  Esta janela para seleção das opções Novo Jogo/Continuar na tela de título.
#==============================================================================

class Window_DifficultyCommand < Window_Command
  include JohnBolton::Difficulty_System
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize
    @insane = false
    for i in 1..DataManager.savefile_max
      filename = i <= 9 ? "Save0#{i}.rvdata2" : "Save#{i}.rvdata2"
      filename = '#01010AE.bull' if @insane
      if File.file?(filename)
        file = File.open(filename, "rb")
        Marshal.load(file)
        extract_save_contents(Marshal.load(file))
        @insane = $game_switches[JB_SWITCH]
      end
    end
    super(0, 0)
    update_placement
    self.openness = 0
    self.active, self.visible = false, false
    open
  end
  #--------------------------------------------------------------------------
  # * Atualização da posição da janela
  #--------------------------------------------------------------------------
  def update_placement
    self.x = (Graphics.width - width) / 2
    self.y = (Graphics.height * 1.6 - height) / 2
  end
  #--------------------------------------------------------------------------
  # * Criação da lista de comandos
  #--------------------------------------------------------------------------
  def make_command_list
    add_command(Options[0], :easy)
    add_command(Options[1], :normal)
    add_command(Options[2], :hard)
    add_command(Options[3], :insane, @insane)
  end
  #--------------------------------------------------------------------------
  # * Extrair conteúdo salvo
  #--------------------------------------------------------------------------
  def extract_save_contents(contents)
    $game_system        = contents[:system]
    $game_switches      = contents[:switches]
  end
end


#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  Esta classe executa o processamento da tela de título.
#==============================================================================

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  alias johnBolton_Difficulty_start start
  def start
    johnBolton_Difficulty_start
    create_command_difficulty
    create_window_help
    close_difficulty_command
  end
  #--------------------------------------------------------------------------
  # * Atualização da tela
  #--------------------------------------------------------------------------
  alias johnBolton_Difficulty_update update
  def update
    johnBolton_Difficulty_update
    if Input.trigger?(:B) && !@difficulty_window.close?
      Sound.play_cancel
      close_difficulty_command
      @command_window.open
      @command_window.active, @command_window.visible = true, true
    end
  end
 
  def create_window_help
    @window_help = Window_Help.new(1)
    @window_help.set_text(JohnBolton::Difficulty_System::Text)
    @window_help.visible = false
    @window_help.opacity = 150
  end
  #--------------------------------------------------------------------------
  # * Comando [Novo Jogo]
  #--------------------------------------------------------------------------
  def command_new_game
    open_difficulty_command
  end
  #--------------------------------------------------------------------------
  # * Abre a janela de Dificuldade
  #--------------------------------------------------------------------------
  def open_difficulty_command
    @difficulty_window.visible, @difficulty_window.active = true, true
    @difficulty_window.open
    @window_help.visible = true
    @window_help.open
    close_command_window
  end
  #--------------------------------------------------------------------------
  # * Fechamento da janela de Dificuldade
  #--------------------------------------------------------------------------
  def close_difficulty_command
    @difficulty_window.close
    @window_help.close
    update until @difficulty_window.close?
  end
  #--------------------------------------------------------------------------
  # * Criação da janela de Dificuldade
  #--------------------------------------------------------------------------
  def create_command_difficulty
    @difficulty_window = Window_DifficultyCommand.new
    @difficulty_window.set_handler(:easy, method(:command_easy))
    @difficulty_window.set_handler(:normal, method(:command_normal))
    @difficulty_window.set_handler(:hard, method(:command_hard))
    @difficulty_window.set_handler(:insane, method(:command_insane))
  end
  #--------------------------------------------------------------------------
  # * Comando [Fácil]
  #--------------------------------------------------------------------------
  def command_easy
    new_game
    $game_system.vitamin_r(JohnBolton::Difficulty_System::JB_Some[0])
  end
  #--------------------------------------------------------------------------
  # * Comando [Normal]
  #--------------------------------------------------------------------------
  def command_normal
    new_game
    $game_system.vitamin_r(JohnBolton::Difficulty_System::JB_Some[1])
  end
  #--------------------------------------------------------------------------
  # * Comando [Díficil]
  #--------------------------------------------------------------------------
  def command_hard
    new_game
    $game_system.vitamin_r(JohnBolton::Difficulty_System::JB_Some[2])
  end
  #--------------------------------------------------------------------------
  # * Comando [Insano]
  #--------------------------------------------------------------------------
  def command_insane
    new_game
    $game_system.vitamin_r(JohnBolton::Difficulty_System::JB_Some[3])
  end
  #--------------------------------------------------------------------------
  # * Inicia um novo jogo
  #--------------------------------------------------------------------------
  def new_game
    DataManager.setup_new_game
    close_command_window
    @difficulty_window.close
    fadeout_all
    $game_map.autoplay
    SceneManager.goto(Scene_Map)
  end
end

#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#  Esta classe gerencia os dados relacionados ao sistema. Também gerencia
# veículos, BGM, etc.
# A instância desta classe é referenciada por $game_system.
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # * Variável pública
  #--------------------------------------------------------------------------
  attr_accessor :difficulty
  #--------------------------------------------------------------------------
  # * Definição do nível de dificuldade
  #--------------------------------------------------------------------------
  def vitamin_r(chevelle)
    @difficulty = chevelle
  end
end


#==============================================================================
# ** Game_Enemy
#------------------------------------------------------------------------------
#  Esta classe gerencia os inimigos. Ela é utilizada internamente pela
# classe Game_Troop ($game_troop).
#==============================================================================

class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # * [Alias] Aquisição do valor base do parâmetro
  #--------------------------------------------------------------------------
  alias jb_difsys_param_base param_base
  def param_base(*args)
    (jb_difsys_param_base(*args) * $game_system.difficulty).to_i
  end
  #--------------------------------------------------------------------------
  # * [Alias] Aquisição de experiência
  #--------------------------------------------------------------------------
  alias jb_difsys_exp exp
  def exp
    (jb_difsys_exp * $game_system.difficulty).to_i
  end
  #--------------------------------------------------------------------------
  # * [Alias] Aquisição de dinheiro
  #--------------------------------------------------------------------------
  alias jb_difsys_gold gold
  def gold
    (jb_difsys_gold * $game_system.difficulty).to_i
  end
end

[Anexo excluído pelo administrador]
Sera que mesmo eu ficando mais de um milenio aqui ainda vou
continuar a ser nob? sera???

 Olá, para compartilhar scripts na comunidade use
que fica muito mais organizado e fácil para quem ver conseguir copiar o código !
Até mais

Que desarrumado, como funciona o script? Quem é o autor do jogo? O autor permite a divulgação do seu script?
♦Gifts♦