RPG maker VX


Unirse al foro, es rápido y fácil

RPG maker VX
RPG maker VX
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Últimos temas
» Script de menu
por maxi Jue 04 Dic 2014, 1:44 pm

» Ayuda intro animado!!!
por maxi Miér 03 Dic 2014, 9:41 pm

» ayuda con este engin
por maxi Miér 03 Dic 2014, 8:42 am

» Hud de Vida 100% Personalizable - Engine Sencillo! Sin Scripts :)
por davidaikago Jue 20 Nov 2014, 10:58 am

» Ultimate parallax control by:GDS [ace]
por arellano Miér 08 Oct 2014, 8:28 pm

» Script Touhou (animated) Map name (v1.4)
por davidaikago Miér 08 Oct 2014, 2:09 pm

» tutorial puerta nueva
por davidaikago Miér 08 Oct 2014, 9:08 am

» cámara de fotos
por davidaikago Miér 08 Oct 2014, 9:05 am

» Imperial Action System II Demo
por davidaikago Miér 08 Oct 2014, 8:47 am

» VE Batalla animada [ACE]
por FhierusIV Jue 18 Sep 2014, 10:57 am

» Nuevo Reglamento del Foro [Vigente desde Septiembre 2014]
por maxi Miér 17 Sep 2014, 8:37 am

» MOG|Animated Title
por Souta21 Mar 09 Sep 2014, 7:24 pm

» Tutorial Engine - Cambiar Character al Equipar Objeto
por maxi Lun 21 Jul 2014, 10:19 am

» Script de climas
por gambasoxd Sáb 19 Jul 2014, 8:58 am

» Script de contraseña(codigo) para abrir un cofre
por rpgame Jue 03 Jul 2014, 6:03 pm

¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

[ Ver toda la lista ]


El record de usuarios en línea fue de 117 durante el Mar 09 Ago 2011, 3:39 pm

Script de Pausa

+4
Juancituh
ClubIce
AdorianSAK
maxi
8 participantes

Ir abajo

Script de Pausa Empty Script de Pausa

Mensaje por maxi Sáb 30 Oct 2010, 1:46 pm

Introducción: Lo que hace es Justamente darle un Menu de "Pausa", Para que sus Juegos sean más reales...

Versión: 1.0

Modo de Uso: Detallado en el Script

Imagenes Necesarias::

[Tienes que estar registrado y conectado para ver esa imagen]

El Script:

Código:
#==============================================================================
# Script de Pausa: Por Maxinm.
#
# Modo De Uso:
#
#  Insertar Sobre el Main
#  Para llamarlo apretar la Tecla "F5" (Se puede Cambiar)

# Reemplaza a:
#
# Scene_Map.
#
#
# Requerimientos:
#
# Una Imagen Que debe estar en System (Llamada: pausa)
#==============================================================================

class Scene_Pausa < Scene_Base
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  def start
    super
    Graphics.transition(20)
    Graphics.freeze
    create_pausa_graphic
  end
  #--------------------------------------------------------------------------
  # ● 終了処理
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_pausa_graphic
    $scene = nil if $BTEST
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    super
    if Input.trigger?(Input::C)
      $scene = Scene_Map.new
      Graphics.fadeout(20)
    end
  end
  #--------------------------------------------------------------------------
  # ● トランジション実行
  #--------------------------------------------------------------------------
  def perform_transition
    Graphics.transition(115)
  end
  #--------------------------------------------------------------------------
  # ● ゲームオーバーグラフィックの作成
  #--------------------------------------------------------------------------
  def create_pausa_graphic
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system("pausa") #-- Nombre de la Imagen (En Carp. System)
  end
  #--------------------------------------------------------------------------
  # ● ゲームオーバーグラフィックの解放
  #--------------------------------------------------------------------------
  def dispose_pausa_graphic
    @sprite.bitmap.dispose
    @sprite.dispose
  end
end
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  マップ画面の処理を行うクラスです。
#==============================================================================

