Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Binding Menu Script Together

Ok there is something that I need a Scripter to do. This menu I have does not show the gold so I was wondering if someone could take this part of a Menu_script
Code:
# Make gold window

    @gold_window = Window_Gold.new

    @gold_window.x = 480

    @gold_window.y = 64
And add it to this Script without it erroring
Code:
#===================================================

# ■ 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

#

# You can customize this script at line #35 - Have fun !!

# If you want to show more stuff, its easy to do, you can try to ask in the forum.

#

# [email=alex@dubealex.com]alex@dubealex.com[/email]

#===================================================

 

 

#===================================================

# ▼ CLASS Scene_Menu Begins

#===================================================

 

class Scene_Menu

#--------------------------------------------------------------------------

# پ? ?I?u?W?F?N?gڈ?????

#     menu_index : ?R?}???h??Jپ[?\??ڈ?????u

#--------------------------------------------------------------------------

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.

   # Remember that changing the font size has its limitation due to text space allocation.

   #

   # ▼ TEXT SETTINGS FOR SHOW PLAYER LOCATION WINDOW:

   $location_text[0]="Tahoma"      # Font Type

   $location_text[1]=22                # Font Size

   $location_text[2]=6                  # Location Title Color

   $location_text[4]=0                  # Map Name Color

   $location_text[3]="Location:"     # Customize the "Location" Title Text

 

   # ▼ 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_location_skin="001-Blue01"            # Window Skin

   @window_position[0]=20                             # X Axis Position

   @window_position[1]=20                             # Y Axis Position

   $window_size[0]=160                                  # Lengh

                                      # Heigh

 

   # ▼  TEXT SETTINGS FOR INSIDE THE RING MENU:

   $ring_menu_text[0]="Tahoma"      # Font Type

   $ring_menu_text[7]=0                  # Font Color

   $ring_menu_text[8]=22                # Font Size

   $ring_menu_text[1]="Items"         # Items Menu Text

   $ring_menu_text[2]="Skills"          # Skills Menu Text

   $ring_menu_text[3]="Equip"         # Equip Menu Text

   $ring_menu_text[4]="Stats"          # Stats Menu Text

   $ring_menu_text[5]="Save"          # Save Menu Text

   $ring_menu_text[6]="Quit"           # Quit Menu Text

 

   # ▼  CHARACTER SELECTION WINDOW SETTINGS :

   @chara_select[0]=400               # X Axis Position

   @chara_select[1]=0                  # Y Axis Position

   $chara_select[0]="Tahoma"       # 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

   $chara_select[4]="001-Blue01"  # Window Skin to use

  #--------------------------------------------------------------------------------------------------

 

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

 

  # ?X?v???C?g?Z?b?g??چ? ?

  @spriteset = Spriteset_Map.new

  # ?R?}???h?E?B???h?E??چ? ?

  px = $game_player.screen_x - 15

  py = $game_player.screen_y - 24

  @command_window = Window_RingMenu.new(px,py)

  @command_window.index = @menu_index

  # ?pپ[?e?B l ??? 0  l??ڈ?چ?

  if $game_party.actors.size == 0

    # ?A?C?e??پA?X?L??پA????پA?X?eپ[?^?X????????

    @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

  # ?Zپ[?u??~??ڈ?چ?

  if $game_system.save_disabled

    # ?Zپ[?u???????????

    @command_window.disable_item(4)

  end

  # ?X?eپ[?^?X?E?B???h?E??چ? ?

  @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

  # ?g?????W?V??????چs

  Graphics.transition

  # ?پ?C????پ[?v

  loop do

    # ?Qپ[???????چX V

    Graphics.update

    # ????ڈ?????چX V

    Input.update

    # ?t??پ[??چX V

    update

    # ????? ???????????پ[?v?????f

    if $scene != self

      break

    end

  end

  # ?g?????W?V????ڈ???

  Graphics.freeze

  # ?X?v???C?g?Z?b?g??????

  @spriteset.dispose

  # ?E?B???h?E??????

  if @show_location_window==true

  @window_location.dispose

  end

  @command_window.dispose

  @status_window.dispose

end

#--------------------------------------------------------------------------

# پ? ?t??پ[??چX V

#--------------------------------------------------------------------------

def update

  # ?E?B???h?E??چX V

  if @show_location_window==true

  @window_location.update

  end

  @command_window.update

  @status_window.update

  # ?R?}???h?E?B???h?E???A?N?e?B?u??ڈ?چ?: update_command ?????

  if @command_window.active

    update_command

    return

  end

  # ?X?eپ[?^?X?E?B???h?E???A?N?e?B?u??ڈ?چ?: update_status ?????

  if @status_window.active

    update_status

    return

  end

end

#--------------------------------------------------------------------------

# پ? ?t??پ[??چX V (?R?}???h?E?B???h?E???A?N?e?B?u??ڈ?چ?)

#--------------------------------------------------------------------------

def update_command

  # B ?{?^??????????ڈ?چ?

  if Input.trigger?(Input::B)

    # ?L?????Z?? SE ?????t

    $game_system.se_play($data_system.cancel_se)

    # ?}?b?v????? ?????

    $scene = Scene_Map.new

    return

  end

  # C ?{?^??????????ڈ?چ?

  if Input.trigger?(Input::C)

    # ?pپ[?e?B l ??? 0  l??پA?Zپ[?uپA?Qپ[??ڈI????O??R?}???h??ڈ?چ?

    if $game_party.actors.size == 0 and @command_window.index < 4

      # ?u?Uپ[ SE ?????t

      $game_system.se_play($data_system.buzzer_se)

      return

    end

    # ?R?}???h?E?B???h?E??Jپ[?\????u?????

    case @command_window.index

    when 0  # ?A?C?e??

      # ????  SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?A?C?e??????? ?????

      $scene = Scene_Item.new

    when 1  # ?X?L??

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?eپ[?^?X?E?B???h?E???A?N?e?B?u?????

      @command_window.active = false

      @status_window.active = true

      @status_window.visible = true

      @status_window.index = 0

    when 2  # ????

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?eپ[?^?X?E?B???h?E???A?N?e?B?u?????

      @command_window.active = false

      @status_window.active = true

      @status_window.visible = true

      @status_window.index = 0

    when 3  # ?X?eپ[?^?X

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?eپ[?^?X?E?B???h?E???A?N?e?B?u?????

      @command_window.active = false

      @status_window.active = true

      @status_window.visible = true

      @status_window.index = 0

    when 4  # ?Zپ[?u

      # ?Zپ[?u??~??ڈ?چ?

      if $game_system.save_disabled

        # ?u?Uپ[ SE ?????t

        $game_system.se_play($data_system.buzzer_se)

        return

      end

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?Zپ[?u????? ?????

      $scene = Scene_Save.new

    when 5  # ?Qپ[??ڈI??

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?Qپ[??ڈI??????? ?????

      $scene = Scene_End.new

    end

    return

  end

  # ?A?j?پپ[?V??????????Jپ[?\????ڈ?? ??چs?????

  return if @command_window.animation?

  # پ?orپ? ?{?^??????????ڈ?چ?

  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_MOVEL)

    return

  end

  # پ?orپ? ?{?^??????????ڈ?چ?

  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_MOVER)

    return

  end

end

#--------------------------------------------------------------------------

# پ? ?t??پ[??چX V (?X?eپ[?^?X?E?B???h?E???A?N?e?B?u??ڈ?چ?)

#--------------------------------------------------------------------------

def update_status

  # B ?{?^??????????ڈ?چ?

  if Input.trigger?(Input::B)

    # ?L?????Z?? SE ?????t

    $game_system.se_play($data_system.cancel_se)

    # ?R?}???h?E?B???h?E???A?N?e?B?u?????

    @command_window.active = true

    @status_window.active = false

    @status_window.visible = false

    @status_window.index = -1

    return

  end

  # C ?{?^??????????ڈ?چ?

  if Input.trigger?(Input::C)

    # ?R?}???h?E?B???h?E??Jپ[?\????u?????

    case @command_window.index

    when 1  # ?X?L??

      # ????A?N?^پ[??چs?? ????? 2 ??ڈ???ڈ?چ?

      if $game_party.actors[@status_window.index].restriction >= 2

        # ?u?Uپ[ SE ?????t

        $game_system.se_play($data_system.buzzer_se)

        return

      end

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?L??????? ?????

      $scene = Scene_Skill.new(@status_window.index)

    when 2  # ????

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ????????? ?????

      $scene = Scene_Equip.new(@status_window.index)

    when 3  # ?X?eپ[?^?X

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?eپ[?^?X????? ?????

      $scene = Scene_Status.new(@status_window.index)

    end

    return

  end

end

end

 

#===================================================

# ▲ CLASS Scene_Menu Ends

#===================================================

 

 

#===================================================

# ▼ CLASS Window_RingMenu  Begins

#===================================================

class Window_RingMenu < Window_Base

#--------------------------------------------------------------------------

# پ? ?N???X?? ?

#--------------------------------------------------------------------------

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_DISABLE= RPG::Cache.icon("")

SE_STARTUP = "056-Right02"

MODE_START = 1

MODE_WAIT  = 2

MODE_MOVER = 3

MODE_MOVEL = 4

#--------------------------------------------------------------------------

# پ? ?A?N?Z?T

#--------------------------------------------------------------------------

attr_accessor :index

#--------------------------------------------------------------------------

# پ? ?I?u?W?F?N?gڈ?????

#--------------------------------------------------------------------------

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]

  @commands = [ s1, s2, s3, s4, s5, s6 ]

  @item_max = 6

  @index = 0

  @items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT ]

  @disabled = [ 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.sin( d ) ).to_i

    y = @cy - ( r * Math.cos( 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.sin( d * j ) ).to_i

    y = @cy - ( RING_R * Math.cos( 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.sin( d ) ).to_i

    y = @cy - ( RING_R * Math.cos( 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_RingMenu Ends

#===================================================

 

 

#===================================================

# ▼ 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.windowskin = RPG::Cache.windowskin($chara_select[4])

  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 + 80)

    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 Window_RingMenuStatus Ends

#===================================================

 

 

#===================================================

# ▼ 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 Game_Map Additional Code Ends

#===================================================

 

 

#===================================================

# ▼ 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 Scene_Title Additional Code Ends

#===================================================

 

 

#===================================================

# ▼ 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.windowskin = RPG::Cache.windowskin($window_location_skin)

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

#===================================================

# ▲ CLASS Window_Location Ends

#===================================================

 

#===================================================

# ▲ Ring Menu - Show Player Location R1 - Ends

#===================================================

Thank you for reading this. Goodbye
 
Sure thing ill do it right now, it shouldnt be too hard.

Edit:

try this, if it doesnt work let me know and ill look at it again.

Code:
#===================================================

# ■ 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

#

# You can customize this script at line #35 - Have fun !!

# If you want to show more stuff, its easy to do, you can try to ask in the forum.

#

# [email=alex@dubealex.com]alex@dubealex.com[/email]

#===================================================

 

 

#===================================================

# ▼ CLASS Scene_Menu Begins

#===================================================

 

class Scene_Menu

#--------------------------------------------------------------------------

# پ? ?I?u?W?F?N?gڈ?????

#     menu_index : ?R?}???h??Jپ[?\??ڈ?????u

#--------------------------------------------------------------------------

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.

   # Remember that changing the font size has its limitation due to text space allocation.

   #

   # ▼ TEXT SETTINGS FOR SHOW PLAYER LOCATION WINDOW:

   $location_text[0]="Tahoma"      # Font Type

   $location_text[1]=22                # Font Size

   $location_text[2]=6                  # Location Title Color

   $location_text[4]=0                  # Map Name Color

   $location_text[3]="Location:"     # Customize the "Location" Title Text

 

   # ▼ 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_location_skin="001-Blue01"            # Window Skin

   @window_position[0]=20                             # X Axis Position

   @window_position[1]=20                             # Y Axis Position

   $window_size[0]=160                                  # Lengh

                                      # Heigh

 

   # ▼  TEXT SETTINGS FOR INSIDE THE RING MENU:

   $ring_menu_text[0]="Tahoma"      # Font Type

   $ring_menu_text[7]=0                  # Font Color

   $ring_menu_text[8]=22                # Font Size

   $ring_menu_text[1]="Items"         # Items Menu Text

   $ring_menu_text[2]="Skills"          # Skills Menu Text

   $ring_menu_text[3]="Equip"         # Equip Menu Text

   $ring_menu_text[4]="Stats"          # Stats Menu Text

   $ring_menu_text[5]="Save"          # Save Menu Text

   $ring_menu_text[6]="Quit"           # Quit Menu Text

 

   # ▼  CHARACTER SELECTION WINDOW SETTINGS :

   @chara_select[0]=400               # X Axis Position

   @chara_select[1]=0                  # Y Axis Position

   $chara_select[0]="Tahoma"       # 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

   $chara_select[4]="001-Blue01"  # Window Skin to use

  #--------------------------------------------------------------------------------------------------

 

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

 

# Make gold window

    @gold_window = Window_Gold.new

    @gold_window.x = 480

    @gold_window.y = 64

#end gold window

 

  # ?X?v???C?g?Z?b?g??چ? ?

  @spriteset = Spriteset_Map.new

  # ?R?}???h?E?B???h?E??چ? ?

  px = $game_player.screen_x - 15

  py = $game_player.screen_y - 24

  @command_window = Window_RingMenu.new(px,py)

  @command_window.index = @menu_index

  # ?pپ[?e?B l ??? 0  l??ڈ?چ?

  if $game_party.actors.size == 0

    # ?A?C?e??پA?X?L??پA????پA?X?eپ[?^?X????????

    @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

  # ?Zپ[?u??~??ڈ?چ?

  if $game_system.save_disabled

    # ?Zپ[?u???????????

    @command_window.disable_item(4)

  end

  # ?X?eپ[?^?X?E?B???h?E??چ? ?

  @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

  # ?g?????W?V??????چs

  Graphics.transition

  # ?پ?C????پ[?v

  loop do

    # ?Qپ[???????چX V

    Graphics.update

    # ????ڈ?????چX V

    Input.update

    # ?t??پ[??چX V

    update

    # ????? ???????????پ[?v?????f

    if $scene != self

      break

    end

  end

  # ?g?????W?V????ڈ???

  Graphics.freeze

  # ?X?v???C?g?Z?b?g??????

  @spriteset.dispose

  # ?E?B???h?E??????

  if @show_location_window==true

  @window_location.dispose

  end

  @command_window.dispose

  @status_window.dispose

  @gold_window.dispose

end

#--------------------------------------------------------------------------

# پ? ?t??پ[??چX V

#--------------------------------------------------------------------------

def update

  # ?E?B???h?E??چX V

  if @show_location_window==true

  @window_location.update

  end

  @gold_window.update

  @command_window.update

  @status_window.update

  # ?R?}???h?E?B???h?E???A?N?e?B?u??ڈ?چ?: update_command ?????

  if @command_window.active

    update_command

    return

  end

  # ?X?eپ[?^?X?E?B???h?E???A?N?e?B?u??ڈ?چ?: update_status ?????

  if @status_window.active

    update_status

    return

  end

end

#--------------------------------------------------------------------------

# پ? ?t??پ[??چX V (?R?}???h?E?B???h?E???A?N?e?B?u??ڈ?چ?)

#--------------------------------------------------------------------------

def update_command

  # B ?{?^??????????ڈ?چ?

  if Input.trigger?(Input::B)

    # ?L?????Z?? SE ?????t

    $game_system.se_play($data_system.cancel_se)

    # ?}?b?v????? ?????

    $scene = Scene_Map.new

    return

  end

  # C ?{?^??????????ڈ?چ?

  if Input.trigger?(Input::C)

    # ?pپ[?e?B l ??? 0  l??پA?Zپ[?uپA?Qپ[??ڈI????O??R?}???h??ڈ?چ?

    if $game_party.actors.size == 0 and @command_window.index < 4

      # ?u?Uپ[ SE ?????t

      $game_system.se_play($data_system.buzzer_se)

      return

    end

    # ?R?}???h?E?B???h?E??Jپ[?\????u?????

    case @command_window.index

    when 0  # ?A?C?e??

      # ????  SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?A?C?e??????? ?????

      $scene = Scene_Item.new

    when 1  # ?X?L??

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?eپ[?^?X?E?B???h?E???A?N?e?B?u?????

      @command_window.active = false

      @status_window.active = true

      @status_window.visible = true

      @status_window.index = 0

    when 2  # ????

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?eپ[?^?X?E?B???h?E???A?N?e?B?u?????

      @command_window.active = false

      @status_window.active = true

      @status_window.visible = true

      @status_window.index = 0

    when 3  # ?X?eپ[?^?X

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?eپ[?^?X?E?B???h?E???A?N?e?B?u?????

      @command_window.active = false

      @status_window.active = true

      @status_window.visible = true

      @status_window.index = 0

    when 4  # ?Zپ[?u

      # ?Zپ[?u??~??ڈ?چ?

      if $game_system.save_disabled

        # ?u?Uپ[ SE ?????t

        $game_system.se_play($data_system.buzzer_se)

        return

      end

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?Zپ[?u????? ?????

      $scene = Scene_Save.new

    when 5  # ?Qپ[??ڈI??

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?Qپ[??ڈI??????? ?????

      $scene = Scene_End.new

    end

    return

  end

  # ?A?j?پپ[?V??????????Jپ[?\????ڈ?? ??چs?????

  return if @command_window.animation?

  # پ?orپ? ?{?^??????????ڈ?چ?

  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_MOVEL)

    return

  end

  # پ?orپ? ?{?^??????????ڈ?چ?

  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_MOVER)

    return

  end

end

#--------------------------------------------------------------------------

# پ? ?t??پ[??چX V (?X?eپ[?^?X?E?B???h?E???A?N?e?B?u??ڈ?چ?)

#--------------------------------------------------------------------------

def update_status

  # B ?{?^??????????ڈ?چ?

  if Input.trigger?(Input::B)

    # ?L?????Z?? SE ?????t

    $game_system.se_play($data_system.cancel_se)

    # ?R?}???h?E?B???h?E???A?N?e?B?u?????

    @command_window.active = true

    @status_window.active = false

    @status_window.visible = false

    @status_window.index = -1

    return

  end

  # C ?{?^??????????ڈ?چ?

  if Input.trigger?(Input::C)

    # ?R?}???h?E?B???h?E??Jپ[?\????u?????

    case @command_window.index

    when 1  # ?X?L??

      # ????A?N?^پ[??چs?? ????? 2 ??ڈ???ڈ?چ?

      if $game_party.actors[@status_window.index].restriction >= 2

        # ?u?Uپ[ SE ?????t

        $game_system.se_play($data_system.buzzer_se)

        return

      end

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?L??????? ?????

      $scene = Scene_Skill.new(@status_window.index)

    when 2  # ????

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ????????? ?????

      $scene = Scene_Equip.new(@status_window.index)

    when 3  # ?X?eپ[?^?X

      # ???? SE ?????t

      $game_system.se_play($data_system.decision_se)

      # ?X?eپ[?^?X????? ?????

      $scene = Scene_Status.new(@status_window.index)

    end

    return

  end

end

end

 

#===================================================

# ▲ CLASS Scene_Menu Ends

#===================================================

 

 

#===================================================

# ▼ CLASS Window_RingMenu  Begins

#===================================================

class Window_RingMenu < Window_Base

#--------------------------------------------------------------------------

# پ? ?N???X?? ?

#--------------------------------------------------------------------------

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_DISABLE= RPG::Cache.icon("")

SE_STARTUP = "056-Right02"

MODE_START = 1

MODE_WAIT  = 2

MODE_MOVER = 3

MODE_MOVEL = 4

#--------------------------------------------------------------------------

# پ? ?A?N?Z?T

#--------------------------------------------------------------------------

attr_accessor :index

#--------------------------------------------------------------------------

# پ? ?I?u?W?F?N?gڈ?????

#--------------------------------------------------------------------------

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]

  @commands = [ s1, s2, s3, s4, s5, s6 ]

  @item_max = 6

  @index = 0

  @items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT ]

  @disabled = [ 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.sin( d ) ).to_i

    y = @cy - ( r * Math.cos( 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.sin( d * j ) ).to_i

    y = @cy - ( RING_R * Math.cos( 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.sin( d ) ).to_i

    y = @cy - ( RING_R * Math.cos( 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_RingMenu Ends

#===================================================

 

 

#===================================================

# ▼ 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.windowskin = RPG::Cache.windowskin($chara_select[4])

  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 + 80)

    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 Window_RingMenuStatus Ends

#===================================================

 

 

#===================================================

# ▼ 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 Game_Map Additional Code Ends

#===================================================

 

 

#===================================================

# ▼ 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 Scene_Title Additional Code Ends

#===================================================

 

 

#===================================================

# ▼ 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.windowskin = RPG::Cache.windowskin($window_location_skin)

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

#===================================================

# ▲ CLASS Window_Location Ends

#===================================================

 

#===================================================

# ▲ Ring Menu - Show Player Location R1 - Ends

#===================================================
 
No problem. Glad i could help, the ring menu used to be the first CMS i used, so i was allways customizing it, specialy to get it to work with Sephs materia script xD.


Well gald it works :thumb:
 
YES! I had this exact problem. I thought that I was going to have to trash the whole idea until I came across this. Thanx "LegacyX"! I would add that you want to also add this lil' snippet...
@gold_window.dispose
on down the "Ring_Menu" code around line 159ish right after....
@status_window.dispose
or the gold_window will get stuck and not erase.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top