• 0
  • مالي خلق
  • أتهاوش
  • متضايق
  • مريض
  • مستانس
  • مستغرب
  • مشتط
  • أسولف
  • مغرم
  • معصب
  • منحرج
  • آكل
  • ابكي
  • ارقص
  • اصلي
  • استهبل
  • اضحك
  • اضحك  2
  • تعجبني
  • بضبطلك
  • رايق
  • زعلان
  • عبقري
  • نايم
  • طبيعي
  • كشخة
  • النتائج 1 إلى 13 من 13

    الموضوع: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

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

      [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      بسم الله الرحمن الرحيم

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



      في حالت وجود اي استفسارات بشان الاسكربت ضع استفسارك في موضوع الطلبات و المساعدات مع ذكر المشكله و اسم الاسكربت في حالت ارت ان تشكرنا على السكربات والله افضل مكان هو في موضوع درداشت اعضاء منتدى صناعة الالعاب حتى لا يضر شكل الموضوع.



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


      يحبب ان يكون كل شيء عن الاسكربت في مشاركه واحده اعني لا تكتب الاسكربت في مشاركه والشرح في مشاركه اخرى لان ربما يضع شخص أخر اسكربت بينهم ويسبب صعوبه للقارء
      يفضل ان تكون المشاركه مرتبه


      ارجو من المراقبين حذف اي مشاركه لا تخص الموضوع

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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت التحكم بالأعضاء

      الكاتب: Fomar0153

      المصدر: http://www.rmxp.org



      المقدمه:
      الاسكربت يسمح لك بإضافة المزيد من اللعبين يتعدى 4 لعبين ويمكنك أيضاً تبديل أماكنهم.



      كيفية الوضع:
      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.



      الكود:

      كود:
       
       
      class Game_Party
       
      Max_Party_Size = 8
       
      def max_party_size
      return Max_Party_Size
      end
       
      defadd_actor(actor_id)
      actor = $game_actors[actor_id]
      if not @actors.include?(actor) and $game_party.actors.size < Max_Party_Size
      @actors.push(actor)
      $game_player.refresh
      end
      end
       
      def all_dead?
      if $game_party.actors.size == 0
      returnfalse
      end
      for actor in @actors
      if actor.hp > 0
      return false
      end
      if actor.index >= 4
      return true
      end
      end
      return true
      end
      end
       
      class Scene_Menu
       
      alias party_swap_update_commandupdate_command
      def update_command
      party_swap_update_command
      if Input.trigger?(Input::LEFT) or Input.trigger?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @previous_index = @command_window.index
      @command_window.index = -1
      @command_window.active = false
      @status_window.active = true
      @status_window.index = @status_window.top_row
      return
      end
      end
       
      alias party_swap_update_status update_status
      defupdate_status
      if Input.trigger?(Input::B)
      unless @swapee != nil
      $game_system.se_play($data_system.cancel_se)
      if @command_window.index == -1
      @command_window.index = @previous_index
      end
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
      end
      @swapee = nil
      return
      end
      if Input.trigger?(Input::C) and @command_window.index == -1
      unless @swapee != nil
      @swapee = @status_window.index
      $game_system.se_play($data_system.decision_se)
      return
      end
      if @swapee == @status_window.index
      $game_system.se_play($data_system.decision_se)
      @swapee = nil
      return
      end
      $game_system.se_play($data_system.decision_se)
      party_ids = []
      for actor in $game_party.actors
      party_ids.push(actor.id)
      end
      swapee2 = @status_window.index
      if @swapee < swapee2
      for i in @swapee...party_ids.size
      $game_party.remove_actor(party_ids[i])
      end
      $game_party.add_actor(party_ids[swapee2])
      for i in (@swapee + 1)...party_ids.size
      unless i == swapee2
      $game_party.add_actor(party_ids[i])
      else
      $game_party.add_actor(party_ids[@swapee])
      end
      end
      else
      for i in swapee2...party_ids.size
      $game_party.remove_actor(party_ids[i])
      end
      $game_party.add_actor(party_ids[@swapee])
      for i in (swapee2 + 1)...party_ids.size
      unless i == @swapee
      $game_party.add_actor(party_ids[i])
      else
      $game_party.add_actor(party_ids[swapee2])
      end
      end
      end
      @swapee = nil
      @status_window.refresh
      return
      end
      if Input.trigger?(Input::LEFT) orInput.trigger?(Input::RIGHT)
      if @swapee == nil and @command_window.index == -1
      $game_system.se_play($data_system.cursor_se)
      @command_window.index = @previous_index
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      end
      end
      party_swap_update_status
      end
       
       
      end
       
      class Window_MenuStatus < Window_Selectable
       
      definitialize
      unless $game_party.actors.size > 4
      super(0, 0, 480, 480)
      else
      super(0, 0, 480, 160 * $game_party.actors.size)
      end
      self.contents = Bitmap.new(width - 32, height - 32)
      refresh
      self.active = false
      self.index = -1
      end
       
      alias large_refresh refresh
      def refresh
      large_refresh
      self.height = 480
      end
       
      defupdate_cursor_rect
      if @index < 0
      self.cursor_rect.empty
      return
      end
      row = @index / @column_max
      if row < self.top_row
      self.top_row = row
      end
      if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
      end
      cursor_width = self.width / @column_max - 32
      x = @index % @column_max * (cursor_width + 32)
      y = @index / @column_max * 116 - self.oy
      self.cursor_rect.set(x, y, cursor_width, 96)
      end
       
      deftop_row
      return self.oy / 116
      end
       
      def top_row=(row)
      if row < 0
      row = 0
      end
      if row > row_max - 1
      row = row_max - 1
      end
      self.oy = row * 116
      end
       
      def page_row_max
      return 4
      end
      end
       
      classScene_Battle
      def phase3_next_actor
      begin
      if @active_battler != nil
      @active_battler.blink = false
      end
      if @actor_index == ([$game_party.actors.size, 4].min - 1)
      start_phase4
      return
      end
      @actor_index += 1
      @active_battler = $game_party.actors[@actor_index]
      @active_battler.blink = true
      end until @active_battler.inputable?
      phase3_setup_command_window
      end
       
      end
       
      class Game_Actor < Game_Battler
      def exist?
      return super == self.index < 4
      end
      end


      كيفية الاستخدام:


      في السطر الثالث هناك الكود

      كود:
      Max_Party_Size = 8


      قم بتبدل الرقم لتغير العدد النهائي للاعضاء حاليا العدد النهئي للاعبين هو 8


      قم بإضافة اللعبين باستخدام امر Change party members من قائمة الاحداث Event list
      لتبدل اللاعبين افتح menu إضغط زر اليمين او اليسار للانتقال الى الشخصيات






      انزل الاسفل وسترى ان كل اللاعبين موجودين في الاسفل اختر اللاعب الذي تريد ان تبدله وإضغط عليه




      اختر اللاعب الاخر




      إضغط عليه ليتبدل



      تم التبديل بنجاح

      كلمه أخيره من صاحب الاسكربت



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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت نظام القتال الجانبي
      المصدر: Rye For The Script
      المقدمه:
      الاسكربت يجعل المقاتلين يظهرون من الجانب في القتال مثل الموضح في الصوره



      كيفية الوضع:
      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.
      الكود:
      الكود طويل بعض الشيء لذا وضعته في ملف txt يمكنك تحميله من المرفقات
      الملفات المرفقة الملفات المرفقة

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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت السلاحين
      الكاتب: Fomar0153
      المصدر: http://www.rmxp.org
      المقدمه:
      الاسكربت يسمح لك بإستخدام سلاحين عوضن عن سلاح واحد حيث سيضرب اللاعب مرتين بدل مره واحده لكن في حالت وضع سلاحين يتم إزالة درع اللاعب من اليد الأخرى.
      كيفية الوضع:
      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.
      الكود:


      كود:
      class Game_Actor < Game_Battler
        
        attr_accessor :two_weapons
        attr_accessor :sec_attack
        
        alias before_fomar_two_weapons_setup setup
        def setup(actor_id)
          before_fomar_two_weapons_setup(actor_id)
          @two_weapons = false
          @sec_attack = false
        end
        
        def hand_check
          if @weapon_id == 0 and @two_weapons == true
            @weapon_id = @armor1_id
            @armor1_id = 0
            @two_weapons = false
          end
        end
        
        def equip(equip_type, item)
          
          if item == 0
            id = 0
          else
            id = item.id
          end
          
          
          case equip_type
          when 0  # Weapon
            if id == 0 or $game_party.weapon_number(id) > 0
              $game_party.gain_weapon(@weapon_id, 1)
              @weapon_id = id
              $game_party.lose_weapon(id, 1)
            end
          when 1  # Shield
            if item.is_a?(RPG::Weapon)
              if @weapon_id == 0
                @weapon_id = id
                $game_party.lose_weapon(id, 1)
              else
                if @two_weapons == true
                  $game_party.gain_weapon(@armor1_id, 1)
                else
                  $game_party.gain_armor(@armor1_id, 1)
                end
                @armor1_id = id
                $game_party.lose_weapon(id, 1)
                @two_weapons = true
              end
            else # RPG::Armor
              if id == 0 or $game_party.armor_number(id) > 0
                update_auto_state($data_armors[@armor1_id], $data_armors[id])
                if @two_weapons == true
                  $game_party.gain_weapon(@armor1_id, 1)
                  @two_weapons = false
                else
                  $game_party.gain_armor(@armor1_id, 1)
                end
                @armor1_id = id
                $game_party.lose_armor(id, 1)
              end
            end
          when 2  # Head
            if id == 0 or $game_party.armor_number(id) > 0
              update_auto_state($data_armors[@armor2_id], $data_armors[id])
              $game_party.gain_armor(@armor2_id, 1)
              @armor2_id = id
              $game_party.lose_armor(id, 1)
            end
          when 3  # Body
            if id == 0 or $game_party.armor_number(id) > 0
              update_auto_state($data_armors[@armor3_id], $data_armors[id])
              $game_party.gain_armor(@armor3_id, 1)
              @armor3_id = id
              $game_party.lose_armor(id, 1)
            end
          when 4  # Accessory
            if id == 0 or $game_party.armor_number(id) > 0
              update_auto_state($data_armors[@armor4_id], $data_armors[id])
              $game_party.gain_armor(@armor4_id, 1)
              @armor4_id = id
              $game_party.lose_armor(id, 1)
            end
          end
        end
        
        def element_rate(element_id)
          # Get values corresponding to element effectiveness
          table = [0,200,150,100,50,0,-100]
          result = table[$data_classes[@class_id].element_ranks[element_id]]
          # If this element is protected by armor, then it's reduced by half
          
          
          # MODIFIED
          #for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
          #  armor = $data_armors[i]
          #  if armor != nil and armor.guard_element_set.include?(element_id)
          #    result /= 2
          #  end
          #end
          
          unless @two_weapons == true
            armor_ids = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
          else
            armor_ids = [@armor2_id, @armor3_id, @armor4_id]
          end
          
          for i in armor_ids
            armor = $data_armors[i]
            if armor != nil and armor.guard_element_set.include?(element_id)
              result /= 2
            end
          end
          
          # END OF MODIFIED SECTION
          
          
          # If this element is protected by states, then it's reduced by half
          for i in @states
            if $data_states[i].guard_element_set.include?(element_id)
              result /= 2
            end
          end
          # End Method
          return result
        end
        
        def state_guard?(state_id)
          # MODIFIED
          #for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
          
          unless @two_weapons == true
            armor_ids = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
          else
            armor_ids = [@armor2_id, @armor3_id, @armor4_id]
          end
          
          for i in armor_ids
            
          # END OF MODIFIED SECTION
          
            armor = $data_armors[i]
            if armor != nil
              if armor.guard_state_set.include?(state_id)
                return true
              end
            end
          end
          return false
        end
        
        def element_set
          # MODIFIED
          #weapon = $data_weapons[@weapon_id]
          unless sec_attack == true
            weapon = $data_weapons[@weapon_id]
          else
            weapon = $data_weapons[@armor1_id]
          end
          
          
          # END OF MODIFIED SECTION
          
          return weapon != nil ? weapon.element_set : []
        end
        
        def plus_state_set
          # MODIFIED
          #weapon = $data_weapons[@weapon_id]
          unless sec_attack == true
            weapon = $data_weapons[@weapon_id]
          else
            weapon = $data_weapons[@armor1_id]
          end
          
          
          # END OF MODIFIED SECTION
          return weapon != nil ? weapon.plus_state_set : []
        end
        
        def minus_state_set
          # MODIFIED
          #weapon = $data_weapons[@weapon_id]
          unless sec_attack == true
            weapon = $data_weapons[@weapon_id]
          else
            weapon = $data_weapons[@armor1_id]
          end
          
          
          # END OF MODIFIED SECTION
          return weapon != nil ? weapon.minus_state_set : []
        end
        
        def base_str
          n = $data_actors[@actor_id].parameters[2, @level]
          weapon = $data_weapons[@weapon_id]
          # MODIFIED
          #armor1 = $data_armors[@armor1_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          n += weapon != nil ? weapon.str_plus : 0
          n += armor1 != nil ? armor1.str_plus : 0
          n += armor2 != nil ? armor2.str_plus : 0
          n += armor3 != nil ? armor3.str_plus : 0
          n += armor4 != nil ? armor4.str_plus : 0
          return [[n, 1].max, 999].min
        end
        
        def base_dex
          n = $data_actors[@actor_id].parameters[3, @level]
          weapon = $data_weapons[@weapon_id]
          # MODIFIED
          #armor1 = $data_armors[@armor1_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          n += weapon != nil ? weapon.dex_plus : 0
          n += armor1 != nil ? armor1.dex_plus : 0
          n += armor2 != nil ? armor2.dex_plus : 0
          n += armor3 != nil ? armor3.dex_plus : 0
          n += armor4 != nil ? armor4.dex_plus : 0
          return [[n, 1].max, 999].min
        end
        
        def base_agi
          n = $data_actors[@actor_id].parameters[4, @level]
          weapon = $data_weapons[@weapon_id]
          # MODIFIED
          #armor1 = $data_armors[@armor1_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          n += weapon != nil ? weapon.agi_plus : 0
          n += armor1 != nil ? armor1.agi_plus : 0
          n += armor2 != nil ? armor2.agi_plus : 0
          n += armor3 != nil ? armor3.agi_plus : 0
          n += armor4 != nil ? armor4.agi_plus : 0
          return [[n, 1].max, 999].min
        end
        
        def base_int
          n = $data_actors[@actor_id].parameters[5, @level]
          weapon = $data_weapons[@weapon_id]
          # MODIFIED
          #armor1 = $data_armors[@armor1_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          n += weapon != nil ? weapon.int_plus : 0
          n += armor1 != nil ? armor1.int_plus : 0
          n += armor2 != nil ? armor2.int_plus : 0
          n += armor3 != nil ? armor3.int_plus : 0
          n += armor4 != nil ? armor4.int_plus : 0
          return [[n, 1].max, 999].min
        end
        
        def base_atk
          # MODIFIED
          #weapon = $data_weapons[@weapon_id]
          unless sec_attack == true
            weapon = $data_weapons[@weapon_id]
          else
            weapon = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          return weapon != nil ? weapon.atk : 0
        end
        
        def base_pdef
          weapon = $data_weapons[@weapon_id]
          # MODIFIED
          #armor1 = $data_armors[@armor1_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          pdef1 = weapon != nil ? weapon.pdef : 0
          pdef2 = armor1 != nil ? armor1.pdef : 0
          pdef3 = armor2 != nil ? armor2.pdef : 0
          pdef4 = armor3 != nil ? armor3.pdef : 0
          pdef5 = armor4 != nil ? armor4.pdef : 0
          return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
        end
        
        def base_mdef
          weapon = $data_weapons[@weapon_id]
          # MODIFIED
          #armor1 = $data_armors[@armor1_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          mdef1 = weapon != nil ? weapon.mdef : 0
          mdef2 = armor1 != nil ? armor1.mdef : 0
          mdef3 = armor2 != nil ? armor2.mdef : 0
          mdef4 = armor3 != nil ? armor3.mdef : 0
          mdef5 = armor4 != nil ? armor4.mdef : 0
          return mdef1 + mdef2 + mdef3 + mdef4 + mdef5
        end
        
        def base_eva
          # MODIFIED
          #armor1 = $data_armors[@armor1_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = nil
          end
          # END OF MODIFIED SECTION
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          eva1 = armor1 != nil ? armor1.eva : 0
          eva2 = armor2 != nil ? armor2.eva : 0
          eva3 = armor3 != nil ? armor3.eva : 0
          eva4 = armor4 != nil ? armor4.eva : 0
          return eva1 + eva2 + eva3 + eva4
        end
        
        def animation1_id
          # MODIFIED
          #weapon = $data_weapons[@weapon_id]
          unless sec_attack == true
            weapon = $data_weapons[@weapon_id]
          else
            weapon = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          return weapon != nil ? weapon.animation1_id : 0
        end
        
        def animation2_id
          # MODIFIED
          #weapon = $data_weapons[@weapon_id]
          unless sec_attack == true
            weapon = $data_weapons[@weapon_id]
          else
            weapon = $data_weapons[@armor1_id]
          end
          # END OF MODIFIED SECTION
          return weapon != nil ? weapon.animation2_id : 0
        end
        
      end
       
       
      class Window_EquipItem < Window_Selectable
        def refresh
          if self.contents != nil
            self.contents.dispose
            self.contents = nil
          end
          @data = []
          # Add equippable weapons
          if @equip_type == 0
            weapon_set = $data_classes[@actor.class_id].weapon_set
            for i in 1...$data_weapons.size
              if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
                @data.push($data_weapons[i])
              end
            end
          end
          # Add equippable armor
          if @equip_type != 0
            # MODIFIED
            if @equip_type == 1
              weapon_set = $data_classes[@actor.class_id].weapon_set
              for i in 1...$data_weapons.size
                if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
                  @data.push($data_weapons[i])
                end
              end
            end
            # END OF MODIFIED SECTION
            armor_set = $data_classes[@actor.class_id].armor_set
            for i in 1...$data_armors.size
              if $game_party.armor_number(i) > 0 and armor_set.include?(i)
                if $data_armors[i].kind == @equip_type-1
                  @data.push($data_armors[i])
                end
              end
            end
          end
          # Add blank page
          @data.push(nil)
          # Make a bit map and draw all items
          @item_max = @data.size
          self.contents = Bitmap.new(width - 32, row_max * 32)
          for i in 0...@item_max-1
            draw_item(i)
          end
        end
      end
       
       
      class Window_EquipRight < Window_Selectable
        def refresh
          self.contents.clear
          @data = []
          @data.push($data_weapons[@actor.weapon_id])
          # MODIFIED
          #@data.push($data_armors[@actor.armor1_id])
          unless @actor.two_weapons == true
            @data.push($data_armors[@actor.armor1_id])
          else
            @data.push($data_weapons[@actor.armor1_id])
          end
          # END OF MODIFIED SECTION
          @data.push($data_armors[@actor.armor2_id])
          @data.push($data_armors[@actor.armor3_id])
          @data.push($data_armors[@actor.armor4_id])
          @item_max = @data.size
          self.contents.font.color = system_color
          self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)
          self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
          self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
          self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
          self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)
          draw_item_name(@data[0], 92, 32 * 0)
          draw_item_name(@data[1], 92, 32 * 1)
          draw_item_name(@data[2], 92, 32 * 2)
          draw_item_name(@data[3], 92, 32 * 3)
          draw_item_name(@data[4], 92, 32 * 4)
        end
      end
       
       
      class Scene_Equip
        def update
          
          
          # Update windows
          @left_window.update
          @right_window.update
          @item_window.update
          refresh
          # If right window is active: call update_right
          if @right_window.active
            update_right
            return
          end
          # If item window is active: call update_item
          if @item_window.active
            update_item
            return
          end
        end
        
        
        def update_item
          # If B button was pressed
          if Input.trigger?(Input::B)
            # Play cancel SE
            $game_system.se_play($data_system.cancel_se)
            # Activate right window
            @right_window.active = true
            @item_window.active = false
            @item_window.index = -1
            return
          end
          # If C button was pressed
          if Input.trigger?(Input::C)
            # Play equip SE
            $game_system.se_play($data_system.equip_se)
            # Get currently selected data on the item window
            item = @item_window.item
            # Change equipment
            @actor.equip(@right_window.index, item == nil ? 0 : item)
            
            @actor.hand_check
            
            # Activate right window
            @right_window.active = true
            @item_window.active = false
            @item_window.index = -1
            # Remake right window and item window contents
            @right_window.refresh
            @item_window.refresh
            @item_window1.refresh
            @item_window2.refresh
            return
          end
        end
      end
       
       
      class Window_Status < Window_Base
        def refresh
          self.contents.clear
          draw_actor_graphic(@actor, 40, 112)
          draw_actor_name(@actor, 4, 0)
          draw_actor_class(@actor, 4 + 144, 0)
          draw_actor_level(@actor, 96, 32)
          draw_actor_state(@actor, 96, 64)
          draw_actor_hp(@actor, 96, 112, 172)
          draw_actor_sp(@actor, 96, 144, 172)
          draw_actor_parameter(@actor, 96, 192, 0)
          draw_actor_parameter(@actor, 96, 256, 1)
          draw_actor_parameter(@actor, 96, 288, 2)
          draw_actor_parameter(@actor, 96, 320, 3)
          draw_actor_parameter(@actor, 96, 352, 4)
          draw_actor_parameter(@actor, 96, 384, 5)
          draw_actor_parameter(@actor, 96, 416, 6)
          draw_actor_parameter(@actor, 96, 224, 7)
          self.contents.font.color = system_color
          self.contents.draw_text(320, 48, 80, 32, "EXP")
          self.contents.draw_text(320, 80, 80, 32, "NEXT")
          self.contents.font.color = normal_color
          self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)
          self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)
          self.contents.font.color = system_color
          self.contents.draw_text(320, 160, 96, 32, "equipment")
          draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 208)
          # MODIFIED
          #draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256)
          unless @actor.two_weapons == true
            draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256)
          else
            draw_item_name($data_weapons[@actor.armor1_id], 320 + 16, 256)
          end
          # END OF MODIFIED SECTION
          draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 304)
          draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 352)
          draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400)
        end
      end
       
      class Window_Base < Window
        def draw_actor_parameter(actor, x, y, type)
          case type
          when 0
            parameter_name = $data_system.words.atk
            parameter_value = actor.atk
          when 1
            parameter_name = $data_system.words.pdef
            parameter_value = actor.pdef
          when 2
            parameter_name = $data_system.words.mdef
            parameter_value = actor.mdef
          when 3
            parameter_name = $data_system.words.str
            parameter_value = actor.str
          when 4
            parameter_name = $data_system.words.dex
            parameter_value = actor.dex
          when 5
            parameter_name = $data_system.words.agi
            parameter_value = actor.agi
          when 6
            parameter_name = $data_system.words.int
            parameter_value = actor.int
          when 7
            parameter_name = $data_system.words.atk
            if actor.two_weapons == true
              actor.sec_attack = true
              parameter_value = actor.atk
              actor.sec_attack = false
            else
              parameter_value = 0
            end
          end
          self.contents.font.color = system_color
          self.contents.draw_text(x, y, 120, 32, parameter_name)
          self.contents.font.color = normal_color
          self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
        end
      end
       
       
      class Scene_Battle
        
        alias before_fomar_start_phase4 start_phase4
        def start_phase4
          for actor in $game_party.actors
            actor.sec_attack = false
          end
          before_fomar_start_phase4
        end
        
        def update_phase4_step6
          # Clear battler being forced into action
          $game_temp.forcing_battler = nil
          # If common event ID is valid
          if @common_event_id > 0
            # Set up event
            common_event = $data_common_events[@common_event_id]
            $game_system.battle_interpreter.setup(common_event.list, 0)
          end
          
          if @active_battler.is_a?(Game_Actor) and @active_battler.current_action.kind == 0
            if @active_battler.two_weapons == true and @active_battler.sec_attack == false
              unless judge
                @active_battler.sec_attack = true
                @phase4_step = 2
                return
              end
            end
          end
          
          
          # Shift to step 1
          @phase4_step = 1
        end
      end
      class Scene_Equip
        def refresh
          # Set item window to visible
          @item_window1.visible = (@right_window.index == 0)
          @item_window2.visible = (@right_window.index == 1)
          @item_window3.visible = (@right_window.index == 2)
          @item_window4.visible = (@right_window.index == 3)
          @item_window5.visible = (@right_window.index == 4)
          # Get currently equipped item
          item1 = @right_window.item
          # Set current item window to @item_window
          case @right_window.index
          when 0
            @item_window = @item_window1
          when 1
            @item_window = @item_window2
          when 2
            @item_window = @item_window3
          when 3
            @item_window = @item_window4
          when 4
            @item_window = @item_window5
          end
          item2 = @item_window.item
          # If right window is active
          if @right_window.active
            # Erase parameters for after equipment change
            @left_window.set_new_parameters(nil, nil, nil, nil)
          end
          # If item window is active
          if @item_window.active
            if item2 == nil 
              id = 0
            else
              id = item2.id
            end
            
            new_atk = @actor.new_atk(@right_window.index, id)
            new_atk2 = @actor.new_atk2(@right_window.index, id, item2.is_a?(RPG::Weapon))
            new_pdef = @actor.new_pdef(@right_window.index, id, item2.is_a?(RPG::Weapon))
            new_mdef = @actor.new_mdef(@right_window.index, id, item2.is_a?(RPG::Weapon))
            
            @left_window.set_new_parameters(new_atk, new_atk2, new_pdef, new_mdef)
          end
        end
      end
       
      class Game_Actor < Game_Battler
        
        def new_atk(index, id)
          if index == 0
            weapon = $data_weapons[id]
          else
            weapon = $data_weapons[@weapon_id]
          end
          return weapon != nil ? weapon.atk : 0
        end
        
        def new_atk2(index, id, weapony = false)
          if index == 1
            if weapony == false
              return 0
            end
            weapon = $data_weapons[id]
          else
            if @two_weapons == true
              weapon = $data_weapons[@armor1_id]
            end
          end
          return weapon != nil ? weapon.atk : 0
        end
        
        def new_pdef(index, id, weapony = false)
          weapon = $data_weapons[@weapon_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = $data_weapons[@armor1_id]
          end
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          case index
          when 0
            weapon = $data_weapons[id]
          when 1
          unless weapony == true
            armor1 = $data_armors[id]
          else
            armor1 = $data_weapons[id]
          end
          when 2
            armor2 = $data_armors[id]
          when 3
            armor3 = $data_armors[id]
          when 4
            armor4 = $data_armors[id]
          end
          pdef1 = weapon != nil ? weapon.pdef : 0
          pdef2 = armor1 != nil ? armor1.pdef : 0
          pdef3 = armor2 != nil ? armor2.pdef : 0
          pdef4 = armor3 != nil ? armor3.pdef : 0
          pdef5 = armor4 != nil ? armor4.pdef : 0
          return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
        end
        
        def new_mdef(index, id, weapony = false)
          weapon = $data_weapons[@weapon_id]
          unless @two_weapons == true
            armor1 = $data_armors[@armor1_id]
          else
            armor1 = $data_weapons[@armor1_id]
          end
          armor2 = $data_armors[@armor2_id]
          armor3 = $data_armors[@armor3_id]
          armor4 = $data_armors[@armor4_id]
          case index
          when 0
            weapon = $data_weapons[id]
          when 1
          unless weapony == true
            armor1 = $data_armors[id]
          else
            armor1 = $data_weapons[id]
          end
          when 2
            armor2 = $data_armors[id]
          when 3
            armor3 = $data_armors[id]
          when 4
            armor4 = $data_armors[id]
          end
          mdef1 = weapon != nil ? weapon.mdef : 0
          mdef2 = armor1 != nil ? armor1.mdef : 0
          mdef3 = armor2 != nil ? armor2.mdef : 0
          mdef4 = armor3 != nil ? armor3.mdef : 0
          mdef5 = armor4 != nil ? armor4.mdef : 0
          return mdef1 + mdef2 + mdef3 + mdef4 + mdef5
        end
      end
       
       
      class Window_EquipLeft < Window_Base
        
        def refresh
          self.contents.clear
          self.contents.font.size = 22
          draw_actor_name(@actor, 4, 0)
          draw_actor_level(@actor, 4, 32)
          draw_actor_parameter(@actor, 4, 64, 0)
          @actor.sec_attack = true
          draw_actor_parameter(@actor, 4, 86, 7)
          @actor.sec_attack = false
          
          draw_actor_parameter(@actor, 4, 108, 1)
          draw_actor_parameter(@actor, 4, 130, 2)
          if @new_atk != nil
            self.contents.font.color = system_color
            self.contents.draw_text(160, 64, 40, 32, "->", 1)
            self.contents.font.color = normal_color
            self.contents.draw_text(200, 64, 36, 32, @new_atk.to_s, 2)
          end
          if @new_pdef != nil
            self.contents.font.color = system_color
            self.contents.draw_text(160, 108, 40, 32, "->", 1)
            self.contents.font.color = normal_color
            self.contents.draw_text(200, 108, 36, 32, @new_pdef.to_s, 2)
          end
          if @new_mdef != nil
            self.contents.font.color = system_color
            self.contents.draw_text(160, 130, 40, 32, "->", 1)
            self.contents.font.color = normal_color
            self.contents.draw_text(200, 130, 36, 32, @new_mdef.to_s, 2)
          end
          
          if @new_atk2 != nil
            self.contents.font.color = system_color
            self.contents.draw_text(160, 86, 40, 32, "->", 1)
            self.contents.font.color = normal_color
            self.contents.draw_text(200, 86, 36, 32, @new_atk2.to_s, 2)
          end
        end
      
        def set_new_parameters(new_atk, new_atk2, new_pdef, new_mdef)
          if @new_atk != new_atk or @new_atk2 != new_atk2 or @new_pdef != new_pdef or @new_mdef != new_mdef
            @new_atk = new_atk
            @new_atk2 = new_atk2
            @new_pdef = new_pdef
            @new_mdef = new_mdef
            refresh
          end
        end
      end


      كيفية الاستخدام:
      إذهب الى Equip اخر الشخصيه ثم اختر الدرع (يمكنك تبديل اسمه في DataBese ) ثم اختر و سترى انه يمكنك إضافة سلاح او درع


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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت الظل
      الكاتب: Rataime
      المصدر: http://www.rmxp.org
      المقدمه:
      الاسكربت يسمح لك بإضافة مؤثرات الظل لكل الشخصيات في الخريطه.
      كيفية الوضع:
      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.
      الكود:
      كود:
      #==============================================================================
      # ■ Sprite_Shadow (Sprite_Ombre )
      # Based on Genzai Kawakami's shadows, dynamisme&features by Rataime, extra features Boushy
      #==============================================================================
      كود:
      CATERPILLAR_COMPATIBLE = true SHADOW_WARN = true
      class Game_Party attr_reader :characters end
      class Sprite_Shadow < RPG::Sprite
      attr_accessor :character def initialize(viewport, character = nil,id=0) super(viewport) params=$shadow_spriteset.shadows[id] @source=params[0] @anglemin=0 @anglemin=params[1] if params.size>1 @anglemax=0 @anglemax=params[2] if params.size>2 @self_opacity=100 @self_opacity=params[4] if params.size>4 @distancemax=350 @distancemax=params[3] if params.size>3 @character = character update end def update
      if !in_range?(@character, @source, @distancemax) self.opacity=0 return end super if @tile_id != @character.tile_id or @character_name != @character.character_name or @character_hue != @character.character_hue @tile_id = @character.tile_id @character_name = @character.character_name @character_hue = @character.character_hue if @tile_id >= 384 self.bitmap = RPG::Cache.tile($game_map.tileset_name, @tile_id, @character.character_hue) self.src_rect.set(0, 0, 32, 32) self.ox = 16 self.oy = 32 else self.bitmap = RPG::Cache.character(@character.character_name, @character.character_hue) @cw = bitmap.width / 4 @ch = bitmap.height / 4 self.ox = @cw / 2 self.oy = @ch end end self.visible = (not @character.transparent) if @tile_id == 0 sx = @character.pattern * @cw sy = (@character.direction - 2) / 2 * @ch if self.angle>90 or angle<-90 if @character.direction== 6 sy = ( 4- 2) / 2 * @ch end if @character.direction== 4 sy = ( 6- 2) / 2 * @ch end if @character.direction== 2 sy = ( 8- 2) / 2 * @ch end if @character.direction== 8 sy = ( 2- 2) / 2 * @ch end end self.src_rect.set(sx, sy, @cw, @ch) end self.x = @character.screen_x self.y = @character.screen_y-5 self.z = @character.screen_z(@ch)-1 self.blend_type = @character.blend_type self.bush_depth = @character.bush_depth if @character.animation_id != 0 animation = $data_animations[@character.animation_id] animation(animation, true) @character.animation_id = 0 end @deltax=@source.screen_x-self.x @deltay= @source.screen_y-self.y self.color = Color.new(0, 0, 0) @distance = ((@deltax ** 2) + (@deltay ** 2)) self.opacity = @self_opacity*13000/((@distance*370/@distancemax)+6000) self.angle = 57.3*Math.atan2(@deltax, @deltay ) @angle_trigo=self.angle+90 if @angle_trigo<0 @angle_trigo=360+@angle_trigo end if @anglemin !=0 or @anglemax !=0 if (@angle_trigo<@anglemin or @angle_trigo>@anglemax) and @anglemin<@anglemax self.opacity=0 return end if (@angle_trigo<@anglemin and @angle_trigo>@anglemax) and @anglemin>@anglemax self.opacity=0 return end end end def in_range?(element, object, range)# From Near's Anti Lag Script, edited x = (element.screen_x - object.screen_x) * (element.screen_x - object.screen_x) y = (element.screen_y - object.screen_y) * (element.screen_y - object.screen_y) r = x + y if r <= (range * range) return true else return false end end end
      #=================================================== # ▼ CLASS Sprite_Character edit #===================================================
      class Sprite_Character < RPG::Sprite alias shadow_initialize initialize def initialize(viewport, character = nil) @character = character super(viewport) @ombrelist=[] if character.is_a?(Game_Event) and $shadow_spriteset.shadows!=[] params = XPML_read("Shadow",@character.id,4) if params!=nil for i in 0...$shadow_spriteset.shadows.size @ombrelist.push(Sprite_Shadow.new(viewport, @character,i)) end end end if character.is_a?(Game_Player) and $shadow_spriteset.shadows!=[] for i in 0...$shadow_spriteset.shadows.size @ombrelist.push(Sprite_Shadow.new(viewport, $game_player,i)) end #=================================================== # ● Compatibility with fukuyama's caterpillar script #=================================================== if CATERPILLAR_COMPATIBLE and $game_party.characters!=nil for member in $game_party.characters for i in 0...$shadow_spriteset.shadows.size @ombrelist.push(Sprite_Shadow.new(viewport, member,i)) end end end #=================================================== # ● End of the compatibility #=================================================== end shadow_initialize(viewport, @character) end alias shadow_update update def update shadow_update if @ombrelist!=[] for i in 0...@ombrelist.size @ombrelist[i].update end end end end
      #=================================================== # ▼ CLASS Game_Event edit #=================================================== class Game_Event attr_accessor :id end
      #=================================================== # ▼ CLASS Spriteset_Map edit #=================================================== class Spriteset_Map attr_accessor :shadows alias shadow_initialize initialize def initialize $shadow_spriteset=self @shadows=[] warn=false for k in $game_map.events.keys.sort warn=true if ($game_map.events[k].list!=nil and $game_map.events[k].list[0].code == 108 and ($game_map.events[k].list[0].parameters == ["s"] or $game_map.events[k].list[0].parameters == ["o"])) params = XPML_read("Shadow Source",k,4) $shadow_spriteset.shadows.push([$game_map.events[k]]+params) if params!=nil end p "Warning : At least one event on this map uses the obsolete way to add shadows" if warn == true and SHADOW_WARN shadow_initialize end end
      #=================================================== # ▼ XPML Definition, by Rataime, using ideas from Near Fantastica # # Returns nil if the markup wasn't present at all, # returns [] if there wasn't any parameters, else # returns a parameters list with "int" converted as int # eg : # begin first # begin second # param1 1 # param2 two # begin third # anything 3 # # p XPML_read("first", event_id) -> [] # p XPML_read("second", event_id) -> [1,"two"] # p XPML_read("third", event_id) -> [3] # p XPML_read("forth", event_id) -> nil #===================================================
      def XPML_read(markup,event_id,max_param_number=0) parameter_list = nil event=$game_map.events[event_id] return if event.list==nil for i in 0...event.list.size if event.list[i].code == 108 and event.list[i].parameters[0].downcase == "begin "+markup.downcase parameter_list = [] if parameter_list == nil for j in i+1...event.list.size if event.list[j].code == 108 parts = event.list[j].parameters[0].split if parts.size!=1 and parts[0].downcase!="begin" if parts[1].to_i!=0 or parts[1]=="0" parameter_list.push(parts[1].to_i) else parameter_list.push(parts[1]) end else return parameter_list end else return parameter_list end return parameter_list if max_param_number!=0 and j==i+max_param_number end end end return parameter_list end
      كيفية الاستخدام:
      اولا يجب عليك تحديد مصدر الضوء بإضافة comment للحدث event على الخريطه.
      كود:
      begin Shadow Source
      والان ضيف لكل event تريد ان يظهر ظله comment
      كود:
      begin Shadow

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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت الظل

      الكاتب: fukuyama

      المصدر: http://www4.big.or.jp/~fukuyama/









      المقدمه:


      هل ارت يوما ان تجعل كل اصدقائك يمشون معك في الخريطه خلفك؟ مثل فاينل فانتسي؟ فإذا هذا هو الاسكربت الذي تبحث عنه انت الاسكربت يجعل كل الاعضاء الذين مع يمشون خلفك.










      كيفية الوضع:


      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.

      الكود:






      كود:
       
      
      # Train_Actor
      # # fukuyama@alles.or.jp
      # http://www4.big.or.jp/~fukuyama/ # # ●透明状態用スイッチ設定 # true だとスイッチ制御を行う # TRAIN_ACTOR_TRANSPARENT_SWITCH = false TRAIN_ACTOR_TRANSPARENT_SWITCH = true # ●透明状態用スイッチ番号 # この番号のスイッチがONだと透明になる TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX = 20 # 定数 #Input::DOWN = 2 #Input::LEFT = 4 #Input::RIGHT = 6 #Input::UP = 8 DOWN_LEFT = 1 DOWN_RIGHT = 3 UP_LEFT = 7 UP_RIGHT = 9 JUMP = 5 class Game_Party_Actor < Game_Character def initialize super() @through = true end def setup(actor) # キャラクターのファイル名と色相を設定 if actor != nil @character_name = actor.character_name @character_hue = actor.character_hue else @character_name = "" @character_hue = 0 end # 不透明度と合成方法を初期化 @opacity = 255 @blend_type = 0 end def screen_z(height = 0) if $game_player.x == @x and $game_player.y == @y return $game_player.screen_z(height) - 1 end super(height) end #-------------------------------------------------------------------------- # ● 下に移動 # turn_enabled : その場での向き変更を許可するフラグ #-------------------------------------------------------------------------- def move_down(turn_enabled = true) # 下を向く if turn_enabled turn_down end # 通行可能な場合 if passable?(@x, @y, Input::DOWN) # 下を向く turn_down # 座標を更新 @y += 1 end end #-------------------------------------------------------------------------- # ● 左に移動 # turn_enabled : その場での向き変更を許可するフラグ #-------------------------------------------------------------------------- def move_left(turn_enabled = true) # 左を向く if turn_enabled turn_left end # 通行可能な場合 if passable?(@x, @y, Input::LEFT) # 左を向く turn_left # 座標を更新 @x -= 1 end end #-------------------------------------------------------------------------- # ● 右に移動 # turn_enabled : その場での向き変更を許可するフラグ #-------------------------------------------------------------------------- def move_right(turn_enabled = true) # 右を向く if turn_enabled turn_right end # 通行可能な場合 if passable?(@x, @y, Input::RIGHT) # 右を向く turn_right # 座標を更新 @x += 1 end end #-------------------------------------------------------------------------- # ● 上に移動 # turn_enabled : その場での向き変更を許可するフラグ #-------------------------------------------------------------------------- def move_up(turn_enabled = true) # 上を向く if turn_enabled turn_up end # 通行可能な場合 if passable?(@x, @y, Input::UP) # 上を向く turn_up # 座標を更新 @y -= 1 end end #-------------------------------------------------------------------------- # ● 左下に移動 #-------------------------------------------------------------------------- def move_lower_left # 向き固定でない場合 unless @direction_fix # 右向きだった場合は左を、上向きだった場合は下を向く @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction) end # 下→左、左→下 のどちらかのコースが通行可能な場合 if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN)) # 座標を更新 @x -= 1 @y += 1 end end #-------------------------------------------------------------------------- # ● 右下に移動 #-------------------------------------------------------------------------- def move_lower_right # 向き固定でない場合 unless @direction_fix # 左向きだった場合は右を、上向きだった場合は下を向く @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction) end # 下→右、右→下 のどちらかのコースが通行可能な場合 if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN)) # 座標を更新 @x += 1 @y += 1 end end #-------------------------------------------------------------------------- # ● 左上に移動 #-------------------------------------------------------------------------- def move_upper_left # 向き固定でない場合 unless @direction_fix # 右向きだった場合は左を、下向きだった場合は上を向く @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction) end # 上→左、左→上 のどちらかのコースが通行可能な場合 if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP)) # 座標を更新 @x -= 1 @y -= 1 end end #-------------------------------------------------------------------------- # ● 右上に移動 #-------------------------------------------------------------------------- def move_upper_right # 向き固定でない場合 unless @direction_fix # 左向きだった場合は右を、下向きだった場合は上を向く @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction) end # 上→右、右→上 のどちらかのコースが通行可能な場合 if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP)) # 座標を更新 @x += 1 @y -= 1 end end def set_move_speed(move_speed) @move_speed = move_speed end end class Spriteset_Map def setup_actor_character_sprites? return @setup_actor_character_sprites_flag != nil end def setup_actor_character_sprites(characters) if !setup_actor_character_sprites? index_game_player = 0 @character_sprites.each_index do |i| if @character_sprites[i].character.instance_of?(Game_Player) index_game_player = i break end end for character in characters.reverse @character_sprites.unshift( Sprite_Character.new(@viewport1, character) ) end @setup_actor_character_sprites_flag = true end end end class Scene_Map def setup_actor_character_sprites(characters) @spriteset.setup_actor_character_sprites(characters) end end class Game_Party def set_transparent_actors(transparent) @transparent = transparent end def setup_actor_character_sprites if @characters == nil @characters = [] for i in 1 .. 4 @characters.push(Game_Party_Actor.new) end end if @actors_chach == nil @actors_chach = [] end if @actors_chach != @actors @actors_chach = @actors.clone for i in 1 .. 4 @characters[i - 1].setup(actors[i]) end end if $scene.instance_of?(Scene_Map) $scene.setup_actor_character_sprites(@characters) end end def update_party_actors setup_actor_character_sprites transparent = $game_player.transparent if transparent == false if TRAIN_ACTOR_TRANSPARENT_SWITCH transparent = $game_switches[TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX] else transparent = $game_player.transparent end end for character in @characters character.transparent = transparent character.set_move_speed($game_player.get_move_speed) character.update end end def moveto_party_actors( x, y ) setup_actor_character_sprites for character in @characters character.moveto( x, y ) end if @move_list == nil @move_list = [] end for i in 0 .. 10 @move_list[i] = nil end end def move_party_actors if @move_list == nil @move_list = [] for i in 0 .. 10 @move_list[i] = nil end end @move_list.each_index do |i| if @characters[i] != nil case @move_list[i].type when Input::DOWN @characters[i].move_down(@move_list[i].args[0]) when Input::LEFT @characters[i].move_left(@move_list[i].args[0]) when Input::RIGHT @characters[i].move_right(@move_list[i].args[0]) when Input::UP @characters[i].move_up(@move_list[i].args[0]) when DOWN_LEFT @characters[i].move_lower_left when DOWN_RIGHT @characters[i].move_lower_right when UP_LEFT @characters[i].move_upper_left when UP_RIGHT @characters[i].move_upper_right when JUMP @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1]) end end end end class Move_List_Element def initialize(type,args) @type = type @args = args end def type() return @type end def args() return @args end end def add_move_list(type,*args) @move_list.unshift(Move_List_Element.new(type,args)).pop end def move_down_party_actors(turn_enabled = true) move_party_actors add_move_list(Input::DOWN,turn_enabled) end def move_left_party_actors(turn_enabled = true) move_party_actors add_move_list(Input::LEFT,turn_enabled) end def move_right_party_actors(turn_enabled = true) move_party_actors add_move_list(Input::RIGHT,turn_enabled) end def move_up_party_actors(turn_enabled = true) move_party_actors add_move_list(Input::UP,turn_enabled) end def move_lower_left_party_actors move_party_actors add_move_list(DOWN_LEFT) end def move_lower_right_party_actors move_party_actors add_move_list(DOWN_RIGHT) end def move_upper_left_party_actors move_party_actors add_move_list(UP_LEFT) end def move_upper_right_party_actors move_party_actors add_move_list(UP_RIGHT) end def jump_party_actors(x_plus, y_plus) move_party_actors add_move_list(JUMP,x_plus, y_plus) end end module Game_Player_Module def update $game_party.update_party_actors super end def moveto( x, y ) super $game_party.moveto_party_actors( x, y ) end def move_down(turn_enabled = true) if passable?(@x, @y, Input::DOWN) $game_party.move_down_party_actors(turn_enabled) end super(turn_enabled) end def move_left(turn_enabled = true) if passable?(@x, @y, Input::LEFT) $game_party.move_left_party_actors(turn_enabled) end super(turn_enabled) end def move_right(turn_enabled = true) if passable?(@x, @y, Input::RIGHT) $game_party.move_right_party_actors(turn_enabled) end super(turn_enabled) end def move_up(turn_enabled = true) if passable?(@x, @y, Input::UP) $game_party.move_up_party_actors(turn_enabled) end super(turn_enabled) end def move_lower_left # 下→左、左→下 のどちらかのコースが通行可能な場合 if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN)) $game_party.move_lower_left_party_actors end super end def move_lower_right # 下→右、右→下 のどちらかのコースが通行可能な場合 if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN)) $game_party.move_lower_right_party_actors end super end def move_upper_left # 上→左、左→上 のどちらかのコースが通行可能な場合 if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP)) $game_party.move_upper_left_party_actors end super end def move_upper_right # 上→右、右→上 のどちらかのコースが通行可能な場合 if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP)) $game_party.move_upper_right_party_actors end super end def jump(x_plus, y_plus) # 新しい座標を計算 new_x = @x + x_plus new_y = @y + y_plus # 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合 if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0) $game_party.jump_party_actors(x_plus, y_plus) end super(x_plus, y_plus) end
      # ----------------------------------------------- # move_speed を外から見れるように # ----------------------------------------------- def get_move_speed return @move_speed end end class Game_Player include Game_Player_Module end
      الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة Train_actor.jpg‏  

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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت الموفي movie
      الكاتب: غير معروف
      المصدر: غير معروف

      المقدمه:
      الاسكربت يسمح لك بتشغيل الافلام في لعبتك لكن لا انصح به لأنه يحتوي على بعض المشاكل (الله أعلم يمكن يشتعل زين في لعبتك).

      كيفية الوضع:
      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.

      الكود:

      كود:
      class Scene_Movie
       def initialize(movie)
         @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
         @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
         main
       end
       
       def main
         game_name = "\0" * 256
         @readini.call('Game','Title','',game_name,255,".\\Game.ini")
         game_name.delete!("\0")
         @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
         @temp = @wnd.call(0,0,nil,game_name).to_s
         movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
         movie.call("open \""<A href="mailto:+@movie_name+"\">+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
         @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')
         
         @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
         @width = @detector.call(0)
         if @width == 640
           fullscreen
           Graphics.update
           sleep(1)
           Graphics.update
           sleep(1)
           Graphics.update
           sleep(1)
         end
         
         status = " " * 255
         movie.call("play FILE",0,0,0)
         loop do
          sleep(0.1)
          @message.call(@temp.to_i,11,0,0)
          Graphics.update
          @message.call(@temp.to_i,11,1,0)
          Input.update
          movie.call("status FILE mode",status,255,0)
          true_status = status.unpack("aaaa")
          if true_status.to_s != "play"
            break
          end
          if Input.trigger?(Input::B)
            Input.update
            break
          end
         end
         movie.call("close FILE",0,0,0)
         bail
       end
       
       def bail
         if @width == 640
           fullscreen
         end
        end
      end
      def fullscreen()
       
       $full.call(18,0,0,0)
       $full.call(13,0,0,0)
       $full.call(18,0,2,0)
       $full.call(13,0,2,0)
      end
      $full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')
      كيفية الاستخدام:
      أولا أحفظ الموفي في ملف \Movies خلص للعبتك الملف يكون في نفس الفولدر
      أحفظ الموفي بصيغة avi

      ثم في Event الخريطه اضف اسكربت
      كود:
      Scene_Movie.new("NameOfTheFile")
      ستبدل الكلام الملون بالاحمر باسم ملف الفلم

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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت النهار و الليل
      الكاتب: Deke
      تعديل: Near Fantastica
      المصدر: http://www.rmxp.org

      المقدمه:
      الاسكربت يسمح لك بإضافت مؤقت حيث ان الضوء يتغير من مع مرور الوقت و تلاحض ان الوقت يتغير من النهار الى الليل و حين تدخل الـ Menu تجد ان نافذة عد الخطوات تحولت الى ساعه مع تاريخ.

      كيفية الوضع:
      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.


      الكود:
      كود:
      #=======================================
      # ■ class Game_Title                                                                 
      #     written by Deke
      #     Rewiten by Near Fantastica
      #------------------------------------------------------------------------------
      #=======================================
      class Game_Time
       attr_accessor :minute_length
       
       def initialize
        @minute_length=2.0      #length of game minute in real seconds
        @hour_length= 60.0      #minute in an hour
        @day_length=24.0        #hours in a day
        @month_length=30.0    #days in a month
        @year_length=12.0       #months in a year
        @minutes=0                 #starting minute count
        start_minute=56
        add_minutes(start_minute)
        start_hour=23               #starting hour count
        add_hours(start_hour)
        start_day=5                 #starting day count
        add_days(start_day)
        start_month=1              #starting month count
        add_months(start_month-1)
        start_year=129              #starting year count
        add_years(start_year)
      end
      def add_minutes(minutes)
        @minutes +=minutes
      end 
      def add_hours(hours)
        @minutes +=hours*@hour_length
      end
      def add_days(days)
        @minutes += days*@hour_length*@day_length
      end
      def add_months(months)
        @minutes +=months * @hour_length*@day_length*@month_length
      end
      def add_years(years)
        @minutes += years * @hour_length*@day_length*@month_length * @year_length
      end
        
       
      def get_year
         minutes=get_total_minutes
         year=minutes / @hour_length / @day_length / @month_length  / @year_length
         return year
      end
         
      def get_month
         minutes=get_total_minutes
         month=minutes / @hour_length / @day_length /  @month_length % @year_length + 1
         return month
      end
        
      def get_day
         minutes=get_total_minutes
         day=minutes / @hour_length / @day_length % @month_length
         return day
      end  
         
      def get_hour
         minutes=get_total_minutes
         hour=minutes / @hour_length % @day_length
         return hour
      end
        
      def get_total_minutes
         total_sec=Graphics.frame_count / Graphics.frame_rate
         minute=(total_sec/@minute_length+@minutes)
         return minute
       end
       
      def get_minute
        minutes=get_total_minutes % @hour_length
        return minutes
      end
      def get_tone
        hour=get_hour.floor
        minutes=get_minute + hour*@hour_length
        phase_shift=Math::PI*(minutes/(@hour_length*@day_length))
        illumination=  -150+ 165*Math.sin(phase_shift)
        tone=Tone.new(illumination,illumination,illumination,0)
        return tone
      end
      end # of class Game_Time   
      #=======================================#
      # ■ class Window_Time                                                            #
      # written by Deke                                                                      #
      #------------------------------------------------------------------------------#
      #=======================================#
      class Window_Time < Window_Base
       #--------------------------------------------------------------------------
       def initialize
         super(0, 0, 160, 96)
         self.contents = Bitmap.new(width - 32, height - 32)
         self.contents.font.name = $defaultfonttype  # "Time" window font
         self.contents.font.size = $defaultfontsize
         refresh
       end
       #--------------------------------------------------------------------------
       def refresh
         self.contents.clear
         @total_sec = Graphics.frame_count / Graphics.frame_rate
         @minute=$game_time.get_minute.floor
         hour = $game_time.get_hour
         pm_flag= hour >=12 ? true : false
         hour= hour >= 12 ? hour-12 : hour
         day=$game_time.get_day
         month=$game_time.get_month
         year=$game_time.get_year
         if hour.floor==0
           text=sprintf("%02d:%02d",12,@minute)
         else
           text=sprintf("%02d:%02d",hour,@minute)
         end
         if pm_flag
           text += " PM"
         else
           text += " AM"
         end
         self.contents.font.color = normal_color
         self.contents.draw_text(4, 0, 120, 32, text, 2)
         text = sprintf("%02d-%02d-%02d", month, day, year)
         self.contents.font.color=system_color
         self.contents.draw_text(4,32,120,32,text)
       end
       #--------------------------------------------------------------------------
       def update
         if $game_time.get_minute.floor != @minute
           refresh
         end
       end
      end # of class
      #=======================================
      class Game_Temp
        #--------------------------------------------------------------------------
        # ● Refer setup to Game Temp
        #--------------------------------------------------------------------------
        alias dns_game_temp_initalize initialize
        #--------------------------------------------------------------------------
        # ● Refer the Attr
        #--------------------------------------------------------------------------
        attr_reader    :map_infos  #Added Lines
        attr_reader    :outside_array  #Added Lines
        #--------------------------------------------------------------------------
        # ● Refer setup to Scene Map
        #--------------------------------------------------------------------------
        def initialize
          dns_game_temp_initalize
          @outside_array = Array.new
          @map_infos = load_data("Data/MapInfos.rxdata")
          for key in @map_infos.keys
              @outside_array[key] = @map_infos[key].name.include?("*")
          end
       end
      end
      #=======================================
      class Scene_Map
        #--------------------------------------------------------------------------
        # ● Refer setup to Scene Map
        #--------------------------------------------------------------------------
        alias dns_scene_map_main main
        alias dns_scene_map_update update
        #--------------------------------------------------------------------------
        # ● Main
        #--------------------------------------------------------------------------
        def main
           if $game_temp.outside_array[$game_map.map_id]
             tone=$game_time.get_tone
            @minute=$game_time.get_minute.floor
            $game_screen.start_tone_change(tone, 0) 
          end
          dns_scene_map_main
        end
        #--------------------------------------------------------------------------
        # ● Update
        #--------------------------------------------------------------------------
        def update
           conditional1 =$game_temp.outside_array[$game_map.map_id] and $game_time.get_minute.floor != @minute
           conditional2 =$game_temp.outside_array[$game_map.map_id] and @current_id != $game_map.map_id
           if  conditional1 or conditional2    
                 tone=$game_time.get_tone
                 $game_screen.start_tone_change(tone, 0)
                 @minute = $game_time.get_minute.floor
                 $game_map.need_refresh=true
                 @current_id=$game_map.map_id
           end
           if $game_temp.outside_array[$game_map.map_id] == false and @current_id != $game_map.map_id
              $game_screen.start_tone_change(Tone.new(0,0,0,0),0)
              @current_id=$game_map.map_id
          end
          dns_scene_map_update
       end
      end 
      #======================================================
      class Scene_Title
        #--------------------------------------------------------------------------
        # ● Refer setup to Scene Map
        #--------------------------------------------------------------------------
        alias dns_scene_title_update update
        #--------------------------------------------------------------------------
        # ● Refer setup to Scene Map
        #--------------------------------------------------------------------------
       def update
         $game_time=Game_Time.new
          #Dubealex Addition (from XRXS) to show Map Name on screen
         dns_scene_title_update
       end
      end
      #========================================================
      class Scene_Load
       def read_save_data(file)
         characters = Marshal.load(file)
         Graphics.frame_count = Marshal.load(file)
         $game_system        = Marshal.load(file)
         $game_switches      = Marshal.load(file)
         $game_variables     = Marshal.load(file)
         $game_self_switches = Marshal.load(file)
         $game_screen        = Marshal.load(file)
         $game_actors        = Marshal.load(file)
         $game_party         = Marshal.load(file)
         $game_troop         = Marshal.load(file)
         $game_map           = Marshal.load(file)
         $game_player        = Marshal.load(file)
         $game_time           =Marshal.load(file) #Added Line
         if $game_system.magic_number != $data_system.magic_number
           $game_map.setup($game_map.map_id)
           $game_player.center($game_player.x, $game_player.y)
         end
         $game_party.refresh
       end
      end # of Scene_Load updates
      #=======================================================
      class Scene_Save
       def write_save_data(file)
         characters = []
         for i in 0...$game_party.actors.size
           actor = $game_party.actors[i]
           characters.push([actor.character_name, actor.character_hue])
         end
         Marshal.dump(characters, file)
         Marshal.dump(Graphics.frame_count, file)
         $game_system.save_count += 1
         $game_system.magic_number = $data_system.magic_number
         Marshal.dump($game_system, file)
         Marshal.dump($game_switches, file)
         Marshal.dump($game_variables, file)
         Marshal.dump($game_self_switches, file)
         Marshal.dump($game_screen, file)
         Marshal.dump($game_actors, file)
         Marshal.dump($game_party, file)
         Marshal.dump($game_troop, file)
         Marshal.dump($game_map, file)
         Marshal.dump($game_player, file)
         Marshal.dump($game_time,file) # Added Line
       end
      end # of Scene_Save updates
      #========================================================
      class Game_Map
        #--------------------------------------------------------------------------
        # ● Refer the attr
        #--------------------------------------------------------------------------
        attr_reader   :outside
        attr_reader   :map_id
        #--------------------------------------------------------------------------
        # ● Outside
        #--------------------------------------------------------------------------
        def outside
           return $game_temp.outside_array[@map_id]
         end
      end

      كيفية الاستعمال:

      كود:
        @minute_length=2.0
      قم بتبديل الرقم و هو يعني الدقيقه في اللعبه بالثواني العاديه اي حسب الكود الحالي كل ثانيتان تساوي دقيقه في اللعبه.

      لتبديل الوقت ضع الاسكربت في Map Event
      كود:
      $game_time.add_minutes(...)
      استبل النقاط برقم حيث يعني ان تضيف عدد الدقائق

      كود:
      $game_time.add_hours(5)
      استبل النقاط برقم حيث يعني ان تضيف عدد الساعات

      كود:
      $game_time.get_hour  >= 8 and $game_time.get_hour  <= 17
      ضع هذا الاسكربت في Conditional Branch
      لتعني من الساعه : 8 صباح حتى 5 مساء

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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت الـ Mode7
      الكاتب: MGCaladtogel
      المصدر: http://www.rmxp.org

      المقدمه:
      الصوره تتحدث

      كيفية الوضع:
      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.


      الكود:

      الكود طويل بعض الشيء لذا وضعته في ملف txt يمكنك تحميله من المرفقات


      الاستخدام:
      أولا لتشغيل المود7 عليك وضع التاج [M7] في اسم الخريطه.
      ثم ضف التاج [XX#] في اسم الخريطه واستبدل الـXX ارقام تحدد ترجه الانحدار
      [A] لإضافة الحركه لـautotiles ذات 4 اشكال
      [C] لتجعل مركز الخريطه هو البطل
      [P] لتثبت الـ panorama
      [H] لتشكل خط افقي أبيض مثل ما هو موضح بالشكل
      [OV] لتصغير الاشكال و تكون خريطة عالم
      [Y] لتسمح للاعب المتابعه من المحور الرأسي
      [X] لتسمح للاعب المتابعه من المحور الافقي

      رقما الـ terrain tags 1&2 يضع حتى لا يميل السبريل مع الخريطه خلال عمل الاسكربت ويمكنك تبديله من الكود في الاسكربت استبدل الارقام فقط
      كود:
      $terrain_tags_vertical_tiles = [1,2]

      يوضع التاج 1 و 2 حتى اذا وضعة مكائنان في Layer واح فوق بعضهم يتمكن الاسكربت من التميز بينهم و يفصلهم.

      مثال:

      اللايرات الثلاثه انظر كيف تم التوزيع



      النتيجه:
      الملفات المرفقة الملفات المرفقة
      • نوع الملف: txt Mode7.txt‏ (79.8 كيلوبايت, المشاهدات 59)

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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت صيحة القتال
      الكاتب: DerVVulfman
      المصدر: http://www.rmxp.org

      المقدمه:
      الاسكربت يسمح بإضافه صرخه لهجمات اللاعبين يعمل الاسكربت مع نظام القتال المتحرك Animated Battlers أيضا


      كيفية الوضع:

      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.
      ضع الاسكربت أسفل كل اسكربات تغير نظام القتال إن وجد.



      الكود:




      كود:
      #==============================================================================
      # ** Dalissa's Battle Cry
      #    by DerVVulfman
      #    Version 1.4
      #    04-21-2007
      #
      #------------------------------------------------------------------------------
      #
      #  INTRODUCTION:
      #
      #  This add-on system allows you to pre-program additional vocal cues for your
      #  battlers so they can play these additional vocals during battle events.  It
      #  can perform battle cries for heroes and enemies, for regular attacks or for
      #  skill events.
      #
      #  This script was a request by a couple of friends.   Both wanted a system to 
      #  enhance their combat systems  and personalize  their battles  with an audio
      #  system not dependant on the "battle animation" built into RMXP.   Now, with
      #  this script, you can set each battler to scream out their 'battle cry' when
      #  they perform their battle action.
      #
      #
      #------------------------------------------------------------------------------
      #
      #  SETTING THE BATTLECRIES:
      #
      #  First off,  let me point out  that this system  plays audio clips  that are
      #  kept in either your project's or the RTP's Audio\SE directory.  These clips
      #  may be of any file format goverened by RMXP, and as such, no file extension
      #  will be necessary when actually setting up your battlecry system.
      #
      #  In the script's SCENE_BATTLE code, you'll see two sets of hashes, one group
      #  for the actor battlers and the other for enemy battlers.   Each group has 5
      #  identical hashes:  Attack, Skill, Item, Block and Escape.
      #
      #  Within each hash,  you are able to enter the id number of a battler and the
      #  audio clip it will perform.  It's pretty simple.
      #  
      #  If, for example,  you want a 'ghost'  battler to moan when it is performing
      #  an attack (assuming it's enemy #1 in your RTP), you would add the following:
      #
      #    $enemy_cry_attack = {1 => "GhostMoan01"}
      #
      #  ... assuming you have an audio file named  "GhostMoan01"  in your project's
      #  Audio\SE directory  or in your RTP directory.   Again,  please note that no
      #  file extension is needed or required.  
      #
      #  And, if you were to set TWO sets of battlecries  (one for a ghost & one for 
      #  a zombie),  you'd enter them in the following manner  (again,  assuming the
      #  RTP monsters are being used):
      #
      #    $enemy_cry_attack = {1 => "GhostMoan01", 9 => "ZombieGroan04"}
      #
      #  As you can see, you can skip between battlers when setting audio clips. And
      #  while it is preferred to enter them in the id number order, it isn't neces-
      #  sary.
      #
      #  There are also a series of individual skill hashes.  What this does is that
      #  you can link a single sound effect to an individual skill... for each actor
      #  or enemy.  The format is fairly simple:
      #
      #  $enemy_cry_skill_i = { enemy.id => { skill.id => "audiofile",... }, ... )
      #
      #  and the same difference for the actor's skill id.
      #
      #  To prevent monotony, there is an additional value that is in the system be-
      #  low the two sets of hashes.   This value, $occur_cry_chance, determines the
      #  chance of an audio clip to be played.   A value of 100 equals a 100% chance
      #  of the file to be played, while a 25 gives the system a 1 in 4 chance of it
      #  being played.
      #
      #------------------------------------------------------------------------------
      #
      #  COMPATIBILITY:
      #
      #  This script was designed around the basic DBS system.   I can confirm it's
      #  functionality with the RTAB system,  as well as ParaDog's CTB v 2.58,  the
      #  newest CTB by XRXS (version 65a).
      #
      #  It is NOT compatible with Ccoa's CTB v 3.04 script and it is unknown as to
      #  the compatability to KGC's Active Count Battle system.
      #
      #  This audio system will not work, and is not compatible with Cybersam's Ani-
      #  mation system.
      #
      #------------------------------------------------------------------------------
      #
      #  KNOWN ISSUES:
      #
      #  As this system retrieves the action states of the battlers:  Attack, Skill,
      #  Item...  and from nothing else,  then this system begins to play the battle
      #  cries from the  very moment  these states are triggered.   The only battler
      #  overlay system  (Front-View system to a Side-View System)  that this script
      #  works with is the new incarnation of Minkoff's Animated Battlers - Enhanced
      #  (version 4.7 or higher) as a trigger system has been recently added to that
      #  script.
      #
      #  Earlier versions of Animated Battlers will not play the audio clips for the
      #  battlers.
      #
      #------------------------------------------------------------------------------
      #
      #  JUST IN CASE:
      #
      #  By default, the battlecry system will merely NOT play any sound effect if a
      #  given battler has no related audio clip.  The system will even skip search-
      #  ing through the system  if a hash is empty.   This is  designed  to prevent 
      #  avoidable errors  as well  as to play  only the proper clip  for the proper
      #  battler.
      #
      #  Also, with a little assistance from Me? and Mr.Mo,  I was able to create an
      #  Error-Check routine that 'ensures' that no error  in this system will cause
      #  the system to crash.
      #
      #  For example, if you enter into a hash of audio clips in the system,  a piece
      #  that doesn't exist (either in the project or the RTP file), then this script
      #  will merely skip playing this audio file to prevent errors.
      #
      #------------------------------------------------------------------------------
      #
      #  THANKS:
      #
      #  Thanks to  Mimi-Chan  and  ~AtlasWing~ for requesting this script,  and to 
      #  grimreaper1357 for noticing a 'bug', though it wasn't the error he thought 
      #  it was.
      #
      #==============================================================================
       
        #--------------------------------------------------------------------------
        # * Configuration Section
        #--------------------------------------------------------------------------
       
        # Hero battle cries
        $actor_cry_attack   = {}    # The only PROPER way to have empty hashes.
        $actor_cry_skill    = {}    # Do not use a NIL pseudovalue!
        $actor_cry_skill_i  = { 1 => {57 => "015-Jump01", 58 => "022-Dive02"}  }
        $actor_cry_item     = {}
        $actor_cry_block    = { 1 => "006-System06", 2 => "006-System06",7 => "006-System06",8 => "006-System06"}
        $actor_cry_escape   = {}
       
        # Enemy battle cries
        $enemy_cry_attack   = { 1 => "006-System06"}
        $enemy_cry_skill    = {}
        $enemy_cry_skill_i  = { 1 => {7 => "015-Jump01"} }
        $enemy_cry_item     = {}
        $enemy_cry_block    = { 1 => "006-System06"}
        $enemy_cry_escape   = {}
       
        # Chance of occuring
        $occur_cry_chance   = 100
       
       
       
       
      #==============================================================================
      # ** Scene_Battle
      #------------------------------------------------------------------------------
      #  This class performs battle screen processing.
      #==============================================================================
       
      class Scene_Battle
        #--------------------------------------------------------------------------
        # * Frame Update (main phase step 2 : start action)
        #--------------------------------------------------------------------------
        alias update_phase4_step2_scream update_phase4_step2
        def update_phase4_step2(battler = @active_battler)
          # Do not perform here if Animated Battlers is detected
            unless $anim_cry_detect == true
            # Obtain & Play Battle Cries
            perform_cry(battler)
          end  
          # Perform original routine    
          if $rtab_cry_detect == true
            update_phase4_step2_scream(battler)
          else
            update_phase4_step2_scream
          end
        end
       
       
        #--------------------------------------------------------------------------
        # * Frame Update (main phase step 3 : animation for action performer)
        #--------------------------------------------------------------------------  
        alias dbc_update_phase4_step3 update_phase4_step3
        def update_phase4_step3(battler = @active_battler)
          # Perform original routine    
          if $rtab_cry_detect == true
            dbc_update_phase4_step3(battler)
          else
            dbc_update_phase4_step3
          end
          # Only perform if using Animated Battlers
          if $anim_cry_detect == true
            if $battle_charge == true
              # Obtain & Play Battle Cries
              perform_cry(battler)
              # Reset Flag
              $battle_charge = false
            end
          end
        end
       
        #--------------------------------------------------------------------------
        # * Retrieve & Perform the Cry
        #--------------------------------------------------------------------------
        def perform_cry(battler)
          # Re-Set Battle Cry to empty
          battlecry = nil
          # Temp Hash
          bcry_temp = {}
          # Obtain Battle Cries for Enemies
          if battler.is_a?(Game_Enemy)
            # Branch according to each action
            case battler.current_action.kind
            when 0  # basic
              battlecry = $enemy_cry_attack[battler.id] if $enemy_cry_attack.include?(battler.id)
              # If blocking
              if battler.current_action.basic == 1
                battlecry = $enemy_cry_block[battler.id] if $enemy_cry_block.include?(battler.id)
              end
              # If escaping
              if battler.current_action.basic == 2
                battlecry = $enemy_cry_escape[battler.id] if $enemy_cry_escape.include?(battler.id)
              end
              # If resting
              if battler.current_action.basic == 3
                battlecry = nil
              end
            when 1  # skill
              bcry_skill = battler.current_action.skill_id
              battlecry = $enemy_cry_skill[battler.id] if $enemy_cry_skill.include?(battler.id)
              bcry_temp = $enemy_cry_skill_i[battler.id] if $enemy_cry_skill_i.include?(battler.id)
              battlecry = bcry_temp[bcry_skill] if bcry_temp[bcry_skill]
            when 2  # item
              battlecry = $enemy_cry_item[battler.id] if $enemy_cry_item.include?(battler.id)
            end
          # otherwise, Obtain Battle Cries for Actors
          else
            # Branch according to each action
            case battler.current_action.kind
            when 0  # basic
              battlecry = $actor_cry_attack[battler.id] if $actor_cry_attack.include?(battler.id)
              # If blocking
              if battler.current_action.basic == 1
                battlecry = $actor_cry_block[battler.id] if $actor_cry_block.include?(battler.id)
              end
              # If escaping
              if battler.current_action.basic == 2
                battlecry = $actor_cry_escape[battler.id] if $actor_cry_escape.include?(battler.id)
              end
              # If resting
              if battler.current_action.basic == 3
                battlecry = nil
              end
            when 1  # skill
              bcry_skill = battler.current_action.skill_id
              battlecry = $actor_cry_skill[battler.id] if $actor_cry_skill.include?(battler.id)
              bcry_temp = $actor_cry_skill_i[battler.id] if $actor_cry_skill_i.include?(battler.id)
              battlecry = bcry_temp[bcry_skill] if bcry_temp[bcry_skill]
            when 2  # item
              battlecry = $actor_cry_item[battler.id] if $actor_cry_item.include?(battler.id)
            end
          end
          # Perform the cry
          play_cry(battlecry)
          # Erase Battle Cry
          battlecry = nil
        end
        #--------------------------------------------------------------------------
        # * Play the Cry
        #--------------------------------------------------------------------------
        def play_cry(battlecry)
          # Error checking.  Makes sure that even the default sound file is available.
          # If it is missing, then the system will set the battle cry to >none<.
          #
          # If the chance of the battle cry is true
          if rand(100) <= $occur_cry_chance
            # If the battle cry isn't nil
            if battlecry != nil
              begin
                @trd = RPG::AudioFile.new(battlecry)
                Audio.se_play("Audio/SE/" + @trd.name,0,100)
                # Sound file is true
              rescue Errno::ENOENT
                # Sound file is invalid (restore default)
                battlecry = nil
              end 
              # Play the cry
              if battlecry != nil 
                Audio.se_play("Audio/SE/"+@trd.name, 80, 100)
              end
            end
          end
        end
      end
       
       
       
      #==============================================================================
      # ** Spriteset_Battle
      #------------------------------------------------------------------------------
      #  This class brings together battle screen sprites. It's used within
      #  the Scene_Battle class.
      #==============================================================================
      class Spriteset_Battle
        #--------------------------------------------------------------------------
        # * Object Initialization
        #--------------------------------------------------------------------------
        # Special note:  When the normal method for detecting RTAB fails, I do this
        alias bcry_initialize initialize
        def initialize
          # Perform the original routine
          bcry_initialize
          # If RTAB's 'zoom' feature is present
          if @real_zoom != nil
            # Set the RTAB detector to 'true'
            $rtab_cry_detect = true
          end
        end
      end
       
       
       
      #==============================================================================
      # ** Sprite_Battler
      #------------------------------------------------------------------------------
      #  This sprite is used to display the battler.  It observes the Game_Character
      #  class and automatically changes sprite conditions.
      #==============================================================================
       
      class Sprite_Battler < RPG::Sprite
        #--------------------------------------------------------------------------
        # * Object Initialization
        #--------------------------------------------------------------------------
        alias bcry_initialize initialize
        def initialize(viewport, battler = nil)
          # Perform the original routine
          bcry_initialize(viewport,battler)
          # If Animated Battler's 'battler offset' feature is present
          if @battler_offset != nil
            # Set the Animated Battlers detector to 'true'
            $anim_cry_detect = true
          end
        end
      end

      كيفية الاستخدام:
      تحفظ الاصوات في ملف Audio\SE الخاص للعبتك
      يعمل اي ملف مصرح به ببرنامج الاربيجي ميكر اكس بي و منها الـMP3

      كما تلحظون هناك الكود:

      كود:
        # Hero battle cries
      كود:
       
      
      $actor_cry_attack = {} # The only PROPER way to have empty hashes. $actor_cry_skill = {} # Do not use a NIL pseudovalue!
      $actor_cry_skill_i = { 1 => {57 => "015-Jump01", 58 => "022-Dive02"} } $actor_cry_item = {} $actor_cry_block = { 1 => "006-System06", 2 => "006-System06",7 => "006-System06",8 => "006-System06"} $actor_cry_escape = {}
      # Enemy battle cries $enemy_cry_attack = { 1 => "006-System06"} $enemy_cry_skill = {} $enemy_cry_skill_i = { 1 => {7 => "015-Jump01"} } $enemy_cry_item = {} $enemy_cry_block = { 1 => "006-System06"} $enemy_cry_escape = {}


      هذا الكود يجب ان تعدله بنفسك طريقة عمله كالتالي

      القسم الاول لابطال الثاني للاعداء

      النص وضيفته كالتالي
      كود:
      $enemy_cry_attack = {enemyID => "Sound"}

      في البدايه يجب تكتب رقم العدو (او البطل اذا كان من خانت الابطال)
      ثم اكتب اسم الصوت الذي تريده ان يعمل

      مثال انت تريد تشغل صوت GhostMoan01 عندما يهاجم الشبح الذي هو الاول في لست الوحوش
      كود:
      $enemy_cry_attack = {1 => "GhostMoan01"}

      هذا في حالة وجود وحش واحد لدك في الDataBase
      ان ارت ان تضعه لاكثر من وحش عليك وضع فاصله
      كود:
      $enemy_cry_attack = {1 => "GhostMoan01", 9 => "ZombieGroan04"}

      فيحلت ان ارت ان تضع صوت مختلف لكل ضربه
      كود:
      $enemy_cry_skill_i = { enemyID => { skillID => "sound",skillID => "sound" }, enemyID => { skillID => "sound",skillID => "sound" } }

      وهكذا


    11. #11
      التسجيل
      19-10-2005
      الدولة
      Qatar
      المشاركات
      1,888
      المواضيع
      147
      شكر / اعجاب مشاركة

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      السـلام

      في حالت ارت ان تشكرنا على السكربات والله افضل مكان هو في موضوع دردشة اعضاء منتدى صناعة الالعاب حتى لا يضر شكل الموضوع.
      لقيت سكربت جميل يمكن يفيدكم ..

      سكربت الخريطة كخلفية المعركة
      المصدر: http://www.phanxgames.com

      المقدمه:
      السكربت يجعل الخريطة خلفية معركة ..

      كيفية الوضع:

      ضع السكربت فوق الـMain

      الكود:

      كود:
      #==============================================================================
      # â–  Spriteset_Battle
      #------------------------------------------------------------------------------
      # This class contains the set of sprites used in the Scene_Battle class, such 
      # as the enemies, actors, battle background, and any pictures being displayed
      #==============================================================================
      
      class Spriteset_Battle
      #--------------------------------------------------------------------------
      # â—? initialize
      #--------------------------------------------------------------------------
      def initialize
      @viewport1 = Viewport.new(0, 0, 640, 320)
      @viewport2 = Viewport.new(0, 0, 640, 480)
      @viewport3 = Viewport.new(0, 0, 640, 480)
      @viewport4 = Viewport.new(0, 0, 640, 480)
      @viewport2.z = 101
      @viewport3.z = 200
      @viewport4.z = 5000
      @battleback_sprite = Tilemap.new(@viewport1)
      @battleback_sprite.tileset = RPG::Cache.tileset($game_map.tileset_name)
      for i in 0..6
      autotile_name = $game_map.autotile_names[i]
      @battleback_sprite.autotiles[i] = RPG::Cache.autotile(autotile_name)
      end
      @battleback_sprite.map_data = $game_map.data
      @battleback_sprite.ox = $game_map.display_x / 4
      @battleback_sprite.oy = $game_map.display_y / 4
      @enemy_sprites = []
      for enemy in $game_troop.enemies.reverse
      @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
      end
      @actor_sprites = []
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
      @weather = RPG::Weather.new(@viewport1)
      @picture_sprites = []
      for i in 51..100
      @picture_sprites.push(Sprite_Picture.new(@viewport3,
      $game_screen.pictures[i]))
      end
      @timer_sprite = Sprite_Timer.new
      update
      end
      #--------------------------------------------------------------------------
      # â—? Dispose the battle spriteset
      #--------------------------------------------------------------------------
      def dispose
      @battleback_sprite.tileset.dispose
      for i in 0..6
      @battleback_sprite.autotiles[i].dispose
      end
      @battleback_sprite.dispose
      for sprite in @enemy_sprites + @actor_sprites
      sprite.dispose
      end
      @weather.dispose
      for sprite in @picture_sprites
      sprite.dispose
      end
      @timer_sprite.dispose
      @viewport1.dispose
      @viewport2.dispose
      @viewport3.dispose
      @viewport4.dispose
      end
      #--------------------------------------------------------------------------
      # â—? Update the battleset sprite
      #--------------------------------------------------------------------------
      def update
      @battleback_sprite.update
      @actor_sprites[0].battler = $game_party.actors[0]
      @actor_sprites[1].battler = $game_party.actors[1]
      @actor_sprites[2].battler = $game_party.actors[2]
      @actor_sprites[3].battler = $game_party.actors[3]
      for sprite in @enemy_sprites + @actor_sprites
      sprite.update
      end
      @weather.type = $game_screen.weather_type
      @weather.max = $game_screen.weather_max
      @weather.update
      for sprite in @picture_sprites
      sprite.update
      end
      @timer_sprite.update
      @viewport1.tone = $game_screen.tone
      @viewport1.ox = $game_screen.shake
      @viewport4.color = $game_screen.flash_color
      @viewport1.update
      @viewport2.update
      @viewport4.update
      end
      end
      كيفية الاستخدام:

      ضع وحوشاً في الـ Encounters .. وستظهر الخريطة كخلفية المعركة .

      صورة عن السكربت :

      اضغط على الصورة لعرض أكبر

الاســـم:	MapAsBattleBack.gif
المشاهدات:	52
الحجـــم:	153.1 كيلوبايت
الرقم:	284056

      والسـلام خير ختام


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

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      أسكربت المتابعه عند في حاله الموت
      الكاتب: A J
      المصدر: http://www.rmxp.org


      المقدمه:
      الاسكربت يسمح لك بالمتابعه عند الهزيمه في اي معركه ليعطيك خيارات المتابعه و العوده الى المعركه او العوده البدايه Title


      كيفية الوضع:

      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.
      ضع الاسكربت أسفل كل اسكربات تغير نظام القتال إن وجد.


      الكود:
      كود:
      #==============================================================================
      # ** Scene_Gameover
      #------------------------------------------------------------------------------
      #  This class performs game over screen processing.
      #==============================================================================
      
      class Scene_Gameover
        #--------------------------------------------------------------------------
        # * Main Processing
        #--------------------------------------------------------------------------
        def main
          # Make game over graphic
          @sprite = Sprite.new
          @sprite.bitmap = RPG::Cache.gameover($data_system.gameover_name)
          # Stop BGM and BGS
          $game_system.bgm_stop
          # Play game over ME
          $game_system.me_play($data_system.gameover_me)
          # Execute transition
          Graphics.transition(120)
          for c in 0..300
          end
          if $game_temp.lost_battle
            s1 = "Continue"
            s2 = "Back to Title"
            s3 = "Shutdown"
            @command_window = Window_Command.new(192, [s1, s2, s3])
            @command_window.back_opacity = 160
            @command_window.x = 320 - @command_window.width / 2
            @command_window.y = 288
          end
          # Main loop
          loop do
            # Update game screen
            Graphics.update
            # Update input information
            Input.update
            # Frame update
            update
            # Abort loop if screen is changed
            if $scene != self
              break
            end
          end
          # Prepare for transition
          Graphics.freeze
          # Dispose of game over graphic
          @sprite.bitmap.dispose
          @sprite.dispose
          # Execute transition
          Graphics.transition(40)
          # Prepare for transition
          Graphics.freeze
          # If battle test
          if $BTEST
            $scene = nil
          end
        end
        #--------------------------------------------------------------------------
        # * Frame Update
        #--------------------------------------------------------------------------
        def update
          if $game_temp.lost_battle
            # If C button was pressed
            @command_window.update
            if Input.trigger?(Input::C)
              case @command_window.index
              when 0
                start_battle
              when 1
                to_title
              when 2
                shut_down
              end
            end
          else
            if Input.trigger?(Input::C)
              # Switch to title screen
              $scene = Scene_Title.new
            end
          end
        end
        
        def start_battle
          # Play decision Battle BGM and Stop ME
          $game_system.bgm_play($game_system.battle_bgm)
          $game_system.me_play(nil)
          for i in 0..$game_party.actors.size - 1
            $game_party.actors[i].hp = $game_party.actors[i].maxhp
            $game_party.actors[i].sp = $game_party.actors[i].maxsp
          end
          $game_temp.gameover = false
          $game_temp.lost_battle = false
          $game_party.add_lost_point
          # Play battle Battle start SE
          $game_system.se_play($data_system.battle_start_se)
          $game_player.straighten
          @command_window.dispose
          $scene = Scene_Battle.new
        end
      
        def to_title
          # Play decision SE
          $game_system.se_play($data_system.decision_se)
          # Fade out BGM, BGS, and ME
          Audio.bgm_fade(800)
          Audio.bgs_fade(800)
          Audio.me_fade(800)
          # Switch to title screen
          @command_window.dispose
          $scene = Scene_Title.new
        end
        
        
        def shut_down
          # Play decision SE
          $game_system.se_play($data_system.decision_se)
          # Fade out BGM, BGS, and ME
          Audio.bgm_fade(800)
          Audio.bgs_fade(800)
          Audio.me_fade(800)
          # Shutdown
          $scene = nil
        end
      end
      class Scene_Battle
        
        def update
          # If battle event is running
          if $game_system.battle_interpreter.running?
            # Update interpreter
            $game_system.battle_interpreter.update
            # If a battler which is forcing actions doesn't exist
            if $game_temp.forcing_battler == nil
              # If battle event has finished running
              unless $game_system.battle_interpreter.running?
                # Rerun battle event set up if battle continues
                unless judge
                  setup_battle_event
                end
              end
              # If not after battle phase
              if @phase != 5
                # Refresh status window
                @status_window.refresh
              end
            end
          end
          # Update system (timer) and screen
          $game_system.update
          $game_screen.update
          # If timer has reached 0
          if $game_system.timer_working and $game_system.timer == 0
            # Abort battle
            $game_temp.battle_abort = true
          end
          # Update windows
          @help_window.update
          @party_command_window.update
          @actor_command_window.update
          @status_window.update
          @message_window.update
          # Update sprite set
          @spriteset.update
          # If transition is processing
          if $game_temp.transition_processing
            # Clear transition processing flag
            $game_temp.transition_processing = false
            # Execute transition
            if $game_temp.transition_name == ""
              Graphics.transition(20)
            else
              Graphics.transition(40, "Graphics/Transitions/" +
                $game_temp.transition_name)
            end
          end
          # If message window is showing
          if $game_temp.message_window_showing
            return
          end
          # If effect is showing
          if @spriteset.effect?
            return
          end
          # If game over
          if $game_temp.gameover
            $game_temp.lost_battle = true
            # Switch to game over screen
            $scene = Scene_Gameover.new
            return
          end
          # If returning to title screen
          if $game_temp.to_title
            # Switch to title screen
            $scene = Scene_Title.new
            return
          end
          # If battle is aborted
          if $game_temp.battle_abort
            # Return to BGM used before battle started
            $game_system.bgm_play($game_temp.map_bgm)
            # Battle ends
            battle_end(1)
            return
          end
          # If waiting
          if @wait_count > 0
            # Decrease wait count
            @wait_count -= 1
            return
          end
          # If battler forcing an action doesn't exist,
          # and battle event is running
          if $game_temp.forcing_battler == nil and
             $game_system.battle_interpreter.running?
            return
          end
          # Branch according to phase
          case @phase
          when 1  # pre-battle phase
            update_phase1
          when 2  # party command phase
            update_phase2
          when 3  # actor command phase
            update_phase3
          when 4  # main phase
            update_phase4
          when 5  # after battle phase
            update_phase5
          end
        end
      end

      أيضا ضع:
      كود:
      attr_accessor :lost_battle
      تحت class Game_Temp
      و
      كود:
      @lost_battle = false
      تحت def initialize في نفس الـ class

      أيضا
      كود:
      attr_reader   :lost
      تحت class Game_Party
      و
      كود:
      @lost = 0
      تحت def initialize في نفس الـ class
      وأخيرا
      كود:
        def add_lost_point
          @lost += 1
        end
      في نفس الـ class حيث يوجد كل معادله التعريف def اذا كنت لا تعرف اين
      اذهب الى السطر 334 تقريبا و ستجد الملاحظه
      #--------------------------------------------------------------------------
      # * Random Selection of Target Actor (HP 0)
      #--------------------------------------------------------------------------
      فقط ضع الكود الاخير فوقه بالضبط

      كيفية الاستخدام:
      حاول ان تعرض نفسك للموت وسترى ما يحدث
      الاسكربت يميز بين الموت في المعركه وبين الاستعاء Game over من الإفنتس
      كود:
      $game_party.lost
      هذا الكود يحسب عدد المرات التي تعيد فيها اللعب عند الهزيمه

    13. #13
      التسجيل
      31-10-2009
      المشاركات
      42
      المواضيع
      6
      شكر / اعجاب مشاركة

      رد: [اسكربات] المرجع الاول لإسكربات الـ RPG Maker XP

      شكرا لكم لكن لم أفهم ما معنئ هذا

      ضع الاسكربت فوق اسكربت Main و تحت كل الاسكربات الاصليه.

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

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