class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  def start
    super
    $game_map.refresh
    @spriteset = Spriteset_Map.new
    @message_window = Window_Message.new
  end
  #--------------------------------------------------------------------------
  # ● トランジション実行
  #--------------------------------------------------------------------------
  def perform_transition
    if Graphics.brightness == 0      # 戦闘後、ロード直後など
      fadein(30)
    else                              # メニューからの復帰など
      Graphics.transition(15)
    end
  end
  #--------------------------------------------------------------------------
  # ● 終了処理
  #--------------------------------------------------------------------------
  def terminate
    super
    if $scene.is_a?(Scene_Battle)    # バトル画面に切り替え中の場合
      @spriteset.dispose_characters  # 背景作成のためにキャラを隠す
    end
    snapshot_for_background
    @spriteset.dispose
    @message_window.dispose
    if $scene.is_a?(Scene_Battle)    # バトル画面に切り替え中の場合
      perform_battle_transition      # 戦闘前トランジション実行
    end
  end
  #--------------------------------------------------------------------------
  # ● 基本更新処理
  #--------------------------------------------------------------------------
  def update_basic
    Graphics.update                  # ゲーム画面を更新
    Input.update                      # 入力情報を更新
    $game_map.update                  # マップを更新
    @spriteset.update                # スプライトセットを更新
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    super
    $game_map.interpreter.update      # インタプリタを更新
    $game_map.update                  # マップを更新
    $game_player.update              # プレイヤーを更新
    $game_system.update              # タイマーを更新
    @spriteset.update                # スプライトセットを更新
    @message_window.update            # メッセージウィンドウを更新
    unless $game_message.visible      # メッセージ表示中以外
      update_transfer_player
      update_encounter
      update_call_menu
      update_call_pausa
      update_call_debug
      update_scene_change
    end
  end
  #--------------------------------------------------------------------------
  # ● 画面のフェードイン
  #    duration : 時間
  #    マップ画面では、Graphics.fadeout を直接使うと天候エフェクトや遠景のス
  #  クロールなどが止まるなどの不都合があるため、動的にフェードインを行う。
  #--------------------------------------------------------------------------
  def fadein(duration)
    Graphics.transition(0)
    for i in 0..duration-1
      Graphics.brightness = 255 * i / duration
      update_basic
    end
    Graphics.brightness = 255
  end
  #--------------------------------------------------------------------------
  # ● 画面のフェードアウト
  #    duration : 時間
  #    上記のフェードインと同じく、Graphics.fadein は直接使わない。
  #--------------------------------------------------------------------------
  def fadeout(duration)
    Graphics.transition(0)
    for i in 0..duration-1
      Graphics.brightness = 255 - 255 * i / duration
      update_basic
    end
    Graphics.brightness = 0
  end
  #--------------------------------------------------------------------------
  # ● 場所移動の処理
  #--------------------------------------------------------------------------
  def update_transfer_player
    return unless $game_player.transfer?
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    @spriteset.dispose              # スプライトセットを解放
    $game_player.perform_transfer  # 場所移動の実行
    $game_map.autoplay              # BGM と BGS の自動切り替え
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new  # スプライトセットを再作成
    fadein(30) if fade
    Input.update
  end
  #--------------------------------------------------------------------------
  # ● エンカウントの処理
  #--------------------------------------------------------------------------
  def update_encounter
    return if $game_player.encounter_count > 0        # 遭遇歩数未満?
    return if $game_map.interpreter.running?          # イベント実行中?
    return if $game_system.encounter_disabled        # エンカウント禁止中?
    troop_id = $game_player.make_encounter_troop_id  # 敵グループを決定
    return if $data_troops[troop_id] == nil          # 敵グループが無効?
    $game_troop.setup(troop_id)
    $game_troop.can_escape = true
    $game_temp.battle_proc = nil
    $game_temp.next_scene = "battle"
    preemptive_or_surprise
  end
  #--------------------------------------------------------------------------
  # ● 先制攻撃と不意打ちの確率判定
  #--------------------------------------------------------------------------
  def preemptive_or_surprise
    actors_agi = $game_party.average_agi
    enemies_agi = $game_troop.average_agi
    if actors_agi >= enemies_agi
      percent_preemptive = 5
      percent_surprise = 3
    else
      percent_preemptive = 3
      percent_surprise = 5
    end
    if rand(100) < percent_preemptive
      $game_troop.preemptive = true
    elsif rand(100) < percent_surprise
      $game_troop.surprise = true
    end
  end
  #--------------------------------------------------------------------------
  # ● キャンセルボタンによるメニュー呼び出し判定
  #--------------------------------------------------------------------------
  def update_call_menu
    if Input.trigger?(Input::B)
      return if $game_map.interpreter.running?        # イベント実行中?
      return if $game_system.menu_disabled            # メニュー禁止中?
      $game_temp.menu_beep = true                    # SE 演奏フラグ設定
      $game_temp.next_scene = "menu"
    end
  end
 
  def update_call_pausa
    if Input.press?(Input::F5)  # ------------------------------ Tecla de Llamada del Script (No cambiar Si no se sabe como hacerlo)
      $game_temp.menu_beep = true                    # SE 演奏フラグ設定
      $game_temp.next_scene = "pausa"
    end
  end
  #--------------------------------------------------------------------------
  # ● F9 キーによるデバッグ呼び出し判定
  #--------------------------------------------------------------------------
  def update_call_debug
    if $TEST and Input.press?(Input::F9)    # テストプレイ中 F9 キー
      $game_temp.next_scene = "debug"
    end
  end
  #--------------------------------------------------------------------------
  # ● 画面切り替えの実行
  #--------------------------------------------------------------------------
  def update_scene_change
    return if $game_player.moving?    # プレイヤーの移動中?
    case $game_temp.next_scene
    when "battle"
      call_battle
    when "shop"
      call_shop
    when "name"
      call_name
    when "menu"
      call_menu
    when "save"
      call_save
    when "debug"
      call_debug
    when "gameover"
      call_gameover
    when "title"
      call_title
    when "pausa"
      call_pausa
    else
      $game_temp.next_scene = nil
    end
  end
  #--------------------------------------------------------------------------
  # ● バトル画面への切り替え
  #--------------------------------------------------------------------------
  def call_battle
    @spriteset.update
    Graphics.update
    $game_player.make_encounter_count
    $game_player.straighten
    $game_temp.map_bgm = RPG::BGM.last
    $game_temp.map_bgs = RPG::BGS.last
    RPG::BGM.stop
    RPG::BGS.stop
    Sound.play_battle_start
    $game_system.battle_bgm.play
    $game_temp.next_scene = nil
    $scene = Scene_Battle.new
  end
  #--------------------------------------------------------------------------
  # ● ショップ画面への切り替え
  #--------------------------------------------------------------------------
  def call_shop
    $game_temp.next_scene = nil
    $scene = Scene_Shop.new
  end
  #--------------------------------------------------------------------------
  # ● 名前入力画面への切り替え
  #--------------------------------------------------------------------------
  def call_name
    $game_temp.next_scene = nil
    $scene = Scene_Name.new
  end
  #--------------------------------------------------------------------------
  # ● メニュー画面への切り替え
  #--------------------------------------------------------------------------
  def call_menu
    if $game_temp.menu_beep
      Sound.play_decision
      $game_temp.menu_beep = false
    end
    $game_temp.next_scene = nil
    $scene = Scene_Menu.new
  end
 
  def call_pausa
    if $game_temp.menu_beep
      Sound.play_decision
      $game_temp.menu_beep = false
    end
    $game_temp.next_scene = nil
    $scene = Scene_Pausa.new
  end
  #--------------------------------------------------------------------------
  # ● セーブ画面への切り替え
  #--------------------------------------------------------------------------
  def call_save
    $game_temp.next_scene = nil
    $scene = Scene_File.new(true, false, true)
  end
  #--------------------------------------------------------------------------
  # ● デバッグ画面への切り替え
  #--------------------------------------------------------------------------
  def call_debug
    Sound.play_decision
    $game_temp.next_scene = nil
    $scene = Scene_Debug.new
  end
  #--------------------------------------------------------------------------
  # ● ゲームオーバー画面への切り替え
  #--------------------------------------------------------------------------
  def call_gameover
    $game_temp.next_scene = nil
    $scene = Scene_Gameover.new
  end
  #--------------------------------------------------------------------------
  # ● タイトル画面への切り替え
  #--------------------------------------------------------------------------
  def call_title
    $game_temp.next_scene = nil
    $scene = Scene_Title.new
    fadeout(60)
  end
 

  #--------------------------------------------------------------------------
  # ● 戦闘前トランジション実行
  #--------------------------------------------------------------------------
  def perform_battle_transition
    Graphics.transition(80, "Graphics/System/BattleStart", 80)
    Graphics.freeze
  end
