梦の遇见吧 关注:9贴子:1,523

脚本~脚本~万岁~

只看楼主收藏回复

都是脚本啊.看不懂啊.


1楼2007-06-20 17:07回复
    #===================================================================
    # 本脚本来自www.66RPG.com,使用和转载请保留此信息
    #===================================================================
    # ————————————————————————————————————
    # ▼▲▼ XRXS13. パーティ列车移动 ver.1.02 ▼▲▼
    # by fukuyama
    #
    # Train_Actor
    #
    # fukuyama@alles.or.jp
    http://www4.big.or.jp/~fukuyama/rgss/Train_Actor.txt
    #
    module Train_Actor

     #是否使用停止跟随的方法,也就是说,这里false改为true的时候,如果TRANSPARENT_SWITCHES_INDEX
     #开关打开,跟随的人物就消失了(其实只是变成透明而已)
     TRANSPARENT_SWITCH = false
     TRANSPARENT_SWITCHES_INDEX = 20
     #举例:第一个为true,第二个为20,则打开20号开关,后面的人都没了。

     #跟随人数的最大数目,可以更改为2、3什么的。
     TRAIN_ACTOR_SIZE_MAX = 4

     # 定数
     #Input::DOWN = 2
     #Input::LEFT = 4
     #Input::RIGHT = 6
     #Input::UP = 6
     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
     @tempneme = actor.name 
     else
     @character_name = ""
     @character_hue = 0
     @tempneme = "" 
     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
     
     def name
     return @tempneme
     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
    #--------------------------------------------------------------------------


    2楼2007-06-20 17:08
    回复
      2025-05-09 23:53:45
      广告
      # ● 左下に移动
      #--------------------------------------------------------------------------
      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
      attr_writer :move_speed
      attr_writer :step_anime
      end
      module Spriteset_Map_Module
      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
      module Scene_Map_Module
      def setup_actor_character_sprites(characters)
      @spriteset.setup_actor_character_sprites(characters)
      end
      end
      module Game_Party_Module
      def set_transparent_actors(transparent)
      @transparent = transparent
      end
      def setup_actor_character_sprites
      if @characters == nil
      @characters = []
      for i in 1 ... TRAIN_ACTOR_SIZE_MAX
      @characters.push(Game_Party_Actor.new)
      end
      end
      for i in 1 ... TRAIN_ACTOR_SIZE_MAX
      @characters[i - 1].setup(actors[i])
      end
      if $scene.class.method_defined?('setup_actor_character_sprites')
      $scene.setup_actor_character_sprites(@characters)
      end
      end


      3楼2007-06-20 17:09
      回复
        def update_party_actors
        setup_actor_character_sprites
        transparent = $game_player.transparent
        if transparent == false
        if TRANSPARENT_SWITCH
        transparent = $game_switches[TRANSPARENT_SWITCHES_INDEX]
        end
        end
        for character in @characters
        character.transparent = transparent
        character.move_speed = $game_player.move_speed
        character.step_anime = $game_player.step_anime
        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
        move_list_setup
        end
        def move_party_actors
        if @move_list == nil
        @move_list = []
        move_list_setup
        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 move_list_setup
        for i in 0 .. TRAIN_ACTOR_SIZE_MAX
        @move_list[i] = nil
        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


        4楼2007-06-20 17:09
        回复
          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 )
          $game_party.moveto_party_actors( x, y )
          super( 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
          attr_reader :move_speed
          attr_reader :step_anime
          end
          end # module Train_Actor
          class Game_Party
          include Train_Actor::Game_Party_Module
          end
          class Game_Player
          include Train_Actor::Game_Player_Module
          end
          class Spriteset_Map
          include Train_Actor::Spriteset_Map_Module
          end
          class Scene_Map
          include Train_Actor::Scene_Map_Module
          end

          #==================================================================
          # 本脚本来自www.66RPG.com,使用和转载请保留此信息
          #==================================================================


          5楼2007-06-20 17:09
          回复
            此上,都是
            NPC头上显名+人物跟随系统整合版


            6楼2007-06-20 17:10
            回复
              #===================================================================
              # 本脚本来自www.66RPG.com,使用和转载请保留此信息
              #===================================================================
              # ————————————————————————————————————
              # ▼▲▼ XRXS13. パーティ列车移动 ver.1.02 ▼▲▼
              # by fukuyama
              #
              # Train_Actor
              #
              # fukuyama@alles.or.jp
              http://www4.big.or.jp/~fukuyama/rgss/Train_Actor.txt
              #
              module Train_Actor

               #是否使用停止跟随的方法,也就是说,这里false改为true的时候,如果TRANSPARENT_SWITCHES_INDEX
               #开关打开,跟随的人物就消失了(其实只是变成透明而已)
               TRANSPARENT_SWITCH = false
               TRANSPARENT_SWITCHES_INDEX = 20
               #举例:第一个为true,第二个为20,则打开20号开关,后面的人都没了。

               #跟随人数的最大数目,可以更改为2、3什么的。
               TRAIN_ACTOR_SIZE_MAX = 4

               # 定数
               #Input::DOWN = 2
               #Input::LEFT = 4
               #Input::RIGHT = 6
               #Input::UP = 6
               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
               @tempneme = actor.name 
               else
               @character_name = ""
               @character_hue = 0
               @tempneme = "" 
               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
               
               def name
               return @tempneme
               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 : その场での向き変更を许可するフラグ
              #--------------------------------------------------------------------------
              


              7楼2007-06-20 22:42
              回复
                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
                attr_writer :move_speed
                attr_writer :step_anime
                end
                module Spriteset_Map_Module
                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
                


                8楼2007-06-20 22:42
                回复
                  2025-05-09 23:47:45
                  广告
                  @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
                  module Scene_Map_Module
                  def setup_actor_character_sprites(characters)
                  @spriteset.setup_actor_character_sprites(characters)
                  end
                  end
                  module Game_Party_Module
                  def set_transparent_actors(transparent)
                  @transparent = transparent
                  end
                  def setup_actor_character_sprites
                  if @characters == nil
                  @characters = []
                  for i in 1 ... TRAIN_ACTOR_SIZE_MAX
                  @characters.push(Game_Party_Actor.new)
                  end
                  end
                  for i in 1 ... TRAIN_ACTOR_SIZE_MAX
                  @characters[i - 1].setup(actors[i])
                  end
                  if $scene.class.method_defined?('setup_actor_character_sprites')
                  $scene.setup_actor_character_sprites(@characters)
                  end
                  end
                  def update_party_actors
                  setup_actor_character_sprites
                  transparent = $game_player.transparent
                  if transparent == false
                  if TRANSPARENT_SWITCH
                  transparent = $game_switches[TRANSPARENT_SWITCHES_INDEX]
                  end
                  end
                  for character in @characters
                  character.transparent = transparent
                  character.move_speed = $game_player.move_speed
                  character.step_anime = $game_player.step_anime
                  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
                  move_list_setup
                  end
                  def move_party_actors
                  if @move_list == nil
                  @move_list = []
                  move_list_setup
                  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 move_list_setup
                  for i in 0 .. TRAIN_ACTOR_SIZE_MAX
                  @move_list[i] = nil
                  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
                  


                  9楼2007-06-20 22:42
                  回复
                    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 )
                    $game_party.moveto_party_actors( x, y )
                    super( 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
                    attr_reader :move_speed
                    attr_reader :step_anime
                    end
                    end # module Train_Actor
                    class Game_Party
                    include Train_Actor::Game_Party_Module
                    end
                    class Game_Player
                    include Train_Actor::Game_Player_Module
                    end
                    class Spriteset_Map
                    include Train_Actor::Spriteset_Map_Module
                    end
                    class Scene_Map
                    include Train_Actor::Scene_Map_Module
                    end

                    #==================================================================
                    # 本脚本来自www.66RPG.com,使用和转载请保留此信息
                    #==================================================================


                    10楼2007-06-20 22:42
                    回复
                      得要弄懂语法还有什么什么计算...烦琐死了


                      IP属地:广西11楼2007-06-27 13:43
                      回复
                        ....
                        倒塌..反正别人弄好的我复制


                        12楼2007-09-11 14:08
                        回复
                          ...这叫懒惰主义!


                          IP属地:广西13楼2007-09-20 17:32
                          回复
                            哦~~难道你不是懒惰主义?是你自己写的?


                            14楼2007-09-21 19:23
                            回复
                              2025-05-09 23:41:45
                              广告
                              对...我也是懒惰主义!我很早已经说呀!


                              IP属地:广西15楼2007-09-25 17:42
                              回复