Ergebnis 1 bis 14 von 14

Thema: PROBLEM !!! BITTE DRINGEND !

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #5
    Zitat Zitat von Dragenai Beitrag anzeigen
    Wie benutzt man das AMS ? Adventes Message Script oder so.
    Hier der Script
    PHP-Code:
    #===================================================
    #   AMS - Advanced Message Script - R4 [Update #2]
    #===================================================
    # For more infos and update, visit:
    # [url]www.dubealex.com[/url] (Creation Asylum)
    #
    # Edited, Fixed and Enhanced by: Dubealex
    # Original Script Core by: XRXS Scripter (Jap Dudes)
    # HTML Hexadecimal color feature from: Phylomorphis
    #
    # Special Thanks:
    # Rabu: For enabling the Show Face feature in an encrypted project
    #
    # To found all my new features, search the following:  #NEW
    # To configure the button to skip the dialog, search:  #SKIP_TEXT_CODE
    #
    # May 18, 2005
    #===================================================

    LETTER_BY_LETTER_MODE true   #Set the letter by letter mode ON/OFF    

    #===================================================
    # ¼ CLASS AMS Begins
    #===================================================
    class AMS

    attr_accessor 
    :name_box_x_offset
    attr_accessor 
    :name_box_y_offset
    attr_accessor 
    :font_type
    attr_accessor 
    :name_font_type
    attr_accessor 
    :font_size
    attr_accessor 
    :name_font_size
    attr_accessor 
    :message_box_opacity
    attr_accessor 
    :name_box_skin
    attr_accessor 
    :name_box_text_color
    attr_accessor 
    :message_box_text_color
    attr_accessor 
    :message_box_skin
    attr_accessor 
    :name_box_width
    attr_accessor 
    :name_box_height
    attr_accessor 
    :message_width
    attr_accessor 
    :message_height
    attr_accessor 
    :message_x
    attr_accessor 
    :message_y_bottom
    attr_accessor 
    :message_y_middle
    attr_accessor 
    :message_y_top
    attr_accessor 
    :event_message_x_ofset
    attr_accessor 
    :event_message_y_ofset
     
    def initialize
     
    @name_box_x_offset 10       #Choose the X axis offset of the name bos. default= 0
    @name_box_y_offset = -10    #Choose the Y axis offset of the name bos. default= -10
    @name_box_width 8           #Choose the width of the Name Box. default= 8 
    @name_box_height 26        #Choose the height of the Name Box. default= 26

    @font_type "Trebuchet MS"           #Choose the Font Name (Case Sensitive) for message box
    @name_font_type "Trebuchet MS" #Choose the Font Name (Case Sensitive) for Name Box
    @font_size 22                     #Choose the default Font Size for message box text
    @name_font_size 20           #Choose the deafault Font Size for Name Box text
    @name_box_text_color=0        #Choose the Text Color of the Name Box
    @message_box_text_color=0   #Choose the Text Color of the Message Box

    @message_box_opacity 160            #Choose the opacity of the message window. Default=160
    @message_box_skin "untitled1"   #Choose the WindowSkin for the Message Box
    @name_box_skin "001-Blue01"       #Choose the WindowSkin for the Name Box

    @message_width 480          #Choose the width size of the message box. Default=480
    @message_height 160         #Choose the height size of the message box. Default=160
    @message_x 80                  #Choose the X position of the message box. Default=80
    @message_y_bottom 304    #Choose the Y bottom position of the message box. Default=304
    @message_y_middle 160    #Choose the Y middle position of the message box. Default=160
    @message_y_top 16           #Choose the Y top position of the message box. Default=16

    @event_message_x_ofset 32   #Choose the X position offset of the event message. Default=0
    @event_message_y_ofset 77   #Choose the Y position offset of the event message. Default=48

    end
    end
    #===================================================
    # ² CLASS AMS Ends
    #===================================================


    #===================================================
    # ¼ Class Window_Message Begins
    #===================================================
    class Window_Message Window_Selectable 

    alias xrxs9_initialize initialize

    def initialize

    @alex_skip false

    xrxs9_initialize

    if $soundname_on_speak == nil then
     $soundname_on_speak 
    ""
    end

    $gaiji_file 
    "./Graphics/Gaiji/sample.png"

    if FileTest.exist?($gaiji_file)
     @
    gaiji_cache Bitmap.new($gaiji_file)
    else
     @
    gaigi_cache nil
    end
    @opacity_text_buf Bitmap.new(3232)
    end


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

    alias xrxs9_terminate_message terminate_message

    def terminate_message

    if @name_window_frame != nil
     
    @name_window_frame.dispose
     
    @name_window_frame nil
    end

    if @name_window_text  != nil
     
    @name_window_text.dispose
     
    @name_window_text  nil
    end
    xrxs9_terminate_message
    end

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

    def refresh

    self
    .contents.clear
    self
    .contents.font.color text_color($ams.message_box_text_color)
    self.contents.font.name $ams.font_type
    self
    .contents.font.size $ams.font_size
    self
    .windowskin RPG::Cache.windowskin($ams.message_box_skin)
    @
    = @= @max_x = @max_y = @indent = @lines 0
    @face_indent 0
    @opacity 255
    @cursor_width 0
    @write_speed 0
    @write_wait 0
    @mid_stop false
    @face_file nil
    @popchar = -2

    if $game_temp.choice_start == 0
     
    @8
    end

    if $game_temp.message_text != nil
     
    @now_text $game_temp.message_text
     
    if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
        
    @face_file = $".png"
        
    @= @face_indent 128
       
    if FileTest.exist?("Graphics/Pictures/" + $".png")
         
    self.contents.blt(1616RPG::Cache.picture(@face_file), Rect.new(009696))
       
    end
       
    @now_text.gsub!(/\\[Ff]\[(.*?)\]/) { "" }
     
    end

     begin
     last_text 
    = @now_text.clone
     @
    now_text.gsub!(/\\[Vv]\[([IiWwAaSs]?)([0-9]+)\]/) { convart_value($1, $2.to_i) }
     
    end until @now_text == last_text
     
    @now_text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
       
    $game_actors[$1.to_i] != nil $game_actors[$1.to_i].name ""
      
    end
     
     
    #NEW
     #Dubealex's Stop Skip Text ON-OFF
     
    @now_text.gsub!(/\\[%]/) { "\100" }
     
    #End new command
     
     #NEW
     #Dubealex's Show Monster Name Feature
      
    @now_text.gsub!(/\\[Mm]\[([0-9]+)\]/) do
      
    $data_enemies[$1.to_i] != nil $data_enemies[$1.to_i].name ""
      
    end
      
    #End new command
     
     #NEW
     #Dubealex's Show Item Price Feature
      
    @now_text.gsub!(/\\[Pp]rice\[([0-9]+)\]/) do
      
    $data_items[$1.to_i] != nil $data_items[$1.to_i].price ""
      
    end
      
    #End new command
     
     #NEW
     #Dubealex's Show Hero Class Name Feature
      
    @now_text.gsub!(/\\[Cc]lass\[([0-9]+)\]/) do
      
    $data_classes[$data_actors[$1.to_i].class_id] != nil $data_classes[$data_actors[$1.to_i].class_id].name ""
      
    end
      
    #End new command
     
     #NEW
     #Dubealex's Show Current Map Name Feature
      
    @now_text.gsub!(/\\[Mm]ap/) do
      
    $game_map.name    != nil $game_map.name    ""
      
    end
      
    #End new command
     
     #NEW
     #Dubealex's Choose Name Box Text Color
      
    @now_text.gsub!(/\\[Zz]\[([0-9]+)\]/) do
      
    $ams.name_box_text_color=$1.to_i
      
    @now_text.sub!(/\\[Zz]\[([0-9]+)\]/) { "" }
      
    end
      
    #End new command
     
     
    name_window_set false
     
    if (/\\[Nn]ame\[(.+?)\]/.match(@now_text)) != nil
       name_window_set 
    true
       name_text 
    = $1
       
    @now_text.sub!(/\\[Nn]ame\[(.*?)\]/) { "" }
     
    end

     
    if (/\\[Pp]\[([-1,0-9]+)\]/.match(@now_text))!=nil then
       
    @popchar = $1.to_i
       
    if @popchar == -1
         
    @= @indent 48
         
    @4
       end
       
    @now_text.gsub!(/\\[Pp]\[([-1,0-9]+)\]/) { "" }
     
    end

     
    @max_choice_x 0
     
    if @popchar >= 0
       
    @text_save = @now_text.clone
       @
    max_x 0
       
    @max_y 4
       
    for i in 0..3
         line 
    = @now_text.split(/\n/)[3-i]
         @
    max_y -= if line == nil and @max_y <= 4-i
         next 
    if line == nil
         line
    .gsub!(/\\\w\[(\w+)\]/) { "" }
         
    cx contents.text_size(line).width
         
    @max_x cx if cx > @max_x
         
    if >= $game_temp.choice_start
           
    @max_choice_x cx if cx > @max_choice_x
         end
       end
       self
    .width = @max_x 32 + @face_indent
       self
    .height = (@max_y 1) * 32 64
       
    @max_choice_x -= 68
       
    @max_choice_x -= @face_indent*216/128
     
    else
       @
    max_x self.width 32 - @face_indent
       
    for i in 0..3
         line 
    = @now_text.split(/\n/)[i]
         
    next if line == nil
         line
    .gsub!(/\\\w\[(\w+)\]/) { "" }
         
    cx contents.text_size(line).width
         
    if >= $game_temp.choice_start
           
    @max_choice_x cx if cx > @max_choice_x
         end
       end
       
    @max_choice_x += 8
     end
     
    @cursor_width 0
     
    @now_text.gsub!(/\\\\/) { "\000" }
     @
    now_text.gsub!(/\\[Cc]\[([0123456789ABCDEF#]+)\]/) { "\001[#{$1}]" }
     
    @now_text.gsub!(/\\[Gg]/) { "\002" }
     @
    now_text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\003[#{$1}]" }
     @
    now_text.gsub!(/\\[Aa]\[(.*?)\]/) { "\004[#{$1}]" }
     
      
    #NEW
      #Dubealex's Permanent Color Change
      
    @now_text.gsub!(/\\[Cc]olor\[([0-9]+)\]/) do
        
    $ams.message_box_text_color= $1.to_i
       
    @now_text.sub!(/\\[Cc]\[([0-9]+)\]/) { "" }
        
    end
      
    #End of new command
     
      #NEW
      #Dubealex's Font Change Feature
       
    @now_text.gsub(/\\[Tt]\[(.*?)\]/) do
        
    buftxt = $1.to_s
        $ams
    .font_type buftxt
        
    @now_text.sub!(/\\[Tt]\[(.*?)\]/) { "" }
        
    end
      
    #End of new command
     
     
    @now_text.gsub!(/\\[.]/) { "\005" }
     @
    now_text.gsub!(/\\[|]/) { "\006" }
     @
    now_text.gsub!(/\\[>]/) { "\016" }
     @
    now_text.gsub!(/\\[<]/) { "\017" }
     @
    now_text.gsub!(/\\[!]/) { "\020" }
     @
    now_text.gsub!(/\\[~]/) { "\021" }
     @
    now_text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "\022[#{$1}]" }
     @
    now_text.gsub!(/\\[Ii]/) { "\023" }
     @
    now_text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\024[#{$1}]" }
     @
    now_text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\025[#{$1}]" }
     @
    now_text.gsub!(/\\[Bb]\[([0-9]+)\]/) { "\026[#{$1}]" }
     @
    now_text.gsub!(/\\[Rr]\[(.*?)\]/) { "\027[#{$1}]" }
     
     
    reset_window
     
     
    if name_window_set
       color
    =$ams.name_box_text_color
       off_x 
    =  $ams.name_box_x_offset
       off_y 
    =  $ams.name_box_y_offset
       space 
    3
       x 
    self.off_x space 3
       y 
    self.off_y space 3
       w 
    self.contents.text_size(name_text).width $ams.name_box_width space
       h 
    $ams.name_box_height space
       
    @name_window_frame Window_Frame.new(xywh)
       @
    name_window_frame.self.1
       x 
    self.off_x 4
       y 
    self.off_y
       
    @name_window_text  Air_Text.new(xyname_textcolor)
       @
    name_window_text.self.2
     end
    end

    reset_window

    if $game_temp.choice_max 0
     
    @item_max $game_temp.choice_max
     self
    .active true
     self
    .index 0
    end

    if $game_temp.num_input_variable_id 0
     digits_max 
    $game_temp.num_input_digits_max
     number 
    $game_variables[$game_temp.num_input_variable_id]
     @
    input_number_window Window_InputNumber.new(digits_max)
     @
    input_number_window.number number
     
    @input_number_window.self.8
     
    @input_number_window.self.$game_temp.num_input_start 32
    end
    end

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

    def update

    super

    if @fade_in
     self
    .contents_opacity += 24
     
    if @input_number_window != nil
       
    @input_number_window.contents_opacity += 24
     end
     
    if self.contents_opacity == 255
       
    @fade_in false
     end
     
    return
    end
    @now_text nil if @now_text == ""

    if @now_text != nil and @mid_stop == false
     
    if @write_wait 0
       
    @write_wait -= 1
       
    return
     
    end
     text_not_skip 
    LETTER_BY_LETTER_MODE
     
    while true
       
    @max_x = @if @max_x < @x
       
    @max_y = @if @max_y < @y
       
    if (= @now_text.slice!(/./m)) != nil
         
    if == "\000"
           
    "\\"
         
    end
         
         
    if == "\001"
           
    @now_text.sub!(/\[([0123456789ABCDEF#]+)\]/, "")
           
    temp_color = $1
           color 
    temp_color.to_i
           leading_x 
    temp_color.to_s.slice!(/./m)
           if 
    leading_x == "#"
             
    self.contents.font.color hex_color(temp_color)
             
    next
           end
           
    if color >= and color <= 7
             self
    .contents.font.color text_color(color)
           
    end
           next
         end

         
    if == "\002"
           
    if @gold_window == nil and @popchar <= 0
             
    @gold_window Window_Gold.new
             @
    gold_window.560 - @gold_window.width
             
    if $game_temp.in_battle
               
    @gold_window.192
             
    else
               @
    gold_window.self.>= 128 32 384
             end
             
    @gold_window.opacity self.opacity
             
    @gold_window.back_opacity self.back_opacity
           end
           c 
    ""
         
    end

         
    if == "\003"
           
    @now_text.sub!(/\[([0-9]+)\]/, "")
           
    speed = $1.to_i
           
    if speed >= and speed <= 19
             
    @write_speed speed
           end
           c 
    ""
         
    end

         
    if == "\004"
           
    @now_text.sub!(/\[(.*?)\]/, "")
           
    buftxt = $1.dup.to_s
           
    if buftxt.match(/\//) == nil and buftxt != "" then
             
    $soundname_on_speak "Audio/SE/" buftxt
           
    else
             
    $soundname_on_speak buftxt.dup
           end
           c 
    ""
         
    elsif c == "\004"
           
    ""
         
    end
         
         
    if == "\005"
           
    @write_wait += 5
           c 
    ""
         
    end
         
         
    if == "\006"
           
    @write_wait += 20
           c 
    ""
         
    end
         
         
    if == "\016"
           
    text_not_skip false
           c 
    ""
         
    end
         
         
    if == "\017"
           
    text_not_skip true
           c 
    ""
         
    end
         
         
    if == "\020"
           
    @mid_stop true
           c 
    ""
         
    end
         
         
    if == "\021"
           
    terminate_message
           
    return
         
    end
         
         
    if == "\023"
           
    @indent = @x
           c 
    ""
         
    end

         
    if == "\024"
           
    @now_text.sub!(/\[([0-9]+)\]/, "")
           @
    opacity = $1.to_i
           color 
    self.contents.font.color
           self
    .contents.font.name $ams.font_type
           self
    .contents.font.size $ams.font_size
           self
    .contents.font.color Color.new(color.redcolor.greencolor.bluecolor.alpha * @opacity 255)
           
    ""
         
    end

         
    if == "\025"
           
    @now_text.sub!(/\[([0-9]+)\]/, "")
           
    self.contents.font.size = [[$1.to_i6].max32].min
           c 
    ""
         
    end

         
    if == "\026"
           
    @now_text.sub!(/\[([0-9]+)\]/, "")
           @
    += $1.to_i
           c 
    ""
         
    end
         
         
    if == "\027"
           
    @now_text.sub!(/\[(.*?)\]/, "")
           @
    += ruby_draw_text(self.contents, @x, @line_height + (line_height self.contents.font.size), $1, @opacity)
           if 
    $soundname_on_speak != ""
             
    Audio.se_play($soundname_on_speak)
           
    end
         c 
    ""
         
    end

         
    if == "\030"
           
    @now_text.sub!(/\[(.*?)\]/, "")
           
    self.contents.blt(@, @line_height 8RPG::Cache.icon($1), Rect.new(002424))
           if 
    $soundname_on_speak != ""
             
    Audio.se_play($soundname_on_speak)
           
    end
           
    @+= 24
           c 
    ""
         
    end

         
    if == "\n"
           
    @lines += 1
           
    @+= 1
           
    @+ @indent + @face_indent
           
    if @lines >= $game_temp.choice_start
             
    @+ @indent + @face_indent
             
    @cursor_width = @max_choice_x
           end
           c 
    ""
         
    end
         
         
    if == "\022"
           
    @now_text.sub!(/\[([0-9]+)\]/, "")
           @
    += gaiji_draw(+ @x, @line_height + (line_height self.contents.font.size), $1.to_i)
           
    ""
         
    end
         
         
    #NEW
         #Dubealex's Text Skip On/OFF Command
          
    if == "\100"
             
    if @alex_skip==false
                
    @alex_skip=true
             
    else
               @
    alex_skip=false
             end
            c 
    ""
          
    end 
          
    #end of new command
                                     
         
    if != ""
           
    self.contents.draw_text(0+@x25 * @y4032c)
           @
    += self.contents.text_size(c).width
           
    if $soundname_on_speak != "" then
             Audio
    .se_play($soundname_on_speak)
           
    end
         end
         
    #SKIP_TEXT_CODE

    # B = Escape, 0 (On The NumPad), X
    # C = Enter, Space Bar and C
    # A = Shift, Z

     
    if Input.press?(Input::C# <-- Change the value on that line
       
    if @alex_skip==false     
       text_not_skip 
    false
       end
         end
       
    else
         
    text_not_skip true
         
    break
       
    end
       
       
    if text_not_skip
         
    break
       
    end
     end
     
    @write_wait += @write_speed
     
    return
    end

    if @input_number_window != nil
     
    @input_number_window.update
     
    if Input.trigger?(Input::C)
       
    $game_system.se_play($data_system.decision_se)
       
    $game_variables[$game_temp.num_input_variable_id] =
         @
    input_number_window.number
       $game_map
    .need_refresh true
       
    @input_number_window.dispose
       
    @input_number_window nil
       terminate_message
     end
     
    return
    end

    if @contents_showing
     
    if $game_temp.choice_max == 0
       self
    .pause true
     end
     
     
    if Input.trigger?(Input::B)
       if 
    $game_temp.choice_max and $game_temp.choice_cancel_type 0
         $game_system
    .se_play($data_system.cancel_se)
         
    $game_temp.choice_proc.call($game_temp.choice_cancel_type 1)
         
    terminate_message
       end
     end
     
     
    if Input.trigger?(Input::C)
       if 
    $game_temp.choice_max 0
         $game_system
    .se_play($data_system.decision_se)
         
    $game_temp.choice_proc.call(self.index)
       
    end
       
    if @mid_stop
         
    @mid_stop false
         
    return
       else
         
    terminate_message
       end
     end
     
    return
    end

    if @fade_out == false and $game_temp.message_text != nil
     
    @contents_showing true
     $game_temp
    .message_window_showing true
     refresh
     Graphics
    .frame_reset
     self
    .visible true
     self
    .contents_opacity 0
     
    if @input_number_window != nil
       
    @input_number_window.contents_opacity 0
     end
     
    @fade_in true
     
    return
    end

    if self.visible
     
    @fade_out true
     self
    .opacity -= 48
     
    if self.opacity == 0
       self
    .visible false
       
    @fade_out false
       $game_temp
    .message_window_showing false
     end
     
    return
    end
    end

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

    def get_character(parameter)

    case 
    parameter
    when 0 
     
    return $game_player
    else
     
    events $game_map.events
     
    return events == nil nil events[parameter]
    end
    end

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

    def reset_window

    #MESSAGE_SIZE
    #MESSAGE_POSITION

    if @popchar >= 0
     events 
    $game_map.events
     
    if events != nil
       character 
    get_character(@popchar)
       
    = [[character.screen_x -  $ams.event_message_x_ofset self.width 24].max636 self.width].min
       y 
    = [[character.screen_y $ams.event_message_y_ofset self.height4].max476 self.height].min
       self
    .x
       self
    .y
     end
    elsif 
    @popchar == -1
     self
    .= -4
     self
    .= -4
     self
    .width 648
     self
    .height 488
    else
     if 
    $game_temp.in_battle
       self
    .16
     
    else
       case 
    $game_system.message_position
       when 0 
         self
    .$ams.message_y_top
       when 1 
         self
    .$ams.message_y_middle
       when 2 
         self
    .$ams.message_y_bottom
       end
       self
    .$ams.message_x
       
    if @face_file == nil
         self
    .width $ams.message_width
         self
    .$ams.message_x
       
    else
         if 
    self.width <= 600
           self
    .width 600
           self
    .-=60
          end
       end
       self
    .height $ams.message_height
     end
    end
    self
    .contents Bitmap.new(self.width 32self.height 32)
    self.contents.font.color text_color($ams.message_box_text_color)
    self.contents.font.name $ams.font_type
    self
    .contents.font.size $ams.font_size
    if @face_file != nil
     self
    .contents.blt(1616RPG::Cache.picture(@face_file), Rect.new(009696))
    end
    if @popchar == -1
     self
    .opacity 255
     self
    .back_opacity 0
    elsif $game_system
    .message_frame == 0
     self
    .opacity 255
     self
    .back_opacity $ams.message_box_opacity
    else
     
    self.opacity 0
     self
    .back_opacity $ams.message_box_opacity
    end
    end

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

    def gaiji_draw(xynum)

    if @
    gaiji_cache == nil
     
    return 0
    else
     if @
    gaiji_cache.width num 24
       
    return 0
     end

     
    if self.contents.font.size >= 20 and self.contents.font.size <= 24
       size 
    24
     
    else
       
    size self.contents.font.size 100 24 2200
     end

     self
    .contents.stretch_blt(Rect.new(xysizesize), @gaiji_cacheRect.new(num 2402424))

     if 
    $soundname_on_speak != "" then
       Audio
    .se_play($soundname_on_speak)
     
    end
     
    return size
    end
    end

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

    def line_height
    return 32

    if self.contents.font.size >= 20 and self.contents.font.size <= 24
     
    return 32
    else
     return 
    self.contents.font.size 15 10
    end
    end

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

    def ruby_draw_text(targetxystr,opacity)

    sizeback target.font.size
    target
    .font.size 32 rubysize 32 target.font.size rubysize target.font.size 2
    rubysize 
    = [rubysize6].max
    opacity 
    = [[opacity0].max255].min
    split_s 
    str.split(/,/)
    split_s[0] == nil split_s[0] = "" nil
    split_s
    [1] == nil split_s[1] = "" nil

    height 
    sizeback rubysize
    width  
    target.text_size(split_s[0]).width

    target
    .font.size rubysize
    ruby_width 
    target.text_size(split_s[1]).width
    target
    .font.size sizeback

    buf_width 
    = [target.text_size(split_s[0]).widthruby_width].max

    width 
    ruby_width != sub_x = (width ruby_width) / sub_x 0

    if opacity == 255
     target
    .font.size rubysize
     target
    .draw_text(sub_xtarget.font.sizetarget.text_size(split_s[1]).widthtarget.font.sizesplit_s[1])
     
    target.font.size sizeback
     target
    .draw_text(xywidthtarget.font.sizesplit_s[0])
     return 
    width
    else
     if @
    opacity_text_buf.width buf_width or @opacity_text_buf.height height
       
    @opacity_text_buf.dispose
       
    @opacity_text_buf Bitmap.new(buf_widthheight)
     else
       @
    opacity_text_buf.clear
     end
     
    @opacity_text_buf.font.size rubysize
     
    @opacity_text_buf.draw_text(0buf_widthrubysizesplit_s[1], 1)
     @
    opacity_text_buf.font.size sizeback
     
    @opacity_text_buf.draw_text(rubysizebuf_widthsizebacksplit_s[0], 1)
     if 
    sub_x >= 0
       target
    .blt(xrubysize, @opacity_text_bufRect.new(00buf_widthheight), opacity)
     else
       
    target.blt(sub_xrubysize, @opacity_text_bufRect.new(00buf_widthheight), opacity)
     
    end
     
    return width
    end
    end

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

    def convart_value(optionindex)
    option == nil option "" nil
    option
    .downcase!

    case 
    option
    when 
    "i"
     
    unless $data_items[index].name == nil
       r 
    sprintf("\030[%s]%s"$data_items[index].icon_name$data_items[index].name)
     
    end
    when 
    "w"
     
    unless $data_weapons[index].name == nil
       r 
    sprintf("\030[%s]%s"$data_weapons[index].icon_name$data_weapons[index].name)
     
    end
    when 
    "a"
     
    unless $data_armors[index].name == nil
       r 
    sprintf("\030[%s]%s"$data_armors[index].icon_name$data_armors[index].name)
     
    end
    when 
    "s"
     
    unless $data_skills[index].name == nil
       r 
    sprintf("\030[%s]%s"$data_skills[index].icon_name$data_skills[index].name)
     
    end
    else
     
    $game_variables[index]
    end

    == nil "" nil
    return r
    end

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

    def dispose
    terminate_message

    if @gaiji_cache != nil
     unless 
    @gaiji_cache.disposed?
       @
    gaiji_cache.dispose
     end
    end

    unless 
    @opacity_text_buf.disposed?
     @
    opacity_text_buf.dispose
    end

    $game_temp
    .message_window_showing false
    if @input_number_window != nil
     
    @input_number_window.dispose
    end
    super
    end

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

    def update_cursor_rect
    if @index >= 0
     n 
    $game_temp.choice_start + @index
     self
    .cursor_rect.set(+ @indent + @face_indent25, @cursor_width32)
    else
     
    self.cursor_rect.empty
    end
    end
    end
    #=========================================
    # ² CLASS Window_Message Ends
    #=========================================


    #=========================================
    # ¼ Class Window_Frame Begins
    #=========================================
    class Window_Frame Window_Base

    def initialize
    (xywidthheight)
    super(xywidthheight)
    self.windowskin RPG::Cache.windowskin($ams.name_box_skin)
    self.contents nil
    end

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

    def dispose
    super
    end
    end
    #=========================================
    # ² CLASS Window_Frame Ends
    #=========================================


    #=========================================
    # ¼ CLASS Game_Map Additional Code Begins
    #=========================================
    class Game_Map

    #Dubealex's Addition (from XRXS) to show Map Name on screen
    def name
    $map_infos
    [@map_id]
    end
    end
    #=========================================
    # ² CLASS Game_Map Additional Code Ends
    #=========================================


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

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

    #Dubealex's addition to save data from the AMS in the save files
    $ams AMS.new

    end
    #=========================================
    # ² CLASS Scene_Title Additional Code Ends
    #=========================================


    #=========================================
    # ¼ CLASS Window_Base Additional Code Begins
    #=========================================
    class Window_Base Window

    #Dubealex Addition (from Phylomorphis) to use HTML Hex Code Colors
    def hex_color(string)
     
    red 0
     green 
    0
     blue 
    0
     
    if string.size != 6
       
    print("Hex strings must be six characters long.")
       print(
    "White text will be used.")
       return 
    Color.new(255255255255)
     
    end
     
    for i in 1..6
       s 
    string.slice!(/./m)
       if 
    == "#"
         
    print("Hex color string may not contain the \"#\" character.")
         print(
    "White text will be used.")
         return 
    Color.new(255255255255)
       
    end
       value 
    hex_convert(s)
       if 
    value == -1
         
    print("Error converting hex value.")
         print(
    "White text will be used.")
         return 
    Color.new(255255255255)
       
    end
       
    case i
       when 1
         red 
    += value 16
       when 2
         red 
    += value
       when 3
         green 
    += value 16
       when 4
         green 
    += value
       when 5
         blue 
    += value 16
       when 6
         blue 
    += value
       end
     end
     
    return Color.new(redgreenblue255)
    end

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

    def hex_convert(character)
     case 
    character
      when 
    "0"
        
    return 0
     when 
    "1"
        
    return 1
     when 
    "2"
        
    return 2
     when 
    "3"
        
    return 3
     when 
    "4"
        
    return 4
     when 
    "5"
        
    return 5
     when 
    "6"
        
    return 6
     when 
    "7"
        
    return 7
     when 
    "8"
        
    return 8
     when 
    "9"
        
    return 9
     when 
    "A"
        
    return 10
     when 
    "B"
        
    return 11
     when 
    "C"
        
    return 12
     when 
    "D"
        
    return 13
     when 
    "E"
        
    return 14
     when 
    "F"
        
    return 15
      end
     
    return -1
    end
    end
    #=========================================
    # ² CLASS Window_Base Additional Code Ends
    #=========================================


    #=========================================
    # ¼ Class Air_Text Begins
    #=========================================
    class Air_Text Window_Base

    def initialize
    (xydesignate_textcolor=0)

    super(x-16y-1632 designate_text.size 1256)
    self.opacity      0
    self
    .back_opacity 0
    self
    .contents Bitmap.new(self.width 32self.height 32)
    self.contents.width
    self.contents.height
    self
    .contents.font.name $ams.name_font_type
    self
    .contents.font.size $ams.name_font_size
    self
    .contents.font.color text_color(color)
    self.contents.draw_text(00whdesignate_text)
    end

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

    def dispose
    self
    .contents.clear
    super
    end
    end
    #==========================================
    # ² CLASS Air_Text  Ends
    #==========================================


    #===================================================
    # ¼ CLASS Scene_Save Additional Code Begins
    #===================================================
    class Scene_Save Scene_File

    alias ams_original_write_save_data write_save_data

    def write_save_data
    (file)
      
    ams_original_write_save_data(file)
      
    Marshal.dump($amsfile)
    end

    end
    #===================================================
    # ² CLASS Scene_Save Additional Code Ends
    #===================================================


    #===================================================
    # ¼ CLASS Scene_Load Additional Code Begins
    #===================================================
    class Scene_Load Scene_File

    alias ams_original_read_save_data read_save_data

    def read_save_data
    (file)
      
    ams_original_read_save_data(file)
      
    $ams      Marshal.load(file)
    end

    end
    #===================================================
    # ² CLASS Scene_Load Additional Code Ends
    #=================================================== 
    Wie benutzt man das Class changing System
    Hier der Script

    PHP-Code:
    #==============================================================================
    # Party & Class Changing System
    #--------------------------------------------------------------------------
    #   Created By SephirothSpawn (11.27.05)
    #   Last Updated: 11.28.05
    #==============================================================================

    #==============================================================================
    # Class Scene Title
    #==============================================================================
    class Scene_Title
      
    #--------------------------------------------------------------------------
      # * Alias' New Game Method
      #--------------------------------------------------------------------------
      
    alias new_game command_new_game
      
    #--------------------------------------------------------------------------
      # * Adds Base Stats For Enemies
      #--------------------------------------------------------------------------
      
    def command_new_game
        
    # Sets Class Requirements
        
    for i in 1...$data_classes.size
          $data_classes
    [i].set_reqirements
        end
        
    # Sets Characters Sex
        
    for i in 1...$data_actors.size
          $data_actors
    [i].set_sex
        end
        new_game
      end
    end

    #==============================================================================
    # ** Module RPG
    #==============================================================================
    module RPG
      
    #===========================================================================
      # ** Class Actor
      #===========================================================================
      
    class Actor
        
    #--------------------------------------------------------------------------
        # * Public Instance Variables
        #--------------------------------------------------------------------------
        
    attr_accessor :sex
        
    #--------------------------------------------------------------------------
        # * Set Sex
        #--------------------------------------------------------------------------
        
    def set_sex
          
    if @name.include?('(')
            @
    sex = @name.slice!(@name.index('(')..@name.index(')')) == '(M)' 2
          
    else
            @
    sex 1
          end
        end
      end
      
    #===========================================================================
      # ** Class Class
      #===========================================================================
      
    class Class
        
    #--------------------------------------------------------------------------
        # * Public Instance Variables
        #--------------------------------------------------------------------------
        
    attr_accessor :level_requirements
        attr_accessor 
    :sex_requirements
        
    #--------------------------------------------------------------------------
        # * Set Requirements
        #--------------------------------------------------------------------------
        
    def set_reqirements
          
    # Sets Level Requirements
          
    @level_requirements = @name.include?('{') ?
            eval (@
    name.slice!(@name.index('{')..@name.index('}'))) : {}
          
    # Sets Sex Requirements
          
    if @name.include?('(')
            
    sex = @name.slice!(@name.index('(')..@name.index(')'))
            @
    sex_requirements sex == '(M)' 2
          
    else
            @
    sex_requirements 0
          end
        end
      end
    end

    #==============================================================================
    # ** Class Window_Base
    #==============================================================================
    class Window_Base
      
    #--------------------------------------------------------------------------
      # * Draw Item Name
      #     item : item
      #     x    : draw spot x-coordinate
      #     y    : draw spot y-coordinate
      #     width : draw text width
      #     align  : text align
      #--------------------------------------------------------------------------
      
    def draw_item_name(itemxywidth 212align 0type 0)
        if 
    item == nil
          
    case type
          when 0  
    # Weapon
            
    bitmap RPG::Cache.icon("001-Weapon01")
          
    when 1  # Shield
            
    bitmap RPG::Cache.icon("009-Shield01")
          
    when 2  # Helmet
            
    bitmap RPG::Cache.icon("010-Head01")
          
    when 3  # Armor
            
    bitmap RPG::Cache.icon("014-Body02")
          
    when 4  # Accessory
            
    bitmap RPG::Cache.icon("016-Accessory01")
          
    end
          self
    .contents.blt(x4bitmapRect.new(002424), disabled_color.alpha)
          
    self.contents.font.color disabled_color
          self
    .contents.draw_text(28ywidth 2832"Nothing Equipped"align)
          return
        
    end
        bitmap 
    RPG::Cache.icon(item.icon_name)
        
    self.contents.blt(x4bitmapRect.new(002424))
        
    self.contents.font.color normal_color
        self
    .contents.draw_text(28ywidth 2832item.namealign)
      
    end
      
    #--------------------------------------------------------------------------
      # * Draw Sprite
      #--------------------------------------------------------------------------
      
    def draw_sprite(xynamehueposeframeactor_contents true)
        
    bitmap RPG::Cache.character(namehue)
        
    cw bitmap.width 4
        ch 
    bitmap.height 4
        
    # Facing Direction
        
    case pose
          when 0 
    ;# Down
          
    when 1 ;ch # Left
          
    when 2 ;ch # Up
          
    when 3 ;ch # Right
        
    end
        
    # Current Animation Slide
        
    case frame
          when 0 
    ;0
          when 1 
    ;cw
          when 2 
    ;cw 2
          when 3 
    ;cw 3
        end
        
    # Bitmap Rectange
        
    src_rect Rect.new(bacwch)
        
    # Draws Bitmap
        
    if actor_contents
          
    @sprite_contents.bitmap.blt(cw 2chbitmapsrc_rect)
        else
          
    self.contents.blt(cw 2chbitmapsrc_rect)
        
    end
      end
      
    #--------------------------------------------------------------------------
      # Draw Bar
      #   Credit Near Fantastica for Orginal Script
      #--------------------------------------------------------------------------
      
    def draw_bar(xyminmaxwidth 152height 20)
        
    self.contents.fill_rect(xywidthheightColor.new(255255255100))
        
    bar_color Color.new(00200255)
        for 
    i in 0..(width min max)
          
    bar_color.red * (width i) / width width
          g 
    bar_color.green * (width i) / width width
          b 
    bar_color.blue * (width i) / width width
          a 
    bar_color.alpha * (width i) / width 255 width
          self
    .contents.fill_rect(iyheightColor.new(rgba))
        
    end
      end
      
    #--------------------------------------------------------------------------
      # * Alias Update
      #--------------------------------------------------------------------------
      
    alias sprite_update update
      
    #--------------------------------------------------------------------------
      # * Update
      #--------------------------------------------------------------------------
      
    def update
        sprite_update
        unless 
    @sprite_contents == nil
          
    @sprite_contents.self.self.ox 16
          
    @sprite_contents.self.self.oy 16
        end
      end
      
    #--------------------------------------------------------------------------
      # * Alias Dispose
      #--------------------------------------------------------------------------
      
    alias sprite_dispose dispose
      
    #--------------------------------------------------------------------------
      # * Dispose
      #--------------------------------------------------------------------------
      
    def dispose
        sprite_dispose
        unless 
    @sprite_contents == nil
          
    @sprite_contents.dispose
          
    @sprite_contents.dispose
        end
      end
    end

    #==============================================================================
    # ** Window_Selectable
    #==============================================================================
    class Window_Selectable Window_Base
      
    #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      
    attr_accessor   :cursor_height
      
    #--------------------------------------------------------------------------
      # * Alias Initialization
      #--------------------------------------------------------------------------
      
    alias custom_int initialize
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      
    def initialize(xywidthheight)
        
    custom_int(xywidthheight)
        @
    cursor_height 32
      end
      
    #--------------------------------------------------------------------------
      # * Get Top Row
      #--------------------------------------------------------------------------
      
    def top_row
        
    # Divide y-coordinate of window contents transfer origin by 1 row
        # height of @cursor_height
        
    return self.oy / @cursor_height
      end
      
    #--------------------------------------------------------------------------
      # * Set Top Row
      #     row : row shown on top
      #--------------------------------------------------------------------------
      
    def top_row=(row)
        
    # If row is less than 0, change it to 0
        
    if row 0
          row 
    0
        end
        
    # If row exceeds row_max - 1, change it to row_max - 1
        
    if row row_max 1
          row 
    row_max 1
        end
        
    # Multiply 1 row height by 32 for y-coordinate of window contents
        # transfer origin
        
    self.oy row * @cursor_height
      end
      
    #--------------------------------------------------------------------------
      # * Get Number of Rows Displayable on 1 Page
      #--------------------------------------------------------------------------
      
    def page_row_max
        
    # Subtract a frame height of 32 from the window height, and divide it by
        # 1 row height of @cursor_height
        
    return (self.height 32) / @cursor_height
      end
      
    #--------------------------------------------------------------------------
      # * Update Cursor Rectangle
      #--------------------------------------------------------------------------
      
    def update_cursor_rect
        
    # If cursor position is less than 0
        
    if @index 0
          self
    .cursor_rect.empty
          return
        
    end
        
    # Get current row
        
    row = @index / @column_max
        
    # If current row is before top row
        
    if row self.top_row
          
    # Scroll so that current row becomes top row
          
    self.top_row row
        end
        
    # If current row is more to back than back row
        
    if row self.top_row + (self.page_row_max 1)
          
    # Scroll so that current row becomes back row
          
    self.top_row row - (self.page_row_max 1)
        
    end
        
    # Calculate cursor width
        
    cursor_width self.width / @column_max 32
        
    # Calculate cursor coordinates
        
    = @index % @column_max * (cursor_width 32)
        
    = @index / @column_max * @cursor_height self.oy
        
    if self.active == true
          
    # Update cursor rectangle
          
    self.cursor_rect.set(xycursor_width, @cursor_height)
        
    end
      end
    end

    #==============================================================================
    # ** Window_Command
    #==============================================================================
    class Window_Command Window_Selectable
      
    #--------------------------------------------------------------------------
      # * Unisable Item
      #     index : item number
      #--------------------------------------------------------------------------
      
    def undisable_item(index)
        
    draw_item(indexnormal_color)
      
    end
    end

    #==============================================================================
    # ** Game_Actor
    #==============================================================================
    class Game_Actor Game_Battler
      
    #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      
    attr_accessor :class_levels
      attr_accessor 
    :class_exp
      attr_accessor 
    :class_skills
      attr_accessor 
    :sex
      
    #--------------------------------------------------------------------------
      # * Alias Setup
      #--------------------------------------------------------------------------
      
    alias class_setup setup
      
    #--------------------------------------------------------------------------
      # * Setup
      #--------------------------------------------------------------------------
      
    def setup(actor_id)
        
    class_setup(actor_id)
        @
    class_levels, @class_exp, @class_skills = [nil], [nil], [nil]
        for 
    i in 0...$data_classes.size
          
    @class_levels.push(1)
          @
    class_exp.push(0)
          @
    class_skills.push([])
        
    end
        
    @sex $data_actors[actor_id].sex
      end
      
    #--------------------------------------------------------------------------
      # * Switch Class
      #--------------------------------------------------------------------------
      
    def switch_class(class_id)
        
    # Updates Class Arrays
        
    @class_levels[@class_id ] = @level
        
    @class_exp[@class_id] = @exp
        
    @class_skills[@class_id] = @skills
        
    # Loads New Class ID
        
    @class_id class_id
        
    # Loads Class Level & Exp Count
        
    @level = @class_levels[class_id]
        @
    exp = @class_exp[class_id]
        @
    skills = @class_skills[class_id]
      
    end
      
    #--------------------------------------------------------------------------
      # * Update Levels & Exp
      #--------------------------------------------------------------------------
      
    def update_classes
        
    # Updates Class Arrays
        
    @class_levels[@class_id ] = @level
        
    @class_exp[@class_id] = @exp
        
    @class_skills[@class_id] = @skills
      end
    end

    #==============================================================================
    # ** Class Game_Party
    #==============================================================================
    class Game_Party
      
    #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      
    attr_accessor :reserve_actors
      
    #--------------------------------------------------------------------------
      # * Alias Initialization
      #--------------------------------------------------------------------------
      
    alias reserve_initialize initialize
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      
    def initialize
        reserve_initialize
        
    @reserve_actors = []
      
    end
      
    #--------------------------------------------------------------------------
      # * Add an Actor
      #     actor_id : actor ID
      #--------------------------------------------------------------------------
      
    def add_actor(actor_id)
        
    # Get actor
        
    actor $game_actors[actor_id]
        
    # If the party has less than 4 members and this actor is not in the party
        
    if @actors.size and not @actors.include?(actor)
          
    # Add actor
          
    @actors.push(actor)
          
    # Refresh player
          
    $game_player.refresh
        elsif 
    @actors.size >= and not @actors.include?(actor) and not @reserve_actors.include?(actor)
          
    # Add actor
          
    @reserve_actors.push(actor)
          
    # Refresh player
          
    $game_player.refresh
        end
      end
      
    #--------------------------------------------------------------------------
      # * Move To Reserve
      #     actor_id : actor ID
      #--------------------------------------------------------------------------
      
    def move_to_reserve(actor_id)
        
    # Get actor
        
    actor $game_actors[actor_id]
        if @
    actors.include?(actor)
          @
    actors.delete(actor)
          @
    reserve_actors.push(actor)
        
    end
        
    # Refresh player
        
    $game_player.refresh
      end
      
    #--------------------------------------------------------------------------
      # * Move To Party
      #     actor_id : actor ID
      #--------------------------------------------------------------------------
      
    def move_to_party(actor_id)
        
    # Get actor
        
    actor $game_actors[actor_id]
        if @
    reserve_actors.include?(actor)
          @
    reserve_actors.delete(actor)
          @
    actors.push(actor)
        
    end
        
    # Refresh player
        
    $game_player.refresh
      end
    end

    #==============================================================================
    # ** Window_Member_Sprites
    #==============================================================================
    class Window_Member_Sprites Window_Base
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      
    def initialize(0384width 160)
        
    super(xywidth96)
          
    self.500
        
    # Creates Contents
        
    self.contents Bitmap.new(width 32height 32)
        @
    sprite_contents Sprite.new
          @
    sprite_contents.bitmap Bitmap.new(width 32height 32)
          @
    sprite_contents.505
        self
    .contents.font.size 10
        
    # Animation Varaibles
        
    @pose, @frame 00
        
    # Updates Window
        
    update
      end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #     actors : $game_party.actors or $game_party.reserve_actors
      #--------------------------------------------------------------------------
      
    def refresh(actors)
        
    # Clears Contents
        
    contents.clear
        
    @sprite_contents.bitmap.clear
        
    # Stores Actors
        
    @actors actors.dup
        
    # Adds Blank Actors
        
    max = @actors == $game_party.actors 14
        
    @actors.push(niluntil @actors.size max
        
    # Draw Sprites
        
    draw_sprites
        
    # Draws Info
        
    draw_info
      end
      
    #--------------------------------------------------------------------------
      # Draw Sprites
      #--------------------------------------------------------------------------
      
    def draw_sprites
        
    @sprite_contents.bitmap.clear
        
    for i in 0...@actors.size
          actor 
    = @actors[i]
          if 
    actor == nil
            draw_sprite
    (32 1664"Empty"0, @pose, @frame)
          else
            
    draw_sprite(32 1664actor.character_nameactor.character_hue , @pose, @frame)
          
    end
        end
      end
      
    #--------------------------------------------------------------------------
      # Draw Information
      #--------------------------------------------------------------------------
      
    def draw_info
        contents
    .clear
        
    for i in 0...@actors.size
          actor 
    = @actors[i]
          if 
    actor == nil
            contents
    .font.color disabled_color
            contents
    .draw_text(3203212"Empty"1)
          else
            
    contents.font.color normal_color
            contents
    .draw_text(3203212actor.name1)
          
    end
        end
      end
      
    #--------------------------------------------------------------------------
      # Frame Update
      #--------------------------------------------------------------------------
      
    def frame_update
        
    @frame == ? @frame : @frame += 1
        draw_sprites
      end
      
    #--------------------------------------------------------------------------
      # * Update Cursor Rectangle
      #--------------------------------------------------------------------------
      
    def update_cursor_rect(index)
        
    self.cursor_rect.set(index 3203264)
      
    end
      
    #--------------------------------------------------------------------------
      # Update Pose
      #   direction   : 0 - Left  1 - Right
      #--------------------------------------------------------------------------
      
    def update_pose(direction)
        if 
    direction == 0
         
    @pose == ? @pose : @pose -= 1
       
    else
         @
    pose == ? @pose : @pose += 1
       end
       draw_sprites
      end
    end

    #==============================================================================
    # ** Window_Party_Changing
    #==============================================================================
    class Window_Party_Changing Window_Selectable
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      
    def initialize
        super
    (00640288)
        
    # Sets Cursor Height
        
    self.cursor_height 64
        
    # Sets Index
        
    self.index 0
        
    # Animated Sprite Counters
        
    @pose, @frame 00
        
    # Sets Up Window Contents
        
    self.contents Bitmap.new(width 32height 32)
        
    # Sprite Contents
        
    @sprite_contents Sprite.new
          @
    sprite_contents.bitmap Bitmap.new(width 32height 32)
          @
    sprite_contents.500
        
    # Updates Window
        
    update
      end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #     actors : $game_party.actors or $game_party.reserve_actors
      #--------------------------------------------------------------------------
      
    def refresh(actors)
        
    # Clears Contents
        
    contents.clear
        
    @sprite_contents.bitmap.clear
        
    # Duplicates Actors
        
    @actors actors.dup
        
    # Checks Actors List
        
    max = @actors == $game_party.actors 0
        
    @actors.push(niluntil @actors.size max
        
    # Sets Up Item Max
        
    @item_max = @actors.size
        
    # Draw Sprites
        
    draw_sprites
        
    # Draws Info
        
    draw_info
      end
      
    #--------------------------------------------------------------------------
      # Draws Sprites
      #--------------------------------------------------------------------------
      
    def draw_sprites
        
    @sprite_contents.bitmap.clear
        
    # Draws actors
        
    for i in 0...@actors.size
          actor 
    = @actors[i]
          
    64 8
          
    if actor == nil
            draw_sprite
    (2048"Empty"0, @pose, @frame)
          else
            
    draw_sprite(2048actor.character_nameactor.character_hue , @pose, @frame)
          
    end
        end
      end
      
    #--------------------------------------------------------------------------
      # Draws Information
      #--------------------------------------------------------------------------
      
    def draw_info
        contents
    .clear
        
    # Draws actors
        
    for i in 0...@actors.size
          actor 
    = @actors[i]
          
    64 8
          
    if actor == nil
            contents
    .font.size 40
            contents
    .font.color disabled_color
            contents
    .draw_text(608contents.width64"Empty Position")
          else
            
    contents.font.size 22
            
    # Draws Name
            
    contents.font.color normal_color
            contents
    .draw_text(60y9024actor.name)
            
    # Draws Class
            
    contents.draw_text(60249024$data_classes[actor.class_id].name)
            
    # Draws Level
            
    contents.font.color system_color
            contents
    .draw_text(160y10024"Level")
            
    contents.font.color normal_color
            contents
    .draw_text(160y10024actor.level.to_s2)
            
    # Draws State
            
    state make_battler_state_text(actor112true)
            
    contents.font.color actor.hp == knockout_color normal_color
            contents
    .draw_text(1602410024state)
            
    # Draws Experience
            
    contents.font.color system_color
            contents
    .draw_text(274y16024"Exp")
            
    contents.font.color normal_color
            contents
    .draw_text(274y16024actor.exp.to_s2)
            
    # Draws Next Level Bar
            
    draw_bar(27026actor.expactor.next_exp_s.to_i168)
            
    # Draws Next Level
            
    contents.font.color system_color
            contents
    .draw_text(2742416024"Next Level")
            
    contents.font.color normal_color
            contents
    .draw_text(2742416024actor.next_rest_exp_s.to_s2)
            
    # Draw HP Bar
            
    draw_bar(4462actor.hpactor.maxhp)
            
    # Draw MP Bar
            
    draw_bar(44626actor.spactor.maxsp)
            
    # Draws HP
            
    contents.font.size 22
            contents
    .font.color system_color
            contents
    .draw_text(452y16024$data_system.words.hp)
            
    contents.font.size 16
            contents
    .font.color actor.hp == knockout_color normal_color
            contents
    .draw_text(452y14024"#{actor.hp} / #{actor.maxhp}"2)
            
    # Draws SP
            
    contents.font.size 22
            contents
    .font.color system_color
            contents
    .draw_text(4522416024$data_system.words.sp)
            
    contents.font.size 16
            contents
    .font.color actor.sp == knockout_color normal_color
            contents
    .draw_text(4522414024"#{actor.sp} / #{actor.maxsp}"2)
          
    end
        end
      end
      
    #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      
    def frame_update
        
    @frame == ? @frame : @frame += 1
        draw_sprites
      end
      
    #--------------------------------------------------------------------------
      # * Update Pose
      #     direction   : 0 - Left  1 - Right
      #--------------------------------------------------------------------------
      
    def update_pose(direction)
        if 
    direction == 0
          
    @pose == ? @pose : @pose -= 1
        
    else
          @
    pose == ? @pose : @pose += 1
        end
        draw_sprites
      end
    end

    #==============================================================================
    # ** Window Class Changing
    #==============================================================================
    class Window_Class_Changing Window_Selectable
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      
    def initialize
        super
    (064160320)
        
    # Sets Cursor Height
        
    self.cursor_height 72
        
    # Sets Index
        
    self.index 0
        
    # Animated Sprite Counters
        
    @pose, @frame 00
        
    # Window Contents
        
    self.contents Bitmap.new(width 32height 32)
        
    # Refreshes Window Contents
        
    refresh
      end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      
    def refresh
        
    # Clears Contents
        
    contents.clear
        
    # Duplicates Actors
        
    @actors $game_party.actors.dup
        
    # Checks Actors List
        
    @actors.push(niluntil @actors.size 3
        
    # Sets Up Item Max
        
    @item_max = @actors.size
        
    # Draw Actors Info
        
    contents.clear
        
    for i in 0...@item_max
          actor 
    = @actors[i]
          
    72
          
    # Draws Animated Sprite
          
    if actor == nil
            draw_sprite
    (2066"Empty"0, @pose, @framefalse)
            
    contents.font.color disabled_color
            contents
    .draw_text(322contents.width 4024""2)
            
    contents.draw_text(3224contents.width 4024"Empty"2)
            
    contents.draw_text(3246contents.width 4024""2)
          else
            
    draw_sprite(2066actor.character_nameactor.character_hue , @pose, @framefalse)
            
    contents.font.color normal_color
            
    # Draws Name
            
    contents.draw_text(322contents.width 4024actor.name2)
            
    # Draws Class
            
    contents.draw_text(3224contents.width 4024$data_classes[actor.class_id].name2)
            
    # Draws Level
            
    contents.draw_text(3246contents.width 4024"Level: #{actor.level}"2)
          
    end
        end
      end
      
    # Frame Update
      #--------------------------------------------------------------------------
      
    def frame_update
        
    @frame == ? @frame : @frame += 1
        refresh
      end
      
    #--------------------------------------------------------------------------
      # Update Pose
      #   direction   : 0 - Left  1 - Right
      #--------------------------------------------------------------------------
      
    def update_pose(direction)
        if 
    direction == 0
         
    @pose == ? @pose : @pose -= 1
       
    else
         @
    pose == ? @pose : @pose += 1
       end
       refresh
     end
    end

    #==============================================================================
    # ** Window Character Status
    #==============================================================================
    class Window_Character_Status Window_Base
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #     actor : actor
      #--------------------------------------------------------------------------
      
    def initialize
        super
    (16064480416)
        
    # Animation Varaibles
        
    @pose, @frame 00
        
    # Window Contents
        
    self.contents Bitmap.new(width 32height 32)
        
    # Refreshes Contents
        
    refresh($game_party.actors[0])
      
    end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      
    def refresh(actor)
        
    # Clears Contents
        
    contents.clear
        
    # Stores Actor
        
    @actor actor
        
    if actor == nil
          draw_sprite
    (contents.width 2contents.height 2"Empty"0, @pose, @framefalse)
          
    # Draws Empty Text
          
    contents.font.size 48
          contents
    .font.color system_color
          contents
    .font.color.alpha disabled_color.alpha
          contents
    .draw_text(0contents.height 2contents.width48"Empty Position"1)
        else
          
    draw_sprite(4080actor.character_nameactor.character_hue , @pose, @framefalse)
          
    contents.font.size 22
          contents
    .font.color normal_color
          
    # Draws Name
          
    contents.draw_text(-849624actor.name1)
          
    # Draws State
          
    state make_battler_state_text(actor112true)
          
    contents.font.color actor.hp == knockout_color normal_color
          contents
    .draw_text(9689624state1)
          
    # Draws Class
          
    contents.font.color system_color
          contents
    .draw_text(96329624actor.class_name1)
          
    # Draws Level
          
    contents.font.color system_color
          contents
    .draw_text(96569624"Level :")
          
    contents.font.color normal_color
          contents
    .draw_text(96569624actor.level.to_s2)
          
    # Draws Experience
          
    contents.font.color system_color
          contents
    .draw_text(224822424"Experience :")
          
    contents.font.color normal_color
          contents
    .draw_text(216822424actor.exp_s2)
          
    # Next Level Experience
          
    contents.font.color system_color
          contents
    .draw_text(2243222424"Next Level :")
          
    contents.font.color normal_color
          contents
    .draw_text(2163222424actor.next_rest_exp_s2)
          
    # Draws Next Level Bar
          
    draw_bar(22458actor.expactor.next_exp_s.to_i216)
          
    # Draws HP Bar
          
    draw_bar(32126actor.hpactor.maxhp22824)
          
    # Draws HP
          
    contents.font.color system_color
          contents
    .draw_text(4012622424"HP")
          
    contents.font.color normal_color
          contents
    .draw_text(3212622424"#{actor.hp} / #{actor.maxhp}"2)
          
    # Draws SP Bar
          
    draw_bar(32158actor.spactor.maxsp22824)
          
    # Draws SP
          
    contents.font.color system_color
          contents
    .draw_text(4015822424"SP")
          
    contents.font.color normal_color
          contents
    .draw_text(3215822424"#{actor.sp} / #{actor.maxsp}"2)
          
    # Draws Equiped Items
          
    draw_item_name($data_weapons[actor.weapon_id], 3619022420)
          
    draw_item_name($data_armors[actor.armor1_id], 3622222421)
          
    draw_item_name($data_armors[actor.armor2_id], 3625422422)
          
    draw_item_name($data_armors[actor.armor3_id], 3628622423)
          
    draw_item_name($data_armors[actor.armor4_id], 3631822424)
          
    # Draws Stats
          
    stat_names = [$data_system.words.str$data_system.words.dex$data_system.words.agi,
            
    $data_system.words.int$data_system.words.atk$data_system.words.pdef$data_system.words.mdef"Evasion"]
          
    stats = [actor.stractor.dexactor.agiactor.intactor.atkactor.pdefactor.mdefactor.eva]
          for 
    i in 0...stats.size
            contents
    .font.color system_color
            contents
    .draw_text(278108 3217024stat_names[i])
            
    contents.font.color normal_color
            contents
    .draw_text(270108 3217024stats[i].to_s2)
          
    end
        end
      end
      
    #--------------------------------------------------------------------------
      # Frame Update
      #--------------------------------------------------------------------------
      
    def frame_update
        
    @frame == ? @frame : @frame += 1
        refresh
    (@actor)
      
    end
      
    #--------------------------------------------------------------------------
      # Update Pose
      #   direction   : 0 - Left  1 - Right
      #--------------------------------------------------------------------------
      
    def update_pose(direction)
        if 
    direction == 0
         
    @pose == ? @pose : @pose -= 1
       
    else
         @
    pose == ? @pose : @pose += 1
       end
       refresh
    (@actor)
      
    end
    end

    #==============================================================================
    # ** Window_Class_Status
    #==============================================================================
    class Window_Class_Status Window_Base
      
    #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      
    def initialize
        super
    (16064480416)
        
    # Creates Contents
        
    self.contents Bitmap.new(width 32height 32)
        
    # Animation Varaibles
        
    @pose, @frame 00
        
    # Refreshes Contents
        
    refresh($game_party.actors[0], $data_classes[1])
      
    end
      
    #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      
    def refresh(actorcurrent_class)
        
    # Clears Contents
        
    contents.clear
        
    # Requirements Met (For Return)
        
    @requirements_met true
        
    # Stores Variables for Refreshing
        
    @actor actor
        
    @current_class current_class
        
    # Draws Actors Info
        
    contents.font.size 22
        contents
    .font.color normal_color
        
    # Draws Name of Actor
        
    contents.draw_text(04contents.width 324actor.name1)
        
    # Draws Actor Sprite
        
    draw_sprite(contents.width 682actor.character_nameactor.character_hue , @pose, @framefalse)
        
    # Current Class
        
    contents.font.color system_color
        contents
    .draw_text(contents.width 44contents.width 324actor.class_name1)
        
    # Current Level
        
    contents.draw_text(contents.width 430contents.width 324"Level :")
        
    contents.font.color normal_color
        contents
    .draw_text(contents.width 430contents.width 324actor.level.to_s2)
        
    # Current Experience
        
    contents.font.color system_color
        contents
    .draw_text(contents.width 456contents.width 324"Experience :")
        
    contents.font.color normal_color
        contents
    .draw_text(contents.width 456contents.width 324actor.exp_s2)
        
    # Checks to Make Sure Current Class isn't Nil
        
    if current_class == nil
          contents
    .font.size 32
          contents
    .font.color system_color
          contents
    .draw_text(0contents.width 18contents.width36"Return to Actors"1)
        else
          
    contents.font.size 22
          contents
    .font.color normal_color
          
    # Next Class
          
    contents.font.color system_color
          contents
    .draw_text(contents.width 4contents.width 326current_class.name1)
          
    # Next Level
          
    contents.draw_text(contents.width 430contents.width 326"Level :")
          
    contents.font.color normal_color
          contents
    .draw_text(contents.width 430contents.width 326actor.class_levels[current_class.id].to_s2)
          
    # Next Experience
          
    contents.font.color system_color
          contents
    .draw_text(contents.width 456contents.width 326"Experience :")
          
    contents.font.color normal_color
          contents
    .draw_text(contents.width 456contents.width 326actor.class_exp[current_class.id].to_s2)
          
    pos current_class.position == "Front Row" current_class.position == "Middle Row" "Back Row"
          
    contents.draw_text(096contents.width24"#{current_class.name}:  #{pos}"1)
          
    contents.font.color system_color
          
    # Draws Class Requirements
          
    contents.draw_text(0120contents.width24"Requirements"1)
          
    contents.draw_text(4144contents.width24"Sex Requirement:")
          
    # Sex Requirements
          
    contents.font.color normal_color
          sex_req 
    current_class.sex_requirements
          
    if sex_req == or sex_req == actor.sex
            contents
    .font.color normal_color
          
    else
            
    contents.font.color disabled_color
          end
          contents
    .draw_text(32168contents.width24sex_req == "None" sex_req == "Male" "Female")
          
    contents.draw_text(- 8168contents.width24actor.sex == "Male" "Female"2)
          
    # Checks if Requirements met
          
    @requirements_met false unless sex_req == or sex_req == actor.sex
          
    # Class Level Requirements
          
    contents.font.color system_color
          contents
    .draw_text(4192contents.width24"Class Requirement:")
          
    contents.draw_text(32216contents.width24"Class")
          
    contents.draw_text(160216contents.width24"Req. Level")
          
    contents.draw_text(-8216contents.width24"Current Level"2)
          
    contents.font.color normal_color
          
    # Class Requirement Arrays
          
    classeslevel_reqslevels = [], [], []
          
    current_class.level_requirements.each_key { |key|
            
    classes.push($data_classes[key].name)
            
    level_reqs.push(current_class.level_requirements[key])
            
    levels.push(actor.class_levels[$data_classes[key].id]) }
          for 
    i in 0...classes.size
            
    if levels[i] >= level_reqs[i]
              
    contents.font.color normal_color
            
    else
              
    contents.font.color disabled_color
              
    @requirements_met false
            end
            contents
    .draw_text(32240 24contents.width24classes[i])
            
    contents.draw_text(160240 24contents.width24level_reqs[i].to_s)
            
    contents.draw_text(-8240 24contents.width24levels[i].to_s2)
          
    end
        end
      end
      
    #--------------------------------------------------------------------------
      # Frame Update
      #--------------------------------------------------------------------------
      
    def frame_update
        
    @frame == ? @frame : @frame += 1
        refresh
    (@actor, @current_class)
      
    end
      
    #--------------------------------------------------------------------------
      # Check Requirements
      #--------------------------------------------------------------------------
      
    def check
        
    return @requirements_met
      end
    end

    #==============================================================================
    # ** Scene Party Changer
    #==============================================================================
    class Scene_Party_Changer
      
    #--------------------------------------------------------------------------
      # * Main Processing
      #--------------------------------------------------------------------------
      
    def main
        
    # Current Phase
        
    @phase 0
        
    # Frame Update (For Sprite Animations)
        
    @update_frame 0
        
    # Help Window
        
    @help_window Window_Help.new
          @
    help_window.set_text("Select Member To Transfer to Reserves"1)
          @
    help_window.9999
        
    # Active Party Window
        
    @active_actors_window Window_Party_Changing.new
          @
    active_actors_window.refresh($game_party.actors)
          @
    active_actors_window.64
        
    # Reserve Party Window
        
    @reserver_actors_window Window_Party_Changing.new
          @
    reserver_actors_window.refresh($game_party.reserve_actors)
          @
    reserver_actors_window.352
          
    @reserver_actors_window.active false
        
    # Active Party Sprites
        
    @active_actors_sprites Window_Member_Sprites.new
          @
    active_actors_sprites.refresh($game_party.actors)
          @
    active_actors_sprites.update_cursor_rect(0)
        
    # Reserve Party Sprites
        
    @reserve_actors_sprites Window_Member_Sprites.new(160384480)
          @
    reserve_actors_sprites.refresh($game_party.reserve_actors)
          @
    reserve_actors_sprites.update_cursor_rect(0)
        
    # Scene Objects
        
    @objects = [@help_window, @active_actors_window, @reserver_actors_window
                           @
    active_actors_sprites, @reserve_actors_sprites]
        
    Graphics.transition
        
    # Main loop
        
    while $scene == self
          
    # Update game screen
          
    Graphics.update
          
    # Update input information
          
    Input.update
          
    # Objects Update
          
    @objects.each {|xx.update}
          
    # Animated Sprites Update
          
    @update_frame += 1
          
    if @update_frame == 10
            
    @update_frame 0
            
    @objects.each {|xx.frame_update unless x == @help_window}
          
    end
          
    # Updates Poses
          
    if Input.trigger?(Input::RIGHT)
            
    $game_system.se_play($data_system.cursor_se)
            @
    objects.each {|xx.update_pose(0unless x == @help_window}
          
    elsif Input.trigger?(Input::LEFT)
            
    $game_system.se_play($data_system.cursor_se)
            @
    objects.each {|xx.update_pose(1unless x == @help_window}
          
    end
          
    # Frame update
          
    @phase == active_update reserve_update
        end
        
    # Prepare for transition
        
    Graphics.freeze
        
    # Disposes Objects
        
    @objects.each {|xx.dispose}
      
    end
      
    #--------------------------------------------------------------------------
      # * Update
      #--------------------------------------------------------------------------
      
    def active_update
        
    # Slides Windows
        
    @active_actors_window.+= if @active_actors_window.64
        
    @reserver_actors_window.+= if @reserver_actors_window.352
        
    # Updates Cursor Rectangles
        
    if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
          @
    active_actors_sprites.update_cursor_rect(@active_actors_window.index)
        
    # Exits Scene
        
    elsif Input.trigger?(Input::B)
          
    $game_system.se_play($data_system.cancel_se)
          
    $scene Scene_Map.new
        
    # Selects Party Spot to Switch Spot With
        
    elsif Input.trigger?(Input::C)
          
    actor $game_party.actors[@active_actors_window.index]
          if 
    $game_party.reserve_actors.size == 0
            $game_system
    .se_play($data_system.buzzer_se)
            @
    help_window.set_text("No Reserve Actors to Switch With"1)
          else
            
    $game_system.se_play($data_system.decision_se)
            @
    active_actors_window.active false
            
    @reserver_actors_window.active true
            text 
    actor == nil 
              
    "Select Member to Add to Party" "Select Member to Switch Spots with #{actor.name}"
            
    @help_window.set_text(text1)
            @
    phase 1
          end
        end
      end
      
    #--------------------------------------------------------------------------
      # * Update
      #--------------------------------------------------------------------------
      
    def reserve_update
        
    # Slides Windows
        
    @active_actors_window.-= if @active_actors_window.> -192
        
    @reserver_actors_window.-= if @reserver_actors_window.96
        
    # Updates Cursor Rectangles
        
    if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
          @
    reserve_actors_sprites.update_cursor_rect(@reserver_actors_window.index)
        
    # Returns to Main Phase
        
    elsif Input.trigger?(Input::B)
          
    $game_system.se_play($data_system.cancel_se)
          @
    help_window.set_text("Select Member To Transfer to Reserves"1)
          @
    active_actors_window.active true
          
    @reserver_actors_window.active false
          
    @phase 0
        end
        
    if Input.trigger?(Input::C)
          
    $game_system.se_play($data_system.decision_se)
          
    active_member $game_party.actors[@active_actors_window.index]
          
    reserve_member $game_party.reserve_actors[@reserver_actors_window.index]
          
    $game_party.move_to_reserve(active_member.idunless active_member == nil
          $game_party
    .move_to_party(reserve_member.id)
          [@
    active_actors_window, @active_actors_sprites].each {|xx.refresh($game_party.actors)}
          [@
    reserver_actors_window, @reserve_actors_sprites].each {|xx.refresh($game_party.reserve_actors)}
          @
    active_actors_window.active true
          
    @reserver_actors_window.active false
          
    @phase 0
        end
      end
    end

    #==============================================================================
    # ** Scene Class Changer
    #==============================================================================
    class Scene_Class_Changer
      
    #--------------------------------------------------------------------------
      # * Main Processing
      #--------------------------------------------------------------------------
      
    def main
        
    # Updates Actors Class Arrays
        
    for actor in $game_party.actors
          actor
    .update_classes
        end
        
    # Frame Update (For Sprite Animations)
        
    @update_frame 0
        
    # Help Window
        
    @help_window Window_Help.new
          @
    help_window.set_text("Select Actor to Change Class"1)
        
    # Actors Window
        
    @actors_window Window_Class_Changing.new
        
    # Class Window
        
    commands = ["Back"]
        for 
    job in $data_classes
          commands
    .push(job.nameunless job == nil
        end
        
    @class_window Window_Command.new(160commands)
          @
    class_window.64
          
    @class_window.height 320
          
    @class_window.active = @class_window.visible false
        
    # Sprites Window
        
    @sprites_window Window_Member_Sprites.new
          @
    sprites_window.refresh($game_party.actors)
          @
    sprites_window.frame_update
          
    @sprites_window.update_cursor_rect(0)
        
    # Character Window
        
    @character_status_window Window_Character_Status.new
        
    # Class Window
        
    @class_status_window Window_Class_Status.new
          @
    class_status_window.visible false
        
    # Scene Objects
        
    @objects = [@help_window, @actors_window, @class_window, @sprites_window
          @
    character_status_window, @class_status_window]
        
    Graphics.transition
        
    # Main loop
        
    while $scene == self
          
    # Update game screen
          
    Graphics.update
          
    # Update input information
          
    Input.update
          
    # Objects Update
          
    @objects.each {|xx.update}
          
    # Animated Sprites Update
          
    @update_frame += 1
          
    if @update_frame == 5
            
    @update_frame 0
            
    [@actors_window, @sprites_window, @character_status_window, @class_status_window].each {|xx.frame_update unless x.visible == false}
          
    end
          
    # Frame update
          
    update
        end
        
    # Prepare for transition
        
    Graphics.freeze
        
    # Disposes Objects
        
    @objects.each {|xx.dispose}
      
    end
      
    #--------------------------------------------------------------------------
      # * Update
      #--------------------------------------------------------------------------
      
    def update
        
    # Sets Disabled and Undisabled Items
        
    if @class_window.active
          
    for i in 1...$data_classes.size
            
    if check_class($game_party.actors[@actors_window.index], $data_classes[i])
              @
    class_window.undisable_item(i)
            else
              @
    class_window.disable_item(i)
            
    end
          end
        end
        
    # Updates Actor Cursor Rectangle
        
    @sprites_window.update_cursor_rect(@actors_window.index)
        
    # ~ Input Processing ~
        
    if Input.trigger?(Input::RIGHT)
          for 
    actor in $game_party.actors
            actor
    .exp += 100
          end
        end
        
    if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
          if @
    character_status_window.visible
            
    @character_status_window.refresh($game_party.actors[@actors_window.index])
          else
            @
    class_status_window.refresh($game_party.actors[@actors_window.index], $data_classes[@class_window.index])
          
    end
        elsif Input
    .trigger?(Input::B)
          
    $game_system.se_play($data_system.cancel_se)
          if @
    actors_window.active
            $scene 
    Scene_Map.new
          else
            @
    class_window.index 0
            
    @actors_window.visible = @actors_window.active true
            
    @class_window.visible = @class_window.active false
            
    @character_status_window.visible true
            
    @class_status_window.visible false
            
    @character_status_window.refresh($game_party.actors[@actors_window.index])
          
    end
        elsif Input
    .trigger?(Input::C)
          if @
    actors_window.active
            
    if $game_party.actors[@actors_window.index] == nil
              $game_system
    .se_play($data_system.buzzer_se)
            else
              
    $game_system.se_play($data_system.decision_se)
              @
    actors_window.visible = @actors_window.active false
              
    @class_window.visible = @class_window.active true
              
    @index = @actors_window.index
              
    @class_status_window.refresh($game_party.actors[@index], $data_classes[@class_window.index])
              @
    character_status_window.visible false
              
    @class_status_window.visible true
              
    @help_window.set_text("Select Class to Change #{$game_party.actors[@index].name} To"1)
            
    end
          
    else
            if @
    class_window.index == 0
              $game_system
    .se_play($data_system.decision_se)
              @
    actors_window.visible = @actors_window.active true
              
    @class_window.visible = @class_window.active false
              
    @character_status_window.refresh($game_party.actors[@actors_window.index])
              @
    character_status_window.visible true
              
    @class_status_window.visible false
              
    @help_window.set_text("Select Actor to Change Class"1)
            else
              if @
    class_status_window.check
                $game_system
    .se_play($data_system.decision_se)
                
    class_ $data_classes[@class_window.index]
                
    $game_party.actors[@index].switch_class(class_.id)
                @
    help_window.set_text("#{$game_party.actors[@index].name} Changed to a #{class_.name}"1)
              else
                
    $game_system.se_play($data_system.buzzer_se)
                @
    help_window.set_text("Class Requirements Not Met"1)
              
    end
            end
          end
        end
      end
      
    #--------------------------------------------------------------------------
      # * Check Class
      #--------------------------------------------------------------------------
      
    def check_class(actorjob)
        
    requirements_met true
        sex_req 
    job.sex_requirements
        requirements_met 
    false unless sex_req == or sex_req == actor.sex
        classes
    level_reqslevels = [], [], []
        
    job.level_requirements.each_key { |key|
          
    classes.push($data_classes[key].name)
          
    level_reqs.push(job.level_requirements[key])
          
    levels.push(actor.class_levels[$data_classes[key].id]) }
        for 
    i in 0...classes.size
          unless levels
    [i] >= level_reqs[i]
            
    requirements_met false
          end
        end
        
    return requirements_met
      end
    end
    [/SPOILER]

    So und jetzt mein schlimmstes Problem der Questlog .. habs eh richtig nur bei Zusätzliche Option öffnet es sich nicht sondern es kommt das :
    Hier deR Script
    [SPOILER]
    #/////////////////////////////Scene_Menu erweitert////////////////////////////
    #~~~~~~~~~~~~~~~~~~by Caesar~~~~~~~~~~~~~~~~~
    #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    # Standardmenü mit einer zusätzlichen Option, die ein Common 
    # Event aufruft
    #==================Parameter=================
    # Name des neuen Menüpunktes
    OPTION_NAME "Aufgaben"
    # ID des Common Events, das bei Auswahl der Option aufgerufen wird
    MENU_COMMON_EVENT_ID 5
    #=========================================
    class Scene_Menu
      def initialize
    (menu_index 0)
        @
    menu_index menu_index
      end
      
    #-----------------------
      
    def main
        s1 
    $data_system.words.item
        s2 
    $data_system.words.skill
        s3 
    $data_system.words.equip
        s4 
    "Status"
        
    s5 "Speichern"
        
    s6 "Beenden"
        
    #~~~~~~~~~~
        
    s7 OPTION_NAME
        
    #~~~~~~~~~~
        
    @command_window Window_Command.new(160, [s1s2s3s4s5s6s7])
        @
    command_window.index = @menu_index
        
    if $game_party.actors.size == 0
          
    @command_window.disable_item(0)
          @
    command_window.disable_item(1)
          @
    command_window.disable_item(2)
          @
    command_window.disable_item(3)
        
    end
        
    if $game_system.save_disabled
          
    @command_window.disable_item(4)
        
    end
        
    @playtime_window Window_PlayTime.new
        @
    playtime_window.0
        
    @playtime_window.256
        
    @steps_window Window_Steps.new
        @
    steps_window.0
        
    @steps_window.320
        
    @gold_window Window_Gold.new
        @
    gold_window.0
        
    @gold_window.416
        
    @status_window Window_MenuStatus.new
        @
    status_window.160
        
    @status_window.0
        Graphics
    .transition
        loop 
    do
          
    Graphics.update
          Input
    .update
          update
          
    if $scene != self
            
    break
          
    end
        end
        Graphics
    .freeze
        
    @command_window.dispose
        
    @playtime_window.dispose
        
    @steps_window.dispose
        
    @gold_window.dispose
        
    @status_window.dispose
      end
      
    #-----------------------
      
    def update
        
    @command_window.update
        
    @playtime_window.update
        
    @steps_window.update
        
    @gold_window.update
        
    @status_window.update
        
    if @command_window.active
          update_command
          
    return
        
    end
        
    if @status_window.active
          update_status
          
    return
        
    end
      end
      
    #-----------------------
      
    def update_command
        
    if Input.trigger?(Input::B)
          
    $game_system.se_play($data_system.cancel_se)
          
    $scene Scene_Map.new
          return
        
    end
        
    if Input.trigger?(Input::C)
          if 
    $game_party.actors.size == and @command_window.index 4
            $game_system
    .se_play($data_system.buzzer_se)
            return
          
    end
          
    case @command_window.index
          when 0
            $game_system
    .se_play($data_system.decision_se)
            
    $scene Scene_Item.new
          
    when 1
            $game_system
    .se_play($data_system.decision_se)
            @
    command_window.active false
            
    @status_window.active true
            
    @status_window.index 0
          when 2
            $game_system
    .se_play($data_system.decision_se)
            @
    command_window.active false
            
    @status_window.active true
            
    @status_window.index 0
          when 3
            $game_system
    .se_play($data_system.decision_se)
            @
    command_window.active false
            
    @status_window.active true
            
    @status_window.index 0
          when 4
            
    if $game_system.save_disabled
              $game_system
    .se_play($data_system.buzzer_se)
              return
            
    end
            $game_system
    .se_play($data_system.decision_se)
            
    $scene Scene_Save.new
          
    when 5
            $game_system
    .se_play($data_system.decision_se)
            
    $scene Scene_End.new
          
    #~~~~~~~~~~~~~
          
    when 6
            $game_system
    .se_play($data_system.decision_se)
            
    $game_temp.common_event_id MENU_COMMON_EVENT_ID
            $scene 
    Scene_Map.new
          
    #~~~~~~~~~~~~~
          
    end
          
    return
        
    end
      end
      
    #-----------------------
      
    def update_status
        
    if Input.trigger?(Input::B)
          
    $game_system.se_play($data_system.cancel_se)
          @
    command_window.active true
          
    @status_window.active false
          
    @status_window.index = -1
          
    return
        
    end
        
    if Input.trigger?(Input::C)
          case @
    command_window.index
          when 1
            
    if $game_party.actors[@status_window.index].restriction >= 2
              $game_system
    .se_play($data_system.buzzer_se)
              return
            
    end
            $game_system
    .se_play($data_system.decision_se)
            
    $scene Scene_Skill.new(@status_window.index)
          
    when 2
            $game_system
    .se_play($data_system.decision_se)
            
    $scene Scene_Equip.new(@status_window.index)
          
    when 3
            $game_system
    .se_play($data_system.decision_se)
            
    $scene Scene_Status.new(@status_window.index)
          
    end
          
    return
        
    end
      end
    end
    #===================
    #~~~~~~~~~~~~
    class Window_PlayTime Window_Base
      def initialize
        super
    (0016064)
        
    self.contents Bitmap.new(width-32height-32)
        
    refresh
      end
      
    #------------
      
    def refresh
        self
    .contents.clear
        
    @total_sec Graphics.frame_count Graphics.frame_rate
        hour 
    = @total_sec 60 60
        min 
    = @total_sec 60 60
        sec 
    = @total_sec 60
        text 
    sprintf("%02d:%02d:%02d"hourminsec)
        
    self.contents.draw_text(4012032text1)
      
    end
    end
    #~~~~~~~~~~~
    [/SPOILER


    Hier der Screen ..
    Hier das AMS Script ist total easy^^
    Less dir mal den Code durch.
    Die andere Scripts kenne ich nicht.

    Geändert von SMWma (26.10.2008 um 13:26 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •