Ergebnis 1 bis 14 von 14

Thema: PROBLEM !!! BITTE DRINGEND !

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    PROBLEM !!! BITTE DRINGEND !

    Wie benutzt man das AMS ? Adventes Message Script oder so.
    Hier der Script

    Wie benutzt man das Class changing System
    Hier der Script


    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


    Hier der Screen ..

  2. #2
    Wow viele Bunte Smileys!
    Das ist aber ein toller Code

    edit:
    Man kann den Code nicht richtig lesen

    Geändert von Karl (25.10.2008 um 17:15 Uhr)

  3. #3
    Nebary .. was hatte dieser Sinnlose post von dir jetzt mit meinem Problem zu tuhen

  4. #4
    Poste Code nur mit Code-Tag und der Formatierung aus dem XP. So kann das niemand vernünftig lesen. Außerdem wirst du höchstwahrscheinlich auf den Seiten, auf denen du die Scripte gefunden hast, Erklärungen finden.

  5. #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)

  6. #6
    Ich habs 100 MAL DURCHGELSEN .. grrrr

    ich hab doch geschrieben ich kapier d´trozdem nicht wie !

    Geändert von Dragenai (26.10.2008 um 11:14 Uhr)

  7. #7
    Das AMS:
    Codes:
    \c[X] ändere Textfarbe
    \n[X] zeige Heldennamen an
    \g ein zweites Fenseter erscheint, wo die anzahl deines Goldes drinnsteht
    \speed[X] ändere Textgeschindichkeit

  8. #8
    Cool, Dragenai. Kopierst einfach ein Skript aus meinem Spiel und bist nicht mal in der Lage die Einstellungen wie verwendeten Windowskin, abzuändern...
    Hättest du es wirklich durchgesehen so wie du sagst 100mal und nicht nach der ersten Zeile aufgegeben, hättest du zumindest heraufgefunden, wie man das angesprochene Detail ändert...

  9. #9
    Das AMS installieren:
    Koppiere den Code und drücke im Macker F11
    Nun geh ganz nach unten und mache auf Main ein rectklick.
    Gehe auf Insert und gehe nun auf das neu erschienene Feld.
    Jetzt klickst du das große Feld an und drückst strg+v.
    Nun hast du es installiert.
    Name ist opptional^^

  10. #10
    Adrian , du denkst ich bin dumm oder ... ? ... ich habe das AMS instaliert habs ja schon aber wie funkz es .. ich merke keine änderung xD

  11. #11
    Die eigentliche Änderung kommt ja auch daher, dass es dem Messagefenster zusätzliche Funktionen gibt, die von Haus aus nicht dabei sind. Wenn du es einfach nur in den Projekt integrierst, wirst du daher erstmal kaum einen Unterschied erkennen. Erst wenn du die zusätzlichen Befehle verwendest, die das AMS dir bietet, dann bemerkst du den Unterschied.

  12. #12
    Beim AMS erscheint außerdem Buchstabe für Buchstabe und normal alle gleichzeitig.

  13. #13
    ok es klappt XD danke Adrian :P und der Rest.

  14. #14
    Also erstmal: Guck auf den Download-Seiten!

    AMS: http://www.creationasylum.net/index....ustom&page=ams

    Party&Class changer: http://www.creationasylum.net/index.php?showtopic=5182

    Zum Party-changer guck im Link, der Class-Changer ist ein wenig unverständlich, deswegen erklär ich ihn dir.

    1. Gib den Actors ein Geschlecht.
    Dazu setzt du ein (M) oder ein (F) hinter den Namen in der Database (Mit Klammern!)
    2. Du setzt die Job-Vorraussetzungen.
    Um zu einem Jäger zu wechseln, muss man als Bogenschütze Lvl 5 erreicht haben.

    Für Scharfschütze muss man Jäger auf 3 haben.

    Um Ninja zu werden, muss man mindestens 5 auf Jäger sein und 5 bei Scharfschütze.

    Syntax:
    001: Bogenschütze
    002: Jäger{1=>5}
    003: Scharfschütze{2=>3}
    004: Ninja{2=>5,3=>5}

    Ansonsten finde ich das System noch ein wenig seltsam, aber vielleicht kannst du es ja benutzen.
    Soweit ich weiß, benötigst du das SDK, kann aba sein, dass es auch ohne geht, was mich bei SephirothSpawn aber wieder wundern würde.

    Nja, hoffe, ich konnte dir etwas helfen.

Berechtigungen

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