end
maxi
maxi
Moderador
Moderador

Masculino

Edad 28

Cantidad de envíos 908

Maker Cash 1673

Reputación 156


Extras
Sobre mí:: ¿Necesitas Una Mano en el Maker VX o VX ACE? ¡Ponte en Contacto Conmigo! :)

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por AdorianSAK Sáb 30 Oct 2010, 4:31 pm

he estado modificando y buscando, pero no logro hacer que la imagen salga con menor opacidad, sabes como logarlo?
AdorianSAK
AdorianSAK
220
220

Masculino

Edad 33

Cantidad de envíos 283

Maker Cash 206

Reputación 18


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por maxi Sáb 30 Oct 2010, 5:58 pm

MMM... Lo que se puede hacer es hacer una Nueva Imagen A tu gusto, es facil, solo abre el paint y arreglala como te Guste XD.
maxi
maxi
Moderador
Moderador

Masculino

Edad 28

Cantidad de envíos 908

Maker Cash 1673

Reputación 156


Extras
Sobre mí:: ¿Necesitas Una Mano en el Maker VX o VX ACE? ¡Ponte en Contacto Conmigo! :)

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por AdorianSAK Dom 31 Oct 2010, 2:29 pm

Claro que hice una nueva imagen, quien crees que soy? XD la hice con photoshop guardandola en formato png, posee un fondo con una opacidad del 50% pero que no aplica en el juego, se vé solo gris (queriendo mostrar un negro trasnparentado)
AdorianSAK
AdorianSAK
220
220

