¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Hola mucho gusto
por Hk Diamond Hoy a las 13:49

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Hoy a las 12:03

» Holaaa a tod@s!!!
por nacho Hoy a las 09:47

» SoraDeathss se presenta!
por chronoMxx Hoy a las 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx Hoy a las 06:45

» las cosas como son...
por Bleuw Hoy a las 04:18

» Busco artistas graficos para proyecto serio
por Rudy_kinneas Ayer a las 20:52

» Duda con música en RPG MV
por Fleabass Ayer a las 20:25

» Recopilación de páginas con recursos RPG Maker
por RiKennedy-Maker Ayer a las 20:00

» [DUDA] Titulo de RPGM XP con varias imagenes
por Wecoc Ayer a las 08:38

Afiliados
Estadísticas
Tenemos 3381 miembros registrados.
El último usuario registrado es Hk Diamond.

Nuestros miembros han publicado un total de 79749 mensajes en 11244 argumentos.
Navega con Google Chrome
[DESCARGA]

Crear menú nuevo ayuda

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

Crear menú nuevo ayuda

Mensaje por jlopez_96 el 2016-02-16, 14:37

Estoy usando el script 'Menú anillo'. Mi intención es crear un nuevo menú y al
hacerlo, activar un interruptor.

Quiero que active un evento común. Ya he creado el menú y todo y en el juego cuando selecciono la opción, no hace nada y me vuelve al mapa. He probado a activar el interruptor pisandolo en un evento y funciona. Pero por qué con el script no?

Dejo el script tal y como lo tengo :

Código:
#===================================================
# ■ Ring Menu - Show Player Location - Release #1 (Enhanced By Dubealex)
#===================================================
# For more infos and UPDATE, visit:
# asylum.dubealex.com
#
# Original Ring Menu by: 和希 (From XRXS)
# Original Edit and Fix by: Maki
# Show Player Location Version by: Dubealex
# Math Add-On by: Wecoc
# Atención: Distintas formas en el final del script
#===================================================

class Scene_Menu
def initialize(menu_index = 0)
  @menu_index = menu_index
  $location_text=[]
  $window_size=[]
  $ring_menu_text=[]
  $chara_select=[]
  @window_opacity=[]
  @chara_select=[]
  @window_position=[]
  
    #--------------------------------------------------------------
    # Ring Menu Customization Section: (By Dubealex)
    #-------------------------------------------------------------
    # Those variables defines how the script will act.
    # Simply CHANGE the value by those you want.
    #
    # TEXT SETTINGS FOR SHOW PLAYER LOCATION WINDOW:
    $location_text[0]="Verdana"
    $location_text[1]=22                # Font Size
    $location_text[2]=6                  # Location Title Color
    $location_text[4]=0                  # Map Name Color
    $location_text[3]="Estás en:"    

    # SHOW LOCATION WINDOW SETTINS:
    @show_location_window=true                      #Set to false to not use it !
    @window_opacity[0]=255                            # Border Opacity
    @window_opacity[1]=130                            # Background Opacity
    @window_position[0]=20                            # X Axis Position
    @window_position[1]=360                            # Y Axis Position
    $window_size[0]=160                                # Lengh
    $window_size[1]=96                                  # Heigh
    
    # TEXT SETTINGS FOR INSIDE THE RING MENU:
    $ring_menu_text[0]="Verdana"      # Font Type
    $ring_menu_text[7]=0                  # Font Color
    $ring_menu_text[8]=22                # Font Size
    $ring_menu_text[1]="Objetos"        # Items Menu Text
    $ring_menu_text[2]="Habilidad"          # Skills Menu Text
    $ring_menu_text[3]="Equipo"        # Equip Menu Text
    $ring_menu_text[4]="Estado"          # Stats Menu Text
    $ring_menu_text[5]="Guardar"          # Save Menu Text
    $ring_menu_text[6]="Salir"          # Quit Menu Text
    $ring_menu_text[7]="Teléfono"        # Teléfono
    
    
    # CHARACTER SELECTION WINDOW SETTINGS :
    @chara_select[0]=20
    @chara_select[1]=0                  # Y Axis Position
    $chara_select[0]="Verdana"      # Font Type
    $chara_select[1]=0                  # Font Color
    $chara_select[5]=22                  # Font Size
    $chara_select[2]=255              # Window Border Opacity
    $chara_select[3]=130              # Window Background Opacity
  #-----------------------------------------------------------------------
