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.

The Script Support Shop

INTRO
Hey everyone! I've decided to help those who have script errors/problems by opening a shop. This is NOT for requesting battle systems, or any other huge systems. This is simply for small little scripts or for script support.

Bad Request:
h3y! can 1 hav an ultimate battl3 syst3m wi1th A compl3t1y chang3d menu PLZ!!!!

Good Request:
Hi! I'm having trouble trying to get it so that after every turn in battle, the actor SP is restored by 1. I'd greatly appreciate your help, thanks!


Shop Order

I'm only doing three requests at a time in the order they were asked. If you see my shop list filled with three, DO NOT request anything, as I will simply ignore your request. Thanks for understanding!

1) Vacant
2) Vacant
3) Vacant
 
Awesome, that's just what i need! ;)

I have this custom items menu i tried to make and edit myself. But i have a problem with it. When you select bag from the ring menu:

22926996.jpg


You get another ring where you can choose between different kind of items:

56364663.jpg


But as you can see this ringmenu is situated in the middle of the screen instead of the middle of the window.

A friend of mine has putted the main ring menu in the right way, but he forgot to do the same with te sub ring menu. i normally can fix these kind of errors pretty fast, but i can't find the cause for this one.

Here are the scripts that deal with the ringmenu and item menu:

http://www.rpgmakers.net/attachment.php?aid=13

http://www.rpgmakers.net/attachment.php?aid=14

http://www.rpgmakers.net/attachment.php?aid=15
 
Oh, just right now someone on another forum has helped me fix it (after a week of nobody respong lol). So my request is not needed anymore ^^ Still, thanks for doing this, it will help a lot of people!
 

Beorc

Member

I guess this would be a good place to ask...I'm using Juan J Sanchez's License Board script and want to be able to go to it from the menu. Do you know how I could do this?
 
Well, I finished your request, but next time, please provide everything that I need to complete the request, for example the script. Fortunately I was able to download a demo. But next time, please provide these things. As long as you don't have a custom menu, this should work, if you do, I'll have to change it around to allow compatibility. All you need to do is replace the old Scene_Menu with this:

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

# ** Scene_Menu

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

#  This class performs menu screen processing.

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

 

class Scene_Menu

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

  # * Object Initialization

  #     menu_index : command cursor's initial position

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

  def initialize(menu_index = 0)

    @menu_index = menu_index

  end

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

  # * Main Processing

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

  def main

    # Make command window

    s1 = $data_system.words.item

    s2 = $data_system.words.skill

    s3 = $data_system.words.equip

    s4 = "Status"

    s5 = "License Board"

    s6 = "Save"

    s7 = "End Game"

    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])

    @command_window.index = @menu_index

    @command_window.height = 225

    # If number of party members is 0

    if $game_party.actors.size == 0

      # Disable items, skills, equipment, and status

      @command_window.disable_item(0)

      @command_window.disable_item(1)

      @command_window.disable_item(2)

      @command_window.disable_item(3)

    end

    # If save is forbidden

    if $game_system.save_disabled

      # Disable save

      @command_window.disable_item(5)

    end

    # Make play time window

    @playtime_window = Window_PlayTime.new

    @playtime_window.x = 0

    @playtime_window.y = 224

    # Make steps window

    @steps_window = Window_Steps.new

    @steps_window.x = 0

    @steps_window.y = 320

    # Make gold window

    @gold_window = Window_Gold.new

    @gold_window.x = 0

    @gold_window.y = 416

    # Make status window

    @status_window = Window_MenuStatus.new

    @status_window.x = 160

    @status_window.y = 0

    # Execute transition

    Graphics.transition

    # Main loop

    loop do

      # Update game screen

      Graphics.update

      # Update input information

      Input.update

      # Frame update

      update

      # Abort loop if screen is changed

      if $scene != self

        break

      end

    end

    # Prepare for transition

    Graphics.freeze

    # Dispose of windows

    @command_window.dispose

    @playtime_window.dispose

    @steps_window.dispose

    @gold_window.dispose

    @status_window.dispose

  end

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

  # * Frame Update

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

  def update

    # Update windows

    @command_window.update

    @playtime_window.update

    @steps_window.update

    @gold_window.update

    @status_window.update

    # If command window is active: call update_command

    if @command_window.active

      update_command

      return

    end

    # If status window is active: call update_status

    if @status_window.active

      update_status

      return

    end

  end

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

  # * Frame Update (when command window is active)

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

  def update_command

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Switch to map screen

      $scene = Scene_Map.new

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      # If command other than save or end game, and party members = 0

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

        # Play buzzer SE

        $game_system.se_play($data_system.buzzer_se)

        return

      end

      # Branch by command window cursor position

      case @command_window.index

      when 0  # item

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Switch to item screen

        $scene = Scene_Item.new

      when 1  # skill

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Make status window active

        @command_window.active = false

        @status_window.active = true

        @status_window.index = 0

      when 2  # equipment

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Make status window active

        @command_window.active = false

        @status_window.active = true

        @status_window.index = 0

      when 3  # status

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Make status window active

        @command_window.active = false

        @status_window.active = true

        @status_window.index = 0

      when 4 # license board

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Show Board Select

        $scene = Scene_BoardSelect.new

      when 5  # save

        # If saving is forbidden

        if $game_system.save_disabled

          # Play buzzer SE

          $game_system.se_play($data_system.buzzer_se)

          return

        end

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Switch to save screen

        $scene = Scene_Save.new

      when 6  # end game

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Switch to end game screen

        $scene = Scene_End.new

      end

      return

    end

  end

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

  # * Frame Update (when status window is active)

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

  def update_status

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Make command window active

      @command_window.active = true

      @status_window.active = false

      @status_window.index = -1

      return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

      # Branch by command window cursor position

      case @command_window.index

      when 1  # skill

        # If this actor's action limit is 2 or more

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

          # Play buzzer SE

          $game_system.se_play($data_system.buzzer_se)

          return

        end

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Switch to skill screen

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

      when 2  # equipment

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Switch to equipment screen

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

      when 3  # status

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Switch to status screen

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

      end

      return

    end

  end

end
 

Beorc

Member

Sorry. I figured you'd notice it since it was at the top of the RPG Maker Scripts forum, but I suppose I should've pointed that out, at the least. Anyways, I tested it and found a rather odd glitch. When I enter the menu, the License Board option is there for a second, then vanishes shortly afterward. I'm using the Party Changer and Party Arrange scripts that add two options to the menu; I'm guessing those are what is causing the issue. Here they are.

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

# ** Party Changer (Main Menu)

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

#  Author: Dargor

#  Version 1.5

#  20/09/2007

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

# * Note

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

# - This script requires the Commands Manager version 1.2 or higher.

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

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

# ** Game_System

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

#  This class handles data surrounding the system. Backround music, etc.

#  is managed here as well. Refer to "$game_system" for the instance of 

#  this class.

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

 

class Game_System

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

  # * Public Instance Variables

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

  attr_accessor :party_disabled       # party menu forbidden

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

  # * Alias Listing

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

  alias dargor_party_commands_initialize initialize

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

  # * Object Initialization

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

  def initialize

    @party_disabled = false

    dargor_party_commands_initialize

  end

end

 

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

# ** Scene_Menu

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

#  This class performs menu screen processing.

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

class Scene_Menu

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

  # * Alias listing

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

  alias menu_party_set_commands_access set_commands_access

  alias menu_party_changer_update update

  alias menu_party_changer_update_command update_command

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

  # * Set Commands Access

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

  def set_commands_access

    # Call the original method

    menu_party_set_commands_access

    # Disable party command if $game_system.party_disabled is true

    if $game_system.party_disabled or $game_party.actors.size == 0 or 

        $game_temp.multiple_teams

      $game_system.party_disabled = true

      @command_window.disable_item("Party")

    end

  end

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

  # * Frame Update

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

  def update

    # Add the "Party" commande once

    @command_window.add_command("Party")

    # Set commands access

    set_commands_access

    # Call the original update method

    menu_party_changer_update

  end

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

  # * Frame Update (when command window is active)

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

  def update_command

    # Call the original update command method

    menu_party_changer_update_command

    # Assign @command_window.index to it strings

    command = @commands[@command_window.index]

    # If C button is pressed

    if Input.trigger?(Input::C)

      case command

      # When "Party" is selected

      when "Party"

        # If party command is disabled

        if $game_system.party_disabled

          # Play buzzer SE

          $game_system.se_play($data_system.buzzer_se)

          return

        end

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        args = $game_temp.menu_party_args

        $scene = Scene_Party.new(args[0],args[1],args[2],args[3],true)

      end

      return

    end

  end

end
Code:
 

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

# ** Party Arrange

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

#  Author: Dargor

#  Requested by: Chessplayer

#  Version 1.2

#  20/09/2007

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

# * Note

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

# - This script requires the Commands Manager script.

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

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

# ** Game_System

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

#  This class handles data surrounding the system. Backround music, etc.

#  is managed here as well. Refer to "$game_system" for the instance of 

#  this class.

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

 

class Game_System

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

  # * Public Instance Variables

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

  attr_accessor :arrange_disabled       # party menu forbidden

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

  # * Alias Listing

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

  alias dargor_arrange_commands_initialize initialize

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

  # * Object Initialization

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

  def initialize

    dargor_arrange_commands_initialize

    @arrange_disabled = false

  end

end

 

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

# ** Window_MenuStatus

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

#  This window displays party member status on the menu screen.

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

 

class Window_MenuStatus

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

  # * Refresh

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

  def refresh(where=nil)

    # Clear the window

    self.contents.clear

    # If an actor's position is changing, draw a dark grey rectangle

    if where != nil

      # Set the y position

      y = where*116

      # Set the rectangle color

      color = Color.new(65,65,65,200)

      # Draw the rectangle

      self.contents.fill_rect(0,y,480,96,color)

    end

    # Set the maximum number of actors in the party

    @item_max = $game_party.actors.size

    # Draw actors informations (above the rectangle)

    for i in 0...$game_party.actors.size

      x = 64

      y = i * 116

      actor = $game_party.actors[i]

      draw_actor_graphic(actor, x - 40, y + 80)

      draw_actor_name(actor, x, y)

      draw_actor_class(actor, x + 144, y)

      draw_actor_state(actor, x + 90, y + 32)

      draw_actor_hp(actor, x + 236, y + 32)

      draw_actor_sp(actor, x + 236, y + 64)

    end

  end

end

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

# ** Scene_Menu

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

#  This class performs menu screen processing.

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

 

class Scene_Menu

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

  # * Alias listing

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

  alias party_arrange_set_commands_access set_commands_access

  alias party_arrange_update update

  alias party_arrange_update_command update_command

  alias party_arrange_update_status update_status

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

  # * Set Commands Access

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

  def set_commands_access

    # Call the original method

    party_arrange_set_commands_access

    # Disable party command if $game_system.arrange_disabled is true

    if $game_system.arrange_disabled or $game_party.actors.size == 0

      @command_window.disable_item("Arrange")

    end

  end

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

  # * Frame Update

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

  def update

    # Add the "Party" commande once

    @command_window.add_command("Arrange")

    # Call the original update method

    party_arrange_update

  end

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

  # * Frame Update (when command window is active)

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

  def update_command

    # Call the original update command method

    party_arrange_update_command

    # Assign @command_window.index to it strings

    command = @commands[@command_window.index]

    # If C button is pressed

    if Input.trigger?(Input::C)

      case command

      # When "Party" is selected

      when "Arrange"

        # If party command is disabled

        if $game_system.arrange_disabled

          # Play buzzer SE

          $game_system.se_play($data_system.buzzer_se)

          return

        end

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        @checker = 0

        @command_window.active = false

        @status_window.active = true

        @status_window.index = 0

      end

      return

    end

  end

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

  # * Frame Update (when status window is active)

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

  def update_status

    # Call the original update status method

    party_arrange_update_status

    # Assign @command_window.index to it strings

    command = @commands[@command_window.index]

    # If B button is pressed

    if Input.trigger?(Input::B)

      @status_window.refresh

    end

    # If C button is pressed

    if Input.trigger?(Input::C)

      case command

      # When "Party" is selected

      when "Arrange"

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        if @checker == 0

          # If selected actor is not dead, prepare the changes, 

          # display a selection box

          unless $game_party.actors[@status_window.index].dead?

            @changer = $game_party.actors[@status_window.index]

            @where = @status_window.index

            @status_window.refresh(@where)

            $game_player.refresh

            @checker = 1

          else

            # Play buzzer SE

            $game_system.se_play($data_system.buzzer_se)

            return

          end

        else

          # If selected actor is not dead, change its position

          unless $game_party.actors[@status_window.index].dead?

            $game_party.actors[@where] = $game_party.actors[@status_window.index]

            $game_party.actors[@status_window.index] = @changer

            @checker = 0

            @status_window.refresh

            $game_player.refresh

          else

            # Play buzzer SE

            $game_system.se_play($data_system.buzzer_se)

            return

          end

        end

      end

      return

    end

  end

end
 
Well lol I actually already had a demo of the whole Dargor's party changer and this should be the order of all his scripts:

Interpreter Fix
Commands Manager
Party Changer
Party Changer (Main Menu)
Party Arranger
License Add-on (SCRIPT CODE BELOW)
Large Party


License Board Add-on script:
Code:
#==============================================================================

# ** Scene_Menu

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

#  This class performs menu screen processing.

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

 

class Scene_Menu

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

  # * Alias listing

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

  alias party_license_update update

  alias party_license_update_command update_command

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

  # * Frame Update

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

  def update

    # Add the "Party" commande once

    @command_window.add_command("License Board")

    # Call the original update method

    party_license_update

  end

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

  # * Frame Update (when command window is active)

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

  def update_command

    # Call the original update command method

    party_license_update_command

    # Assign @command_window.index to it strings

    command = @commands[@command_window.index]

    # If C button is pressed

    if Input.trigger?(Input::C)

      case command

      # When "Party" is selected

      when "License Board"

        # Play decision SE

        $game_system.se_play($data_system.decision_se)

        # Switch to License Board Scene

        $scene = Scene_BoardSelect.new        

      end

      return

    end

  end

end
 

Beorc

Member

Er...sorry for bothering you again, but I've looked everywhere else I can think of and still can't figure out what to do, so although I'll understand if you're busy, I would appreciate any help. I'm using the Tankentai battle system, which can be found here: http://www.rmxpunlimited.net/forums/ind ... owfile=205 (sorry that you have to sign up to download it, but it was the only place I could find it), Dargor's Party Changer, and Juan J Sanchez's License Board script, both of which I would guess that you have already from helping me before. :P

Anyways, the issue seems to be that the max party size is set to 12 in the License Board and Party Changer script (I haven't figured if it's one or both, specifically), but it's set to 4 in the Tankentai Config. What I wanted was 12 available party members, but only the front four are used in battle. Is this possible? It may not be, but I figure it's worth asking.

Also, I suppose I should mention the specific error I'm getting. It says "Script '* Sideview 2' line 2559: NoMethodError occurred. undefined method '[]' for nil:NilClass' about the third line in this section of code:

Code:
def base position

   base = ACTOR_POSITION[self_index]

   @base_position_x = base[0]

   @base_position_y = base[1]

   @base_position_x = 640 - base[0] if $back_attack and BACK_ATTACK_MIRROR

end
 
Oh uh hey! I never got word if my previous script helped you or not, but I guess it did lol!

Luckily, I'm already a member at rmxpunlimited, so I downloaded it right away!

So I put it all together, and I get the same error as you only if I DON'T set my party members before battle. If I do however, I can switch out easily during battle with my other members. Additionally, you also have to remove a couple lines in the "Large Party" script or else your battlers will be spread out across the screen. It's lines 90 to 141. Hope everything works out!
 

Beorc

Member

I'm not sure I understand...what do you mean by setting party members before battle? Also, I should mention that I'm using the CTB script, which eliminates being able to switch party members during battle, although I don't really mind that.
 

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