Masculino

Edad 33

Cantidad de envíos 283

Maker Cash 206

Reputación 18


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por ClubIce Dom 31 Oct 2010, 8:26 pm

para que no se vea "gris", añade la siguiente linea detro del primer start

Código:
create_menu_background

la ubicacion dentro del start tiene que ser debajo del super
ClubIce
ClubIce
220
220

Masculino

Edad 27

Cantidad de envíos 253

Maker Cash 361

Reputación 38


Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por AdorianSAK Dom 31 Oct 2010, 10:56 pm

Oh!!! no se por que no se me ocurrió!!!!
gracias dude . . . +1
AdorianSAK
AdorianSAK
220
220

Masculino

Edad 33

Cantidad de envíos 283

Maker Cash 206

Reputación 18


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por Juancituh Lun 01 Nov 2010, 2:48 pm

Hmm, una cosa Maxim, si el script es "tuyo" porque salen letras en japonés?. La verdad es que empiezo a dudar u_u. Gracias por aportar.

Saludos.
Juancituh
Juancituh
BANEADO
BANEADO

Masculino

Edad 29

Cantidad de envíos 1016

Maker Cash 1361

Reputación 104


Extras
Sobre mí:: Soy Juan o.o

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por Clound Lun 01 Nov 2010, 5:38 pm

Oigan, ¿no hay alguna manera de que el script solo ponga como que una ventanita pequeña que diga "Pausa", en el centro de la pantalla del juego?
Esque la verdad si estaria padre mejor asi como ami me gustaria, me serviria mucho ^^.
Clound
Clound
500
500