end
#--------------------------------------------------------------------------
# œ ƒƒCƒ“ˆ—
#--------------------------------------------------------------------------
def main
  
  # Show Player Location Feature:
  if @show_location_window==true    
  @window_location = Window_Location.new
      @window_location.x = @window_position[0]
      @window_location.y = @window_position[1]
      @window_location.opacity = @window_opacity[0]
      @window_location.back_opacity = @window_opacity[1]
      end
  #End of Show Player Location
  
  @spriteset = Spriteset_Map.new
  px = $game_player.screen_x - 15
  py = $game_player.screen_y - 24
  @command_window = Window_RingMenu.new(px,py)
  @command_window.index = @menu_index
  if $game_party.actors.size == 0
    @command_window.disable_item(0)
    @command_window.disable_item(1)
    @command_window.disable_item(2)
    @command_window.disable_item(3)
  end
  @command_window.z = 100
  if $game_system.save_disabled
    @command_window.disable_item(4)
  end
  @status_window = Window_RingMenuStatus.new
  @status_window.x = @chara_select[0]
  @status_window.y = @chara_select[1]
  @status_window.z = 200
  @status_window.opacity=$chara_select[2]
  @status_window.back_opacity=$chara_select[3]
  @status_window.visible = false
  Graphics.transition
  loop do
    Graphics.update
    Input.update
    update
    if $scene != self
      break
    end
  end
  Graphics.freeze
  @spriteset.dispose
  if @show_location_window==true
  @window_location.dispose
  end
  @command_window.dispose
  @status_window.dispose
end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------
def update
  if @show_location_window==true
  @window_location.update
  end
  @command_window.update
  @status_window.update
  if @command_window.active
    update_command
    return
  end
  if @status_window.active
    update_status
    return
  end
end
def update_command
  if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    $scene = Scene_Map.new
    return
  end
  if Input.trigger?(Input::C)
    if $game_party.actors.size == 0 and @command_window.index < 4
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    case @command_window.index
    when 0 # Objeto
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Item.new
    when 1 # Habilidad
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.visible = true
      @status_window.index = 0
    when 2 # Equipo
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.visible = true
      @status_window.index = 0
    when 3  # Estado
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.visible = true
      @status_window.index = 0
    when 4  # Guardar
      if $game_system.save_disabled
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Save.new
    when 5  # Salir
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_End.new
    when 6  # Teléfono
      $game_system.se_play($data_system.decision_se)
              $game_switches[834] = true
              $scene = Scene_Map.new
    end
    return
  end
  return if @command_window.animation?
  if Input.press?(Input::UP) or  Input.press?(Input::LEFT)
    $game_system.se_play($data_system.cursor_se)
    @command_window.setup_move_move(Window_RingMenu::MODE_MOVER)
    return
  end
  if Input.press?(Input::DOWN) or  Input.press?(Input::RIGHT)
    $game_system.se_play($data_system.cursor_se)
    @command_window.setup_move_move(Window_RingMenu::MODE_MOVEL)
    return
  end
end
def update_status
  if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @command_window.active = true
    @status_window.active = false
    @status_window.visible = false
    @status_window.index = -1
    return
  end
  if Input.trigger?(Input::C)
    case @command_window.index
    when 1
      if $game_party.actors[@status_window.index].restriction >= 2
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Skill.new(@status_window.index)
    when 2
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Equip.new(@status_window.index)
    when 3
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Status.new(@status_window.index)
    when 6
      $game_system.se_play($data_system.decision_se)
      $game_switches[834] = true
      $scene = Scene_Map.new
    end
    return
  end
end
end


#===================================================
# CLASS Window_RingMenu
#===================================================
class Window_RingMenu < Window_Base
STARTUP_FRAMES = 20
MOVING_FRAMES = 5  
RING_R = 64        
ICON_ITEM    = RPG::Cache.icon("034-Item03")
ICON_SKILL    = RPG::Cache.icon("044-Skill01")
ICON_EQUIP    = RPG::Cache.icon("001-Weapon01")
ICON_STATUS  = RPG::Cache.icon("050-Skill07")
ICON_SAVE    = RPG::Cache.icon("038-Item07")
ICON_EXIT    = RPG::Cache.icon("046-Skill03")
ICON_TELÉFONO = RPG::Cache.icon("")
ICON_DISABLE  = RPG::Cache.icon("")
SE_STARTUP = "056-Right02"
MODE_START = 1
MODE_WAIT  = 2
MODE_MOVER = 3
MODE_MOVEL = 4
attr_accessor :index
def initialize( center_x, center_y )
  super(0, 0, 640, 480)
  self.contents = Bitmap.new(width-32, height-32)
  self.contents.font.name = $ring_menu_text[0]
  self.contents.font.color = text_color($ring_menu_text[7])
  self.contents.font.size = $ring_menu_text[8]
  self.opacity = 0
  self.back_opacity = 0
  s1 = $ring_menu_text[1]
  s2 = $ring_menu_text[2]
  s3 = $ring_menu_text[3]
  s4 = $ring_menu_text[4]
  s5 = $ring_menu_text[5]
  s6 = $ring_menu_text[6]
  s7 = $ring_menu_text[7]
  @commands = [ s1, s2, s3, s4, s5, s6, s7]
  @item_max = 7
  @index = 0
  @items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT, ICON_TELÉFONO]
  @disabled = [ false, false, false, false, false, false, false]
  @cx = center_x - 16
  @cy = center_y - 16
  setup_move_start
  refresh
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV
#--------------------------------------------------------------------------
def update
  super
  refresh
end
#--------------------------------------------------------------------------
# œ ‰æ–ʍĕ`‰æ
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  # ƒAƒCƒRƒ“‚ð•`‰æ
  case @mode
  when MODE_START
    refresh_start
  when MODE_WAIT
    refresh_wait
  when MODE_MOVER
    refresh_move(1)
  when MODE_MOVEL
    refresh_move(0)
  end
  # ƒAƒNƒeƒBƒu‚ȃRƒ}ƒ“ƒh–¼•\Ž¦
  rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32)
  self.contents.draw_text(rect, @commands[@index],1)
end
#--------------------------------------------------------------------------
# › ‰æ–ʍĕ`‰æ(‰Šú‰»Žž)
#--------------------------------------------------------------------------
def refresh_start
  d1 = 2.0 * Math::PI / @item_max
  d2 = 1.0 * Math::PI / STARTUP_FRAMES
  r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES
  for i in 0...@item_max
    j = i - @index
    d = d1 * j + d2 * @steps
    x = @cx + ( r * Math.sinw( d ) ).to_i
    y = @cy - ( r * Math.cosw( d ) ).to_i
    draw_item(x, y, i)
  end
  @steps -= 1
  if @steps < 1
    @mode = MODE_WAIT
  end
end
#--------------------------------------------------------------------------
# › ‰æ–ʍĕ`‰æ(‘Ò‹@Žž)
#--------------------------------------------------------------------------
def refresh_wait
  d = 2.0 * Math::PI / @item_max
  for i in 0...@item_max
    j = i - @index
    x = @cx + ( RING_R * Math.sinw( d * j ) ).to_i
    y = @cy - ( RING_R * Math.cosw( d * j ) ).to_i
    draw_item(x, y, i)
  end
end
#--------------------------------------------------------------------------
# › ‰æ–ʍĕ`‰æ(‰ñ“]Žž)
#  mode : 0=”½ŽžŒv‰ñ‚è 1=ŽžŒv‰ñ‚è
#--------------------------------------------------------------------------
def refresh_move( mode )
  d1 = 2.0 * Math::PI / @item_max
  d2 = d1 / MOVING_FRAMES
  d2 *= -1 if mode != 0
  for i in 0...@item_max
    j = i - @index
    d = d1 * j + d2 * @steps
    x = @cx + ( RING_R * Math.sinw( d ) ).to_i
    y = @cy - ( RING_R * Math.cosw( d ) ).to_i
    draw_item(x, y, i)
  end
  @steps -= 1
  if @steps < 1
    @mode = MODE_WAIT
  end
