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.

Cozziekuns' Status Screen

From

Member

Hello guys, asking for help for a small change :grin:
This script changes the status window, and with the keys Q and W will change character..
But how do I change these two keys with others at will?
I can not find the piece of code :blank:

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

        #

        # Cozziekuns' Status Screen

        # Last Date Updated: 4/10/2010

        #

        # A status screen. A nice looking one at that.

        #

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

        # Updates

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

        # o 05/03/10 - Started Script.

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

        # What's to come?

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

        # o I dunno. You tell me!

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

        # Instructions

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

        # To install this script, open up your script editor and copy/paste this script

        # to an open slot below ? Materials but above ? Main. Remember to save. You can

        # edit the modules as you wish.

        #

        # The background images should be of size 544 * 416. When importing a background

        # image, import it to the folder Graphics/Pictures. The name of the actor should

        # be on the name of the file, followed by _bg.

        #

        # Example: Raven_bg

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

 

        module COZZIEKUNS

         

          BACKGROUND_OPACITY = 100

         

          HP_ICON = 99

          MP_ICON = 100

          EXP_ICON = 98

          LEVEL_ICON = 62

          ATTACK_ICON = 26

          DEFENSE_ICON = 52

          SPIRIT_ICON = 20

          AGILITY_ICON = 49

         

          CLASS_ICONS ={

                    0 => 0,

                    1 => 16,

                    2 => 32,

                    3 => 21,

                    4 => 8,

              }

          BIOGRAPHIES ={

              # Actor => Biography

                    0 => "I like pie.",

                    1 => "Our average hero who hails|from a family that lives in|poverty.",

                    2 => "Our hero's best friend, but|sometimes worst rival. Can|be irrational at times.",

                    3 => "Our 3rd hero, a magician|with a nice personality,|and has powerful skills|to boot.",

                    4 => "Our 4th hero, a thief|shrouded in mystery. Not|much is known about Sora,|except she's damn pro.",

              }

          end

           

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

        # ** Game_Actor

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

        #  This class handles actors. It's used within the Game_Actors class

        # ($game_actors) and referenced by the Game_Party class ($game_party).

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

 

        class Game_Actor < Game_Battler

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

          # * Get Experience String

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

          def exp_s

            return @exp_list[@level+1] > 0 ? @exp : 1

          end

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

          # * Get String for Next Level Experience

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

          def next_exp_s

            return @exp_list[@level+1] > 0 ? @exp_list[@level+1] : 1

          end

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

          # * Get String for Experience to Next Level

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

          def next_rest_exp_s

            return @exp_list[@level+1] > 0 ?

              (@exp_list[@level+1] - @exp) : 1

          end

        end

         

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

        # ** Scene_Status

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

        #  This class performs the status screen processing.

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

 

        class Scene_Status < Scene_Base

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

          # * Start processing

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

          alias coz_start start

          def start

            coz_start

            @bio_window = Window_Biography.new(@actor)

            @statushelp_window = Window_StatusHelp.new(0, 356)

          end

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

          # * Termination Processing

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

          alias coz_terminate terminate

          def terminate

            coz_terminate

            @bio_window.dispose

            @statushelp_window.dispose

          end

        end

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

        # ** Window_Base

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

        #  This is a superclass of all windows in the game.

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

 

        class Window_Base < Window

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

          # * Get Exp Gauge Colour 1

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

          def exp_gauge_colour1

            return text_color(7)

          end

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

          # * Get Exp Gauge Colour 2

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

          def exp_gauge_colour2

            return text_color(8)

          end

        end

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

        # ** Window_Status

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

        #  This window displays full status specs on the status screen.

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

 

        class Window_Status < Window_Base

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

          # * Refresh

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

          def refresh

            self.contents.clear

            @hp_icon = COZZIEKUNS::HP_ICON

            @mp_icon = COZZIEKUNS::MP_ICON

            @exp_icon = COZZIEKUNS::EXP_ICON

            @level_icon = COZZIEKUNS::LEVEL_ICON

            @atk_icon = COZZIEKUNS::ATTACK_ICON

            @def_icon = COZZIEKUNS::DEFENSE_ICON

            @spi_icon = COZZIEKUNS::SPIRIT_ICON

            @agi_icon = COZZIEKUNS::AGILITY_ICON

            draw_actor_back(@actor, 0, 0)

            draw_actor_name(@actor, 4, 0)

            draw_actor_class(@actor, 160, 0)

            draw_icon(62, 128, 32)

            draw_icon(98, 128, WLH * 3 + 32)

            draw_icon(99, 128, WLH + 32)

            draw_icon(100, 128, WLH * 2 + 32)

            draw_icon(26, 320, 33)

            draw_icon(52, 320, 33 + WLH + 1)

            draw_icon(20, 320, 33 + WLH * 2 + 2)

            draw_icon(49, 320, 33 + WLH * 3 + 3)

            if COZZIEKUNS::CLASS_ICONS.include?(@actor.id)

              @icon_number = COZZIEKUNS::CLASS_ICONS[@actor.id]

            else

              @icon_number = COZZIEKUNS::CLASS_ICONS[0]

            end

            draw_icon(@icon_number, 128, 0)

            draw_actor_face(@actor, 8, 32)

            draw_basic_info(160, 32)

            draw_parameters(352, 32)

            draw_actor_tnl(@actor, 160, WLH * 3 + 32)

            draw_equipments(288, 154)

            self.contents.font.color = system_color

            self.contents.draw_text(320, 0, 80, WLH, "Status:", 0)

          end

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

          # * Draw Basic Information

          #     x : Draw spot X coordinate

          #     y : Draw spot Y coordinate

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

          def draw_basic_info(x, y)

            draw_actor_level(@actor, x, y + WLH * 0)

            draw_actor_state(@actor, 400, 0)

            draw_actor_hp(@actor, x, y + WLH * 1)

            draw_actor_mp(@actor, x, y + WLH * 2)

          end

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

          # * Draw Actor Back

          #     actor : the actor you want

          #     x     : draw spot x-coordinate

          #     y     : draw spot y-coordinate

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

          def draw_actor_back(actor, x, y)

            @rect_height = 416

            @background_opacity = COZZIEKUNS::BACKGROUND_OPACITY

            bitmap = Cache.picture(actor.name + "_bg")

            rect = Rect.new(0, 0, 0, 0)

            rect.x = 0

            rect.y = 0

            rect.width = 544

            rect.height = @rect_height

            self.contents.blt(x, y, bitmap, rect, @background_opacity)

            bitmap.dispose

          end

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

          # * Draw Equipment

          #     x : Draw spot X coordinate

          #     y : Draw spot Y coordinate

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

          def draw_equipments(x, y)

            self.contents.font.color = system_color

            self.contents.draw_text(x, y, 120, WLH, Vocab::equip + "s:")

            for i in 0..4

              draw_item_name(@actor.equips[i], x + 16, y + 11 + WLH * (i + 1))

            end

          end

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

          # * Draw TNL (To next level)

          #     actor : actor

          #     x     : draw spot x-coordinate

          #     y     : draw spot y-coordinate

          #     width : Width

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

          def draw_actor_tnl(actor, x, y, width = 120)

            draw_actor_tnl_gauge(actor, x, y, width)

            self.contents.font.color = system_color

            self.contents.draw_text(x, y, 30, WLH, "E")

            self.contents.font.color = hp_color(actor)

            last_font_size = self.contents.font.size

            xr = x + width

            if width < 120

              self.contents.draw_text(xr - 44, y, 44, WLH, actor.exp_s, 2)

            else

              self.contents.draw_text(xr - 99, y, 44, WLH, actor.exp_s, 2)

              self.contents.font.color = normal_color

              self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)

              self.contents.draw_text(xr - 44, y, 44, WLH, actor.next_exp_s, 2)

            end

          end

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

          # * Draw TNL gauge

          #     actor : actor

          #     x     : draw spot x-coordinate

          #     y     : draw spot y-coordinate

          #     width : Width

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

          def draw_actor_tnl_gauge(actor, x, y, width = 120)

            gw = width * actor.exp_s / actor.next_exp_s

            gc1 = exp_gauge_colour1

            gc2 = exp_gauge_colour2

            self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)

            self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)

          end

        end

 

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

        # ** Window_Biography

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

        #  Basically what Yanfly did. Kudos to you, Yanfly.

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

 

        class Window_Biography < Window_Base

         

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

          # * Initalize

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

          def initialize(actor)

            super(0, 154, 288, 416)

            @actor = actor

            self.opacity = 0

            refresh

          end

         

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

          # * Refresh

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

          def refresh

            self.contents.clear

            self.contents.font.color = system_color

            self.contents.draw_text(4, 0, 284, WLH, "Biography:", 0)

            self.contents.font.color = normal_color

            self.contents.font.size = 20

            y = 32

            txsize = 24

            nwidth = 284

            if COZZIEKUNS::BIOGRAPHIES.include?(@actor.id)

              text = COZZIEKUNS::BIOGRAPHIES[@actor.id]

            else

              text = COZZIEKUNS::BIOGRAPHIES[0]

            end

            buf = text.gsub(/\\\\N(\\[\\d+\\])/i) { "\\\\__#{$1}" }

            lines = buf.split(/(?:[|]|\\\\n)/i)

            lines.each_with_index { |l, i|

              l.gsub!(/\\\\__(\\[\\d+\\])/i) { "\\\\N#{$1}" }

              self.contents.draw_text(4, i * txsize + y, nwidth, WLH, l, 0)

            }

          end

        end

 

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

        # ** Window_Status_Help

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

        #  Helps you out, I guess...

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

 

        class Window_StatusHelp < Window_Base

         

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

          # * Initalize

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

          def initialize(x, y)

            super(x, y, 544, 60)

            refresh

          end

         

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

          # * Refresh

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

          def refresh

           self.contents.draw_text(4, 0, 544, WLH, "Press Q and W to switch characters. Press X to exit.")

          end

        end

Thanks ^^
 
Q = (Input::L)
W = (Input::R)

and...

A = (Input::X)
S = (Input::Y)
D = (Input::Z)
Z = (Input::A)
X = (Input::B)
C = (Input::C)

I don't see any input processing in the script you posted, so that must be handled somewhere else.
 
Well, the script aliases a few methods from the original status scene, and probably leaves the rest untouched. Therefore, it uses the default input L for previous actor, and R for next actor. Personally, that's what I'm used to, so I'd mind if you would change the default there, because it would seem as there is no such function implemented.
If you're personally unhappy with how the buttons are mapped, remember you can bring up a key mapping menu at runtime by pressing F1.

Of course, if you still want to edit it, you need the section from the default Scene_Status, and exchange the input there.
 

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