Masculino

Edad 27

Cantidad de envíos 512

Maker Cash 480

Reputación 39


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por AdorianSAK Lun 01 Nov 2010, 6:55 pm

Si clound, hay una muy censilla forma de hacerlo, abre paint y crea una imagen de 544 x 416. puedes hacerlo manualmente enmedio el cuadro que requieres, y lo demás le das color verde fosforiloco, al gestionarlo desde el maker, elijes el tono verde locochon como transparente y asegurate de añadir lo que el mismo ice menciona en este mismo tema.
AdorianSAK
AdorianSAK
220
220

Masculino

Edad 33

Cantidad de envíos 283

Maker Cash 206

Reputación 18


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por Clound Lun 01 Nov 2010, 7:54 pm

ok muchas gracias AdorianSAK lo intentare ^^ +1
Clound
Clound
500
500

Masculino

Edad 27

Cantidad de envíos 512

Maker Cash 480

Reputación 39


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por maxi Sáb 06 Nov 2010, 12:46 pm

Lo de las letras japonesas pasa por que el Script lo hice enWindows Xp, y lo subi en una PC con Windows 7, y Windows 7 modifica ciertas cosas que el Xp no.
Así que no se preocupen es Mio Full
maxi
maxi
Moderador
Moderador

Masculino

Edad 28

Cantidad de envíos 908

Maker Cash 1673

Reputación 156


Extras
Sobre mí:: ¿Necesitas Una Mano en el Maker VX o VX ACE? ¡Ponte en Contacto Conmigo! :)

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por TigreX Dom 07 Nov 2010, 8:40 pm

tengo esta imagen para la pausa :D

[Tienes que estar registrado y conectado para ver esa imagen]

como ago para cambiar la tecla? porque quiero para poner y sacar pausa la "P"
TigreX
TigreX
500
500

Masculino

Edad 26

Cantidad de envíos 1214

Maker Cash 1679

Reputación 105


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por AdorianSAK Lun 08 Nov 2010, 2:33 am

Tmb pensé lo mismo tigre, pero el input creo que solo está con las teclas que se usan para jugar y los F's (Funsiones), creo que si añades más inputs desde el script correspondiente . . .

Por cierto, tiene incompatibilidad con el de componer items, es como si lo mantubiera Off
AdorianSAK
AdorianSAK
220
220

Masculino

Edad 33

Cantidad de envíos 283

Maker Cash 206

Reputación 18


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por maxi Lun 08 Nov 2010, 4:22 pm

MMM... Obiamente, Todos los Scripts que tienen alguna tecla de llamado especial se usan con los controles del VX, (Los que se configuran Apretando F1, al ejecutar el proyecto), Me parece que la "P" no esta configurada, ni se puede configurar, ya que el RPGVX, no lo tiene en la lista, seguramente se podra hacer algun Script que logre habilitar todas las letras del Teclado, Obiamente que yo no voy a poder, ya que no me especializo en eso, pero algun Scripter quiza pueda, bue y lo de la Incompatibildad... Ni idea, ni me fije, XD, ya que lo probe con los Scripts Más comunes. Bue Espero que se Arregle ¿No?, Suerte Chicos, :)
maxi
maxi
Moderador
Moderador

Masculino

Edad 28

Cantidad de envíos 908

Maker Cash 1673

Reputación 156


Extras
Sobre mí:: ¿Necesitas Una Mano en el Maker VX o VX ACE? ¡Ponte en Contacto Conmigo! :)

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por sebas1475 Dom 21 Nov 2010, 6:26 pm

Pues yo creo que tal vez se pueda con este script: (es la primera parte del script de advance controls systems que esta en scripts antiguos)
Código:
#===============================================================================
#                        ☆ Keyboard Module v1.0 ☆
#===============================================================================
#                            ☆ Scripter Tool ☆
#-------------------------------------------------------------------------------
# * Versión                : 1.0
# * Ultima Actualización    : 27/09/2010
# * Autor                  : ClubIce
# * Contacto                : [Tienes que estar registrado y conectado para ver este vínculo]
# * Licencia                : Para proyectos comerciales y no comerciales,
#                            sin olvidar dar créditos a mí, ClubIce
#
#  ☆ Script hecho para la comunidad de http://rpgmakervx.forosactivos.net ☆
#
#-------------------------------------------------------------------------------
# ● DESCRIPTCIÓN:
#
#  Este modulo permite el uso ilimitado del teclado.
#
#-------------------------------------------------------------------------------
# ● INFORMACIÓN TECNICA:
#
#  ☆ Cantidad de teclas soportadas:
#    106 teclas, ten en cuenta que el modulo lee cualquier tecla, siempre y
#    cuando se dé el código de la tecla correctamente.
#
#  ☆ Teclas soportadas:
#    - Letras : A-Z
#    - Números: 0-9
#    - Numpad : 0-9, +, -, *, /, Coma decimal
#    - Teclas de función: F1-F12
#    - Teclas nativas de Windows: Win. Buttons y Apps Button
#    - Teclas desplazamiento, y desplazamiento de pagina
#    - Botones del Mouse.
#    - CTRL, SHIF, ALT, ENTER, ESCAPE, TAB
#    - Print Screen, Pause/Break
#    - Insertar, Suprimir
#    - Punto, Coma, Guion
#
#-------------------------------------------------------------------------------
# ● INSTALACIÓN:
#
#  Pegar sobre el Main
#
#-------------------------------------------------------------------------------
# ● METODOS:
#
#  ☆ update:
#    Este método es indispensable para el funcionamiento del modulo, debe ser
#    llamado cada vez que se necesite usar los métodos del modulo.
#
#  ☆ trigger?(tecla):
#    Devuelve true si se ha presionado la tecla, pero devuelve false si se
#    sigue presionando esa tecla.
#
#  ☆ repeat?(tecla):
#    Devuelve true periódicamente si se esta presionando la tecla.
#
#  ☆ press?(tecla):
#    Devuelve true si se esta presionando la tecla.
#
#-------------------------------------------------------------------------------
# ● INSTRUCCIONES
#
#  A continuación encontrara dos listados de teclas: el primero contiene el
#    código de cada tecla, el cual es llamado atraves de:
#    Keyboard::<Tecla>
#
#  El segundo listado, contiene el nombre de las teclas como texto, basándose
#    en el código de cada tecla, el cual puede editar
#
#  Para saber que tecla es cual, guíese con el nombre de la tecla, en el
#    listado de teclas, después según el código de la tecla, podrás identificar
#    la tecla en el listado de teclas.
#
#-------------------------------------------------------------------------------
module Keyboard
#===============================================================================
# ● Listado de Codigos
#===============================================================================
  L_MOUSE  = 0x01;  R_MOUSE  = 0x02;  M_MOUSE  = 0x03;  ROLL_UP  = 0x04;
  ROLL_DOWN = 0x05;  BACK      = 0x08;  TAB      = 0x09;  ENTER    = 0x0D;
  SHIFT    = 0x10;  CTRL      = 0x11;  ALT      = 0x12;  PAUSE    = 0x13;
  BLOQ_CAPS = 0x14;  ESCAPE    = 0x1B;  SPACE    = 0x20;  PAGE_UP  = 0x21;
  PAGE_DOWN = 0x22;  _END      = 0x23;  HOME      = 0x24;  LEFT      = 0x25;
  UP        = 0x26;  RIGHT    = 0x27;  DOWN      = 0x28;  SELECT    = 0x29;
  PRINT    = 0x2A;  SNAPSHOT  = 0x2C;  INSERT    = 0x2D;  DELETE    = 0x2E;
  NUM0      = 0x30;  NUM1      = 0x31;  NUM2      = 0x32;  NUM3      = 0x33;
  NUM4      = 0x34;  NUM5      = 0x35;  NUM6      = 0x36;  NUM7      = 0x37;
  NUM8      = 0x38;  NUM9      = 0x39;  A        = 0x41;  B        = 0x42;
  C        = 0x43;  D        = 0x44;  E        = 0x45;  F        = 0x46;
  G        = 0x47;  H        = 0x48;  I        = 0x49;  J        = 0x4A;
  K        = 0x4B;  L        = 0x4C;  M        = 0x4D;  N        = 0x4E;
  O        = 0x4F;  P        = 0x50;  Q        = 0x51;  R        = 0x52;
  S        = 0x53;  T        = 0x54;  U        = 0x55;  V        = 0x56;
  W        = 0x57;  X        = 0x58;  Y        = 0x59;  Z        = 0x5A;
  L_WIN    = 0x5B;  R_WIN    = 0x5C;  APPS      = 0x5D;  NUMPAD0  = 0x60;
  NUMPAD1  = 0x61;  NUMPAD2  = 0x62;  NUMPAD3  = 0x63;  NUMPAD4  = 0x64;
  NUMPAD5  = 0x65;  NUMPAD6  = 0x66;  NUMPAD7  = 0x67;  NUMPAD8  = 0x68;
  NUMPAD9  = 0x69;  MULTIPLY  = 0x6A;  ADD      = 0x6B;  SUBTRACT  = 0x6C;
  SEPARATOR = 0x6D;  DECIMAL  = 0x6E;  DIVIDE    = 0x6F;  F1        = 0x70;
  F2        = 0x71;  F3        = 0x72;  F4        = 0x73;  F5        = 0x74;
  F6        = 0x75;  F7        = 0x76;  F8        = 0x77;  F9        = 0x78;
  F10      = 0x79;  F11      = 0x7A;  F12      = 0x7B;  BLOQ_NUM  = 0x90;
  BLOQ_SCROLL=0x91;  L_SHIFT  = 0xA0;  R_SHIFT  = 0xA1;  L_CONTROL = 0xA2;
  R_CONTROL = 0xA3;  L_ALT    = 0xA4;  R_ALT    = 0xA5;  SEP      = 0xBC;
  DASH      = 0xBD;  DOTT      = 0xBE;