end
#--------------------------------------------------------------------------
# œ €–Ú‚Ì•`‰æ
#    x :
#    y :
#    i : €–ڔԍ†
#--------------------------------------------------------------------------
def draw_item(x, y, i)
  #p "x=" + x.to_s + " y=" + y.to_s + " i=" + @items[i].to_s
  rect = Rect.new(0, 0, @items[i].width, @items[i].height)
  if @index == i
    self.contents.blt( x, y, @items[i], rect )
    if @disabled[@index]
      self.contents.blt( x, y, ICON_DISABLE, rect )
    end
  else
    self.contents.blt( x, y, @items[i], rect, 128 )
    if @disabled[@index]
      self.contents.blt( x, y, ICON_DISABLE, rect, 128 )
    end
  end
end
#--------------------------------------------------------------------------
# œ €–ڂ𖳌ø‚É‚·‚é
#    index : €–ڔԍ†
#--------------------------------------------------------------------------
def disable_item(index)
  @disabled[index] = true
end
#--------------------------------------------------------------------------
# › ‰Šú‰»ƒAƒjƒ[ƒVƒ‡ƒ“‚̏€”õ
#--------------------------------------------------------------------------
def setup_move_start
  @mode = MODE_START
  @steps = STARTUP_FRAMES
  if  SE_STARTUP != nil and SE_STARTUP != ""
    Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100)
  end
end
#--------------------------------------------------------------------------
# › ‰ñ“]ƒAƒjƒ[ƒVƒ‡ƒ“‚̏€”õ
#--------------------------------------------------------------------------
def setup_move_move(mode)
  if mode == MODE_MOVER
    @index -= 1
    @index = @items.size - 1 if @index < 0
  elsif mode == MODE_MOVEL
    @index += 1
    @index = 0 if @index >= @items.size
  else
    return
  end
  @mode = mode
  @steps = MOVING_FRAMES
end
#--------------------------------------------------------------------------
# › ƒAƒjƒ[ƒVƒ‡ƒ“’†‚©‚Ç‚¤‚©
#--------------------------------------------------------------------------
def animation?
  return @mode != MODE_WAIT
end
end

#===================================================
# ▼ CLASS Window_RingMenuStatus Begins
#===================================================

class Window_RingMenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
#--------------------------------------------------------------------------
def initialize
  super(204, 64, 232, 352)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.contents.font.size = $chara_select[5]
  refresh
  self.active = false
  self.index = -1
end
#--------------------------------------------------------------------------
# œ ƒŠƒtƒŒƒbƒVƒ…
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  self.contents.font.name = $chara_select[0]
  self.contents.font.color = text_color($chara_select[1])
  @item_max = $game_party.actors.size
  for i in 0...$game_party.actors.size
    x = 80
    y = 80 * i
    actor = $game_party.actors[i]
    draw_actor_graphic(actor, x - 40, y + 65)
    draw_actor_name(actor, x, y + 24)
  end
end
#--------------------------------------------------------------------------
# œ ƒJ[ƒ\ƒ‹‚Ì‹éŒ`XV
#--------------------------------------------------------------------------
def update_cursor_rect
  if @index < 0
    self.cursor_rect.empty
  else
    self.cursor_rect.set(0, @index * 80, self.width - 32, 80)
  end
end
end

#===================================================
# ▼ CLASS Game_Map Additional Code Begins
#===================================================
class Game_Map
  
#Dubealex Addition (from XRXS) to show Map Name on screen
def name
  $map_infos[@map_id]
end
end


#===================================================
# ▼ CLASS Scene_Title Additional Code Begins
#===================================================
class Scene_Title

#Dubealex Addition (from XRXS) to show Map Name on screen
  $map_infos = load_data("Data/MapInfos.rxdata")
  for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
  end
end



