Ergebnis 1 bis 20 von 71

Thema: [XP] Standardscripte die man haben sollte!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nchster Beitrag Nchster Beitrag
  1. #1
    wo ist meiner???

  2. #2
    bei mir funktioniert 99 Saveload-Script net.

  3. #3
    was machter denn (der skript) einfach wie, nicht vorhanden oder lsster des spiel abstrzen

  4. #4

    Users Awaiting Email Confirmation

    @ Goldenpati :
    Wofr ist der "Mode 07" Skript ?

    @Thread :
    Pixelgenaues 8 Wege laufen mit renn skript (leertaste/Enter um zu rennen)
    Der Skript ist zwar nicht von mir ist aber seeeehr ntzlich...musste ihn mal einfgen....

    Code:
    # ‘S•Œƒhƒbƒgˆ“ Ver ƒ+++
    # ”z•zŒEƒTƒ|[ƒgURL
    # http://members.jcom.home.ne.jp/cogwheel/
    
    #==============================================================================
    #  Game_Player
    #------------------------------------------------------------------------------
    # @ƒvƒŒƒCƒ„[‚ˆ‚ƒNƒ‰ƒX‚‚BƒCƒxƒ“ƒg‚‹N“”’‚Aƒ}ƒbƒv‚ƒXƒNƒ[ƒ‹‚‚‚
    # ‹@”\‚Ž‚‚‚‚‚B‚‚ƒNƒ‰ƒX‚ƒCƒ“ƒXƒ^ƒ“ƒX‚ $game_player ‚ŽQ‚‚‚‚B
    #==============================================================================
    
    class Game_Player < Game_Character
      #--------------------------------------------------------------------------
      # œ ’”
      #--------------------------------------------------------------------------
      UP    = 0                   # •Œ‚—]—T(0 <= UP <= 63)
      SIDE  = 0                   # ‰E•Œ‚—]—T(0 <= SIDE <= 63)
      SLANT = false               # ˆ“ƒ‹[ƒg‚Ž‚ˆ“ŽžA‘“xC
      #--------------------------------------------------------------------------
      # œ ŒŠJƒCƒ“ƒXƒ^ƒ“ƒX•ϐ”
      #--------------------------------------------------------------------------
      attr_reader   :walk                     # ƒvƒŒ[ƒ„[ˆ“‘“x
      attr_reader   :event                    # ƒCƒxƒ“ƒgŽžˆ“‘“x
      attr_accessor :move_speed               # ˆ“‘“x
      #--------------------------------------------------------------------------
      # œ ƒIƒuƒWƒFƒNƒg‰Š‰
      #--------------------------------------------------------------------------
      def initialize
        super
        # @walk:•s‘“x @dash:ƒ_ƒbƒVƒ…Žžˆ“‘“x
        # @event:ƒCƒxƒ“ƒgŽžˆ“‘“xi0‚Žž‚́AƒCƒxƒ“ƒgŽž‚‘“x•ύX‚‚‚‚j
        @walk  = 4
        @dash  = 5
        @event = 4
        @dot_m = true
        @revise_x = 0
        @revise_y = 0
        @move == false
      end
      #--------------------------------------------------------------------------
      # œ ƒtƒŒ[ƒ€XV
      #--------------------------------------------------------------------------
      alias :update_original :update
      def update
        #ƒ_ƒbƒVƒ…‹@”\BƒGƒ“ƒ^[ƒL[‚‰Ÿ‚‚‚‚‚ŠԁAˆ“‘“x‚•ύX‚‚B
        unless moving? or $game_system.map_interpreter.running? or
                @move_route_forcing or $game_temp.message_window_showing
          if @walk != @dash
            if Input.press?(Input::C)
              if @move_speed != @dash
                @move_speed = @dash
              end
            else
              if @move_speed != @walk
                @move_speed = @walk
              end
            end
          end
        end
        if @revise_x == nil and @revise_y == nil
          @revise_x = 0
          @revise_y = 0
        end
        unless @dot_m
          update_original
          return
        end
        if @move_route_forcing
          # ƒ[ƒJƒ‹•ϐ”‚ˆ“’†‚‚‚‚‚‹L‰
          last_moving = moving?
          # ƒ[ƒJƒ‹•ϐ”‚ɍ•W‚‹L‰
          last_real_x = @real_x
          last_real_y = @real_y
          # •W‚‚‚‚‚‚‡
          if (@revise_x != 0 or @revise_y != 0) and not jumping? and @move == true
            if @revise_x != @real_x - @x * 128 or @revise_y != @real_y - @y * 128
              @revise_x = @real_x - @x * 128
              @revise_y = @real_y - @y * 128
            end
            # ˆ“‹——distance1‚–•W‹——distance2‚’
            distance1 = 2 ** @move_speed
            distance2 = Math.sqrt(@revise_x ** 2 + @revise_y ** 2)
            # ˆ“‹——‚–•W‹——‚‰z‚‚‡
            if distance1 > distance2
              # ‹•“I‚•␳•W‚—‚‚‚
              @real_x = @real_x - @revise_x
              @real_y = @real_y - @revise_y
              @revise_x = 0
              @revise_y = 0
              anime_update
            # ˆ“‹——‚–•W‹——‚’B‚‚‚‡
            else
              # ˆ“‹——•–•W‹——‚‹‚‚•
              @real_x -= (distance1 * @revise_x / distance2).round
              @real_y -= (distance1 * @revise_y / distance2).round
              @revise_x = @real_x - @x * 128
              @revise_y = @real_y - @y * 128
              anime_update
            end
          else
            super
          end
        else
          @move = false
          # ˆ“’†AƒCƒxƒ“ƒgŽs’†Aˆ“ƒ‹[ƒg‹•’†A
          # ƒƒbƒZ[ƒWƒEƒBƒ“ƒhƒE•\Ž’†‚‚‚‚‚‚‚‚‡
          unless moving? or $game_system.map_interpreter.running? or
                 @move_route_forcing or $game_temp.message_window_showing
            @event_run = false
            # •Œƒ{ƒ^ƒ“‚‰Ÿ‚‚‚‚‚‚΁A‚‚•Œ‚ƒvƒŒƒCƒ„[‚ˆ“
            case Input.dir8
            when 1
              move_lower_left_p
            when 2
              move_down_p
            when 3
              move_lower_right_p
            when 4
              move_left_p
            when 6
              move_right_p
            when 7
              move_upper_left_p
            when 8
              move_up_p
            when 9
              move_upper_right_p
            end
          end
          # ƒ[ƒJƒ‹•ϐ”‚ɍ•W‚‹L‰
          last_real_x = @real_x
          last_real_y = @real_y
          # ˆ“ˆ—
          @real_x = @x * 128 + @revise_x
          @real_y = @y * 128 + @revise_y
          # ƒ[ƒJƒ‹•ϐ”‚ˆ“’†‚‚‚‚‚‹L‰
          last_moving = moving?
          # •WXV
          move_on
          # Œ‚̍•W‚ˆ‘O‚̍•W‚ˆ‚‚‡
          if (last_real_x != @real_x or last_real_y != @real_y)
            @move_distance = 0 if @move_distance == nil
            @move_distance += Math.sqrt((last_real_x - @real_x) ** 2 +
                                          (last_real_y - @real_y) ** 2)
            if @move_distance >= 128
              @move_distance %= 128
              increase_steps
            end
            # ƒAƒjƒ[ƒVƒ‡ƒ“‚XV
            anime_update
          elsif @walk_anime
            @pattern = @original_pattern
          end
        end
        # ƒLƒƒƒ‰ƒNƒ^[‚‰‚ˆ“‚A‚‚‰–ʏ‚ˆ’u‚’†‰›‚‚‰‚̏‡
        if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
          # ƒ}ƒbƒv‚‰‚ƒXƒNƒ[ƒ‹
          $game_map.scroll_down(@real_y - last_real_y)
        end
        # ƒLƒƒƒ‰ƒNƒ^[‚‚ˆ“‚A‚‚‰–ʏ‚ˆ’u‚’†‰›‚‚荶‚̏‡
        if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
          # ƒ}ƒbƒv‚‚ƒXƒNƒ[ƒ‹
          $game_map.scroll_left(last_real_x - @real_x)
        end
        # ƒLƒƒƒ‰ƒNƒ^[‚‰E‚ˆ“‚A‚‚‰–ʏ‚ˆ’u‚’†‰›‚‚‰E‚̏‡
        if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
          # ƒ}ƒbƒv‚‰E‚ƒXƒNƒ[ƒ‹
          $game_map.scroll_right(@real_x - last_real_x)
        end
        # ƒLƒƒƒ‰ƒNƒ^[‚‚ˆ“‚A‚‚‰–ʏ‚ˆ’u‚’†‰›‚‚‚̏‡
        if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
          # ƒ}ƒbƒv‚‚ƒXƒNƒ[ƒ‹
          $game_map.scroll_up(last_real_y - @real_y)
        end
        # ‘O‰ƒvƒŒƒCƒ„[‚ˆ“’†‚‚‚‡
        if last_moving
          # “ˆ’u‚ƒCƒxƒ“ƒg‚‚̐ڐG‚‚‚ƒCƒxƒ“ƒg‹N“”’
          result = check_event_trigger_here([1,2])
          if result == true
            if (last_real_x / 128.0).round != @x and
                (last_real_y / 128.0).round != @y
              if @direction == 2 or @direction == 8
                if (last_real_x / 128.0).round > @x
                  turn_left
                else
                  turn_right
                end
              else
                if (last_real_y / 128.0).round > @y
                  turn_up
                else
                  turn_down
                end
              end
            elsif (last_real_x / 128.0).round > @x
              turn_left
            elsif (last_real_x / 128.0).round < @x
              turn_right
            elsif (last_real_y / 128.0).round > @y
              turn_up
            elsif (last_real_y / 128.0).round < @y
              turn_down
            end
          end
          # ‹N“‚‚ƒCƒxƒ“ƒg‚‚‚‡
          if result == false
            # ƒfƒoƒbƒOƒ‚[ƒh‚ ON ‚‚ CTRL ƒL[‚‰Ÿ‚‚‚‚‚‡‚œ‚
            unless $DEBUG and Input.press?(Input::CTRL)
              # ƒGƒ“ƒJƒEƒ“ƒg ƒJƒEƒ“ƒgƒ_ƒEƒ“
              if @encounter_count > 0
                @encounter_count -= 1
              end
            end
          end
        end
        # C ƒ{ƒ^ƒ“‚‰Ÿ‚‚‚‡
        if Input.trigger?(Input::C)
          # “ˆ’u‚‚‚ѐ–‚ƒCƒxƒ“ƒg‹N“”’
          check_event_trigger_here([0])
          check_event_trigger_there([0,1,2])
        end
      end
      #--------------------------------------------------------------------------
      # œ ˆ“”’
      #--------------------------------------------------------------------------
      def moving?
        unless @dot_m
          result = super
          return result
        end
        # ‹•ˆ“‚̏‡ƒIƒŠƒWƒiƒ‹‚”’‚‚‚‚
        if @move_route_forcing
          if @move == false
            return false
          end
          super
        # ’ʏŽž‚Œ•W‚Ž•W‚ˆ‚‚‡‚‚ˆ“’†‚”’
        else
          return (@x != (@real_x / 128.0).round or @y != (@real_y / 128.0).round)
        end
      end
      #--------------------------------------------------------------------------
      # œ ˆ“”’
      #--------------------------------------------------------------------------
      def moving_a?
        if @move == false
          if (@move_route.list[@move_route_index].code <= 14 or
              @move_route.list[@move_route_index].code == 25)
            @move = true
          end
          return false
        end
        moving?
      end
      #--------------------------------------------------------------------------
      # œ ƒtƒŒ[ƒ€XV (ƒWƒƒƒ“ƒv)
      #--------------------------------------------------------------------------
      def update_jump
        # ƒWƒƒƒ“ƒvƒJƒEƒ“ƒg‚ 1 Œ‚‚
        @jump_count -= 1
        # V‚‚•W‚ŒvŽZ
        @real_x = (@real_x * @jump_count + @x * 128) / (@jump_count + 1)
        @real_y = (@real_y * @jump_count + @y * 128) / (@jump_count + 1)
        if @jump_count == 0
          @revise_x = 0
          @revise_y = 0
        end
      end
      #--------------------------------------------------------------------------
      # œ ˆ“ƒ^ƒCƒv : ƒJƒXƒ^ƒ€
      #--------------------------------------------------------------------------
      def move_type_custom
        unless @dot_m
          super
          return
        end
        # ’Ž~’†‚‚‚‚‚’†’f
        if jumping? or moving_a?
          return
        end
        # ˆ“ƒRƒ}ƒ“ƒh‚ƒŠƒXƒg‚̍Œ‚“ž’B‚‚‚‚ƒ‹[ƒv
        while @move_route_index < @move_route.list.size
          # ˆ“ƒRƒ}ƒ“ƒh‚Ž“
          command = @move_route.list[@move_route_index]
          # ƒRƒ}ƒ“ƒhƒR[ƒh 0 ” (ƒŠƒXƒg‚̍Œ) ‚̏‡
          if command.code == 0
            # ƒIƒvƒVƒ‡ƒ“ [“‚ŒJ‚•‚] ‚ ON ‚̏‡
            if @move_route.repeat
              # ˆ“ƒ‹[ƒg‚ƒCƒ“ƒfƒbƒNƒX‚ŏ‰‚–‚
              @move_route_index = 0
            end
            # ƒIƒvƒVƒ‡ƒ“ [“‚ŒJ‚•‚] ‚ OFF ‚̏‡
            unless @move_route.repeat
              # ˆ“ƒ‹[ƒg‹•’†‚̏‡
              if @move_route_forcing and not @move_route.repeat
                # ˆ“ƒ‹[ƒg‚‹•‚‰œ
                @move_route_forcing = false
                # ƒIƒŠƒWƒiƒ‹‚ˆ“ƒ‹[ƒg‚•œ‹A
                @move_route = @original_move_route
                @move_route_index = @original_move_route_index
                @original_move_route = nil
              end
              # ’Ž~ƒJƒEƒ“ƒg‚ƒNƒŠƒA
              @stop_count = 0
            end
            return
          end
          # ˆ“ŒnƒRƒ}ƒ“ƒh (‰‚ˆ“`ƒWƒƒƒ“ƒv) ‚̏‡
          if command.code <= 14
            # ƒRƒ}ƒ“ƒhƒR[ƒh‚•Š
            case command.code
            when 1  # ‰‚ˆ“
              move_down
            when 2  # ‚ˆ“
              move_left
            when 3  # ‰E‚ˆ“
              move_right
            when 4  # ‚ˆ“
              move_up
            when 5  # ‰‚ˆ“
              move_lower_left
            when 6  # ‰E‰‚ˆ“
              move_lower_right
            when 7  # ‚ˆ“
              move_upper_left
            when 8  # ‰E‚ˆ“
              move_upper_right
            when 9  # ƒ‰ƒ“ƒ_ƒ€‚ˆ“
              move_random
            when 10  # ƒvƒŒƒCƒ„[‚‹‚‚•
              move_toward_player
            when 11  # ƒvƒŒƒCƒ„[‚‚‰“‚‚‚
              move_away_from_player
            when 12  # ˆ•‘Oi
              move_forward
            when 13  # ˆ•Œ‘
              move_backward
            when 14  # ƒWƒƒƒ“ƒv
              jump(command.parameters[0], command.parameters[1])
            end
            # ƒIƒvƒVƒ‡ƒ“ [ˆ“‚‚‚‚‡‚–Ž‹] ‚ OFF ‚ŁAˆ“Ž”s‚̏‡
            if not @move_route.skippable and not moving? and not jumping?
              return
            end
            @move_route_index += 1
            return
          end
          # ƒEƒFƒCƒg‚̏‡
          if command.code == 15
            # ƒEƒFƒCƒgƒJƒEƒ“ƒg‚’
            @wait_count = command.parameters[0] * 2 - 1
            @move_route_index += 1
            return
          end
          # Œ‚•ύXŒn‚ƒRƒ}ƒ“ƒh‚̏‡
          if command.code >= 16 and command.code <= 26
            # ƒRƒ}ƒ“ƒhƒR[ƒh‚•Š
            case command.code
            when 16  # ‰‚Œ‚•
              turn_down
            when 17  # ‚Œ‚•
              turn_left
            when 18  # ‰E‚Œ‚•
              turn_right
            when 19  # ‚Œ‚•
              turn_up
            when 20  # ‰E‚ 90 “x‰“]
              turn_right_90
            when 21  # ‚ 90 “x‰“]
              turn_left_90
            when 22  # 180 “x‰“]
              turn_180
            when 23  # ‰E‚‚ 90 “x‰“]
              turn_right_or_left_90
            when 24  # ƒ‰ƒ“ƒ_ƒ€‚•Œ“]Š
              turn_random
            when 25  # ƒvƒŒƒCƒ„[‚•‚Œ‚•
              turn_toward_player
            when 26  # ƒvƒŒƒCƒ„[‚‹t‚Œ‚•
              turn_away_from_player
            end
            @move_route_index += 1
            return
          end
          # ‚‚‘‚ƒRƒ}ƒ“ƒh‚̏‡
          if command.code >= 27
            # ƒRƒ}ƒ“ƒhƒR[ƒh‚•Š
            case command.code
            when 27  # ƒXƒCƒbƒ` ON
              $game_switches[command.parameters[0]] = true
              $game_map.need_refresh = true
            when 28  # ƒXƒCƒbƒ` OFF
              $game_switches[command.parameters[0]] = false
              $game_map.need_refresh = true
            when 29  # ˆ“‘“x‚•ύX
              @move_speed = command.parameters[0]
            when 30  # ˆ“•p“x‚•ύX
              @move_frequency = command.parameters[0]
            when 31  # ˆ“ŽžƒAƒjƒ ON
              @walk_anime = true
            when 32  # ˆ“ŽžƒAƒjƒ OFF
              @walk_anime = false
            when 33  # ’Ž~ŽžƒAƒjƒ ON
              @step_anime = true
            when 34  # ’Ž~ŽžƒAƒjƒ OFF
              @step_anime = false
            when 35  # Œ‚Œ’ ON
              @direction_fix = true
            when 36  # Œ‚Œ’ OFF
              @direction_fix = false
            when 37  # ‚‚”‚ ON
              @through = true
            when 38  # ‚‚”‚ OFF
              @through = false
            when 39  # ‘O–‚•\Ž ON
              @always_on_top = true
            when 40  # ‘O–‚•\Ž OFF
              @always_on_top = false
            when 41  # ƒOƒ‰ƒtƒBƒbƒN•ύX
              @tile_id = 0
              @character_name = command.parameters[0]
              @character_hue = command.parameters[1]
              if @original_direction != command.parameters[2]
                @direction = command.parameters[2]
                @original_direction = @direction
                @prelock_direction = 0
              end
              if @original_pattern != command.parameters[3]
                @pattern = command.parameters[3]
                @original_pattern = @pattern
              end
            when 42  # •s“–“x‚•ύX
              @opacity = command.parameters[0]
            when 43  # ‡•–@‚•ύX
              @blend_type = command.parameters[0]
            when 44  # SE ‚‰‰‘t
              $game_system.se_play(command.parameters[0])
            when 45  # ƒXƒNƒŠƒvƒg
              result = eval(command.parameters[0])
            end
            @move_route_index += 1
            return
          end
        end
      end
      #--------------------------------------------------------------------------
      # œ ‰‚ˆ“
      #--------------------------------------------------------------------------
      def move_down_p
        # ‰‚Œ‚•
        turn_down
        # ˆ“‹——‚ŽZo
        distance = 2 ** @move_speed
        down1(((@x * 128 + @revise_x) / 128.0).round,
              ((@y * 128 + @revise_y) / 128.0).round, distance, true)
      end
      #--------------------------------------------------------------------------
      # œ ‰‚ˆ“‰”\‚‚‚‚‚”’‚P
      #--------------------------------------------------------------------------
      def down1(x, y, distance, down = false)
        result = down2(x, y, distance)
        if result == false
          @event_run = check_event_trigger_touch(x, y+1)
          return result
        end
        if @revise_x < -SIDE
          result = down2(x, y + 1, distance, 4)
          result &= down2(x - 1, y, distance)
          if result == false
            if down
              move_lower_right_p
              if @revise_x > SIDE
                @revise_x = SIDE
              end
            end
            return result
          end
        elsif @revise_x > SIDE
          result = down2(x, y + 1, distance, 6)
          result &= down2(x + 1, y, distance)
          if result == false
            if down
              move_lower_left_p
              if @revise_x < -SIDE
                @revise_x = -SIDE
              end
            end
            return result
          end
        end
        # ‰‚ˆ“‰”\‚‚‚‹——•ˆ“
        @revise_y += distance
        return result
      end
      #--------------------------------------------------------------------------
      # œ ‰‚ˆ“‰”\‚‚‚‚‚”’‚Q
      #--------------------------------------------------------------------------
      def down2(x, y, distance, d = 2)
        if @revise_y + distance > 0
          unless passable?(x, y, d)
            if @revise_y < 0
              @revise_y = 0
            end
            return false
          end
        end
        return true
      end
      #--------------------------------------------------------------------------
      # œ ‚ˆ“
      #--------------------------------------------------------------------------
      def move_left_p
        # ‚Œ‚•
        turn_left
        distance = 2 ** @move_speed
        left1(((@x * 128 + @revise_x) / 128.0).round,
              ((@y * 128 + @revise_y) / 128.0).round, distance, true)
      end
      #--------------------------------------------------------------------------
      # œ ‚ˆ“‰”\‚‚‚‚‚”’‚P
      #--------------------------------------------------------------------------
      def left1(x, y, distance, left = false)
        result = left2(x, y, distance)
        if result == false
          @event_run = check_event_trigger_touch(x-1, y)
          return result
        end
        if @revise_y < -UP
          result = left2(x - 1, y, distance, 8)
          result &= left2(x, y - 1, distance)
          if result == false
            if left
              move_lower_left_p
              if @revise_y > 0
                @revise_y = 0
              end
            end
            return result
          end
        elsif @revise_y > 0
          result = left2(x - 1, y, distance, 2)
          result &= left2(x, y + 1, distance)
          if result == false
            if left
              move_upper_left_p
              if @revise_y < -UP
                @revise_y = -UP
              end
            end
            return result
          end
        end
        @revise_x -= distance
        return result
      end
      #--------------------------------------------------------------------------
      # œ ‚ˆ“‰”\‚‚‚‚‚”’‚Q
      #--------------------------------------------------------------------------
      def left2(x, y, distance, d = 4)
        if @revise_x - distance < -SIDE
          unless passable?(x, y, d)
            if @revise_x > -SIDE
              @revise_x = -SIDE
            end
            return false
          end
        end
        return true
      end
      #--------------------------------------------------------------------------
      # œ ‰E‚ˆ“
      #--------------------------------------------------------------------------
      def move_right_p
          # ‰E‚Œ‚•
          turn_right
        distance = 2 ** @move_speed
        right1(((@x * 128 + @revise_x) / 128.0).round,
                ((@y * 128 + @revise_y) / 128.0).round, distance, true)
      end
      #--------------------------------------------------------------------------
      # œ ‰E‚ˆ“‰”\‚‚‚‚‚”’‚P
      #--------------------------------------------------------------------------
      def right1(x, y, distance, right = false)
        result = right2(x, y, distance)
        if result == false
          @event_run = check_event_trigger_touch(x+1, y)
          return result
        end
        if @revise_y < -UP
          result = right2(x + 1, y, distance, 8)
          result &= right2(x, y - 1, distance)
          if result == false
            if right
              move_lower_right_p
              if @revise_y > 0
                @revise_y = 0
              end
            end
            return result
          end
        elsif @revise_y > 0
          result = right2(x + 1, y, distance, 2)
          result &= right2(x, y + 1, distance)
          if result == false
            if right
              move_upper_right_p
              if @revise_y < -UP
                @revise_y = -UP
              end
            end
            return result
          end
        end
        @revise_x += distance
        return result
      end
      #--------------------------------------------------------------------------
      # œ ‰E‚ˆ“‰”\‚‚‚‚‚”’‚Q
      #--------------------------------------------------------------------------
      def right2(x, y, distance, d = 6)
        if @revise_x + distance > SIDE
          unless passable?(x, y, d)
            if @revise_x < SIDE
              @revise_x = SIDE
            end
            return false
          end
        end
        return true
      end
      #--------------------------------------------------------------------------
      # œ ‚ˆ“
      #--------------------------------------------------------------------------
      def move_up_p
        # ‚Œ‚•
        turn_up
        # ‰‚ˆ“
        distance = 2 ** @move_speed
        up1(((@x * 128 + @revise_x) / 128.0).round,
            ((@y * 128 + @revise_y) / 128.0).round, distance, true)
      end
      #--------------------------------------------------------------------------
      # œ ‚ˆ“‰”\‚‚‚‚‚”’‚P
      #--------------------------------------------------------------------------
      def up1(x, y, distance, up = false)
        result = up2(x, y, distance)
        if result == false
          @event_run = check_event_trigger_touch(x, y-1)
          return result
        end
        if @revise_x < -SIDE
          result = up2(x, y - 1, distance, 4)
          result &= up2(x - 1, y, distance)
          if result == false
            if up
              move_upper_right_p
              if @revise_x > SIDE
                @revise_x = SIDE
              end
            end
            return result
          end
        elsif @revise_x > SIDE
          result = up2(x, y - 1, distance, 6)
          result &= up2(x + 1, y, distance)
          if result == false
            if up
              move_upper_left_p
              if @revise_x < -SIDE
                @revise_x = -SIDE
              end
            end
            return result
          end
        end
        @revise_y -= distance
        return result
      end
      #--------------------------------------------------------------------------
      # œ ‚ˆ“‰”\‚‚‚‚‚”’‚Q
      #--------------------------------------------------------------------------
      def up2(x, y, distance, d = 8)
        if @revise_y - distance < -UP
          unless passable?(x, y, d)
            if @revise_y > -UP
              @revise_y = -UP
            end
            return false
          end
        end
        return true
      end
      #--------------------------------------------------------------------------
      # œ ‰‚ˆ“
      #--------------------------------------------------------------------------
      def move_lower_left_p
        # Œ‚Œ’‚‚‚‡
        unless @direction_fix
          # ‰EŒ‚‚‚‚‡‚͍‚AŒ‚‚‚‚‡‚‰‚Œ‚•
          @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
        end
        # ‰‚ˆ“
        distance = (2 ** @move_speed) / Math.sqrt(2)
        if @direction == 2
          turn_left unless down1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_down if @event_run
          unless @event_run
            if last_move?(@real_x, @real_y, 2, distance)
              result = check_event_trigger_here([1,2], false)
              if result == true
                return
              end
            end
            move_on
            if @revise_y > 0 and -UP > @revise_y - distance
              @revise_y = 0
            end
            turn_down unless left1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_left if @event_run
          end
        else
          turn_down unless left1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_left if @event_run
          unless @event_run
            if last_move?(@real_x, @real_y, 4, distance)
              result = check_event_trigger_here([1,2], false)
              if result == true
                return
              end
            end
            move_on
            if  @revise_x + distance> SIDE and -SIDE > @revise_x
              @revise_x = -SIDE
            end
            turn_left unless down1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_down if @event_run
          end
        end
      end
      #--------------------------------------------------------------------------
      # œ ‰E‰‚ˆ“
      #--------------------------------------------------------------------------
      def move_lower_right_p
        # Œ‚Œ’‚‚‚‡
        unless @direction_fix
          # Œ‚‚‚‚‡‚‰E‚AŒ‚‚‚‚‡‚‰‚Œ‚•
          @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
        end
        # ‰E‰‚ˆ“
        distance = (2 ** @move_speed) / Math.sqrt(2)
        if @direction == 2
          turn_right unless down1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_down if @event_run
          unless @event_run
            if last_move?(@real_x, @real_y, 2, distance)
              result = check_event_trigger_here([1,2], false)
              if result == true
                return
              end
            end
            move_on
            if @revise_y > 0 and -UP > @revise_y - distance
              @revise_y = 0
            end
            turn_down unless right1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_right if @event_run
          end
        else
          turn_down unless right1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_right if @event_run
          unless @event_run
            if last_move?(@real_x, @real_y, 6, distance)
              result = check_event_trigger_here([1,2], false)
              if result == true
                return
              end
            end
            move_on
            if @revise_x > SIDE and -SIDE > @revise_x - distance
              @revise_x = SIDE
            end
            turn_right unless down1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_down if @event_run
          end
        end
      end
      #--------------------------------------------------------------------------
      # œ ‚ˆ“
      #--------------------------------------------------------------------------
      def move_upper_left_p
        # Œ‚Œ’‚‚‚‡
        unless @direction_fix
          # ‰EŒ‚‚‚‚‡‚͍‚A‰Œ‚‚‚‚‡‚͏‚Œ‚•
          @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
        end
        # ‚ˆ“
        distance = (2 ** @move_speed) / Math.sqrt(2)
        if @direction == 8
          turn_left unless up1(((@x * 128 + @revise_x) / 128.0).round,
                                ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_up if @event_run
          unless @event_run
            if last_move?(@real_x, @real_y, 8, distance)
              result = check_event_trigger_here([1,2], false)
              if result == true
                return
              end
            end
            move_on
            if @revise_y + distance > 0 and -UP > @revise_y
              @revise_y = -UP
            end
            turn_up unless left1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_left if @event_run
          end
        else
          turn_up unless left1(((@x * 128 + @revise_x) / 128.0).round,
                                ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_left if @event_run
          unless @event_run
            if last_move?(@real_x, @real_y, 4, distance)
              result = check_event_trigger_here([1,2], false)
              if result == true
                return
              end
            end
            move_on
            if @revise_x > SIDE and -SIDE > @revise_x - distance
              @revise_x = SIDE
            end
            turn_left unless up1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_up if @event_run
          end
        end
      end
      #--------------------------------------------------------------------------
      # œ ‰E‚ˆ“
      #--------------------------------------------------------------------------
      def move_upper_right_p
        # Œ‚Œ’‚‚‚‡
        unless @direction_fix
          # Œ‚‚‚‚‡‚‰E‚A‰Œ‚‚‚‚‡‚͏‚Œ‚•
          @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
        end
        # ‰E‚ˆ“
        distance = (2 ** @move_speed) / Math.sqrt(2)
        if @direction == 8
          turn_right unless up1(((@x * 128 + @revise_x) / 128.0).round,
                                ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_up if @event_run
          unless @event_run
            if last_move?(@real_x, @real_y, 8, distance)
              result = check_event_trigger_here([1,2], false)
              if result == true
                return
              end
            end
            move_on
            if @revise_y + distance > 0 and -UP > @revise_y
              @revise_y = -UP
            end
            turn_up unless right1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_right if @event_run
          end
        else
          turn_up unless right1(((@x * 128 + @revise_x) / 128.0).round,
                                ((@y * 128 + @revise_y) / 128.0).round, distance)
          turn_right if @event_run
          unless @event_run
            if last_move?(@real_x, @real_y, 6, distance)
              result = check_event_trigger_here([1,2], false)
              if result == true
                return
              end
            end
            move_on
            if @revise_x > SIDE and -SIDE > @revise_x - distance
              @revise_x = SIDE
            end
            turn_right unless up1(((@x * 128 + @revise_x) / 128.0).round,
                                  ((@y * 128 + @revise_y) / 128.0).round, distance)
            turn_up if @event_run
          end
        end
      end
      #--------------------------------------------------------------------------
      # œ “ˆ’u‚ƒCƒxƒ“ƒg‹N“”’
      #--------------------------------------------------------------------------
      def check_event_trigger_here(triggers, run = true)
        result = false
        # ƒCƒxƒ“ƒgŽs’†‚̏‡
        if $game_system.map_interpreter.running?
          return result
        end
        # ‘SƒCƒxƒ“ƒg‚ƒ‹[ƒv
        for event in $game_map.events.values
          # ƒCƒxƒ“ƒg‚̍•W‚ƒgƒŠƒK[‚ˆ’v‚‚‡
          if event.x == ((@x * 128 + @revise_x) / 128.0).round and
              event.y == ((@y * 128 + @revise_y) / 128.0).round and
              triggers.include?(event.trigger)
            # ƒWƒƒƒ“ƒv’†ˆŠO‚ŁA‹N“”’‚“ˆ’u‚ƒCƒxƒ“ƒg‚‚
            if not event.jumping? and event.over_trigger?
              if event.list.size > 1
                if run == true
                  event.start
                end
                result = true
              end
            end
          end
        end
        return result
      end
      #--------------------------------------------------------------------------
      # œ •WC
      #--------------------------------------------------------------------------
      def move_on
        if @y < (@y + @revise_y / 128.0).round
          @y += 1
          @revise_y -= 128
        end
        if @x > (@x + @revise_x / 128.0).round
          @x -= 1
          @revise_x += 128
        end
        if @x < (@x + @revise_x / 128.0).round
          @x += 1
          @revise_x -= 128
        end
        if @y > (@y + @revise_y / 128.0).round
          @y -= 1
          @revise_y += 128
        end
      end
      #--------------------------------------------------------------------------
      # œ ƒAƒjƒ[ƒVƒ‡ƒ“ƒAƒbƒvƒf[ƒg
      #--------------------------------------------------------------------------
      def anime_update
        # ˆ“ŽžƒAƒjƒ‚ ON ‚̏‡
        if @walk_anime
          # ƒAƒjƒƒJƒEƒ“ƒg‚ 1.5 ‘‚‚
          @anime_count += 1.5
        # ˆ“ŽžƒAƒjƒ‚ OFF ‚ŁA’Ž~ŽžƒAƒjƒ‚ ON ‚̏‡
        elsif @step_anime
          # ƒAƒjƒƒJƒEƒ“ƒg‚ 1 ‘‚‚
          @anime_count += 1
        end
        # ƒAƒjƒƒJƒEƒ“ƒg‚‘’l‚’‚‚‡
        # ‘’l‚́AŠ–{’l 18 ‚‚ˆ“‘“x * 1 ‚ˆ‚‚’l
        if @anime_count > 18 - @move_speed * 2
          # ’Ž~ŽžƒAƒjƒ‚ OFF ‚‚ ’Ž~’†‚̏‡
          if not @step_anime and @stop_count > 0
            # ƒpƒ^[ƒ“‚ƒIƒŠƒWƒiƒ‹‚–‚
            @pattern = @original_pattern
          # ’Ž~ŽžƒAƒjƒ‚ ON ‚‚‚ ˆ“’†‚̏‡
          else
            # ƒpƒ^[ƒ“‚XV
            @pattern = (@pattern + 1) % 4
          end
          # ƒAƒjƒƒJƒEƒ“ƒg‚ƒNƒŠƒA
          @anime_count = 0
        end
      end
      #--------------------------------------------------------------------------
      # œ Žw’ˆ’u‚ˆ“
      #--------------------------------------------------------------------------
      # ƒIƒŠƒWƒiƒ‹‚ƒCƒxƒ“ƒg‚‰–
      alias :moveto_original :moveto
      def moveto(x, y)
        # •␳•W‚‰Š‰
        @revise_x = 0
        @revise_y = 0
        # ƒIƒŠƒWƒiƒ‹‚ƒCƒxƒ“ƒg‚Œ‚яo‚
        moveto_original(x, y)
      end
      #--------------------------------------------------------------------------
      # œ ˆ“‚‚‚‚‚‚‚”’
      #--------------------------------------------------------------------------
      def last_move?(x, y, direction, distance)
        if direction == 2 or direction == 6
          distance *= -1
        end
        if (direction == 2 or direction == 8) and
            (y / 128.0).round != ((y - distance) / 128.0).round
          return true
        end
        if (direction == 4 or direction == 6) and
            (x / 128.0).round != ((x - distance) / 128.0).round
          return true
        end
        return false
      end
    end
    
    #==============================================================================
    #  Game_Character (•Š„’‹` 1)
    #------------------------------------------------------------------------------
    # @ƒLƒƒƒ‰ƒNƒ^[‚ˆ‚ƒNƒ‰ƒX‚‚B‚‚ƒNƒ‰ƒX‚ Game_Player ƒNƒ‰ƒX‚ Game_Event
    # ƒNƒ‰ƒX‚ƒX[ƒp[ƒNƒ‰ƒX‚‚‚Žg—p‚‚‚‚B
    #==============================================================================
    
    class Game_Character
      #--------------------------------------------------------------------------
      # œ ‰– X •W‚Ž“
      #--------------------------------------------------------------------------
      def screen_x
        # Ž•W‚ƒ}ƒbƒv‚•\Žˆ’u‚‚‰–ʍ•W‚‹‚‚
        return ((@real_x - $game_map.display_x) / 4).ceil + 16
      end
      #--------------------------------------------------------------------------
      # œ ‰– Y •W‚Ž“
      #--------------------------------------------------------------------------
      def screen_y
        # Ž•W‚ƒ}ƒbƒv‚•\Žˆ’u‚‚‰–ʍ•W‚‹‚‚
        y = ((@real_y - $game_map.display_y) / 4).ceil + 32
        # ƒWƒƒƒ“ƒvƒJƒEƒ“ƒg‚‰ž‚‚ Y •W‚‚‚•‚‚
        if @jump_count >= @jump_peak
          n = @jump_count - @jump_peak
        else
          n = @jump_peak - @jump_count
        end
        return y - (@jump_peak * @jump_peak - n * n) / 2
      end
      #--------------------------------------------------------------------------
      # œ ƒtƒŒ[ƒ€XV (ˆ“)
      #--------------------------------------------------------------------------
      def update_move
        # ˆ“‘“x‚‚ƒ}ƒbƒv•WŒn‚‚ˆ“‹——‚•Š
        distance = 2 ** @move_speed
        if @x * 128 != @real_x and @y * 128 != @real_y and Game_Player::SLANT
          distance /= Math.sqrt(2)
        end
        # ˜_—•W‚Ž•W‚‚‰‚̏‡
        if @y * 128 > @real_y
          # ‰‚ˆ“
          @real_y = [@real_y + distance, @y * 128].min
        end
        # ˜_—•W‚Ž•W‚‚荶‚̏‡
        if @x * 128 < @real_x
          # ‚ˆ“
          @real_x = [@real_x - distance, @x * 128].max
        end
        # ˜_—•W‚Ž•W‚‚‰E‚̏‡
        if @x * 128 > @real_x
          # ‰E‚ˆ“
          @real_x = [@real_x + distance, @x * 128].min
        end
        # ˜_—•W‚Ž•W‚‚‚̏‡
        if @y * 128 < @real_y
          # ‚ˆ“
          @real_y = [@real_y - distance, @y * 128].max
        end
        # ˆ“ŽžƒAƒjƒ‚ ON ‚̏‡
        if @walk_anime
          # ƒAƒjƒƒJƒEƒ“ƒg‚ 1.5 ‘‚‚
          @anime_count += 1.5
        # ˆ“ŽžƒAƒjƒ‚ OFF ‚ŁA’Ž~ŽžƒAƒjƒ‚ ON ‚̏‡
        elsif @step_anime
          # ƒAƒjƒƒJƒEƒ“ƒg‚ 1 ‘‚‚
          @anime_count += 1
        end
      end
    end
    
    #==============================================================================
    #  Game_Event
    #------------------------------------------------------------------------------
    # @ƒCƒxƒ“ƒg‚ˆ‚ƒNƒ‰ƒX‚‚BŒ”’‚‚‚ƒCƒxƒ“ƒgƒy[ƒW‚‘‚‚A•—ˆ—
    # ƒCƒxƒ“ƒgŽs‚‚‚‹@”\‚Ž‚‚‚‚AGame_Map ƒNƒ‰ƒX‚“•”‚Žg—p‚‚‚‚B
    #==============================================================================
    
    class Game_Event < Game_Character
      #--------------------------------------------------------------------------
      # œ ƒCƒxƒ“ƒg‹N“
      #--------------------------------------------------------------------------
      def start
        # Žs“—e‚‹‚‚‚‡
        if @list.size > 1
          # $game_player.event ‚0‚‚‚‡
          if $game_player.event != 0
            # ˆ“‘“x‚ $game_player.event ‚‚‚
            $game_player.move_speed = $game_player.event
          elsif self.trigger == 0
            $game_player.move_speed = $game_player.walk
          end
          @starting = true
        end
      end
    end

  5. #5

    Users Awaiting Email Confirmation

    Wollte mal fragen wie der Ring Menskript funktioniert?
    Bei mir kommt am Ende (Reihe 414) immer ein Syntax Error?
    Habs mit dem Command end versucht aber...naja^^

    Edit :
    Sorry wegen Doppelpost...
    Hab vergessen das ich den letzten Post geschrieben hab^^

  6. #6
    Wenn du ihn posten knntest knnte man dir helfen. Es gibt ja mehrere Ringmen Skripts.

  7. #7

    Users Awaiting Email Confirmation

    Der, der im Post von Jerome_Denis_andre drin is^^

  8. #8
    Markier doch nochmal bitte Line 414 Fett. danke

  9. #9

    Users Awaiting Email Confirmation

    Das is die letzte line^^

  10. #10
    Kann ich dir nicht weiterhelfen... Wende dich doch mal an das RPG-Studio, da kann man dir sicher helfen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhnge hochladen: Nein
  • Beitrge bearbeiten: Nein
  •