#===============================================================================
# ● Listado de Nombres
#===============================================================================
  Names = {
  0x01 => "CLIC IZQUIERDO",  0x02 => "CLIC DERECHO",
  0x03 => "RUEDA ARRIBA",    0x04 => "CLIC CENTRAL",
  0x05 => "RUEDA ABAJO",      0x08 => "RETROCESO",
  0x09 => "TAB",              0x0D => "ENTER",
  0x10 => "SHIFT",            0x11 => "CONTROL",
  0x12 => "ALT",              0x13 => "PAUSA",
  0x14 => "BLOQ. MAYUS.",    0x1B => "ESCAPE",
  0x20 => "ESPACIO",          0x21 => "PAG. SIGUIENTE",
  0x22 => "PAG. ANTERIOR",    0x23 => "FIN",
  0x24 => "INICIO",          0x25 => "IZQUIERDA",
  0x26 => "ARRIBA",          0x27 => "DERECHA",
  0x28 => "ABAJO",            0x29 => "SELECCION",
  0x2A => "IMPRIMIR",        0x2C => "PRINT SCREEN",
  0x2D => "INSERTAR",        0x2E => "SUPRIMIR",
  0x30 => "0",  0x31 => "1",  0x32 => "2",  0x33 => "3",
  0x34 => "4",  0x35 => "5",  0x36 => "6",  0x37 => "7",
  0x38 => "8",  0x39 => "9",  0x41 => "A",  0x42 => "B",
  0x43 => "C",  0x44 => "D",  0x45 => "E",  0x46 => "F",
  0x47 => "G",  0x48 => "H",  0x49 => "I",  0x4A => "J",
  0x4B => "K",  0x4C => "L",  0x4D => "M",  0x4E => "N",
  0x4F => "O",  0x50 => "P",  0x51 => "Q",  0x52 => "R",
  0x53 => "S",  0x54 => "T",  0x55 => "U",  0x56 => "V",
  0x57 => "W",  0x58 => "X",  0x59 => "Y",  0x5A => "Z",
  0x5B => "WIN. IZQUIERDO",  0x5C => "WIN. DERECHO",
  0x5D => "APLICACIONES",    0x60 => "NUMERO 0",
  0x61 => "NUMERO 1",        0x62 => "NUMERO 2",
  0x63 => "NUMERO 3",        0x64 => "NUMERO 4",
  0x65 => "NUMERO 5",        0x66 => "NUMERO 6",
  0x67 => "NUMERO 7",        0x68 => "NUMERO 8",
  0x69 => "NUMERO 9",        0x6A => "MULTIPLICAR",
  0x6B => "SUMAR",            0x6C => "SEPARADOR",
  0x6D => "RESTAR",          0x6E => "COMA DECIMAL",
  0x6F => "DIVIDIR",          0x70 => "F1",
  0x71 => "F2",  0x72 => "F3",  0x73 => "F4",  0x74 => "F5",
  0x75 => "F6",  0x76 => "F7",  0x77 => "F8",  0x78 => "F9",
  0x79 => "F10",  0x7A => "F11",  0x7B => "F12",
  0x90 => "BLOQ. NUM.",          0x91 => "BLOQ. DESP.",
  0xA0 => "SHIFT IZQUIERDO",      0xA1 => "SHIFT DERECHO",
  0xA2 => "CONTROL IZQUIERDO",    0xA3 => "CONTROL DERECHO",
  0xA4 => "ALT IZQUIERDO",        0xA5 => "ALT DERECHO",
  0xBC => "COMA",  0xBD => "GUION",  0xBE => "PUNTO"
  }
  GetKeyState = Win32API.new("user32", "GetAsyncKeyState", "i", "i")
  KeyRepeatCounter = {}
 
  module_function
 
  def self.update
    for key in KeyRepeatCounter.keys
      if (GetKeyState.call(key).abs & 0x8000 == 0x8000)
        KeyRepeatCounter[key] += 1
      else
        KeyRepeatCounter.delete(key)
      end
    end
  end
  def self.press?(key)
    return false if key == nil
    return true unless KeyRepeatCounter[key].nil?
    return key_pressed?(key)
  end
  def self.trigger?(key)
    return false if key == nil
    count = KeyRepeatCounter[key]
    press = count.nil? ? key_pressed?(key) : false
    return (count == 0 or press)
  end
  def self.repeat?(key)
    return false if key == nil
    count = KeyRepeatCounter[key]
    return true if count == 0
    if count.nil?
      return key_pressed?(key)
    else
      return (count >= 23 and (count - 23) % 6 == 0)
    end
  end
  def self.key_pressed?(key)
    if (GetKeyState.call(key).abs & 0x8000 == 0x8000)
      KeyRepeatCounter[key] = 0
      return true
    end
    return false
  end
  def self.getKey
    for i in 0...256
      if GetKeyState.call(i) == -32767
        key = i
        break
      end
    end
    return if key == nil
    return Names[key] != nil ? key : 0
  end
end

Se podria usar asi:

update
trigger?(P) o algo asi, yo como no se de script ni idea de como quedaria, tocaria esperar a que alguien que sepa un poco sobre esto intente ver como quedaria

SALU2
sebas1475
sebas1475
50
50

Masculino

Edad 25

Cantidad de envíos 75

Maker Cash 108

Reputación 11


Extras
Sobre mí:: Doy pequeñas clases de RPG Maker VX

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por raik Lun 22 Nov 2010, 12:50 pm

en realidad con lo del trigger::P se pueden hacer utilizables todas las teclas del teclado, creo, pero yo no domino tanto de scripts xD
raik
raik
300
300

Masculino

Edad 38

Cantidad de envíos 431

Maker Cash 485

Reputación 20


Extras
Sobre mí::

Volver arriba Ir abajo

Script de Pausa Empty Re: Script de Pausa

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.