Pixel Movements Script + 8 dir script

Discussion in 'RGSS Script Requests' started by Andrea87Sky, Aug 26, 2019.

  1. Andrea87Sky

    Andrea87Sky Just a random musician/coder. Veteran

    Messages:
    81
    Likes Received:
    1
    Location:
    Sicily
    First Language:
    Italian
    Primarily Uses:
    RMXP
    There's any pixel movement scripts compatible also with the 8 dir system? (without the 8 dir graphics)

    I have LittleDrago's Pixel Movement script but it don't have the 8 dir system. There's any way to make a 8 dir system compatible with his script, or there's any other scripts with both pixel movement and the 8 dir system?
     
    #1
  2. Andrea87Sky

    Andrea87Sky Just a random musician/coder. Veteran

    Messages:
    81
    Likes Received:
    1
    Location:
    Sicily
    First Language:
    Italian
    Primarily Uses:
    RMXP
    Bump
     
    #2
  3. DerVVulfman

    DerVVulfman Resident Werewolf Veteran

    Messages:
    309
    Likes Received:
    150
    First Language:
    English
    Primarily Uses:
    RMXP
    Okay, found one. Actually, this is a classic. It's the Pixelmovement and 8-directional system by Cogwheel (c) 2006-2007. I didn't have a pure unedited version (and his site is now gone). What I found was one that had all the header content removed, so I spent some time adding in what I could to be as close to the original in intent. Other versions are around that add extra nuances like jumping for platform system (of which I'm familiar). Either way... here's the closest to a pure copy of Cogwheel;'s system:

    Code:
    # 8-Directional Pixelmovement
    # Distribution original support URL
    # http://members.jcom.home.ne.jp/cogwheel/
    
    #==============================================================================
    # ** Game_Player
    #------------------------------------------------------------------------------
    #  This class handles the player. Its functions include event starting
    #  determinants and map scrolling. Refer to "$game_player" for the one
    #  instance of this class.
    #==============================================================================
    
    class Game_Player < Game_Character
      #--------------------------------------------------------------------------
      # * Invariables
      #--------------------------------------------------------------------------  
      UP     = 0
      DOWN  = 0
      SIDE  = 0
      SLANT = false
      #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      attr_reader   :event                    # Event
      attr_accessor :move_speed               # Movement speed
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      alias :update_original :update
      def update
        @walk  = 4
        @dash  = 5
        @event = 4
        @dot_m = true
        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
          last_moving = moving?
          last_real_x = @real_x
          last_real_y = @real_y
          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 = 2 ** @move_speed
            distance2 = Math.sqrt(@revise_x ** 2 + @revise_y ** 2)
            if distance1 > distance2
              @real_x = @real_x - @revise_x
              @real_y = @real_y - @revise_y
              @revise_x = 0
              @revise_y = 0
              anime_update
            else
              @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
          unless moving? or $game_system.map_interpreter.running? or
            @move_route_forcing or $game_temp.message_window_showing
            @event_run = false
            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
          last_real_x = @real_x
          last_real_y = @real_y
          @real_x = @x * 128 + @revise_x
          @real_y = @y * 128 + @revise_y
          last_moving = moving?
          move_on
          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
            anime_update
          else
            @pattern = 0
          end
        end
        if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
          $game_map.scroll_down(@real_y - last_real_y)
        end
        if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
          $game_map.scroll_left(last_real_x - @real_x)
        end
        if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
          $game_map.scroll_right(@real_x - last_real_x)
        end
        if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
          $game_map.scroll_up(last_real_y - @real_y)
        end
        if last_moving
          result = check_event_trigger_here([1,2])
          if result == false
            unless $DEBUG and Input.press?(Input::CTRL)
              if @encounter_count > 0
                @encounter_count -= 1
              end
            end
          end
        end
        if Input.trigger?(Input::C)
          check_event_trigger_here([0])
          check_event_trigger_there([0,1,2])
        end
      end
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        @revise_x = 0
        @revise_y = 0
        @move == false
        super
      end
      #--------------------------------------------------------------------------
      # * Determine if Moving
      #--------------------------------------------------------------------------
      def moving?
        unless @dot_m
          result = super
          return result
        end
        if @move_route_forcing
          if @move == false
            return false
          end
          super
        else
          return (@x != (@real_x / 128.0).round or @y != (@real_y / 128.0).round)
        end
      end
      #--------------------------------------------------------------------------
      # * Pixelmovement Moving ?
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      # * Frame Update (jump)
      #--------------------------------------------------------------------------
      def update_jump
        # Reduce jump count by 1
        @jump_count -= 1
        @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
      #--------------------------------------------------------------------------
      # * Move Type : Custom
      #--------------------------------------------------------------------------
      def move_type_custom
        unless @dot_m
          super
          return
        end
        # Interrupt if not stopping
        if jumping? or moving_a?
          return
        end
        while @move_route_index < @move_route.list.size
          command = @move_route.list[@move_route_index]
          if command.code == 0
            if @move_route.repeat
              @move_route_index = 0
            end
            unless @move_route.repeat
              if @move_route_forcing and not @move_route.repeat
                @move_route_forcing = false
                @move_route = @original_move_route
                @move_route_index = @original_move_route_index
                @original_move_route = nil
              end
              @stop_count = 0
            end
            return
          end
          if command.code <= 14
            case command.code
            when 1
              move_down
            when 2
              move_left
            when 3
              move_right
            when 4
              move_up
            when 5
              move_lower_left
            when 6
              move_lower_right
            when 7
              move_upper_left
            when 8
              move_upper_right
            when 9
              move_random
            when 10
              move_toward_player
            when 11
              move_away_from_player
            when 12
              move_forward
            when 13
              move_backward
            when 14
              jump(command.parameters[0], command.parameters[1])
            end
            if not @move_route.skippable and not moving? and not jumping?
              return
            end
            @move_route_index += 1
            return
          end
          if command.code == 15
            @wait_count = command.parameters[0] * 2 - 1
            @move_route_index += 1
            return
          end
          if command.code >= 16 and command.code <= 26
            case command.code
            when 16
              turn_down
            when 17
              turn_left
            when 18
              turn_right
            when 19
              turn_up
            when 20
              turn_right_90
            when 21
              turn_left_90
            when 22
              turn_180
            when 23
              turn_right_or_left_90
            when 24
              turn_random
            when 25
              turn_toward_player
            when 26
              turn_away_from_player
            end
            @move_route_index += 1
            return
          end
          if command.code >= 27
            case command.code
            when 27
              $game_switches[command.parameters[0]] = true
              $game_map.need_refresh = true
            when 28
              $game_switches[command.parameters[0]] = false
              $game_map.need_refresh = true
            when 29
              @move_speed = command.parameters[0]
            when 30
              @move_frequency = command.parameters[0]
            when 31
              @walk_anime = true
            when 32
              @walk_anime = false
            when 33
              @step_anime = true
            when 34
              @step_anime = false
            when 35
              @direction_fix = true
            when 36
              @direction_fix = false
            when 37
              @through = true
            when 38
              @through = false
            when 39
              @always_on_top = true
            when 40
              @always_on_top = false
            when 41
              @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
              @opacity = command.parameters[0]
            when 43
              @blend_type = command.parameters[0]
            when 44
              $game_system.se_play(command.parameters[0])
            when 45
              result = eval(command.parameters[0])
            end
            @move_route_index += 1
            return
          end
        end
      end
      #--------------------------------------------------------------------------
      # * Move Down : Pixelmovement Variation
      #--------------------------------------------------------------------------
      def move_down_p
        turn_down
        distance = 2 ** @move_speed
        down1(((@x * 128 + @revise_x) / 128.0).round,
          ((@y * 128 + @revise_y) / 128.0).round, distance, true)
      end
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      def down2(x, y, distance, d = 2)
        if @revise_y + distance > DOWN
          unless passable?(x, y, d)
            if @revise_y < DOWN
              @revise_y = DOWN
            end
            return false
          end
        end
        return true
      end
      #--------------------------------------------------------------------------
      # * Move Left : Pixelmovement Variation
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      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 > DOWN
                @revise_y = DOWN
              end
            end
            return result
          end
        elsif @revise_y > DOWN
          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
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      # * Move Right : Pixelmovement Variation
      #--------------------------------------------------------------------------
      def move_right_p
        turn_right
        distance = 2 ** @move_speed
        right1(((@x * 128 + @revise_x) / 128.0).round,
          ((@y * 128 + @revise_y) / 128.0).round, distance, true)
      end
      #--------------------------------------------------------------------------
      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 > DOWN
                @revise_y = DOWN
              end
            end
            return result
          end
        elsif @revise_y > DOWN
          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
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      # * Move Up : Pixelmovement Variation
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      # * Move Lower Left : Pixelmovement Variant
      #--------------------------------------------------------------------------
      def move_lower_left_p
        unless @direction_fix
          @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
        end
        distance = (2 ** @move_speed) / Math.sqrt(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 > DOWN and -UP > @revise_y - distance
          @revise_y = DOWN
        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
      end
      #--------------------------------------------------------------------------
      # * Move Lower Right : Pixelmovement Variant
      #--------------------------------------------------------------------------
      def move_lower_right_p
        unless @direction_fix
          @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
        end
        distance = (2 ** @move_speed) / Math.sqrt(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 > DOWN and -UP > @revise_y - distance
            @revise_y = DOWN
          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
      end
      #--------------------------------------------------------------------------
      # * Move Ypper Left : Pixelmovement Variant
      #--------------------------------------------------------------------------
      def  move_upper_left_p
        unless @direction_fix
          @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
        end
        distance = (2 ** @move_speed) / Math.sqrt(2)
        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 > DOWN 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
      end
      #--------------------------------------------------------------------------
      # * Move Upper Right : Pixelmovement Variant
      #--------------------------------------------------------------------------
      def move_upper_right_p
        unless @direction_fix
          @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
        end
        distance = (2 ** @move_speed) / Math.sqrt(2)
        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 > DOWN 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
      end
      #--------------------------------------------------------------------------
      # * Same Position Starting Determinant
      #--------------------------------------------------------------------------
      def check_event_trigger_here(triggers, run = true)
        result = false
        if $game_system.map_interpreter.running?
          return result
        end
        for event in $game_map.events.values
          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)
            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
      #--------------------------------------------------------------------------
      # * Move On
      #--------------------------------------------------------------------------
      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
      #--------------------------------------------------------------------------
      # * Pixelmovement Animation Update
      #--------------------------------------------------------------------------
      def anime_update
        if @walk_anime
          @anime_count += 1.5
        elsif @step_anime
          @anime_count += 1
        end
        if @anime_count > 18 - @move_speed * 2
          if not @step_anime and @stop_count > 0
            @pattern = @original_pattern
          else
            @pattern = (@pattern + 1) % 4
          end
          @anime_count = 0
        end
      end
      #--------------------------------------------------------------------------
      # * Move to Designated Position
      #     x : x-coordinate
      #     y : y-coordinate
      #--------------------------------------------------------------------------
      alias :moveto_original :moveto
      def moveto(x, y)
        @revise_x = 0
        @revise_y = 0
        moveto_original(x, y)
      end
      #--------------------------------------------------------------------------
      # * Last Pixelmovement Animation Update
      #--------------------------------------------------------------------------
      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
    #------------------------------------------------------------------------------
    #  This class deals with characters. It's used as a superclass for the
    #  Game_Player and Game_Event classes.
    #==============================================================================
    
    class Game_Character
      #--------------------------------------------------------------------------
      # * Update frame (move)
      #--------------------------------------------------------------------------
      def update_move
        # Convert map coordinates from map move speed into move distance
        distance = 2 ** @move_speed
        if @x * 128 != @real_x and @y * 128 != @real_y and Game_Player::SLANT
          distance /= Math.sqrt(2)
        end
        # If logical coordinates are further down than real coordinates
        if @y * 128 > @real_y
          # Move down
          @real_y = [@real_y + distance, @y * 128].min
        end
        # If logical coordinates are more to the left than real coordinates
        if @x * 128 < @real_x
          # Move left
          @real_x = [@real_x - distance, @x * 128].max
        end
        # If logical coordinates are more to the right than real coordinates
        if @x * 128 > @real_x
          # Move right
          @real_x = [@real_x + distance, @x * 128].min
        end
        # If logical coordinates are further up than real coordinates
        if @y * 128 < @real_y
          # Move up
          @real_y = [@real_y - distance, @y * 128].max
        end
        # If move animation is ON
        if @walk_anime
          # Increase animation count by 1.5
          @anime_count += 1.5
        # If move animation is OFF, and stop animation is ON
        elsif @step_anime
          # Increase animation count by 1
          @anime_count += 1
        end
      end
    end
    
    
    
    #==============================================================================
    # ** Game_Event
    #------------------------------------------------------------------------------
    #  This class deals with events. It handles functions including event page
    #  switching via condition determinants, and running parallel process events.
    #  It's used within the Game_Map class.
    #==============================================================================
    
    class Game_Event < Game_Character
      #--------------------------------------------------------------------------
      # * Start Event
      #--------------------------------------------------------------------------
      def start
        # If list of event commands is not empty
        if @list.size > 1
          if $game_player.event != 0
            $game_player.move_speed = $game_player.event
          end
          @starting = true
        end
      end
    end
    
     
    #3
  4. Andrea87Sky

    Andrea87Sky Just a random musician/coder. Veteran

    Messages:
    81
    Likes Received:
    1
    Location:
    Sicily
    First Language:
    Italian
    Primarily Uses:
    RMXP
    It gave me an error (i'll paste the errorlog that my game creates with a my script)

    Time: Thu 26 Sep 2019, 11:26:47
    Error type: ArgumentError
    Class: Scene_Map
    Message: wrong number of arguments(2 for 1)
    at
    , line 601, at `check_event_trigger_here'
    , line 601, at `move_lower_left_p'
    , line 91, at `update'
    Scene_Map, line 38, at `drg77_update'
    Scene_Map, line 31, at `loop'
    Scene_Map, line 52, at `drg77_update'
    Scene_Pause, line 75, at `wrap_original_scene_map_update'
    Wrap Maps, line 444, at `animation_update'
    Advanced Scene Map Animations, line 27, at `ums_update'
    UMS, line 396, at `update'
    Automatic Transitions, line 35, at `animation_main'
    Advanced Scene Map Animations, line 10, at `main'
    Main - Splash, line 131
    --------------------

    (where there's only the "," it's the script you gave me, because i didn't put a name yet.)
     
    #4
  5. DerVVulfman

    DerVVulfman Resident Werewolf Veteran

    Messages:
    309
    Likes Received:
    150
    First Language:
    English
    Primarily Uses:
    RMXP
    First, the script itself has no problems.
    Second, it has a DASH feature? Accidentally pressed the spacebar and he's running like a champ!
    Third, I put it into a demo with the UMS 1.80 by ccoa... no problems except the 'slave' feature. But it's defective in my original copy too. Grrr...

    Wrap Maps?
    Advanced Scene Map Animations
    Automatic Transitions?

    Sounds like script conflict with other scripts. This script has several bits of rewritten code. The update and move_type_custom methods in Game_Player are pretty entertaining, and uses its own update_jump method and not using the one built into Game_Character. Game_Character's update_move method is a total rewrite. And the start method in Game_Event is a rewrite, short though it may be.

    Sounds like you're trying to develop a pretty ReGaL system.
     
    #5
  6. Andrea87Sky

    Andrea87Sky Just a random musician/coder. Veteran

    Messages:
    81
    Likes Received:
    1
    Location:
    Sicily
    First Language:
    Italian
    Primarily Uses:
    RMXP
    Sorry I forgot to say now it all works, I had just to put above this script your "Immense Events" script or whatever its called, and it worked perfectly, idk why but before i had Immense Events below this script and everytime I did a 8 dir movement (I mean, left-up, right-up, left-down right-up) it gave me that error i sent to you, anyway now it's all right, i don't have problems anymore with it, anyway what problem you encountered with the slave windows of UMS? Because I use them and I don't want to mess with them.
     
    #6
  7. DerVVulfman

    DerVVulfman Resident Werewolf Veteran

    Messages:
    309
    Likes Received:
    150
    First Language:
    English
    Primarily Uses:
    RMXP
    Could be the version I have. 1.80 But that's a different topic.
    Ccoa's UMS does dictate what forums can host it. Fortunately, she listed RMVXP, which was Save-Point's name until 2009.
     
    Last edited: Sep 28, 2019
    #7
  8. Andrea87Sky

    Andrea87Sky Just a random musician/coder. Veteran

    Messages:
    81
    Likes Received:
    1
    Location:
    Sicily
    First Language:
    Italian
    Primarily Uses:
    RMXP
    I have that version too but I don't see any problems with them.
     
    #8

Share This Page