#===================================================
# ▼ CLASS Window_Location Begins
#===================================================

class Window_Location < Window_Base
  
  def initialize
    super(0, 0, $window_size[0], $window_size[1])
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $location_text[0]
    self.contents.font.size = $location_text[1]
    refresh
  end
  
  def refresh
    self.contents.clear
    self.contents.font.color = text_color($location_text[2])
    self.contents.draw_text(4, 0, 120, 32, $location_text[3])
    self.contents.font.color = text_color($location_text[4])
    self.contents.draw_text(4, 32, 120, 32, $game_map.name, 2)
  end
end

module Math
  def Math.sinw(x)
    x = Math.sin(x)                # NORMAL (círculo)
#    x = Math.sin(x)*1.2            # MEJORADO (círculo)
#    x = Math.sin(x)                # ESTIRADO 1 (elipse)
#    x = Math.sin(x)*1.2            # ESTIRADO 2 (elipse) efecto 3D
#    x = Math.sinh(x/6)*1.4        # PARABOLA 1
#    x = Math.sinh(x/6)*1.4        # PARABOLA 2
#    x = (x - tanh(x) * 3)*0.8      # FOLIUM DE DESCARTES (círculo)
#    x = x * 0.3                    # SERPENTINA
#    x = (sin(x)**7)*2              # FLECHA
# PUEDES AÑADIR MAS
  end
  def Math.cosw(x)
    x = Math.cos(x)                # NORMAL (círculo)
#    x = Math.cos(x)*1.2 +0.3      # MEJORADO (círculo)
#    x = Math.cos(x)*1.2            # ESTIRADO 1 (elipse)
#    x = Math.cos(x)                # ESTIRADO 2 (elipse)
#    x = - Math.cosh(x/5)*2 + 2.7  # PARABOLA 1
#    x = Math.cosh(x/3)/1.5 - 1.5  # PARABOLA 2
#    x = ((1 / cosh(x) * 3)*0.8) -1 # FOLIUM DE DESCARTES (círculo)
#    x = (1 + cos(x*1.1))*0.4 + 0.2 # SERPENTINA
#    x = ((-4.5 * cos(x) * (1+1.2*cos(x)) + cos(x**1/8)**2 + 2.5)/10)+1.5 # FLECHA
# PUEDES AÑADIR MAS
  end
end

Como ven, en la línea 185, he añadido el nuevo menú (obviamente, no he editado solo esa parte, pero creo que es la que falla).

Código:
   when 6  # Teléfono
      $game_system.se_play($data_system.decision_se)
              $game_switches[834] = true
              $scene = Scene_Map.new

Sin embargo, no me activa el interruptor 834, es urgente. Solo me queda esto para finalizar la demo de mi juego... Si alguien me puede ayudar, x favor, se lo agradeceré mucho. Gracias :)

jlopez_96
Iniciado
Iniciado

0/3

Créditos 35

Gracias : 2

Volver arriba Ir abajo

Re: Crear menú nuevo ayuda

Mensaje por Wecoc el 2016-02-16, 18:20

Lo he probado y a mí me funciona (lo miré en Scene_Debug) así que no es culpa del script.
El interruptor 834 es un valor muy alto, quizá habiendo tantos te hayas liado y no sea ese el que hay que activar xD

Otra opción que tienes si no te funciona ni en Scene_Debug es llamar al evento común directamente.

Para eso se usa:

$game_temp.common_event_id = ID DEL EVENTO COMÚN

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

Re: Crear menú nuevo ayuda

Mensaje por jlopez_96 el 2016-02-16, 20:19

Muchas graciaas, ya funcionaa :)

De todas formas también he conseguido arreglarlo de otra forma, en el evento común,
en vez de poner proceso paralelo, he puesto automático y ya funciona.

Igualmente me servirá saber como se llama a un evento común desde script, graciaas! :))

jlopez_96
Iniciado
Iniciado

0/3

Créditos 35

Gracias : 2

Volver arriba Ir abajo

Re: Crear menú nuevo ayuda

Mensaje por Contenido patrocinado Hoy a las 15:40


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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