InícioPortalFAQBuscarMembrosGruposRegistrar-seLogin
Entrem no novo Forum MGB http://planetmaker.forumeiros.com/

Compartilhe | 
 

 Console Script

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Brekamp
Experiente [***]


Mensagens Mensagens : 60
Cash Makers Cash Makers : 89

MensagemAssunto: Console Script   Qua Set 30, 2009 8:57 pm

Esse script faz a mesma coisa que o comando de eventos "chamar script", mas você pode chamar um script a qualquer momento no mapa pressionando ~

Créditos a Dargor



Código:
#==============================================================================
# ** Console script
#==============================================================================
# Dargor
# Version 3.1.1
# 20.01.07
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log script
#------------------------------------------------------------------------------
SDK.log("Console script", "Dargor", 3, "20.01.07")

#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.state("Console script") == true
  # Console module
  module CONSOLE
    def self.update(log)
      $game_temp.console_log.push("~"+$log)
      $game_temp.txt_console_log.push("~"+$log)
      $game_temp.console_refresh = true
      self.eval_commands($log)
    end
    def self.eval_commands(command)
      case command
      when "god"
        # code
        add("God mode on")
      else
        value = eval(command) rescue add("Unknown command #{command}");
        add("#{command} is #{value}") if value != [] and value != nil
      end
    end
    def self.add(text)
      if $game_temp == nil
        $game_temp = Game_Temp.new
      end
      $game_temp.console_log.push(text)
      $game_temp.txt_console_log.push(text)
      $game_temp.console_refresh = true
      if $game_temp.txt_logging == false
        $game_temp.txt_console_log.clear
      end
    end
  end
  #=============================================================================
  # ** Input                                                Created by: Cybersam
  #-----------------------------------------------------------------------------
  #  Adds full keyboard support to module Input.
  #=============================================================================
  module Input
    #--------------------------------------------------------------------------
    # * Returns true when a key is pressed.
    #--------------------------------------------------------------------------
    def Input.getkey(key)
      Win32API.new("user32", "GetAsyncKeyState", "i", "i").call(key) & 0x01 == 1
    end
    #--------------------------------------------------------------------------
    # * Returns a key's state.
    #--------------------------------------------------------------------------
    def Input.getstate(key)
      return (not Win32API.new("user32", "GetKeyState", "i", "i").call(key).between?(0, 1))
    end
  end
  #==============================================================================
  # ** Game_Temp
  #------------------------------------------------------------------------------
  #  This class handles temporary data that is not included with save data.
  #  Refer to "$game_temp" for the instance of this class.
  #==============================================================================
  class Game_Temp
    #--------------------------------------------------------------------------
    # * Public Instance Variables
    #--------------------------------------------------------------------------
    attr_accessor :console_refresh
    attr_accessor :console_log
    attr_accessor :txt_console_log
    attr_accessor :txt_logging
    #--------------------------------------------------------------------------
    # * Object Initialization
    #--------------------------------------------------------------------------
    alias console_initialize initialize
    def initialize
      console_initialize
      @console_refresh = false
      @console_log = []
      @txt_console_log = []
      @txt_logging = false
    end
  end
  #=============================================================================
  # ** Window_Console
  #-----------------------------------------------------------------------------
  #  Displays console messages.
  #=============================================================================
  class Window_Console < Window_Base
    #--------------------------------------------------------------------------
    # * Initializes console window.
    #--------------------------------------------------------------------------
    def initialize
      super(0, 0, 640, 432)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.contents.font.size = 16
      self.back_opacity = 160
      refresh
    end
    #--------------------------------------------------------------------------
    # * Refreshes console window.
    #--------------------------------------------------------------------------
    def refresh
      $game_temp.console_log.delete_at(0) while $game_temp.console_log.size > 25
      self.contents.clear
      for i in 0..$game_temp.console_log.size - 1
        self.contents.draw_text(0, i * 16 - 8, 640, 32, $game_temp.console_log[i])
      end
      CONSOLE.update_txt_logging if $game_temp.txt_logging
      $game_temp.console_refresh = false
    end
    #--------------------------------------------------------------------------
    # * Updates console window.
    #--------------------------------------------------------------------------
    def update
      refresh if $game_temp.console_refresh
      super
    end
  end
  #=============================================================================
  # ** Window_ConsoleInput                      Originally created by: Cybersam
  #-----------------------------------------------------------------------------
  #  Based on the Full-Keyboard Input script created by Cybersam.
  #=============================================================================
  class Window_ConsoleInput < Window_Base
    #--------------------------------------------------------------------------
    # * Initializes console input window.
    #--------------------------------------------------------------------------
    def initialize
      super(0, 432, 640, 48)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.contents.font.size = 16
      self.back_opacity = 160
      @text = []
      refresh
    end
    #--------------------------------------------------------------------------
    # * Refreshes console input window.
    #--------------------------------------------------------------------------
    def refresh
      $log = @text.to_s
      self.contents.clear
      cx = contents.text_size("~" + @text.to_s + "_").width
      if cx >= 600
        x = 640-cx - 40
      else
        x = 0
      end
      self.contents.draw_text(x+8, -16, 10000, 48, "~" + @text.to_s + "_")
      rect = Rect.new(0,-16,16,48)
      self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
      self.contents.draw_text(0, -16, 32, 48, "~")
    end
    #--------------------------------------------------------------------------
    # * Refreshes console input window.
    #--------------------------------------------------------------------------
    def add(char)
      @text.push(char.to_s)
      refresh
    end
    #--------------------------------------------------------------------------
    # * Refreshes console input window.
    #--------------------------------------------------------------------------
    def clear
      @text = []
      refresh
    end
    #--------------------------------------------------------------------------
    # * Updates input console window.
    #--------------------------------------------------------------------------
    def update
      # Sends console message.
      if Input.getkey(13)
        if @text.size == 0
          $game_system.se_play($data_system.buzzer_se)
        else
          @text.clear
          refresh
        end
      end
      # Removes last entry in test.
      if Input.getkey(8)
        if @text.size == 0
          $game_system.se_play($data_system.buzzer_se)
        else
          @text.delete_at(-1)
          refresh
        end
      end
      # Adds a pressed key.
      if Input.getstate(16)
        add("A") if Input.getkey(65)
        add("B") if Input.getkey(66)
        add("C") if Input.getkey(67)
        add("D") if Input.getkey(68)
        add("E") if Input.getkey(69)
        add("F") if Input.getkey(70)
        add("G") if Input.getkey(71)
        add("H") if Input.getkey(72)
        add("7I") if Input.getkey(73)
        add("J") if Input.getkey(74)
        add("K") if Input.getkey(75)
        add("L") if Input.getkey(76)
        add("M") if Input.getkey(77)
        add("N") if Input.getkey(78)
        add("O") if Input.getkey(79)
        add("P") if Input.getkey(80)
        add("Q") if Input.getkey(81)
        add("R") if Input.getkey(82)
        add("S") if Input.getkey(83)
        add("T") if Input.getkey(84)
        add("U") if Input.getkey(85)
        add("V") if Input.getkey(86)
        add("W") if Input.getkey(87)
        add("X") if Input.getkey(88)
        add("Y") if Input.getkey(89)
        add("Z") if Input.getkey(90)
        add(")") if Input.getkey(48)
        add("!") if Input.getkey(49)
        add("@") if Input.getkey(50)
        add("#") if Input.getkey(51)
        add("$") if Input.getkey(52)
        add("%") if Input.getkey(53)
        add("^") if Input.getkey(54)
        add("&") if Input.getkey(55)
        add("*") if Input.getkey(56)
        add("(") if Input.getkey(57)
        add(":") if Input.getkey(186)
        add("+") if Input.getkey(187)
        add("<") if Input.getkey(188)
        add("_") if Input.getkey(189)
        add(">") if Input.getkey(190)
        add("?") if Input.getkey(191)
        add("{") if Input.getkey(219)
        add("|") if Input.getkey(220)
        add("}") if Input.getkey(221)
        add("\"") if Input.getkey(222)
      else
        add("a") if Input.getkey(65)
        add("b") if Input.getkey(66)
        add("c") if Input.getkey(67)
        add("d") if Input.getkey(68)
        add("e") if Input.getkey(69)
        add("f") if Input.getkey(70)
        add("g") if Input.getkey(71)
        add("h") if Input.getkey(72)
        add("i") if Input.getkey(73)
        add("j") if Input.getkey(74)
        add("k") if Input.getkey(75)
        add("l") if Input.getkey(76)
        add("m") if Input.getkey(77)
        add("n") if Input.getkey(78)
        add("o") if Input.getkey(79)
        add("p") if Input.getkey(80)
        add("q") if Input.getkey(81)
        add("r") if Input.getkey(82)
        add("s") if Input.getkey(83)
        add("t") if Input.getkey(84)
        add("u") if Input.getkey(85)
        add("v") if Input.getkey(86)
        add("w") if Input.getkey(87)
        add("x") if Input.getkey(88)
        add("y") if Input.getkey(89)
        add("z") if Input.getkey(90)
        add("0") if Input.getkey(48)
        add("1") if Input.getkey(49)
        add("2") if Input.getkey(50)
        add("3") if Input.getkey(51)
        add("4") if Input.getkey(52)
        add("5") if Input.getkey(53)
        add("6") if Input.getkey(54)
        add("7") if Input.getkey(55)
        add("8") if Input.getkey(56)
        add("9") if Input.getkey(57)
        add(";") if Input.getkey(186)
        add("=) if Input.getkey(187)     
        add(",") if Input.getkey(188)
        add("-") if Input.getkey(189)     
        add(".") if Input.getkey(190)
        add("/") if Input.getkey(191)
        add("[") if Input.getkey(219)
        add("\\") if Input.getkey(220)
        add(]") if Input.getkey(221)     
        add("'") if Input.getkey(222)
      end
      add(" ") if Input.getkey(32)
      add("*") if Input.getkey(106)   
      add("+") if Input.getkey(107)
      add("-") if Input.getkey(109)
      add("/") if Input.getkey(111)
    end
  end
  #=============================================================================
  # ** Scene_Console
  #-----------------------------------------------------------------------------
  #  Creates the console.
  #=============================================================================
  class Scene_Console
    def main
      @spriteset = Spriteset_Map.new
      @console_window = Window_Console.new
      @input_window = Window_ConsoleInput.new
      Graphics.transition
      loop do
        Graphics.update
        update
        if $scene != self
          break
        end
      end
      Graphics.freeze
      @spriteset.dispose
      @console_window.dispose
      @input_window.dispose
    end
    def update
      $game_map.update
      $game_system.map_interpreter.update
      $game_system.update
      $game_screen.update
      @spriteset.update
      if Input.getkey(13)
        CONSOLE.update($log)
        @input_window.clear
      end
      @console_window.update
      @input_window.update
      if Input.getkey(27)
        $scene = Scene_Map.new
      end
    end
  end
  class Scene_Map
  alias console_update update
  def update
    console_update
    if Input.getkey(222)
      if $DEBUG
        $scene = Scene_Console.new
      end
    end
  end
end
#------------------------------------------------------------------------------
# * End SDK Enable Test
#------------------------------------------------------------------------------
end
Voltar ao Topo Ir em baixo
Ver perfil do usuário
 
Console Script
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» E3 2011 - Novo console da Nintendo: Wii U
» Qual o script que uso para girar o sprite para o lado que eu quero?
» [Script][GML]Array 3D
» Drops - Editor de script
» [Script]Carregar arquivos em 3D

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
 :: Scripts para RPG Maker :: Scripts para RMXP: RGSS-
Ir para: