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.

Vampire : The Masquerade Character Sheet

Status
Not open for further replies.
Vampire : The Masquerade Character Sheet
Version: 2.0
By: LudicusMaximus aka Ludicus

Introduction

Remember those pen'n'paper RPG games,where every character had all his abilities written on a sheet of paper?This is what this Status Scene emulates,but with Vampire:The Masquerade stats.It can be easily modified.
This is currently only for 3 actors,but it can be easily modified with a little scripting knowledge.

Demo

Screenshots

Capture.png

23mk40y.png
Script

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

# ** (V:TM)Character Sheet

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

# by Ludicus Maximus aka Ludicus aka Qwerty234

# Version 1.0

# 16 June 2009

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

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

# 

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

# Notes:

# 

# -Is obviously not compatible with other Custom Stat Scenes,but can be probably

#    worked around. 

# -The script needs minor scripting knowledges to be properly set up (if you 

#    don't want an Vampire:The Masquerade Character Sheet, use more than 3

#    actors or want other stats)

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

#

# Credits and Thanks:

# 

# -God,for creating life

# -White Wolf

# -Me,aka Ludicus Maximus/Ludicus/Qwerty234.

# -Ccoa,for her window tutorial,and the defaul scripts,which taught me basically

#    all I know about RGSS. 

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

#Please give credit to me when using this script,preferably as Ludicus Maximus

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

 

 

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

#Adds more methods in Window_Base

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

 

class Window_Base

 

  #This will obviously draw the item name,but without the icon,is used in 

  # Equip_Window

  def draw_item_name_only(item, x, y)

    if item == nil

      return

    end 

   self.contents.font.color = crisis_color

   self.contents.draw_text(x + 28, y, 212, 32, item.name)

   self.contents.font.color = normal_color

 end

 

        #This will draw an face,is used in Sprite_Window

def draw_actor_face(actor, x, y)

    bitmap = RPG::Cache.picture("Face/" + actor.character_name)

    self.contents.blt(x, y, bitmap, Rect.new(0,0,96,96))

  end 

 

end

 

 

 

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

# ** Actor_Info

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

#  This window displays the actor's info (name, clan(class), generation

#(a variable)

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

 

 

 

class Actor_Info < Window_Base

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

  # * Object Initialization

  #     actor : actor

  #     class : class

  #     generation

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

  def initialize(actor)

    super(0, 0, 156, 130)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    refresh

    end

 

 

 

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

  # * Refresh

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

  def refresh

    

    self.contents.clear    

    self.contents.draw_text(0, 0, 50, 32, "Name: ")

    draw_actor_name(@actor, 57,0)

    self.contents.draw_text(0, 36, 50, 32, "Clan: ")

    draw_actor_class(@actor, 56,36)

    self.contents.draw_text(0, 72, 50, 32, "Gen: ")

   

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

#   START GENERATION EDIT

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

if @actor.index == 0  #if actor index is 1,aka the first actor in the database

  self.contents.draw_text(56, 72, 50, 32, $game_variables[1].to_s)

    elsif @actor.index == 1 # if actor index is 2

     self.contents.draw_text(56, 72, 50, 32, $game_variables[2].to_s)

   elsif @actor.index == 3  #If actor index is 3

       self.contents.draw_text(56, 72, 50, 32, $game_variables[3].to_s)

       #And so on and so on...

       #Copy-paste if you need more actors.

     end #if

     end #def

 

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

# END NAME WINDOW

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

     

end #class

 

 

 

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

# ** Physical_Window

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

#  This window displays physical stats (strength,dexterity,stamina)

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

 

class Physical_Window < Window_Base

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

  # * Object Initialization

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

 

 def initialize(actor)

    super(0, 60, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

  refresh

    end

 

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

  # * Refresh

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

 

def refresh

    self.contents.clear    

    self.contents.draw_text(0, 0, 50, 32, "STR: ")      

    self.contents.draw_text(0, 22, 50, 32, "DEX: ")

    self.contents.draw_text(0, 44, 50, 32, "STA: ")

    #Insert in the brackets the variable for each actor's STR

    @str_a1 = $game_variables [4] # <- for actor 1's strength it's variable 4

    @str_a2 = $game_variables [5]

    @str_a3 = $game_variables [6]

    if @actor.index == 0

      self.contents.draw_text(52, 0, 50, 32, @str_a1.to_s)

      self.contents.font.color = normal_color

     elsif @actor.index == 1

          self.contents.draw_text(52, 0, 50, 32, @str_a2.to_s)

      self.contents.font.color = normal_color

         elsif @actor.index == 2

           self.contents.draw_text(52, 0, 50, 32, @str_a3.to_s)

      self.contents.font.color = normal_color

        end

        self.contents.font.color = disabled_color

        self.contents.draw_text(72, 0, 50, 32, '/5')

        self.contents.font.color = normal_color

    #Insert in the brackets the variable for each actor's STR

    @dex_a1 = $game_variables [7] # <- for actor 1's dexterity it's variable 7  

    @dex_a2 = $game_variables [8]

    @dex_a3 = $game_variables [9]

    if @actor.index == 0

      self.contents.draw_text(52, 22, 50, 32, @dex_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(52, 22, 50, 32, @dex_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(52, 22, 50, 32, @dex_a3.to_s)

       end

       self.contents.font.color = disabled_color

        self.contents.draw_text(72, 22, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's STA

    @sta_a1 = $game_variables [10] # <- for actor 1's stamina it's variable 10

    @sta_a2 = $game_variables [11]

    @sta_a3 = $game_variables [12]

    if @actor.index == 0

      self.contents.draw_text(52, 44, 50, 32, @sta_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(52, 44, 50, 32, @sta_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(52, 44, 50, 32, @sta_a3.to_s)

        end   

        self.contents.font.color = disabled_color

        self.contents.draw_text(72, 44, 50, 32, '/5')

        self.contents.font.color = normal_color

    end

 

 

  end

  

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

# ** Social_Window

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

#  This window displays social stats (charisma,manipulation,appearance)

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

 

class Social_Window < Window_Base

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

  # * Object Initialization

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

 

 def initialize(actor)

    super(0, 123, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.draw_text(0, 0, 50, 32, "CHA: ")      

    self.contents.draw_text(0, 22, 50, 32, "MAN: ")

    self.contents.draw_text(0, 44, 50, 32, "APP: ")

    @actor = actor

    refresh

    end

 

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

  # * Refresh

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

 

def refresh

    #Insert in the brackets the variable for each actor's CHA

    @cha_a1 = $game_variables [13] # <- for actor 1's charisma it's variable 13

    @cha_a2 = $game_variables [14]

    @cha_a3 = $game_variables [15]

    if @actor.index == 0

      self.contents.draw_text(52, 0, 50, 32, @cha_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(52, 0, 50, 32, @cha_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(52, 0, 50, 32, @cha_a3.to_s)

        end

        self.contents.font.color = disabled_color

        self.contents.draw_text(72, 0, 50, 32, '/5')

        self.contents.font.color = normal_color

    #Insert in the brackets the variable for each actor's MAN

    @man_a1 = $game_variables [16] # <- for actor 1's manipulation it's variable 16  

    @man_a2 = $game_variables [17]

    @man_a3 = $game_variables [18]

    if @actor.index == 0

      self.contents.draw_text(52, 22, 50, 32, @man_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(52, 22, 50, 32, @man_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(52, 22, 50, 32, @man_a3.to_s)

       end

       self.contents.font.color = disabled_color

        self.contents.draw_text(72, 22, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's APP

    @app_a1 = $game_variables [19] # <- for actor 1's appearance it's variable 19

    @app_a2 = $game_variables [20]

    @app_a3 = $game_variables [21]

    if @actor.index == 0

      self.contents.draw_text(52, 44, 50, 32, @app_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(52, 44, 50, 32, @app_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(52, 44, 50, 32, @app_a3.to_s)

        end   

        self.contents.font.color = disabled_color

        self.contents.draw_text(72, 44, 50, 32, '/5')

        self.contents.font.color = normal_color

    end

 

  end

 

  

  

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

# ** Mental_Window

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

#  This window displays mental stats (perception,intelligence,wits)

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

 

class Mental_Window < Window_Base

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

  # * Object Initialization

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

 

 def initialize(actor)

    super(0, 173, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.draw_text(0, 0, 50, 32, "PER: ")      

    self.contents.draw_text(0, 22, 50, 32, "INT: ")

    self.contents.draw_text(0, 44, 50, 32, "WTS: ")

    @actor = actor

    refresh

    end

 

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

  # * Refresh

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

 

def refresh

    #Insert in the brackets the variable for each actor's PER

    @per_a1 = $game_variables [22] # <- for actor 1's perception it's variable 22

    @per_a2 = $game_variables [23]

    @per_a3 = $game_variables [24]

    if @actor.index == 0

      self.contents.draw_text(52, 0, 50, 32, @per_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(52, 0, 50, 32, @per_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(52, 0, 50, 32, @per_a3.to_s)

        end

        self.contents.font.color = disabled_color

        self.contents.draw_text(72, 0, 50, 32, '/5')

        self.contents.font.color = normal_color

    #Insert in the brackets the variable for each actor's INT

    @int_a1 = $game_variables [25] # <- for actor 1's intelligence it's variable 25  

    @int_a2 = $game_variables [26]

    @int_a3 = $game_variables [27]

    if @actor.index == 0

      self.contents.draw_text(52, 22, 50, 32, @int_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(52, 22, 50, 32, @int_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(52, 22, 50, 32, @int_a3.to_s)

       end

       self.contents.font.color = disabled_color

        self.contents.draw_text(72, 22, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's WTS

    @wts_a1 = $game_variables [28] # <- for actor 1's wits it's variable 28

    @wts_a2 = $game_variables [29]

    @wts_a3 = $game_variables [30]

    if @actor.index == 0

      self.contents.draw_text(52, 44, 50, 32, @wts_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(52, 44, 50, 32, @wts_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(52, 44, 50, 32, @wts_a3.to_s)

        end   

        self.contents.font.color = disabled_color

        self.contents.draw_text(72, 44, 50, 32, '/5')

        self.contents.font.color = normal_color

    end

 

  end

 

  

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

# ** Humanity_Window

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

#  This window displays the Humanity stat

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

 

class Humanity_Window < Window_Base

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

  # * Object Initialization

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

 

 def initialize(actor)

    super(426, 0, 156, 55)

    self.contents = Bitmap.new(width - 32, height - 32)    

    self.contents.draw_text(0, 0, 80, 24, "Humanity: ")

    @actor = actor

    refresh

    end

 

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

  # * Refresh

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

 

def refresh

#Insert in the brackets the variable for each actor's hum

    @hum_a1 = $game_variables [31] # <- for actor 1's humanity it's variable 31

    @hum_a2 = $game_variables [32]

    @hum_a3 = $game_variables [33]

    if @actor.index == 0

      self.contents.draw_text(70, 0, 50, 25, @hum_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(70, 0, 50, 25, @hum_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(70, 0, 50, 25, @hum_a3.to_s)

        end   

        self.contents.font.color = disabled_color

        self.contents.draw_text(90, 0, 50, 25, '/10')

        self.contents.font.color = normal_color

        end

 

 

  end

 

  

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

# ** Abilities_Header

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

#  This window is a header for everything in the right part of the screen

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

 

class Abilities_Header < Window_Base

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

  # * Object Initialization

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

 

 def initialize()

    super(152, 0, 487, 55)

    self.contents = Bitmap.new(width - 32, height - 32)

    refresh

 end

 

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

  # * Refresh

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

  

    def refresh

      self.contents.clear    

      self.contents.draw_text(193, 0, 150, 24, "ABILITIES")

         

    end

 

 

  end

 

  

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

# ** Talents_Header

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

#  This window is a header for the Talents Window

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

 

class Talents_Header < Window_Base

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

  # * Object Initialization

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

 

 def initialize()

    super(142, 38, 170, 89)

    self.contents = Bitmap.new(width - 32, height - 32)

    refresh

 end

 

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

  # * Refresh

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

  

    def refresh

      self.contents.clear    

      self.contents.draw_text(15, 15, 150, 24, "TALENTS")

         

    end

 

 

  end

 

  

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

# ** Skills_Header

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

#  This window is a header for the Skills Window

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

 

class Skills_Header < Window_Base

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

  # * Object Initialization

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

 

 def initialize()

    super(182, 208, 170, 89)

    self.contents = Bitmap.new(width - 32, height - 32)

    refresh

 end

 

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

  # * Refresh

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

  

    def refresh

      self.contents.clear    

      self.contents.draw_text(18, 15, 150, 24, "SKILLS")

         

    end

 

 

  end

 

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

# ** Knowledges_Header

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

#  This window is a header for the Knowledges window 

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

 

class Knowledges_Header < Window_Base

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

  # * Object Initialization

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

 

 def initialize()

    super(322, 278, 148, 89)

    self.contents = Bitmap.new(width - 32, height - 32)

    refresh

 end

 

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

  # * Refresh

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

  

    def refresh

      self.contents.clear    

      self.contents.draw_text(0, 15, 120, 24, "KNOWLEDGES")

         

    end

 

 

  end

 

  

  

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

# ** Talents_Window

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

#  This window displays the actor's Talents stats (strength,dexterity,stamina)

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

 

class Talents_Window < Window_Base

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

  # * Object Initialization

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

 

 def initialize(actor)

    super(155, 142, 170, 200)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    

self.contents.draw_text(0, 0, 65, 32, "Alertness: ")      

    self.contents.draw_text(0, 22, 60, 32, "Brawl: ")

    self.contents.draw_text(0, 44, 60, 32, "Dodge: ")

    self.contents.draw_text(0, 66, 70, 32, "Expression: ")

    self.contents.draw_text(0, 88, 75, 32, "Intimidation: ")

    self.contents.draw_text(0, 110, 75, 32, "Subterfuge: ") 

    @actor = actor

    refresh

 end

 

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

  # * Refresh

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

  

    def refresh

    @alrt_a1 = $game_variables [34] # <- for actor 1's alertness it's variable 34

    @alrt_a2 = $game_variables [35]

    @alrt_a3 = $game_variables [36]

    if @actor.index == 0

      self.contents.draw_text(72, 0, 50, 32, @alrt_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(72, 0, 50, 32, @alrt_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(72, 0, 50, 32, @alrt_a3.to_s)

        end #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(92, 0, 50, 32, '/5')

        self.contents.font.color = normal_color

    #Insert in the brackets the variable for each actor's Brawl

    @brw_a1 = $game_variables [37] # <- for actor 1's brawl it's variable 37  

    @brw_a2 = $game_variables [38]

    @brw_a3 = $game_variables [39]

    if @actor.index == 0

      self.contents.draw_text(72, 22, 50, 32, @brw_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(72, 22, 50, 32, @brw_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(72, 22, 50, 32, @brw_a3.to_s)

       end #if

       self.contents.font.color = disabled_color

        self.contents.draw_text(92, 22, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's dodge

    @ddg_a1 = $game_variables [40] # <- for actor 1's dodge it's variable 40

    @ddg_a2 = $game_variables [41]

    @ddg_a3 = $game_variables [42]

    if @actor.index == 0

      self.contents.draw_text(72, 44, 50, 32, @ddg_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(72, 44, 50, 32, @ddg_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(72, 44, 50, 32, @ddg_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(92, 44, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's expression

    @xpr_a1 = $game_variables [43] # <- for actor 1's expression it's variable 43

    @xpr_a2 = $game_variables [44]

    @xpr_a3 = $game_variables [45]

    if @actor.index == 0

      self.contents.draw_text(72, 66, 50, 32, @xpr_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(72, 66, 50, 32, @xpr_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(72, 66, 50, 32, @xpr_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(92, 66, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's intimidation

    @itmd_a1 = $game_variables [46] # <- for actor 1's intimidation it's variable 46

    @itmd_a2 = $game_variables [47]

    @itmd_a3 = $game_variables [48]

    if @actor.index == 0

      self.contents.draw_text(72, 88, 50, 32, @itmd_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(72, 88, 50, 32, @itmd_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(72, 88, 50, 32, @itmd_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(92, 88, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's subterfuge

    @subt_a1 = $game_variables [49] # <- for actor 1's subterfuge it's variable 49

    @subt_a2 = $game_variables [50]

    @subt_a3 = $game_variables [51]

    if @actor.index == 0

      self.contents.draw_text(72, 110, 50, 32, @subt_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(72, 110, 50, 32, @subt_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(72, 110, 50, 32, @subt_a3.to_s)

        end   #If

        self.contents.font.color = disabled_color

        self.contents.draw_text(92, 110, 50, 32, '/5')

        self.contents.font.color = normal_color

    end#def

         

    end#class

 

 

 # end

 

 

 

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

# ** Skills_Window

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

#  This window displays physical stats (strength,dexterity,stamina)

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

 

class Skills_Window < Window_Base

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

  # * Object Initialization

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

 

 def initialize(actor)

    super(324, 142, 170, 200)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 85, 32, "Animal Ken: ")

    self.contents.draw_text(0, 22, 63, 32, "Crafts: ")

    self.contents.draw_text(0, 44, 70, 32, "Etiquette: ")

    self.contents.draw_text(0, 66, 60, 32, "Melee: ")

    self.contents.draw_text(0, 88, 80, 32, "Performance: ")

    self.contents.draw_text(0, 110, 85, 32, "Stealth: ")

    @actor = actor

    refresh

 end

 

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

  # * Refresh

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

  

    def refresh

    @ank_a1 = $game_variables [52] # <- for actor 1's animal ken it's variable 52

    @ank_a2 = $game_variables [53]

    @ank_a3 = $game_variables [54]

    if @actor.index == 0

      self.contents.draw_text(80, 0, 50, 32, @ank_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 0, 50, 32, @ank_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 0, 50, 32, @ank_a3.to_s)

        end #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 0, 50, 32, '/5')

        self.contents.font.color = normal_color

    #Insert in the brackets the variable for each actor's crafts

    @crf_a1 = $game_variables [55] # <- for actor 1's crafts it's variable 55  

    @crf_a2 = $game_variables [56]

    @crf_a3 = $game_variables [57]

    if @actor.index == 0

      self.contents.draw_text(80, 22, 50, 32, @crf_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 22, 50, 32, @crf_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 22, 50, 32, @crf_a3.to_s)

       end #if

       self.contents.font.color = disabled_color

        self.contents.draw_text(102, 22, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's etiquette

    @etq_a1 = $game_variables [58] # <- for actor 1's etiquette it's variable 60

    @etq_a2 = $game_variables [59]

    @etq_a3 = $game_variables [60]

    if @actor.index == 0

      self.contents.draw_text(80, 44, 50, 32, @etq_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 44, 50, 32, @etq_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 44, 50, 32, @etq_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 44, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's melee

    @mel_a1 = $game_variables [61] # <- for actor 1's melee it's variable 61

    @mel_a2 = $game_variables [62]

    @mel_a3 = $game_variables [63]

    if @actor.index == 0

      self.contents.draw_text(80, 66, 50, 32, @mel_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 66, 50, 32, @mel_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 66, 50, 32, @mel_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 66, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's performace

    @perf_a1 = $game_variables [64] # <- for actor 1's performance it's variable 64

    @perf_a2 = $game_variables [65]

    @perf_a3 = $game_variables [66]

    if @actor.index == 0

      self.contents.draw_text(80, 88, 50, 32, @perf_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 88, 50, 32, @perf_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 88, 50, 32, @perf_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 88, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's stealth

    @sth_a1 = $game_variables [67] # <- for actor 1's stealth it's variable 67

    @sth_a2 = $game_variables [68]

    @sth_a3 = $game_variables [69]

    if @actor.index == 0

      self.contents.draw_text(80, 110, 50, 32, @sth_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 110, 50, 32, @sth_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 110, 50, 32, @sth_a3.to_s)

        end   #If

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 110, 50, 32, '/5')

        self.contents.font.color = normal_color

    end

 

 

  end

 

  

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

# ** Knowledges_Window

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

#  This window displays physical stats (strength,dexterity,stamina)

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

 

class Knowledges_Window < Window_Base

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

  # * Object Initialization

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

 

 def initialize(actor)

    super(493, 142, 148, 200)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 85, 32, "Academics: ")

    self.contents.draw_text(0, 22, 63, 32, "Finance: ")

    self.contents.draw_text(0, 44, 85, 32, "Investigation: ")

    self.contents.draw_text(0, 66, 60, 32, "Law: ")

    self.contents.draw_text(0, 88, 80, 32, "Medicine: ")

    self.contents.draw_text(0, 110, 70, 32, "Occult: ")

    @actor = actor

    refresh

 end

 

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

  # * Refresh

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

  

    def refresh

    @aca_a1 = $game_variables [70] # <- for actor 1's academics it's variable 70

    @aca_a2 = $game_variables [71]

    @aca_a3 = $game_variables [72]

    if @actor.index == 0

      self.contents.draw_text(80, 0, 50, 32, @aca_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 0, 50, 32, @aca_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 0, 50, 32, @aca_a3.to_s)

        end #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 0, 50, 32, '/5')

        self.contents.font.color = normal_color

    #Insert in the brackets the variable for each actor's finances

    @fin_a1 = $game_variables [73] # <- for actor 1's finance it's variable 73  

    @fin_a2 = $game_variables [74]

    @fin_a3 = $game_variables [75]

    if @actor.index == 0

      self.contents.draw_text(80, 22, 50, 32, @fin_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 22, 50, 32, @fin_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 22, 50, 32, @fin_a3.to_s)

       end #if

       self.contents.font.color = disabled_color

        self.contents.draw_text(102, 22, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's investigation

    @inv_a1 = $game_variables [76] # <- for actor 1's investigation it's variable 76

    @inv_a2 = $game_variables [77]

    @inv_a3 = $game_variables [78]

    if @actor.index == 0

      self.contents.draw_text(80, 44, 50, 32, @inv_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 44, 50, 32, @inv_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 44, 50, 32, @inv_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 44, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's law

    @law_a1 = $game_variables [79] # <- for actor 1's law it's variable 79

    @law_a2 = $game_variables [80]

    @law_a3 = $game_variables [81]

    if @actor.index == 0

      self.contents.draw_text(80, 66, 50, 32, @law_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 66, 50, 32, @law_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 66, 50, 32, @law_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 66, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's medicine

    @med_a1 = $game_variables [82] # <- for actor 1's medicine it's variable 82

    @med_a2 = $game_variables [83]

    @med_a3 = $game_variables [84]

    if @actor.index == 0

      self.contents.draw_text(80, 88, 50, 32, @med_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 88, 50, 32, @med_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 88, 50, 32, @med_a3.to_s)

        end   #if

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 88, 50, 32, '/5')

        self.contents.font.color = normal_color

        #Insert in the brackets the variable for each actor's occult

    @occ_a1 = $game_variables [85] # <- for actor 1's occult it's variable 85

    @occ_a2 = $game_variables [86]

    @occ_a3 = $game_variables [87]

    if @actor.index == 0

      self.contents.draw_text(80, 110, 50, 32, @occ_a1.to_s)

     elsif @actor.index == 1

        self.contents.draw_text(80, 110, 50, 32, @occ_a2.to_s)

         elsif @actor.index == 2

          self.contents.draw_text(80, 110, 50, 32, @occ_a3.to_s)

        end   #If

        self.contents.font.color = disabled_color

        self.contents.draw_text(102, 110, 50, 32, '/5')

        self.contents.font.color = normal_color

    end

 

  end

 

  

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

# ** Equip_Window

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

#  This window displays what the actor has equipped(minus the icons)

#  If you want to show the icons change @icons to true

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

 

 

 

class Equip_Window < Window_Base

def initialize(actor)

super(155,341,341,139)

self.contents = Bitmap.new(width - 32, height - 32)

self.contents.font.name = "Arial"

@actor = actor

@icons = false

refresh

end

 

 

 

 

            def refresh

self.contents.clear

 

   self.contents.font.size = 15

   self.contents.draw_text(0,5,70,22,"Weapon:")

   draw_item_name_only($data_weapons[@actor.weapon_id], 25, 0)

   self.contents.draw_text(0,25,70,22,"Shield:")

   draw_item_name_only($data_armors[@actor.armor1_id],25,20)

   self.contents.draw_text(0,45,70,22,"Helmet:")

   draw_item_name_only($data_armors[@actor.armor2_id],25,40)

   self.contents.draw_text(0,65,70,22,"Armor:")

   draw_item_name_only($data_armors[@actor.armor3_id],25,60)

   self.contents.draw_text(0,85,70,22,"Acc. :")

   draw_item_name_only($data_armors[@actor.armor4_id],25,60)

 

     end

end

 

 

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

# ** Sprite_Window

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

#  This window displays the actor's sprite

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

 

class Sprite_Window < Window_Base

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

  # * Object Initialization

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

 

 def initialize(actor)

    super(495, 341, 186, 139)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    refresh

 end

 

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

  # * Refresh

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

  

    def refresh

      self.contents.clear

      draw_actor_graphic (@actor , 55, 69)

      end

 

  end

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

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

# ** Character_Sheet

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

#  This class is the bone of the Character Sheet.

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

 

class Scene_Status

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

  # * Object Initialization

  #     actor_index : actor index

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

  def initialize(actor_index = 0, equip_index = 0)

    @actor_index = actor_index

  end

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

  # * Main Processing

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

  def main

    # Get actor

    @actor = $game_party.actors[@actor_index]

    # Make status window

    @status_window = Actor_Info.new(@actor)

    @status_window.x = 0

    @status_window.y = 0

    @physical_window = Physical_Window.new(@actor)

    @physical_window.x = 0

    @physical_window.y = 129

    @social_window = Social_Window.new(@actor)

    @social_window.x = 0

    @social_window.y = 228

    @mental_window = Mental_Window.new(@actor)

    @mental_window.x = 0

    @mental_window.y = 327

    @humanity_window = Humanity_Window.new(@actor)

    @humanity_window.x = 0

    @humanity_window.y = 426

    @abilities = Abilities_Header.new    

    @abilities.x = 155

    @abilities.y = 0

    @talents = Talents_Header.new

    @talents.x = 155

    @talents.y = 54

    @skills = Skills_Header.new

    @skills.x = 324

    @skills.y = 54

    @knowledges = Knowledges_Header.new

    @knowledges.x = 493

    @knowledges.y = 54

    @talents_win = Talents_Window.new(@actor)

    @skills_win = Skills_Window.new(@actor)

    @knowledges_win = Knowledges_Window.new(@actor)

    @equip = Equip_Window.new(@actor)

    @sprite_window = Sprite_Window.new(@actor)

    # 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

    @status_window.dispose

    @physical_window.dispose

    @social_window.dispose

    @mental_window.dispose

    @humanity_window.dispose

    @abilities.dispose

    @talents.dispose

    @skills.dispose

    @knowledges.dispose

    @talents_win.dispose

    @skills_win.dispose

    @knowledges_win.dispose

    @equip.dispose

    @sprite_window.dispose

  end

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

  # * Frame Update

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

  def update

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Switch to menu screen

      $scene = Scene_Menu.new(3)

      return

    end

    # If R button was pressed

    if Input.trigger?(Input::R)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To next actor

      @actor_index += 1

      @actor_index %= $game_party.actors.size

      # Switch to different status screen

      $scene = Scene_Status.new(@actor_index)

      return

    end

    # If L button was pressed

    if Input.trigger?(Input::L)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To previous actor

      @actor_index += $game_party.actors.size - 1

      @actor_index %= $game_party.actors.size

      # Switch to different status screen

      $scene = Scene_Status.new(@actor_index)

      return

    end

  end

end

 

 

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

# ** (V:TM)Character Sheet

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

# by Ludicus Maximus aka Ludicus

# Version 1.0

# 16 June 2009

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

# Version 2.0 (1062 lines -> 884 lines)

# 29 August 2009 

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

# Instructions: 

#  The script is plug and play, although in-game you have to call:

#    $game_actors[ACTOR_ID].STAT = NUMBER

#  You can also subtract (instead of STAT = NUMBER it's STAT -= NUMBER)

#                    add (instead of STAT = NUMBER it's STAT += NUMBER)

#  The stats are those that are written in the beginning of the script, after

#  'attr_accessor   :' .

#  Now, for example, you want the first character in the database to have 3 wits,

#  the second to have 2 MORE charisma and the third to have 2 LESS brawl.

#  In game you woud call script&#058;

#"  $game_actors[1].wits = 3

#   $game_actors[2].charisma += 2

#   $game_actors[3].brawl -= 2  "

# (without the quotes, of course). To verify a stat, call script in Conditional 

#   Branch: " $game_actors[WHATEVER].STAT == X"

#  Instead of "==" you can have "<" (Less than), ">"(Greater than), ">="(Greater or

#   equal to), or "<=" (Less than or equal to) or "!=" (Not equal to)          

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

# Notes:

# -Is obviously not compatible with other Custom Stat Scenes,but can be probably

#    worked around. 

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

# Credits and Thanks:

# 

# -White Wolf

# -Me,aka Ludicus Maximus/Ludicus.

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

#Please give credit to me when using this script,preferably as Ludicus Maximus

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

class Game_Actor

  

  attr_accessor  :generation

  attr_accessor  :humanity

  attr_accessor  :strength

  attr_accessor  :dexterity

  attr_accessor  :stamina

  attr_accessor  :charisma

  attr_accessor  :manipulation

  attr_accessor  :appearance

  attr_accessor  :perception

  attr_accessor  :intelligence

  attr_accessor  :wits

  attr_accessor  :alertness

  attr_accessor  :brawl

  attr_accessor  :dodge

  attr_accessor  :expression

  attr_accessor  :intimidation

  attr_accessor  :subterfuge

  attr_accessor  :animalken

  attr_accessor  :crafts

  attr_accessor  :etiquette 

  attr_accessor  :melee

  attr_accessor  :performance

  attr_accessor  :stealth  

  attr_accessor  :academics

  attr_accessor  :finance

  attr_accessor  :investigation

  attr_accessor  :law

  attr_accessor  :medicine

  attr_accessor  :occult

  attr_accessor  :willpower

  attr_accessor  :conscience

  attr_accessor  :selfcontrol

  

  alias charascript_setup setup

  

  def setup(actor_id)

    charascript_setup(actor_id)

    @generation       = 0

    @humanity         = 0

    @strength         = 0

    @dexterity        = 0

    @stamina          = 0

    @charisma         = 0

    @manipulation     = 0

    @appearance       = 0

    @perception       = 0

    @intelligence     = 0

    @wits             = 0

    @alertness        = 0

    @brawl            = 0

    @dodge            = 0

    @expression       = 0

    @intimidation     = 0

    @subterfuge       = 0

    @animalken        = 0

    @crafts           = 0

    @etiquette        = 0

    @melee            = 0

    @performance      = 0

    @stealth          = 0

    @academics        = 0

    @finance          = 0

    @investigation    = 0

    @law              = 0

    @medicine         = 0

    @occult           = 0

    @willpower        = 0

    @conscience       = 0

    @selfcontrol      = 0

  end

  def generation

    return @generation 

  end

  def generation=(gen)

   @generation = gen

  end

  def humanity

    return @humanity

  end

  def humanity=(hum)

   @humanity = hum

  end

  def strength

    return @strength

  end

  def strength=(str)

   @strength = str

  end

  def dexterity

    return @dexterity 

  end

  def dexterity=(dex)

    @dexterity = dex

  end

  def stamina

    return @stamina 

  end

  def stamina=(sta)

    @stamina = sta

  end

  def charisma

    return @charisma

  end

  def charisma=(cha)

    @charisma = cha

  end

  def manipulation

    return @manipulation 

  end

  def manipulation=(man)

    @manipulation = man

  end

  def appearance

    return @appearance

  end

  def appearance=(app)

    @appearance = app

  end

  def perception

    return @perception 

  end

  def perception=(per)

    @perception = per

  end

  def intelligence

    return @intelligence 

  end

  def intelligence=(int)

    @intelligence = int

  end

  def wits

    return @wits 

  end

  def wits=(wts)

    @wits = wts

  end

  def alertness

    return @alertness

  end

  def alertness=(arlt)

    @alertness = arlt

  end

  def brawl

    return @brawl 

  end

  def brawl=(brw)

    @brawl = brw

  end

  def dodge

    return @dodge 

  end

  def dodge=(ddg)

    @dodge = ddg

  end

  def expression

    return @expression 

  end

  def expression=(expr)

    @expression = expr

  end

  def intimidation

    return @intimidation

  end

  def intimidation=(intm)

    @intimidation = intm

  end

  def subterfuge

    return @subterfuge

  end

  def subterfuge=(subt)

    @subterfuge = subt

  end

  def animalken

    return @animalken 

  end

  def animalken=(ank)

    @animaken = ank

  end

  def crafts

    return @crafts

  end

  def crafts=(crft)

    @crafts = crft

  end

  def etiquette

    return @etiquette

  end

  def etiquette=(etq)

    @etiquette = etq

  end

  def melee

    return @melee 

  end

  def melee=(mle)

    @melee = mle

  end

  def performance 

    return @performance 

  end

  def performance=(prfr)

    @performance = prfr

  end

  def stealth

   return @stealth 

  end

  def stealth=(sthl)

    @stealth = sthl

  end

  def academics 

    return @academics 

  end

  def academics=(acdm)

    @academics = acdm

  end

  def finance

    return @finance 

  end

  def finance=(fnc)

    @finance = fnc

  end

  def investigation

    return @investigation

  end

  def investigation=(invst)

    @investigation = invst

  end

  def law

    return @law 

  end

  def law=(lw)

    @law = lw

  end

  def medicine

    return @medicine 

  end

  def medicine=(mdc)

    @medicine = mdc

  end

  def occult

    return @occult 

  end

  def occult=(oclt)

    @occult = oclt

  end

  def willpower

    return @willpower

  end

  def willpower=(wlpr)

    @willpower = wlpr

  end

  def conscience

    return @conscience

  end

  def conscience=(consc)

    @conscience = consc

  end

  def selfcontrol 

    return @selfcontrol

  end

  def selfcontrol=(slfctrl)

    @selfcontrol = slfctrl

  end

end

 

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

#Adds more methods in Window_Base

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

class Window_Base

 

  #This will obviously draw the item name,but without the icon,is used in 

  # Equip_Window

  def draw_item_name_only(item, x, y)

    if item == nil

      return

    end 

   self.contents.font.color = crisis_color

   self.contents.draw_text(x + 28, y, 212, 32, item.name)

   self.contents.font.color = normal_color

 end

 

end

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

# ** Actor_Info

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

#  This window displays the actor's info (name, clan(class), generation

#

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

class Actor_Info < Window_Base

 

  def initialize(actor)

    super(0, 0, 156, 130)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    self.contents.clear    

    self.contents.draw_text(0, 0, 50, 32, "Name: ")

    draw_actor_name(@actor, 57,0)

    self.contents.draw_text(0, 36, 50, 32, "Clan: ")

    draw_actor_class(@actor, 56,36)

    self.contents.draw_text(0, 72, 50, 32, "Gen: ")

    self.contents.draw_text(56, 72, 50, 32, @actor.generation.to_s)

  end #def

    

   end #class

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

# ** Physical_Window

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

#  This window displays physical stats (strength,dexterity,stamina)

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

class Physical_Window < Window_Base

 

  def initialize(actor)

    super(0, 60, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    self.contents.clear    

    self.contents.draw_text(0, 0, 50, 32, "STR: ")      

    self.contents.draw_text(0, 22, 50, 32, "DEX: ")

    self.contents.draw_text(0, 44, 50, 32, "STA: ")

    self.contents.draw_text(52, 0, 50, 32, @actor.strength.to_s)

    self.contents.font.color = normal_color

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 22, 50, 32, @actor.dexterity.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 44, 50, 32, @actor.stamina.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

  end

 

end

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

# ** Social_Window

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

#  This window displays social stats (charisma,manipulation,appearance)

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

class Social_Window < Window_Base

 

  def initialize(actor)

    super(0, 123, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.draw_text(0, 0, 50, 32, "CHA: ")      

    self.contents.draw_text(0, 22, 50, 32, "MAN: ")

    self.contents.draw_text(0, 44, 50, 32, "APP: ")

    @actor = actor

    self.contents.draw_text(52, 0, 50, 32, @actor.charisma.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 22, 50, 32, @actor.manipulation.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 44, 50, 32, @actor.appearance.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

  end

 

end

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

# ** Mental_Window

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

#  This window displays mental stats (perception,intelligence,wits)

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

class Mental_Window < Window_Base

 

  def initialize(actor)

    super(0, 173, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.draw_text(0, 0, 50, 32, "PER: ")      

    self.contents.draw_text(0, 22, 50, 32, "INT: ")

    self.contents.draw_text(0, 44, 50, 32, "WTS: ")

    @actor = actor

    self.contents.draw_text(52, 0, 50, 32, @actor.perception.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 22, 50, 32, @actor.intelligence.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 44, 50, 32, @actor.wits.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

   end

 

  end

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

# ** Humanity_Window

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

#  This window displays the Humanity stat

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

class Humanity_Window < Window_Base

 

  def initialize(actor)

    super(426, 0, 156, 55)

    self.contents = Bitmap.new(width - 32, height - 32)    

    self.contents.draw_text(0, 0, 80, 24, "Humanity: ")

    @actor = actor

    self.contents.draw_text(70, 0, 50, 25, @actor.humanity.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(90, 0, 50, 25, '/10')

    self.contents.font.color = normal_color

    end

 

  end

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

# ** Talents_Window

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

class Talents_Window < Window_Base

 

  def initialize(actor)

    super(155, 105, 170, 165)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 65, 32, "Alertness: ")      

    self.contents.draw_text(0, 22, 60, 32, "Brawl: ")

    self.contents.draw_text(0, 44, 60, 32, "Dodge: ")

    self.contents.draw_text(0, 66, 70, 32, "Expression: ")

    self.contents.draw_text(0, 88, 75, 32, "Intimidation: ")

    self.contents.draw_text(0, 110, 75, 32, "Subterfuge: ") 

    @actor = actor

    self.contents.draw_text(72, 0, 50, 32, @actor.alertness.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 22, 50, 32, @actor.brawl.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 44, 50, 32, @actor.dodge.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 66, 50, 32, @actor.expression.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 66, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 88, 50, 32, @actor.intimidation.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 88, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 110, 50, 32, @actor.subterfuge.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 110, 50, 32, '/5')

    self.contents.font.color = normal_color

  end

         

end

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

# ** Self-Control_Window

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

class Selfcontrol_Window < Window_Base

 

  def initialize(actor)

    super(155, 269, 170, 73)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 95, 32, "Self-Control: ")

    @actor = actor

    self.contents.draw_text(85, 0, 50, 32, @actor.selfcontrol.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 0, 50, 32, '/5')

  end#def

 

end

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

# ** Skills_Window

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

class Skills_Window < Window_Base

 

  def initialize(actor)

    super(324, 105, 170, 165)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 85, 32, "Animal Ken: ")

    self.contents.draw_text(0, 22, 63, 32, "Crafts: ")

    self.contents.draw_text(0, 44, 70, 32, "Etiquette: ")

    self.contents.draw_text(0, 66, 60, 32, "Melee: ")

    self.contents.draw_text(0, 88, 90, 32, "Performance: ")

    self.contents.draw_text(0, 110, 85, 32, "Stealth: ")

    @actor = actor

    self.contents.draw_text(79, 0, 50, 32, @actor.animalken.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 22, 50, 32, @actor.crafts.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 44, 50, 32, @actor.etiquette.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 66, 50, 32, @actor.melee.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 66, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 88, 50, 32, @actor.performance.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 88, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 110, 50, 32, @actor.stealth.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 110, 50, 32, '/5')

    self.contents.font.color = normal_color

    end#def

 

  end

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

# ** Conscience_Window

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

class Conscience_Window < Window_Base

 

  def initialize(actor)

    super(324, 269, 170, 73)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 95, 32, "Conscience: ")

    @actor = actor

    self.contents.draw_text(85, 0, 50, 32, @actor.conscience.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 0, 50, 32, '/5')

  end#def

 

end

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

# ** Knowledges_Window

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

class Knowledges_Window < Window_Base

 

  def initialize(actor)

    super(493, 105, 148, 165)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 85, 32, "Academics: ")

    self.contents.draw_text(0, 22, 63, 32, "Finance: ")

    self.contents.draw_text(0, 44, 85, 32, "Investigation: ")

    self.contents.draw_text(0, 66, 60, 32, "Law: ")

    self.contents.draw_text(0, 88, 80, 32, "Medicine: ")

    self.contents.draw_text(0, 110, 70, 32, "Occult: ")

    @actor = actor

    self.contents.draw_text(85, 0, 50, 32, @actor.academics.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 22, 50, 32, @actor.finance.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 44, 50, 32, @actor.investigation.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 66, 50, 32, @actor.law.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 66, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 88, 50, 32, @actor.medicine.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 88, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 110, 50, 32, @actor.occult.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 110, 50, 32, '/5')

    self.contents.font.color = normal_color

  end#def

 

end

 

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

# ** Willpower_Window

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

class Willpower_Window < Window_Base

 

  def initialize(actor)

    super(493, 269, 148, 73)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 85, 32, "Willpower: ")

    @actor = actor

    self.contents.draw_text(85, 0, 50, 32, @actor.willpower.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 0, 50, 32, '/5')

  end#def

 

end

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

# ** Abilities_Header

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

#  This window is a header for everything in the right part of the screen

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

class Abilities_Header < Window_Base

 

  def initialize()

    super(152, 0, 487, 55)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.clear    

    self.contents.draw_text(193, 0, 150, 24, "ABILITIES")

 end

 

  end

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

# ** Talents_Header

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

#  This window is a header for the Talents Window

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

class Talents_Header < Window_Base

 

  def initialize()

    super(142, 38, 170, 52)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.clear    

    self.contents.draw_text(15, 0, 150, 24, "TALENTS")

  end

    

end

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

# ** Skills_Header

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

#  This window is a header for the Skills Window

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

class Skills_Header < Window_Base

 

  def initialize()

    super(182, 208, 170, 52)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.clear    

    self.contents.draw_text(18, 0, 150, 24, "SKILLS")   

  end

 

  end

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

# ** Knowledges_Header

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

#  This window is a header for the Knowledges window 

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

class Knowledges_Header < Window_Base

 

  def initialize()

    super(322, 278, 148, 52)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.clear    

    self.contents.draw_text(0, 0, 120, 24, "KNOWLEDGES")         

  end

 

  end

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

# ** Equip_Window

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

#  This window displays what the actor has equipped(minus the icons)

#  If you want to show the icons change @icons to true

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

class Equip_Window < Window_Base

 

  def initialize(actor)

   super(155,341,339,139)

   self.contents = Bitmap.new(width - 32, height - 32)

   self.contents.font.name = "Arial"

   @actor = actor

   @icons = false

   self.contents.clear

   self.contents.font.size = 15

   self.contents.draw_text(0,5,70,22,"Weapon:")

    if @icons 

      draw_item_name_icon($data_weapons[@actor.weapon_id], 25, 0)

    else

      draw_item_name_only($data_weapons[@actor.weapon_id], 25, 0)

    end

   self.contents.draw_text(0,25,70,22,"Shield:")

    if @icons

     draw_item_name_icon($data_armors[@actor.armor1_id],25,20)

    else

     draw_item_name_only($data_armors[@actor.armor1_id],25,20)

    end

   self.contents.draw_text(0,45,70,22,"Helmet:")

    if @icons

     draw_item_name_icon($data_armors[@actor.armor2_id],25,40)

    else

     draw_item_name_only($data_armors[@actor.armor2_id],25,40)

    end

   self.contents.draw_text(0,65,70,22,"Armor:")

     if @icons

      draw_item_name_icon($data_armors[@actor.armor3_id],25,60)

     else

      draw_item_name_only($data_armors[@actor.armor3_id],25,60)

     end

      self.contents.draw_text(0,85,70,22,"Acc. :")

     if @icons

      draw_item_name_icon($data_armors[@actor.armor4_id],25,60)

     else

      draw_item_name_only($data_armors[@actor.armor4_id],25,60)

     end

  end

end

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

# ** Sprite_Window

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

#  This window displays the actor's sprite

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

class Sprite_Window < Window_Base

 

  def initialize(actor)

    super(493, 341, 148, 139)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    self.contents.clear

    draw_actor_graphic (@actor , 55, 69)

  end

    

  end

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

# ** Character_Sheet

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

#  This class is the bone of the Character Sheet.

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

class Scene_Status

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

  # * Object Initialization

  #     actor_index : actor index

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

  def initialize(actor_index = 0, equip_index = 0)

    @actor_index = actor_index

  end

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

  # * Main Processing

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

  def main

    # Get actor

    @actor = $game_party.actors[@actor_index]

    # Make status window

    @status_window = Actor_Info.new(@actor)

    @status_window.x = 0

    @status_window.y = 0

    @physical_window = Physical_Window.new(@actor)

    @physical_window.x = 0

    @physical_window.y = 129

    @social_window = Social_Window.new(@actor)

    @social_window.x = 0

    @social_window.y = 228

    @mental_window = Mental_Window.new(@actor)

    @mental_window.x = 0

    @mental_window.y = 327

    @humanity_window = Humanity_Window.new(@actor)

    @humanity_window.x = 0

    @humanity_window.y = 426

    @abilities = Abilities_Header.new    

    @abilities.x = 155

    @abilities.y = 0

    @talents = Talents_Header.new

    @talents.x = 155

    @talents.y = 54

    @skills = Skills_Header.new

    @skills.x = 324

    @skills.y = 54

    @knowledges = Knowledges_Header.new

    @knowledges.x = 493

    @knowledges.y = 54

    @talents_win = Talents_Window.new(@actor)

    @skills_win = Skills_Window.new(@actor)

    @knowledges_win = Knowledges_Window.new(@actor)

    @equip = Equip_Window.new(@actor)

    @sprite_window = Sprite_Window.new(@actor)

    @willpower_window = Willpower_Window.new(@actor)

    @conscience_window = Conscience_Window.new(@actor)

    @slfctrl_window = Selfcontrol_Window.new(@actor)

    # 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

    @status_window.dispose

    @physical_window.dispose

    @social_window.dispose

    @mental_window.dispose

    @humanity_window.dispose

    @abilities.dispose

    @talents.dispose

    @skills.dispose

    @knowledges.dispose

    @talents_win.dispose

    @skills_win.dispose

    @knowledges_win.dispose

    @equip.dispose

    @sprite_window.dispose

    @willpower_window.dispose

    @conscience_window.dispose

    @slfctrl_window.dispose

  end

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

  # * Frame Update

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

  def update

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Switch to menu screen

      $scene = Scene_Menu.new(3)

      return

    end

    # If R button was pressed

    if Input.trigger?(Input::R)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To next actor

      @actor_index += 1

      @actor_index %= $game_party.actors.size

      # Switch to different status screen

      $scene = Scene_Status.new(@actor_index)

      return

    end

    # If L button was pressed

    if Input.trigger?(Input::L)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To previous actor

      @actor_index += $game_party.actors.size - 1

      @actor_index %= $game_party.actors.size

      # Switch to different status screen

      $scene = Scene_Status.new(@actor_index)

      return

    end

  end

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

# ** (V:TM)Character Sheet

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

# by Ludicus Maximus aka Ludicus

# Version 1.0

# 16 June 2009

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

# Version 2.0 (1062 lines -> 884 lines)

# 29 August 2009 

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

# Version 2.1 (884 lines -> 679 lines)

# 31 August 2009

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

# Instructions: 

#  The script is plug and play, although in-game you have to call:

#    $game_actors[ACTOR_ID].STAT = NUMBER

#  You can also subtract (instead of STAT = NUMBER it's STAT -= NUMBER)

#                    add (instead of STAT = NUMBER it's STAT += NUMBER)

#  The stats are those that are written in the beginning of the script, after

#  'attr_accessor   :' .

#  Now, for example, you want the first character in the database to have 3 wits,

#  the second to have 2 MORE charisma and the third to have 2 LESS brawl.

#  In game you woud call script&#058;

#"  $game_actors[1].wits = 3

#   $game_actors[2].charisma += 2

#   $game_actors[3].brawl -= 2  "

# (without the quotes, of course). To verify a stat, call script in Conditional 

#   Branch: " $game_actors[WHATEVER].STAT == X"

#  Instead of "==" you can have "<" (Less than), ">"(Greater than), ">="(Greater or

#   equal to), or "<=" (Less than or equal to) or "!=" (Not equal to)          

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

# Notes:

# -Is obviously not compatible with other Custom Stat Scenes,but can be probably

#    worked around. 

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

# Credits and Thanks:

# 

# -White Wolf

# -Me,aka Ludicus Maximus/Ludicus

# 

# Special thanks to Kain Nobel

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

#Please give credit to me when using this script,preferably as Ludicus Maximus

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

class Game_Actor

  

  attr_accessor  :generation

  attr_accessor  :humanity

  attr_accessor  :strength

  attr_accessor  :dexterity

  attr_accessor  :stamina

  attr_accessor  :charisma

  attr_accessor  :manipulation

  attr_accessor  :appearance

  attr_accessor  :perception

  attr_accessor  :intelligence

  attr_accessor  :wits

  attr_accessor  :alertness

  attr_accessor  :brawl

  attr_accessor  :dodge

  attr_accessor  :expression

  attr_accessor  :intimidation

  attr_accessor  :subterfuge

  attr_accessor  :animalken

  attr_accessor  :crafts

  attr_accessor  :etiquette 

  attr_accessor  :melee

  attr_accessor  :performance

  attr_accessor  :stealth  

  attr_accessor  :academics

  attr_accessor  :finance

  attr_accessor  :investigation

  attr_accessor  :law

  attr_accessor  :medicine

  attr_accessor  :occult

  attr_accessor  :willpower

  attr_accessor  :conscience

  attr_accessor  :selfcontrol

  

  alias charascript_setup setup

  

  def setup(actor_id)

    charascript_setup(actor_id)

    @generation       = 0

    @humanity         = 0

    @strength         = 0

    @dexterity        = 0

    @stamina          = 0

    @charisma         = 0

    @manipulation     = 0

    @appearance       = 0

    @perception       = 0

    @intelligence     = 0

    @wits             = 0

    @alertness        = 0

    @brawl            = 0

    @dodge            = 0

    @expression       = 0

    @intimidation     = 0

    @subterfuge       = 0

    @animalken        = 0

    @crafts           = 0

    @etiquette        = 0

    @melee            = 0

    @performance      = 0

    @stealth          = 0

    @academics        = 0

    @finance          = 0

    @investigation    = 0

    @law              = 0

    @medicine         = 0

    @occult           = 0

    @willpower        = 0

    @conscience       = 0

    @selfcontrol      = 0

  end

end

 

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

#Adds more methods in Window_Base

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

class Window_Base

 

  #This will obviously draw the item name,but without the icon,is used in 

  # Equip_Window

  def draw_item_name_only(item, x, y)

    if item == nil

      return

    end 

   self.contents.font.color = crisis_color

   self.contents.draw_text(x + 28, y, 212, 32, item.name)

   self.contents.font.color = normal_color

 end

 

end

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

# ** Actor_Info

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

#  This window displays the actor's info (name, clan(class), generation

#

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

class Actor_Info < Window_Base

 

  def initialize(actor)

    super(0, 0, 156, 130)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    self.contents.clear    

    self.contents.draw_text(0, 0, 50, 32, "Name: ")

    draw_actor_name(@actor, 57,0)

    self.contents.draw_text(0, 36, 50, 32, "Clan: ")

    draw_actor_class(@actor, 56,36)

    self.contents.draw_text(0, 72, 50, 32, "Gen: ")

    self.contents.draw_text(56, 72, 50, 32, @actor.generation.to_s)

  end #def

    

   end #class

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

# ** Physical_Window

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

#  This window displays physical stats (strength,dexterity,stamina)

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

class Physical_Window < Window_Base

 

  def initialize(actor)

    super(0, 129, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    self.contents.clear    

    self.contents.draw_text(0, 0, 50, 32, "STR: ")      

    self.contents.draw_text(0, 22, 50, 32, "DEX: ")

    self.contents.draw_text(0, 44, 50, 32, "STA: ")

    self.contents.draw_text(52, 0, 50, 32, @actor.strength.to_s)

    self.contents.font.color = normal_color

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 22, 50, 32, @actor.dexterity.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 44, 50, 32, @actor.stamina.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

  end

 

end

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

# ** Social_Window

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

#  This window displays social stats (charisma,manipulation,appearance)

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

class Social_Window < Window_Base

 

  def initialize(actor)

    super(0, 228, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.draw_text(0, 0, 50, 32, "CHA: ")      

    self.contents.draw_text(0, 22, 50, 32, "MAN: ")

    self.contents.draw_text(0, 44, 50, 32, "APP: ")

    @actor = actor

    self.contents.draw_text(52, 0, 50, 32, @actor.charisma.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 22, 50, 32, @actor.manipulation.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 44, 50, 32, @actor.appearance.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

  end

 

end

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

# ** Mental_Window

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

#  This window displays mental stats (perception,intelligence,wits)

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

class Mental_Window < Window_Base

 

  def initialize(actor)

    super(0, 327, 156, 100)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.draw_text(0, 0, 50, 32, "PER: ")      

    self.contents.draw_text(0, 22, 50, 32, "INT: ")

    self.contents.draw_text(0, 44, 50, 32, "WTS: ")

    @actor = actor

    self.contents.draw_text(52, 0, 50, 32, @actor.perception.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 22, 50, 32, @actor.intelligence.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(52, 44, 50, 32, @actor.wits.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(72, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

   end

 

  end

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

# ** Humanity_Window

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

#  This window displays the Humanity stat

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

class Humanity_Window < Window_Base

 

  def initialize(actor)

    super(0, 426, 156, 55)

    self.contents = Bitmap.new(width - 32, height - 32)    

    self.contents.draw_text(0, 0, 80, 24, "Humanity: ")

    @actor = actor

    self.contents.draw_text(70, 0, 50, 25, @actor.humanity.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(90, 0, 50, 25, '/10')

    self.contents.font.color = normal_color

    end

 

  end

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

# ** Talents_Window

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

class Talents_Window < Window_Base

 

  def initialize(actor)

    super(155, 105, 170, 165)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 65, 32, "Alertness: ")      

    self.contents.draw_text(0, 22, 60, 32, "Brawl: ")

    self.contents.draw_text(0, 44, 60, 32, "Dodge: ")

    self.contents.draw_text(0, 66, 70, 32, "Expression: ")

    self.contents.draw_text(0, 88, 75, 32, "Intimidation: ")

    self.contents.draw_text(0, 110, 75, 32, "Subterfuge: ") 

    @actor = actor

    self.contents.draw_text(72, 0, 50, 32, @actor.alertness.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 22, 50, 32, @actor.brawl.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 44, 50, 32, @actor.dodge.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 66, 50, 32, @actor.expression.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 66, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 88, 50, 32, @actor.intimidation.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 88, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(72, 110, 50, 32, @actor.subterfuge.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(92, 110, 50, 32, '/5')

    self.contents.font.color = normal_color

  end

         

end

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

# ** Self-Control_Window

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

class Selfcontrol_Window < Window_Base

 

  def initialize(actor)

    super(155, 269, 170, 73)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 95, 32, "Self-Control: ")

    @actor = actor

    self.contents.draw_text(85, 0, 50, 32, @actor.selfcontrol.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 0, 50, 32, '/5')

  end#def

 

end

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

# ** Skills_Window

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

class Skills_Window < Window_Base

 

  def initialize(actor)

    super(324, 105, 170, 165)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 85, 32, "Animal Ken: ")

    self.contents.draw_text(0, 22, 63, 32, "Crafts: ")

    self.contents.draw_text(0, 44, 70, 32, "Etiquette: ")

    self.contents.draw_text(0, 66, 60, 32, "Melee: ")

    self.contents.draw_text(0, 88, 90, 32, "Performance: ")

    self.contents.draw_text(0, 110, 85, 32, "Stealth: ")

    @actor = actor

    self.contents.draw_text(79, 0, 50, 32, @actor.animalken.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 22, 50, 32, @actor.crafts.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 44, 50, 32, @actor.etiquette.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 66, 50, 32, @actor.melee.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 66, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 88, 50, 32, @actor.performance.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 88, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(79, 110, 50, 32, @actor.stealth.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(99, 110, 50, 32, '/5')

    self.contents.font.color = normal_color

    end#def

 

  end

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

# ** Conscience_Window

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

class Conscience_Window < Window_Base

 

  def initialize(actor)

    super(324, 269, 170, 73)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 95, 32, "Conscience: ")

    @actor = actor

    self.contents.draw_text(85, 0, 50, 32, @actor.conscience.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 0, 50, 32, '/5')

  end#def

 

end

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

# ** Knowledges_Window

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

class Knowledges_Window < Window_Base

 

  def initialize(actor)

    super(493, 105, 148, 165)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 85, 32, "Academics: ")

    self.contents.draw_text(0, 22, 63, 32, "Finance: ")

    self.contents.draw_text(0, 44, 85, 32, "Investigation: ")

    self.contents.draw_text(0, 66, 60, 32, "Law: ")

    self.contents.draw_text(0, 88, 80, 32, "Medicine: ")

    self.contents.draw_text(0, 110, 70, 32, "Occult: ")

    @actor = actor

    self.contents.draw_text(85, 0, 50, 32, @actor.academics.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 0, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 22, 50, 32, @actor.finance.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 22, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 44, 50, 32, @actor.investigation.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 44, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 66, 50, 32, @actor.law.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 66, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 88, 50, 32, @actor.medicine.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 88, 50, 32, '/5')

    self.contents.font.color = normal_color

    self.contents.draw_text(85, 110, 50, 32, @actor.occult.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 110, 50, 32, '/5')

    self.contents.font.color = normal_color

  end#def

 

end

 

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

# ** Willpower_Window

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

class Willpower_Window < Window_Base

 

  def initialize(actor)

    super(493, 269, 148, 73)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.font.size = 20

    self.contents.draw_text(0, 0, 85, 32, "Willpower: ")

    @actor = actor

    self.contents.draw_text(85, 0, 50, 32, @actor.willpower.to_s)

    self.contents.font.color = disabled_color

    self.contents.draw_text(100, 0, 50, 32, '/5')

  end#def

 

end

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

# ** Abilities_Header

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

#  This window is a header for everything in the right part of the screen

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

class Abilities_Header < Window_Base

 

  def initialize()

    super(155, 0, 487, 55)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.clear    

    self.contents.draw_text(193, 0, 150, 24, "ABILITIES")

 end

 

  end

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

# ** Talents_Header

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

#  This window is a header for the Talents Window

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

class Talents_Header < Window_Base

 

  def initialize()

    super(155, 54, 170, 52)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.clear    

    self.contents.draw_text(15, 0, 150, 24, "TALENTS")

  end

    

end

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

# ** Skills_Header

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

#  This window is a header for the Skills Window

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

class Skills_Header < Window_Base

 

  def initialize()

    super(324, 54, 170, 52)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.clear    

    self.contents.draw_text(18, 0, 150, 24, "SKILLS")   

  end

 

  end

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

# ** Knowledges_Header

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

#  This window is a header for the Knowledges window 

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

class Knowledges_Header < Window_Base

 

  def initialize()

    super(493, 54, 148, 52)

    self.contents = Bitmap.new(width - 32, height - 32)

    self.contents.clear    

    self.contents.draw_text(0, 0, 120, 24, "KNOWLEDGES")         

  end

 

  end

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

# ** Equip_Window

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

#  This window displays what the actor has equipped(minus the icons)

#  If you want to show the icons change @icons to true

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

class Equip_Window < Window_Base

 

  def initialize(actor)

   super(155,341,339,139)

   self.contents = Bitmap.new(width - 32, height - 32)

   self.contents.font.name = "Arial"

   @actor = actor

   @icons = false

   self.contents.clear

   self.contents.font.size = 15

   self.contents.draw_text(0,5,70,22,"Weapon:")

    if @icons 

      draw_item_name_icon($data_weapons[@actor.weapon_id], 25, 0)

    else

      draw_item_name_only($data_weapons[@actor.weapon_id], 25, 0)

    end

   self.contents.draw_text(0,25,70,22,"Shield:")

    if @icons

     draw_item_name_icon($data_armors[@actor.armor1_id],25,20)

    else

     draw_item_name_only($data_armors[@actor.armor1_id],25,20)

    end

   self.contents.draw_text(0,45,70,22,"Helmet:")

    if @icons

     draw_item_name_icon($data_armors[@actor.armor2_id],25,40)

    else

     draw_item_name_only($data_armors[@actor.armor2_id],25,40)

    end

   self.contents.draw_text(0,65,70,22,"Armor:")

     if @icons

      draw_item_name_icon($data_armors[@actor.armor3_id],25,60)

     else

      draw_item_name_only($data_armors[@actor.armor3_id],25,60)

     end

      self.contents.draw_text(0,85,70,22,"Acc. :")

     if @icons

      draw_item_name_icon($data_armors[@actor.armor4_id],25,60)

     else

      draw_item_name_only($data_armors[@actor.armor4_id],25,60)

     end

  end

end

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

# ** Sprite_Window

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

#  This window displays the actor's sprite

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

class Sprite_Window < Window_Base

 

  def initialize(actor)

    super(493, 341, 148, 139)

    self.contents = Bitmap.new(width - 32, height - 32)

    @actor = actor

    self.contents.clear

    draw_actor_graphic (@actor , 55, 69)

  end

    

  end

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

# ** Character_Sheet

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

#  This class is the bone of the Character Sheet.

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

class Scene_Status

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

  # * Object Initialization

  #     actor_index : actor index

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

  def initialize(actor_index = 0, equip_index = 0)

    @actor_index = actor_index

  end

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

  # * Main Processing

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

  def main

    # Get actor

    @actor = $game_party.actors[@actor_index]

    # Make status window

    @status_window = Actor_Info.new(@actor)

    @physical_window = Physical_Window.new(@actor)

    @social_window = Social_Window.new(@actor)

    @mental_window = Mental_Window.new(@actor)

    @humanity_window = Humanity_Window.new(@actor)

    @abilities = Abilities_Header.new    

    @talents = Talents_Header.new

    @skills = Skills_Header.new

    @knowledges = Knowledges_Header.new

    @talents_win = Talents_Window.new(@actor)

    @skills_win = Skills_Window.new(@actor)

    @knowledges_win = Knowledges_Window.new(@actor)

    @equip = Equip_Window.new(@actor)

    @sprite_window = Sprite_Window.new(@actor)

    @willpower_window = Willpower_Window.new(@actor)

    @conscience_window = Conscience_Window.new(@actor)

    @slfctrl_window = Selfcontrol_Window.new(@actor)

    # 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

    @status_window.dispose

    @physical_window.dispose

    @social_window.dispose

    @mental_window.dispose

    @humanity_window.dispose

    @abilities.dispose

    @talents.dispose

    @skills.dispose

    @knowledges.dispose

    @talents_win.dispose

    @skills_win.dispose

    @knowledges_win.dispose

    @equip.dispose

    @sprite_window.dispose

    @willpower_window.dispose

    @conscience_window.dispose

    @slfctrl_window.dispose

  end

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

  # * Frame Update

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

  def update

    # If B button was pressed

    if Input.trigger?(Input::B)

      # Play cancel SE

      $game_system.se_play($data_system.cancel_se)

      # Switch to menu screen

      $scene = Scene_Menu.new(3)

      return

    end

    # If R button was pressed

    if Input.trigger?(Input::R)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To next actor

      @actor_index += 1

      @actor_index %= $game_party.actors.size

      # Switch to different status screen

      $scene = Scene_Status.new(@actor_index)

      return

    end

    # If L button was pressed

    if Input.trigger?(Input::L)

      # Play cursor SE

      $game_system.se_play($data_system.cursor_se)

      # To previous actor

      @actor_index += $game_party.actors.size - 1

      @actor_index %= $game_party.actors.size

      # Switch to different status screen

      $scene = Scene_Status.new(@actor_index)

      return

    end

  end

end


Instructions
Simply go in the script editor and check which variable corresponds to a player's ability and modify that variable where you need it.(Control Variables... in RMXP)
When you see this:
Code:
@(ability name)_a(actor number) = $game_variables [(variable)]
Everywhere you see the above,edit (variable) to the variable you want the (ability name) for actor(actor number) to be.
If you want more than 3 actors,you'll have to add more of the above(for example:
Code:
 @(ability name)_a13 = $game_variables [112]
)
and below it the if clause copy-paste the two lines:the one with the elsifand the one below it.
Code:
 elsif @actor.index == (the actor's number in the database -1)
         self.contents.draw_text([whatever the coordinates are, @(ability name)_a(actor number).to_s)[/spoiler]

[spoiler=2.0]#  The script is plug and play, although in-game you have to call:
    $game_actors[ACTOR_ID].STAT = NUMBER
  You can also subtract (instead of STAT = NUMBER it's STAT -= NUMBER)
                    add (instead of STAT = NUMBER it's STAT += NUMBER)
  The stats are those that are written in the beginning of the script, after
  'attr_accessor   :' .
  Now, for example, you want the first character in the database to have 3 wits,
  the second to have 2 MORE charisma and the third to have 2 LESS brawl.
  In game you woud call script:
"  $game_actors[1].wits = 3
   $game_actors[2].charisma += 2
   $game_actors[3].brawl -= 2  "
 (without the quotes, of course). To verify a stat, call script in Conditional 
   Branch: " $game_actors[WHATEVER].STAT == X"
  Instead of "==" you can have "<" (Less than), ">"(Greater than), ">="(Greater or
   equal to), or "<=" (Less than or equal to) or "!=" (Not equal to)[/spoiler]  



[size=5][b]FAQ[/b][/size]

* wat do
Check above.

[size=5][b]Credits and Thanks[/b][/size]

-White Wolf
-Me,aka Ludicus Maximus/Ludicus
Special thanks to Kain Nobel. :3
 
[size=5][b]Author's Notes[/b][/size]
 
lol w00t antediluvians will rise and kill everything lol


[size=5][b]Terms and Conditions[/b][/size]
Please give credit to me when using this script,preferably as Ludicus Maximus.
You can use this script in commercial projects.
 

Rya

Member

This is a pretty good script. I can think of no particular use at the moment for it myself, but I will keep in mind for the future. Wonderful work!
 
Can I just say something? I think this is a brilliant idea! Thanks for sharing! This makes me want to create my own menus and stuff again...I used to be really good at coming up with ideas for stuff like this.
 

Eldnar

Member

This is very cool but others stats like stamina, charisma and others or melee skils... change something on the game?
Like i have 3/5 of melee so ... my hero do more weapon damage?
 
@Eldnar:No,they do not change anything,but you can use them in quests,for example Mr. XYZ cannot fight with Mr. EFG unless he has at least 3 brawl.
@Others:Thanks for the feedback! :smile:
 
Absolutely fantastic...

I myself play a toreador every thursday, but hopefully Ill get chance to use my assemite eventualy lol

this will make rpg xp just that little more interesting and I hope to god theres gonna be a few WOD games come out for me to play.

I also would like to see someone make a script so that you can transfer characters between various Vampire games, but its probably not gonna happen
 
@corleonis: Thanks, I'm working on a V:TM game, though it's still early in production.

OK people, script updated to 2.0
-Removed dependancy upon game variables
-Easier to use
-3 more stats
-Smaller by ~200 lines.
 
You already have THIS...

Code:
    attr_accessor  :generation

  attr_accessor  :humanity

  attr_accessor  :strength

  attr_accessor  :dexterity

  attr_accessor  :stamina

  attr_accessor  :charisma

  attr_accessor  :manipulation

  attr_accessor  :appearance

  attr_accessor  :perception

  attr_accessor  :intelligence

  attr_accessor  :wits

  attr_accessor  :alertness

  attr_accessor  :brawl

  attr_accessor  :dodge

  attr_accessor  :expression

  attr_accessor  :intimidation

  attr_accessor  :subterfuge

  attr_accessor  :animalken

  attr_accessor  :crafts

  attr_accessor  :etiquette 

  attr_accessor  :melee

  attr_accessor  :performance

  attr_accessor  :stealth  

  attr_accessor  :academics

  attr_accessor  :finance

  attr_accessor  :investigation

  attr_accessor  :law

  attr_accessor  :medicine

  attr_accessor  :occult

  attr_accessor  :willpower

  attr_accessor  :conscience

  attr_accessor  :selfcontrol

...Which means you can REMOVE all of this...

Code:
    def generation

    return @generation 

  end

  def generation=(gen)

   @generation = gen

  end

  def humanity

    return @humanity

  end

  def humanity=(hum)

   @humanity = hum

  end

  def strength

    return @strength

  end

  def strength=(str)

   @strength = str

  end

  def dexterity

    return @dexterity 

  end

  def dexterity=(dex)

    @dexterity = dex

  end

  def stamina

    return @stamina 

  end

  def stamina=(sta)

    @stamina = sta

  end

  def charisma

    return @charisma

  end

  def charisma=(cha)

    @charisma = cha

  end

  def manipulation

    return @manipulation 

  end

  def manipulation=(man)

    @manipulation = man

  end

  def appearance

    return @appearance

  end

  def appearance=(app)

    @appearance = app

  end

  def perception

    return @perception 

  end

  def perception=(per)

    @perception = per

  end

  def intelligence

    return @intelligence 

  end

  def intelligence=(int)

    @intelligence = int

  end

  def wits

    return @wits 

  end

  def wits=(wts)

    @wits = wts

  end

  def alertness

    return @alertness

  end

  def alertness=(arlt)

    @alertness = arlt

  end

  def brawl

    return @brawl 

  end

  def brawl=(brw)

    @brawl = brw

  end

  def dodge

    return @dodge 

  end

  def dodge=(ddg)

    @dodge = ddg

  end

  def expression

    return @expression 

  end

  def expression=(expr)

    @expression = expr

  end

  def intimidation

    return @intimidation

  end

  def intimidation=(intm)

    @intimidation = intm

  end

  def subterfuge

    return @subterfuge

  end

  def subterfuge=(subt)

    @subterfuge = subt

  end

  def animalken

    return @animalken 

  end

  def animalken=(ank)

    @animaken = ank

  end

  def crafts

    return @crafts

  end

  def crafts=(crft)

    @crafts = crft

  end

  def etiquette

    return @etiquette

  end

  def etiquette=(etq)

    @etiquette = etq

  end

  def melee

    return @melee 

  end

  def melee=(mle)

    @melee = mle

  end

  def performance 

    return @performance 

  end

  def performance=(prfr)

    @performance = prfr

  end

  def stealth

   return @stealth 

  end

  def stealth=(sthl)

    @stealth = sthl

  end

  def academics 

    return @academics 

  end

  def academics=(acdm)

    @academics = acdm

  end

  def finance

    return @finance 

  end

  def finance=(fnc)

    @finance = fnc

  end

  def investigation

    return @investigation

  end

  def investigation=(invst)

    @investigation = invst

  end

  def law

    return @law 

  end

  def law=(lw)

    @law = lw

  end

  def medicine

    return @medicine 

  end

  def medicine=(mdc)

    @medicine = mdc

  end

  def occult

    return @occult 

  end

  def occult=(oclt)

    @occult = oclt

  end

  def willpower

    return @willpower

  end

  def willpower=(wlpr)

    @willpower = wlpr

  end

  def conscience

    return @conscience

  end

  def conscience=(consc)

    @conscience = consc

  end

  def selfcontrol 

    return @selfcontrol

  end

  def selfcontrol=(slfctrl)

    @selfcontrol = slfctrl

  end

Only reason to define your own reader and/or writter type methods is if you had variables which must always be a specific type of value (ie, must always be a Number, String, Array, true/false, etc...). In that case you'd have...

Reader Method
Code:
def charisma

  # Set @charisma to 0 if nil, then return @charisma's value

  @charisma ||= 0

end
Writter Method
Code:
def charisma=(value)

  # Do nothing if value isn't a Integer

  return unless value.is_a?(Integer)

  # Otherwise, send value to @charisma

  @charisma = value

end

You can even swap them by using an attr_reader :someval, and hand-defining def someval, or visa-versa

Also, I see in your scene you have this...

Code:
  @status_window = Actor_Info.new(@actor)

    @status_window.x = 0

    @status_window.y = 0

    @physical_window = Physical_Window.new(@actor)

    @physical_window.x = 0

    @physical_window.y = 129

    @social_window = Social_Window.new(@actor)

    @social_window.x = 0

    @social_window.y = 228

    @mental_window = Mental_Window.new(@actor)

    @mental_window.x = 0

    @mental_window.y = 327

    @humanity_window = Humanity_Window.new(@actor)

    @humanity_window.x = 0

    @humanity_window.y = 426

    @abilities = Abilities_Header.new    

    @abilities.x = 155

    @abilities.y = 0

    @talents = Talents_Header.new

    @talents.x = 155

    @talents.y = 54

    @skills = Skills_Header.new

    @skills.x = 324

    @skills.y = 54

    @knowledges = Knowledges_Header.new

    @knowledges.x = 493

    @knowledges.y = 54

If x/y values are already defined when the windows are initialized, you can clean up your scene by removing the @window.x = and @window.y = calls, thats a whole 2 lines per window if all you're doing is x and y ='s stuff. Same thing goes for other attributes, such as opacity, z, active, visible, etc... they can all be defined in Window_Something#initialize

Lastly, when defining a method (ie function, since I'm guessing you come from a C background)...

def some_function()

You only need () if you're defining a method with one or more arguments. With C language, you need those parantheses even if you don't have any arguments to pass, but Ruby doesn't need those silly parantheses if there is no required or optional arguments.

Other than alot of the repetitive code, the script looks pretty nifty! Keep on keepin' on and I think you might become a pretty good coder one of these days :thumb:
 
Thanks a lot for the explanations, Kain. :eek::

Other than alot of the repetitive code, the script looks pretty nifty! Keep on keepin' on and I think you might become a pretty good coder one of these days
Thanks, but I need a lot of practice.

That being said, updating the script.
 
Hey there,

Sorry for digging up such an old topic.

Fact is I started working on two RPG based on WOD (One inspired by both Vampire Dark ages and Vampire the Masquerade, second inspired by Vampire the Requiem).

After searching on the net I found this script.
So I tried it. But I'm using VXace (Yeah I know...)
So Suprise... It bugs under VXace.

So I was wondering if someone had adapted the script to VX / VXace.

Thanks in advance for replies.
 
You're better off taking the script's original link and making a script request for a VXace conversion than hoping that users from 5 years ago are still around on the same web forum and still have interest in RPG Maker XP and VXace to do the conversion.

Some copy licences would be a problem, the original creator never intended it to go to VXace (As that didn't even exist at the time) so request a script based on this script.

Head over here and make a request thread, remember to be as detailed as you can (Include a link to this thread and perhaps those screenshots) and be specific that you want a new, clean VXace implementation to avoid any copying issues that may arise.

I'm locking this thread so discussion is not carried on here.

PM me Ludicus if you need the thread re-opened.
 
Status
Not open for further replies.

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