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

الموضوع: تعريب حوارات RPG MAKER XP

  1. #1
    التسجيل
    24-07-2004
    المشاركات
    92

    Thumbs up تعريب حوارات RPG MAKER XP

    أخيرا عرفت أعرب حوارات RPG MAKER XP

    الطريقة :
    حمل برنامج الوسيط من : http://www.moon15.com

    و أختار واحد من هذي الأكواد و استبدل الكود window_message بها :

    كود:
     
    #==============================================================================
    # ■ Window_Message
    #------------------------------------------------------------------------------
    #  文章表示に使うメッセージウィンドウです。
    #==============================================================================
     
    class Window_Message < Window_Selectable
    #--------------------------------------------------------------------------
    # ● オブジェクト初期化
    #--------------------------------------------------------------------------
    def initialize
    super(80, 304, 480, 160)
    @name_win = Window_Base.new(80,252,164,56)
    @name_win.z = 9998
    @name_win.visible = false
    @name_win.contents = Bitmap.new(132,22)
    @name_win.contents.font = Font.new("Microsoft Sans Serif")
    @name_win.contents.font.color = Color.new(255,255,0)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font = Font.new("ALW Cool Alhada.")
    self.visible = false
    self.z = 9998
    @fade_in = false
    @fade_out = false
    @contents_showing = false
    @cursor_width = 0
    self.active = false
    self.index = 0
    end
    #--------------------------------------------------------------------------
    # ● 解放
    #--------------------------------------------------------------------------
    def dispose
    terminate_message
    $game_temp.message_window_showing = false
    if @input_number_window != nil
      @input_number_window.dispose
    end
    super
    end
    #--------------------------------------------------------------------------
    # ● メッセージ終了処理
    #--------------------------------------------------------------------------
    def terminate_message
    self.active = false
    self.pause = false
    @name_win.visible = false
    self.index = -1
    self.contents.clear
    @name_win.contents.clear
    @contents_showing = false
    if $game_temp.message_proc != nil
      $game_temp.message_proc.call
    end
    $game_temp.message_text = nil
    $game_temp.message_proc = nil
    $game_temp.choice_start = 99
    $game_temp.choice_max = 0
    $game_temp.choice_cancel_type = 0
    $game_temp.choice_proc = nil
    $game_temp.num_input_start = 99
    $game_temp.num_input_variable_id = 0
    $game_temp.num_input_digits_max = 0
    if @gold_window != nil
      @gold_window.dispose
      @gold_window = nil
    end
    end
    #--------------------------------------------------------------------------
    # ● リフレッシュ
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    @name_win.contents.clear
    x = y = 0
    @cursor_width = 0
     
    if $game_temp.choice_start == 0
      x = 8
    end
    if $game_temp.message_text != nil
      text = $game_temp.message_text
      begin
      last_text = text.clone
      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until text == last_text
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      text.gsub!(/\-([\w ]+)\-/) do
      @name = $1
      ""
      end
     
      text.gsub!(/\\\\/) { "\000" }
      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      text.gsub!(/\\[Gg]/) { "\002" }
      while ((c = text.slice!(/./m)) != nil)
      if c == "\000"
       c = "\\"
      end
      if c == "\001"
       text.sub!(/\[([0-9]+)\]/, "")
       color = $1.to_i
       if color >= 0 and color <= 7
       self.contents.font.color = text_color(color)
       end
       next
      end
      if c == "\002"
       if @gold_window == nil
       @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
       next
      end
      if c == "\n"
       if y >= $game_temp.choice_start
       @cursor_width = [@cursor_width, x].max
       end
       y += 1
       x = 0
       if y >= $game_temp.choice_start
       x = 8
       end
       next
      end
      self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
      x += self.contents.text_size(c).width
      end
    end
    if @name != nil and @name != "" and @name != " "
      @name_win.visible = true if @name_win.visible == false
      @name_win.contents.clear
      @name_win.contents.draw_text(4,0,120,25,@name)
    end
    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 reset_window
    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
    end
    if $game_system.message_frame == 0
      self.opacity = 255
      @name_win.opacity = 255
    else
      self.opacity = 0
      @name_win.opacity = 0
    end
    self.back_opacity = 160
    @name_win.back_opacity = 160
    end
    #--------------------------------------------------------------------------
    # ● フレーム更新
    #--------------------------------------------------------------------------
    def update
    super
    if @fade_in
      self.contents_opacity += 24
      @name_win.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
     
    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
      terminate_message
      end
      return
    end
     
    if @fade_out == false and $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      if @name != nil and @name != "" and @name != " "
       @name_win.visible = true
      else
       @name_win.visible = false
      end
      self.contents_opacity = 0
      @name_win.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
      @name_win.visible = false
      @fade_out = false
      $game_temp.message_window_showing = false
      end
      return
    end
    end
    #--------------------------------------------------------------------------
    # ● カーソルの矩形更新
    #--------------------------------------------------------------------------
    def update_cursor_rect
    if @index >= 0
      n = $game_temp.choice_start + @index
      self.cursor_rect.set(8, n * 32, @cursor_width, 32)
    else
      self.cursor_rect.empty
    end
    end
    end
    كود:
     
    #==============================================================================
    # ■ Window_Message
    #------------------------------------------------------------------------------
    #  文章表示に使うメッセージウィンドウです。
    #==============================================================================
     
    class Window_Message < Window_Selectable
    #--------------------------------------------------------------------------
    # ● オブジェクト初期化
    #--------------------------------------------------------------------------
    def initialize
    super(80, 304, 480, 160)
    @name_win = Window_Base.new(80,252,164,56)
    @name_win.z = 9998
    @name_win.visible = false
    @name_win.contents = Bitmap.new(132,22)
    @name_win.contents.font = Font.new("Microsoft Sans Serif")
    @name_win.contents.font.color = Color.new(255,255,0)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font = Font.new("ALW Cool Electron.")
    self.visible = false
    self.z = 9998
    @fade_in = false
    @fade_out = false
    @contents_showing = false
    @cursor_width = 0
    self.active = false
    self.index = 0
    end
    #--------------------------------------------------------------------------
    # ● 解放
    #--------------------------------------------------------------------------
    def dispose
    terminate_message
    $game_temp.message_window_showing = false
    if @input_number_window != nil
      @input_number_window.dispose
    end
    super
    end
    #--------------------------------------------------------------------------
    # ● メッセージ終了処理
    #--------------------------------------------------------------------------
    def terminate_message
    self.active = false
    self.pause = false
    @name_win.visible = false
    self.index = -1
    self.contents.clear
    @name_win.contents.clear
    @contents_showing = false
    if $game_temp.message_proc != nil
      $game_temp.message_proc.call
    end
    $game_temp.message_text = nil
    $game_temp.message_proc = nil
    $game_temp.choice_start = 99
    $game_temp.choice_max = 0
    $game_temp.choice_cancel_type = 0
    $game_temp.choice_proc = nil
    $game_temp.num_input_start = 99
    $game_temp.num_input_variable_id = 0
    $game_temp.num_input_digits_max = 0
    if @gold_window != nil
      @gold_window.dispose
      @gold_window = nil
    end
    end
    #--------------------------------------------------------------------------
    # ● リフレッシュ
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    @name_win.contents.clear
    x = y = 0
    @cursor_width = 0
     
    if $game_temp.choice_start == 0
      x = 8
    end
    if $game_temp.message_text != nil
      text = $game_temp.message_text
      begin
      last_text = text.clone
      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until text == last_text
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      text.gsub!(/\-([\w ]+)\-/) do
      @name = $1
      ""
      end
     
      text.gsub!(/\\\\/) { "\000" }
      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      text.gsub!(/\\[Gg]/) { "\002" }
      while ((c = text.slice!(/./m)) != nil)
      if c == "\000"
       c = "\\"
      end
      if c == "\001"
       text.sub!(/\[([0-9]+)\]/, "")
       color = $1.to_i
       if color >= 0 and color <= 7
       self.contents.font.color = text_color(color)
       end
       next
      end
      if c == "\002"
       if @gold_window == nil
       @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
       next
      end
      if c == "\n"
       if y >= $game_temp.choice_start
       @cursor_width = [@cursor_width, x].max
       end
       y += 1
       x = 0
       if y >= $game_temp.choice_start
       x = 8
       end
       next
      end
      self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
      x += self.contents.text_size(c).width
      end
    end
    if @name != nil and @name != "" and @name != " "
      @name_win.visible = true if @name_win.visible == false
      @name_win.contents.clear
      @name_win.contents.draw_text(4,0,120,25,@name)
    end
    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 reset_window
    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
    end
    if $game_system.message_frame == 0
      self.opacity = 255
      @name_win.opacity = 255
    else
      self.opacity = 0
      @name_win.opacity = 0
    end
    self.back_opacity = 160
    @name_win.back_opacity = 160
    end
    #--------------------------------------------------------------------------
    # ● フレーム更新
    #--------------------------------------------------------------------------
    def update
    super
    if @fade_in
      self.contents_opacity += 24
      @name_win.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
     
    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
      terminate_message
      end
      return
    end
     
    if @fade_out == false and $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      if @name != nil and @name != "" and @name != " "
       @name_win.visible = true
      else
       @name_win.visible = false
      end
      self.contents_opacity = 0
      @name_win.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
      @name_win.visible = false
      @fade_out = false
      $game_temp.message_window_showing = false
      end
      return
    end
    end
    #--------------------------------------------------------------------------
    # ● カーソルの矩形更新
    #--------------------------------------------------------------------------
    def update_cursor_rect
    if @index >= 0
      n = $game_temp.choice_start + @index
      self.cursor_rect.set(8, n * 32, @cursor_width, 32)
    else
      self.cursor_rect.empty
    end
    end
    end
    ملاحظة
    عند تشغيل برنامج الوسيط ستجد 3 أنواع من الخطوط إختر : ALW

  2. #2
    التسجيل
    15-06-2004
    الدولة
    [ Nova Prospekt ]
    المشاركات
    2,700

    مشاركة: تعريب حوارات RPG MAKER XP

    فـعلاً !! فـعلاً الوســيط !!

    كيف طـافت علي هـاذي

    الوسيط انا استخدمه بالفوتوشوب ..

    يـعطيك العافية ، البرنامج عندي من زمان

    بس ما فكرت استخدمه ، يعـطيك العافية و الله .

    خوش فـكرة ..

  3. #3

    مشاركة: تعريب حوارات RPG MAKER XP

    أنا ما عندي ال RPG Maker XP حالياَ
    و لكن هل قام أحد الأعضاء بتجربة الطريقة ؟

  4. #4
    التسجيل
    28-02-2005
    الدولة
    K.S.A
    المشاركات
    369

    مشاركة: تعريب حوارات RPG MAKER XP

    أنا جربتها
    بعد شوي أحط صورة

  5. #5
    التسجيل
    28-02-2005
    الدولة
    K.S.A
    المشاركات
    369

    مشاركة: تعريب حوارات RPG MAKER XP

    هذي الصورة
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة arabic.JPG‏  

  6. #6
    التسجيل
    17-12-2003
    المشاركات
    24

    Question مشاركة: تعريب حوارات RPG MAKER XP

    لم تعمل معي الترجمة كل الي يطلع (ولاشي)بس النافذه بدون كلام انت عدلت اي شي في الكود او الخط؟

  7. #7
    التسجيل
    20-02-2003
    الدولة
    Silent Hill
    المشاركات
    2,716

    مشاركة: تعريب حوارات RPG MAKER XP

    ممتاز , انا فكرت فيها من زمان بس ماجربتها

  8. #8
    التسجيل
    28-02-2005
    الدولة
    K.S.A
    المشاركات
    369

    مشاركة: تعريب حوارات RPG MAKER XP

    اقتباس المشاركة الأصلية كتبت بواسطة coold
    لم تعمل معي الترجمة كل الي يطلع (ولاشي)بس النافذه بدون كلام انت عدلت اي شي في الكود او الخط؟
    أولا لازم تثبت برنامج الوسيط و تتأكد إن الخطوط موجودة في ملف الخطوط
    و بعدين
    لازم تاخذ واحد من الكودين إلي فوق

  9. #9
    التسجيل
    31-05-2005
    الدولة
    syria
    المشاركات
    8

    مشاركة: تعريب حوارات RPG MAKER XP

    مشكورين يا شباب الطريقة صحيحة

    ولكن هل هناك حل لتعريب باقي الأجزاء في البرنامج كوضع اسم البطل باللغة العربية
    وتغيير اسماء الأوامر وغيرها لتكون بالعربي؟؟؟

  10. #10
    التسجيل
    11-06-2002
    الدولة
    الامارات
    المشاركات
    138

    مشاركة: تعريب حوارات RPG MAKER XP

    شباب كيف اسنخدم البرنامج ما عرفتله؟
    rak_boy_@hotmail.com

  11. #11
    التسجيل
    08-02-2004
    الدولة
    الكويت
    المشاركات
    633

    مشاركة: تعريب حوارات RPG MAKER XP

    ممتاز الله يعطيك العافية شكراً على هذي الفكرة

    المفروض يثبت هذا الموضوع .. لما لة من أهمية كبيرة...

  12. #12
    التسجيل
    14-11-2008
    المشاركات
    1

    رد: تعريب حوارات RPG MAKER XP

    مشكوووور وصحيح ان البرنامج يكتب بالعربي

    real sonic sp من وين جبت الشخصيات

  13. #13
    الصورة الرمزية PoKe Vx
    PoKe Vx غير متصل صاحب افضل تعليق في مسابقة الرسم الترفيهية
    التسجيل
    11-11-2006
    الدولة
    طــــــــيبــهـ
    المشاركات
    647

    رد: تعريب حوارات RPG MAKER XP

    اقتباس المشاركة الأصلية كتبت بواسطة khalid asli مشاهدة المشاركة
    مشكوووور وصحيح ان البرنامج يكتب بالعربي

    real sonic sp من وين جبت الشخصيات
    يمنع الرد على المواضيع التي آخر رد فيها كان منذ 3 أشهر

    ارجوا قراءة قوانين القسم جيدا:


    هام جداً - حتى لا يحذف موضوعك أو ردك (قوانين منتدى صناعة الألعاب)


    الحمدلله
    الحمدلله
    الحمدلله
    الذي خلقني مسلما سعوديا

    PoKemon rmVx



    لقد عدت XD


    قروب قسم صناعة الالعاب
    http://www.montada.com/showthread.php?t=637776

    هل أنت صانع العاب؟


    اذا اضف هذا القروب في ايميلك:

    group270837@groupsim.com






    انت الزائر رقم:

    لمواضيعي ومشاركاتي

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

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