النتائج 1 إلى 9 من 9

الموضوع: [برنامج ونص] الفيس ميكر for RPG makerxp

  1. #1
    التسجيل
    15-02-2006
    الدولة
    كوكب الارض
    المشاركات
    769

    [برنامج ونص] الفيس ميكر for RPG makerxp

    هذه وصلت البرنامج http://www.megaupload.com/?d=OVS2DUBC
    البرنامج جدا سهل لمجد إنك تفتحه راح تفهمه
    كل الي عليك هو ان ترسم شخصيتك وتحفظها بملف \Graphics\Pictures للعبتك
    و بعدين يجي دور النص

    كود:
    #===================================================
    # ■ AMS - Advanced Message Script - R3
    #===================================================
    # For more infos and update, visit:
    # www.dubealex.com (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
    #
    # February 13, 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
     
     def initialize
     
      @name_box_x_offset = 0       #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 = "Tahoma"           #Choose the Font Name (Case Sensitive) for message box
      @name_font_type = "Tahoma" #Choose the Font Name (Case Sensitive) for Name Box
      @font_size = 22                      #Choose the default Font Size for message box text
      @name_font_size = 22            #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 = "001-Blue01"   #Choose the WindowSkin for the Message Box
      @name_box_skin = "001-Blue01"       #Choose the WindowSkin for the Name Box
     
     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(32, 32)
    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)
     @x = @y = @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
       @x = 8
     end
     
     if $game_temp.message_text != nil
       @now_text = $game_temp.message_text
       if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
          @face_file = $1 + ".png"
          @x = @face_indent = 128
         if FileTest.exist?("Graphics/Pictures/" + $1 + ".png")
           self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
         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
           @x = @indent = 48
           @y = 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 -= 1 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 i >= $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 i >= $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 = 2
         x = self.x + off_x - space / 2
         y = self.y + off_y - space / 2
         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(x, y, w, h)
         @name_window_frame.z = self.z + 1
         x = self.x + off_x + 4
         y = self.y + off_y
         @name_window_text  = Air_Text.new(x, y, name_text, color)
         @name_window_text.z = self.z + 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.x = self.x + 8
       @input_number_window.y = self.y + $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 = @x if @max_x < @x
         @max_y = @y if @max_y < @y
         if (c = @now_text.slice!(/./m)) != nil
           if c == "\000"
             c = "\\"
           end
     
           if c == "\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 >= 0 and color <= 7
               self.contents.font.color = text_color(color)
             end
             next
           end
           if c == "\002"
             if @gold_window == nil and @popchar <= 0
               @gold_window = Window_Gold.new
               @gold_window.x = 560 - @gold_window.width
               if $game_temp.in_battle
                 @gold_window.y = 192
               else
                 @gold_window.y = self.y >= 128 ? 32 : 384
               end
               @gold_window.opacity = self.opacity
               @gold_window.back_opacity = self.back_opacity
             end
             c = ""
           end
           if c == "\003"
             @now_text.sub!(/\[([0-9]+)\]/, "")
             speed = $1.to_i
             if speed >= 0 and speed <= 19
               @write_speed = speed
             end
             c = ""
           end
           if c == "\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" 
             c = ""
           end
     
           if c == "\005"
             @write_wait += 5
             c = ""
           end
     
           if c == "\006"
             @write_wait += 20
             c = ""
           end
     
           if c == "\016"
             text_not_skip = false
             c = ""
           end
     
           if c == "\017"
             text_not_skip = true
             c = ""
           end
     
           if c == "\020"
             @mid_stop = true
             c = ""
           end
     
           if c == "\021"
             terminate_message
             return
           end
     
           if c == "\023"
             @indent = @x
             c = ""
           end
           if c == "\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.red, color.green, color.blue, color.alpha * @opacity / 255)
             c = ""
           end
           if c == "\025"
             @now_text.sub!(/\[([0-9]+)\]/, "")
             self.contents.font.size = [[$1.to_i, 6].max, 32].min
             c = ""
           end
           if c == "\026"
             @now_text.sub!(/\[([0-9]+)\]/, "")
             @x += $1.to_i
             c = ""
           end
     
           if c == "\027"
             @now_text.sub!(/\[(.*?)\]/, "")
             @x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity)
             if $soundname_on_speak != ""
               Audio.se_play($soundname_on_speak)
             end
           c = ""
           end
           if c == "\030"
             @now_text.sub!(/\[(.*?)\]/, "")
             self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24))
             if $soundname_on_speak != ""
               Audio.se_play($soundname_on_speak)
             end
             @x += 24
             c = ""
           end
           if c == "\n"
             @lines += 1
             @y += 1
             @x = 0 + @indent + @face_indent
             if @lines >= $game_temp.choice_start
               @x = 8 + @indent + @face_indent
               @cursor_width = @max_choice_x
             end
             c = ""
           end
     
           if c == "\022"
             @now_text.sub!(/\[([0-9]+)\]/, "")
             @x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i)
             c = ""
           end
     
           #NEW
           #Dubealex's Text Skip On/OFF Command
            if c == "\100"
               if @alex_skip==false
                  @alex_skip=true
               else
                 @alex_skip=false
               end
              c = ""
            end  
            #end of new command
     
           if c != ""
             self.contents.draw_text(0+@x, 32 * @y, 40, 32, c)
             @x += 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 > 0 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
     if @popchar >= 0
       events = $game_map.events
       if events != nil
         character = get_character(@popchar)
         x = [[character.screen_x -  0 - self.width / 2, 4].max, 636 - self.width].min
         y = [[character.screen_y - 48 - self.height, 4].max, 476 - self.height].min
         self.x = x
         self.y = y
       end
     elsif @popchar == -1
       self.x = -4
       self.y = -4
       self.width = 648
       self.height = 488
     else
       if $game_temp.in_battle
         self.y = 16
       else
         case $game_system.message_position
         when 0  
           self.y = 16
         when 1  
           self.y = 160
         when 2  
           self.y = 304
         end
         self.x = 80
         if @face_file == nil
           self.width = 480
         else
           self.width = 600
           self.x -= 60
         end
         self.height = 160
       end
     end
     self.contents = Bitmap.new(self.width - 32, self.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(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
     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(x, y, num)
     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(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24))
       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(target, x, y, str,opacity)
     sizeback = target.font.size
     target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2
     rubysize = [rubysize, 6].max
     opacity = [[opacity, 0].max, 255].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]).width, ruby_width].max
     width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0
     if opacity == 255
       target.font.size = rubysize
       target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1])
       target.font.size = sizeback
       target.draw_text(x, y, width, target.font.size, split_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_width, height)
       else
         @opacity_text_buf.clear
       end
       @opacity_text_buf.font.size = rubysize
       @opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1)
       @opacity_text_buf.font.size = sizeback
       @opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1)
       if sub_x >= 0
         target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
       else
         target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
       end
       return width
     end
    end
    #--------------------------------------------------------------------------
    def convart_value(option, index)
     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
       r = $game_variables[index]
     end
     r == nil ? r = "" : 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(8 + @indent + @face_indent, n * 32, @cursor_width, 32)
     else
       self.cursor_rect.empty
     end
    end
    end
    #=========================================
    # ▲ CLASS Window_Message Ends
    #=========================================
     
    #=========================================
    # ▼ Class Window_Frame Begins
    #=========================================
    class Window_Frame < Window_Base
    def initialize(x, y, width, height)
     super(x, y, width, height)
     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(255, 255, 255, 255)
       end
       for i in 1..6
         s = string.slice!(/./m)
         if s == "#"
           print("Hex color string may not contain the \"#\" character.")
           print("White text will be used.")
           return Color.new(255, 255, 255, 255)
         end
         value = hex_convert(s)
         if value == -1
           print("Error converting hex value.")
           print("White text will be used.")
           return Color.new(255, 255, 255, 255)
         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(red, green, blue, 255)
     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(x, y, designate_text, color=0)
     
     super(x-16, y-16, 32 + designate_text.size * 12, 56)
     self.opacity      = 0
     self.back_opacity = 0
     self.contents = Bitmap.new(self.width - 32, self.height - 32)
     w = self.contents.width
     h = 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(0, 0, w, h, designate_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($ams, file)
      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
    #===================================================
    النص له استخدامات كثيره ما فاضي اشرح بس راح احط الديمو فيه شرح بطريقه احلى

    اولا تصنع الحدث (event) تختر إظهار نص (show text)
    وتبدأ نص الكلام ب [اسم الصورة]f\
    لازم تكون png.* و الحجم يفضل 96x96
    و بعدها تظهر الصوره بجانب الكلام

    واتمنا ان اكون فدتكم بشيء

    اي سؤال؟ (لا لا محد يسأل بليس) امزح تفضلو إسألوا
    الملفات المرفقة الملفات المرفقة

  2. #2
    التسجيل
    24-01-2006
    الدولة
    QATAR
    المشاركات
    4,098

    رد: [برنامج ونص] الفيس ميكر for RPG makerxp

    الله يبارك فيك واخيرا اقدر أضيف هذه الخاصية للبروجكت ^^

    مشكور وماقصرت وماشاء الله شكل مشروعك راح يكون رائع دوم انته
    تعرف تستخدم هذه الكودات

    سؤال بسيط ؟ هل شاركت في كريتشن أسليوم ؟

  3. #3
    التسجيل
    15-02-2006
    الدولة
    كوكب الارض
    المشاركات
    769

    رد: [برنامج ونص] الفيس ميكر for RPG makerxp

    نعم
    RMXP.org
    neoseeker.com
    Creation Asylum
    كل مايتعلق بالار بي جي ميكر أكس بي you'll find me there
    اليوزر مالي A J

  4. #4
    التسجيل
    24-10-2006
    المشاركات
    28

    رد: [برنامج ونص] الفيس ميكر for RPG makerxp

    الرابط معطوب حق البرنامج

  5. #5
    التسجيل
    24-01-2006
    الدولة
    QATAR
    المشاركات
    4,098

    Smile رد: [برنامج ونص] الفيس ميكر for RPG makerxp

    اقتباس المشاركة الأصلية كتبت بواسطة كابتن ماجد 3 مشاهدة المشاركة
    الرابط معطوب حق البرنامج
    اتمنى ان يكون هذا البديل : اضغط هنا
    لكن أنصحك بان ترسم الوجوه بنفسك
    وشكرا

  6. #6
    التسجيل
    15-02-2006
    الدولة
    كوكب الارض
    المشاركات
    769

    رد: [برنامج ونص] الفيس ميكر for RPG makerxp

    مشكور برينس بس هذا الرابط لبنامج مشابه للموقع اسرع واسهل وممكن تحفظه بثلاث احجام مختلفة

    يا الاخ كابتن ماجد جرب هذة الرابطة http://rapidshare.com/files/10400669...r_3.1.rar.html

    كيف؟

  7. #7
    التسجيل
    24-10-2006
    المشاركات
    28

    رد: [برنامج ونص] الفيس ميكر for RPG makerxp

    ممكن تشرحلي طريقة التحميل

  8. #8
    التسجيل
    15-02-2006
    الدولة
    كوكب الارض
    المشاركات
    769

    رد: [برنامج ونص] الفيس ميكر for RPG makerxp

    أولا أختر فري(free) في اسفل الصفحه
    وستظهر صفحه جديد وسيطلب منك انتظار نصف دقيقه
    بعدها سيظهر مربع تعلوه صوره لأحرف وارقام انجلزية دون الارقام و الاحرف الكبيره و مغمقه
    واختر داون لود فروم كوجينت(Download from cogent)
    اذا ظهرت لك صفحه تطلب منك رفع برامجك هذا يعني انك ادخلت رموز خاطئة عليك اعادة المحاوله يعني اختر (Click here to try again).

  9. #9
    التسجيل
    15-02-2006
    الدولة
    كوكب الارض
    المشاركات
    769

    رد: [برنامج ونص] الفيس ميكر for RPG makerxp

    كل الي عليك هو انك تنقل المالفات الموجودة في ملف الرار الى ملف خاص
    وتجد البرنامج في هذا الملف.

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •