Últimos temas
» Script de menupor 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
El record de usuarios en línea fue de 117 durante el Mar 09 Ago 2011, 3:39 pm
Script: Advanced Controls System v1.0
RPG maker VX :: Scripts ::
Página 1 de 1.
Script: Advanced Controls System v1.0
Advance Controls System v1.0
Autor: ClubIce (yo)
Ultima actualización: 27/09/2010
Contacto: por MP o por msn: [Tienes que estar registrado y conectado para ver este vínculo]
Licencia: Para proyectos comerciales y no comerciales. si olvidar dar creditos al autor (yo)
Introducción:
Este Script nos permite que el Jugador cambie los controles del juego en cualquier momento.
Caracteristicas:
- Se pueden usar casi todas la teclas del teclado para configurarla como algun control.
- Se puede cambiar los controles de desplazamiento, cosa que no te permite el RMVX.
- Por cada partida guardada, puede tener una configuración diferente a la de las demas partidas.
Pegar sobre el Main. Deben colocar la siguiente imagen con el nombre de Controls en la carpeta System:
[Tienes que estar registrado y conectado para ver esa imagen]
Instrucciones:
El Script añade directamente la opción de Controles en el Menú. Ver a continuación la sección de Personalización. Para más información del manejo del Modulo Keyboard, ver sus instrucciones de uso.
Capturas:
- Spoiler:
- [Tienes que estar registrado y conectado para ver esa imagen]
Personalización:
Debajo de las instrucciones en el Script (Advanced Controls Syetem), encotraran la seccion de Personalización del Script.
Script:
- 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
#===============================================================================
# ☆ Advanced Controls System v1.0 ☆
#-------------------------------------------------------------------------------
# * Version : 1.0
# * Ultima Actializació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 ☆
# ☆ Idea original de maxinm ☆
#
#-------------------------------------------------------------------------------
# ● DESCRIPTCIÓN:
#
# Este Script nos permite que el Jugador cambie los controles del juego en
# cualquier momento.
#
#-------------------------------------------------------------------------------
# ● CARACTERISTICAS:
#
# ☆ Se pueden usar casi todas la teclas del teclado para configurarla como
# algun control.
# ☆ Se puede cambiar los controles de desplazamiento, cosa que no te
# permite el RMVX.
# ☆ Por cada partida guardada, puede tener una configuración diferente a
# la de las demas partidas.
#
#-------------------------------------------------------------------------------
# ● INSTALACIÓN:
#
# Pegar sobre el Main
#
#-------------------------------------------------------------------------------
# ● COMPATIBILIDAD:
#
# * Incompatible con scripts de Menú u otros Scripts que quitan y/o añaden
# comandos al Menú. Se corrigiera en la próxima versión.
#
# * El Script evita que se el Jugador use Gamepad o Joystick.
#
# Se reemplaza en su totalidad el Modulo Input por el Modulo Keyboard, el
# cual permite el uso completo del teclado.
#
# Adicionalmente, se reemplaza los siguientes métodos:
#
# ☆ Game_Player
# - debug_through? (mejora de compatibilidad)
#
# ☆ Scene_Map
# - update_call_debug (mejora de compatibilidad)
#
# ☆ Scene_Menu
# - create_command_window
# - update_command_selection
#
# Se alían los siguientes metodos:
#
# ☆ Scene_Title :
# - create_game_objects
#
# ☆ Scene_File :
# - write_save_data
# - read_save_data
#
#-------------------------------------------------------------------------------
# ● INSTRUCCIONES
#
# El Script añade directamente la opción de Controles en el Menú. Ver a
# continuación la sección de Personalización. Para más información del manejo
# del Modulo Keyboard, ver sus instrucciones de uso.
#
#-------------------------------------------------------------------------------
# ☆ PERSONALIZACIÓN ☆
#-------------------------------------------------------------------------------
# * Las siguientes lineas son editables.
#-------------------------------------------------------------------------------
module ClubIce # No toques esta linea!
module Controls # No toques esta linea!
# ☆ Palabra la cual va en la opción en el menú.
CONTROLS_COMMAND = "Controles"
#-------------------------------------------------------------------------------
RESULTS_TEXTS = [ # No toques esta línea!
# ☆ Texto que aparece cuando se va a elegir una nueva tecla.
"Presiona la tecla que deseas usar para esta selección",
# ☆ Texto cuando la nueva tecla elegida no aparece registrada en el
# modulo Keyboard.
"¡La tecla seleccionada no esta soportada por la aplicación!",
# ☆ Texto cuando la nueva tecla ya esta siendo usada.
"¡No puedes usar una tecla mas de una vez!",
# ☆ Texto cuando la nueva tecla está entre las deshabilitadas
"¡Esta tecla no puede ser usada por la aplicación!"
] # No toques esta línea!
#-------------------------------------------------------------------------------
OPTIONS_COMMANDS = [ # No toques esta línea!
"Cambiar", # ☆ Opción Cambiar.
"Predeterminado", # ☆ Opción de Predeterminado.
"Cancelar" # ☆ Opción de Cancelar.
] # No toques esta línea!
#-------------------------------------------------------------------------------
COMMANDS_TEXT = [ # No toques esta línea!
# ☆ Descripción de la opción de cambiar controles.
"Cambiar la configuración de los controles.",
# ☆ Descripción de la opción de cambiar los controles a predeterminados
"Usar la configuración predeterminada del juego.",
# ☆ Este texto indica sobre tecla la F1, que permite entrar a las opciones
# por defecto del RMVX; este texto aparece cuando el Jugador selecciona la
# opción de cancelar.
"Para Configurar el Gamepad y otras opciones, presiona F1"
] # No toques esta línea!
#-------------------------------------------------------------------------------
# * La siguiente sección de personalización hace referencia al Modulo Keyboard,
# por lo cual, debes leer las instrucciones de este antes
# de continuar con esta sección de la personalización.
#-------------------------------------------------------------------------------
DEFAULT = { # No toques esta línea.
#-------------------------------------------------------------------------------
# ☆ Las siguientes son las teclas que se usaran por defecto por el juego, ten
# en cuenta que cada comando es ser llamado por 2 teclas.
#
# * La configuración que he elegido es la misma que trae el RMVX, a excepción
# de algunas teclas secundarias.
#-------------------------------------------------------------------------------
# ☆ Tecla de desplazamiento ARRIBA
"UP" => [Keyboard::UP, Keyboard::I],
# ☆ Tecla de desplazamiento ABAJO
"DOWN" => [Keyboard::DOWN, Keyboard::K],
# ☆ Tecla de desplazamiento IZQUIERDA
"LEFT" => [Keyboard::LEFT, Keyboard::J],
# ☆ Tecla de desplazamiento DERECHA
"RIGHT" => [Keyboard::RIGHT, Keyboard::L],
# ☆ Tecla con la cual se Corre en el Mapa
"A" => [Keyboard::SHIFT, Keyboard::V],
# ☆ Tecla de la acción cancelar y abrir menú.
"B" => [Keyboard::ESCAPE, Keyboard::X],
# ☆ Tecla de la acción aceptar entre otros.
"C" => [Keyboard::ENTER, Keyboard::Z],
# ☆ Tecla la cual es usada en otros sistemas de batalla (por ejemplo)
"L" => [Keyboard::SEP, Keyboard::Q],
# ☆ Igual que la anterior
"R" => [Keyboard::DOTT, Keyboard::W],
# ☆ Tecla del control X
"X" => [Keyboard::SPACE, Keyboard::A],
# ☆ Tecla del control Y
"Y" => [Keyboard::BACK, Keyboard::S],
# ☆ Tecla del control Z
"Z" => [Keyboard::D, Keyboard::C]
} # No toques esta línea!
#-------------------------------------------------------------------------------
# ☆ Las siguientes son las teclas que no pueden ser elegidas por el juego.
#
# * Te recomiendo dejar esta configuración tal como está, ya que las teclas
# que he elegido, son las que el RMVX usa para funciones internas como el
# modo Debug.
#-------------------------------------------------------------------------------
DISABLED_KEYS = [ # No toques esta línea!
# ☆ Añade una coma (,) al final de cada tecla, a excepción de la ultima tecla.
Keyboard::CTRL, Keyboard::ALT, Keyboard::F1, Keyboard::F2,
Keyboard::F3, Keyboard::F4, Keyboard::F5, Keyboard::F6,
Keyboard::F7, Keyboard::F8, Keyboard::F9, Keyboard::M_MOUSE,
Keyboard::L_MOUSE, Keyboard::R_MOUSE, Keyboard::R_WIN, Keyboard::L_WIN
] # No toques esta línea!
#-------------------------------------------------------------------------------
# ☆ Fin del área editable, No editar nada a continuación!! ☆
#===============================================================================
KEYS = ["UP","DOWN","LEFT","RIGHT","A","B","C","L","R","X","Y","Z"]
KEY_ICONS = {
"UP" => Rect.new(0,48,24,24),
"DOWN" => Rect.new(72,48,24,24),
"LEFT" => Rect.new(48,48,24,24),
"RIGHT" => Rect.new(24,48,24,24),
"A" => Rect.new(0,24,24,24),
"B" => Rect.new(24,24,24,24),
"C" => Rect.new(48,24,24,24),
"L" => Rect.new(72,0,24,24),
"R" => Rect.new(72,24,24,24),
"X" => Rect.new(48,0,24,24),
"Y" => Rect.new(24,0,24,24),
"Z" => Rect.new(0,0,24,24)
}
end
def self.split_text(text, size)
return [text] if text.size <= size
result = []
words = text.split(" ")
rText = ""
inc = 0
for i in 0..words.size*2
break if words[i-inc] == nil
rText += words[i-inc]
rText += " "
if rText.size-1 == size or (i-inc+1) == words.size
result.push(rText)
rText = ""
elsif rText.size-1 >= size
rWords = rText.split(" ")
rText = ""
for j in 0..rWords.size-2
rText += rWords[j]
rText += " "
end
result.push(rText)
rText = ""
inc+=1
end
end
return result
end
end
module Input
def self.update
Keyboard.update
end
def self.trigger?(key)
return (Keyboard.trigger?(transform_key(key)[0]) or Keyboard.trigger?(transform_key(key)[1]))
end
def self.repeat?(key)
return (Keyboard.repeat?(transform_key(key)[0]) or Keyboard.repeat?(transform_key(key)[1]))
end
def self.press?(key)
return (Keyboard.press?(transform_key(key)[0]) or Keyboard.press?(transform_key(key)[1]))
end
def self.transform_key (key)
case key
when UP
key = $game_controls["UP"]
when DOWN
key = $game_controls["DOWN"]
when LEFT
key = $game_controls["LEFT"]
when RIGHT
key = $game_controls["RIGHT"]
when A
key = $game_controls["A"]
when B
key = $game_controls["B"]
when C
key = $game_controls["C"]
when L
key = $game_controls["L"]
when R
key = $game_controls["R"]
when Y
key = $game_controls["Y"]
when X
key = $game_controls["X"]
when Z
key = $game_controls["Z"]
when F5
key = Keyboard::F5
when F6
key = Keyboard::F6
when F7
key = Keyboard::F7
when F8
key = Keyboard::F8
when F9
key = Keyboard::F9
when CTRL
key = Keyboard::CTRL
when ALT
key = Keyboard::ALT
when SHIF
key = Keyboard::SHIF
end
return key
end
def self.dir4
if press?(DOWN)
return 2
elsif press?(LEFT)
return 4
elsif press?(RIGHT)
return 6
elsif press?(UP)
return 8
end
end
def self.dir8
if press?(DOWN) and press?(LEFT)
return 1
elsif press?(DOWN)
return 2
elsif press?(DOWN) and press?(RIGHT)
return 3
elsif press?(LEFT)
return 4
elsif press?(RIGHT)
return 5
elsif press?(UP) and press?(LEFT)
return 6
elsif press?(UP)
return 7
elsif press(UP) and press?(RIGHT)
return 8
end
end
end
class Game_Controls
def initialize
reset
end
def [](control)
return "" if control == nil
return @data[control]
end
def []=(control, value)
@data[control] = value
end
def reset
@data={}
keys = ClubIce::Controls::KEYS
for i in 0..11
@data[keys[i]] = ClubIce::Controls::DEFAULT[keys[i]].clone
end
end
end
class Window_SetControl < Window_Base
attr_accessor :status
attr_accessor :timer
def initialize
height = WLH*3+32
x = (300 + Graphics.width) / 2 - 300
y = (height + Graphics.height) / 2 - height
super(x,y,300,height)
@status = 0
@timer = 0
update
end
def wait
for i in 0..120
Graphics.update
end
end
def update
@timer += 1 if self.visible
timer = 5 - (@timer / Graphics.frame_rate)
self.contents.clear
case @status
when 0
text = ClubIce.split_text(ClubIce::Controls::RESULTS_TEXTS[0],35)
self.contents.font.color = normal_color
for i in 0..text.size-1
self.contents.draw_text(0, i*WLH, self.width-32, WLH, text[i], 1)
end
self.contents.draw_text(0, WLH*2, self.width-32, WLH, "Autocancelado en #{timer} seg.",1)
when 1
@text = ClubIce.split_text(ClubIce::Controls::RESULTS_TEXTS[1],35)
draw_error
when 2
@text = ClubIce.split_text(ClubIce::Controls::RESULTS_TEXTS[2],30)
draw_error
when 3
@text = ClubIce.split_text(ClubIce::Controls::RESULTS_TEXTS[3],35)
draw_error
end
end
def draw_error
self.contents.font.color = knockout_color
for i in [Tienes que estar registrado y conectado para ver este vínculo]-1
self.contents.draw_text(0, i*WLH, self.width-32, WLH, @text[i], 1)
end
wait
@status = 0
@timer = 300
end
end
class Scene_Controls < Scene_Base
def start
super
create_menu_background
@help_window = Window_Help.new
create_command_window
@controls_window = Window_Controls.new
@set_control_window = Window_SetControl.new
@controls_window.active = false
@set_control_window.visible = false
end
def create_command_window
op = ClubIce::Controls::OPTIONS_COMMANDS
@command_window = Window_Command.new(Graphics.width, op, 3)
@command_window.y += @help_window.height
end
def update
super
update_menu_background
@command_window.update
@controls_window.update
@set_control_window.update
if @command_window.active
update_command_selection
elsif @controls_window.active
update_control_selection
elsif @set_control_window.visible || @set_control_window.active
update_key_selection
end
end
def update_command_selection
case @command_window.index
when 0
@help_window.set_text(ClubIce::Controls::COMMANDS_TEXT[0])
when 1
@help_window.set_text(ClubIce::Controls::COMMANDS_TEXT[1])
when 2
@help_window.set_text(ClubIce::Controls::COMMANDS_TEXT[2])
end
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
case @command_window.index
when 0
Sound.play_decision
@controls_window.index = 0
@command_window.index = -1
@controls_window.active = true
@command_window.active = false
when 1
Sound.play_equip
$game_controls.reset
@controls_window.refresh
when 2
Sound.play_cancel
$scene = Scene_Map.new
end
end
end
def update_control_selection
@help_window.set_text("ENTER = Cambiar Tecla. ESCAPE = Cancelar")
if Keyboard.trigger?(Keyboard::ESCAPE)
Sound.play_cancel
@command_window.index = 0
@controls_window.index = -1
@command_window.active = true
@controls_window.active = false
elsif Keyboard.trigger?(Keyboard::ENTER)
Sound.play_decision
@set_control_window.timer = 0
@set_control_window.visible = true
@set_control_window.active = true
@controls_window.active = false
end
end
def update_key_selection
key = Keyboard.getKey
keys = ClubIce::Controls::KEYS
all_keys = []
for i in 0..11
for j in 0..1
all_keys.push($game_controls[keys[i]][j])
end
end
if 5 - (@set_control_window.timer / Graphics.frame_rate) <= 0
Sound.play_cancel
@set_control_window.active = false
@set_control_window.visible = false
@controls_window.active = true
elsif key == 0
Sound.play_buzzer
@set_control_window.status = 1
elsif key != nil
key_pos = @controls_window.index / 2
key_num = @controls_window.index % 2
x = 0
for i in 0..all_keys.size-1
if key == all_keys[i]
for j in 0..all_keys.size-1
if j == i and x == 0
x = 1
else
Sound.play_buzzer
@set_control_window.status = 2
x = 0
return
end
end
end
end
for i in 0..ClubIce::Controls::DISABLED_KEYS.size-1
if key = i
Sound.play_buzzer
@set_control_window.status=3
return
end
end
$game_controls[ClubIce::Controls::KEYS[key_pos]][key_num] = key
@controls_window.refresh
Sound.play_decision
@set_control_window.active = false
@set_control_window.visible = false
@controls_window.active = true
end
end
def terminate
super
dispose_menu_background
@help_window.dispose
@command_window.dispose
@controls_window.dispose
@set_control_window.dispose
end
end
Demo:
No es nesesario.
Notas de Autor:
Idea original de maxinm. Creo que lo que el queria era una ventana que mostrara los controles, pero yo quieze mejorarlo, y este fue el resutado
ClubIce- 220
-
27
253
361
38
Temas similares
» Neo Save System
» ABS (action battle system) script
» [SCRIPT] Advanced Chest System v1.0: Cofres Mejorados
» Script: Cambio de Clase Sencillo(CCS) V.1.0.0Mi primer script.
» GOD OF WAR SYSTEM
» ABS (action battle system) script
» [SCRIPT] Advanced Chest System v1.0: Cofres Mejorados
» Script: Cambio de Clase Sencillo(CCS) V.1.0.0Mi primer script.
» GOD OF WAR SYSTEM
RPG maker VX :: Scripts ::
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.