Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
  • 0
Midnite Reaper

8 frame characters

Question

Can anyone modify Cogwheel's Pixel Movement Script or any other pixel-movement script to allow for 8 directions, with 8 frames each?

 

As in, 8 frames across, and directions going:

Down

Right, Down

Right

Right, Up

Up

Left, Down

Left

Left, Up

 

Help is appreciated

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Cogwheels script should be compatible with 8 directional movement. Let me see if I can find out how it works.

 

EDIT: Is this the version you are using?

 

 

 

# http://members.jcom.home.ne.jp/cogwheel/
#==============================================================================
# Game_Player
#==============================================================================
class Game_Player < Game_Character
UP    = 0
DOWN  = 0
SIDE  = 0
SLANT = true
#--------------------------------------------------------------------------
attr_reader   :event
attr_accessor :move_speed
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
def initialize
 @revise_x = 0
 @revise_y = 0
 @move == false
 super
end
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
def update_jump
 @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
#--------------------------------------------------------------------------
def move_type_custom
 unless @dot_m
   super
   return
 end
 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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
alias :moveto_original :moveto
def moveto(x, y)
 @revise_x = 0
 @revise_y = 0
 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
#==============================================================================
class Game_Character
def update_move
 distance = 2 ** @move_speed
 if @x * 128 != @real_x and @y * 128 != @real_y and Game_Player::SLANT
   distance /= Math.sqrt(2)
 end
 if @y * 128 > @real_y
   @real_y = [@real_y + distance, @y * 128].min
 end
 if @x * 128 < @real_x
   @real_x = [@real_x - distance, @x * 128].max
 end
 if @x * 128 > @real_x
   @real_x = [@real_x + distance, @x * 128].min
 end
 if @y * 128 < @real_y
   @real_y = [@real_y - distance, @y * 128].max
 end
 if @walk_anime
   @anime_count += 1.5
 elsif @step_anime
   @anime_count += 1
 end
end
end
#==============================================================================
# Game_Event
#==============================================================================
class Game_Event < Game_Character
def start
 if @list.size > 1
   if $game_player.event != 0
     $game_player.move_speed = $game_player.event
   end
   @starting = true
 end
end
end

 

 

Share this post


Link to post
Share on other sites
  • 0

I think what he wants is the script to be edited to allow 8 directions for the sprites, as well as each step being 8 frames; so the script would have to read 8 x 8 framed character sets...which *should* be very possible, since the rmxp just divides the sprite sets by 4....I have an idea of how it could work -- if i can get it to work I will let you know (I was actually thinking of trying to do something like this once upon a time)

 

EDIT: Did you want just the player to have 8 directions/frames or all characters?

 

EDIT2:

cool I got it working, there are a few things you'll have to change:

Go to the script Sprite_Character and find the update method

replace

@cw = bitmap.width / 4
@ch = bitmap.height / 4

with

@cw = bitmap.width / 8
@ch = bitmap.height / 8

then go a few lines down

and replace

sy = (@character.direction - 2) / 2 * @ch

with

case @character.direction
when 1
 sy = @ch * 5
when 2
 sy = 0
when 3
 sy = @ch
when 4
 sy = @ch * 6
when 6
 sy = @ch * 2
when 7
 sy = @ch * 7
when 8
 sy = @ch * 4
when 9
 sy = @ch * 3
end

 

Those lines change the way Character sets are divided and and displayed, I set it up to work EXACTLY the way you asked

As in, 8 frames across, and directions going:

Down

Right, Down

Right

Right, Up

Up

Left, Down

Left

Left, Up

 

Then you will have to modify the way the pattern works and directions are decided, so go to Cogwheels Pixel Movement script, and find the method called "anime_update"

replace

@pattern = (@pattern + 1) % 4

with

@pattern = (@pattern + 1) % 8

 

then, you will have to find the methods move_upper_left_p, move_lower_left_p, move_upper_right_p, move_lower_right_p

they all have a line at the beginning that will look somethings like this

unless @direction_fix
 @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
end

(note: the numbers may not be *EXACT* (i kinda just threw in random number) but it will look like that)

and all you will have to do is replace each one with the corresponding direction

move_upper_left_p: @direction = 7

move_upper_right_p: @direction = 9

move_lower_left_p: @direction = 1

move_lower_right_p: @direction = 3

(note: leave the "unless @direction_fix" there, just replace the @direction = (@direction == 4 ? 2 : @direction..etc), with the corresponding value I put)

 

This should work for player movement, however I do believe you will probably have to go into the "Game_Event" script and do the same thing you did with the pixel movement script so that NPCs etc will be displayed correctly. And keep in mind that these modifications will divide ALL character set display the same way, so if you do this; ALL charactersets will need to follow the same format to display correctly.

Edited by kellessdee

Share this post


Link to post
Share on other sites
  • 0

then, you will have to find the methods move_upper_left_p, move_lower_left_p, move_upper_right_p, move_lower_right_p

they all have a line at the beginning that will look somethings like this

unless @direction_fix
 @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
end

(note: the numbers may not be *EXACT* (i kinda just threw in random number) but it will look like that)

and all you will have to do is replace each one with the corresponding direction

move_upper_left_p: @direction = 7

move_upper_right_p: @direction = 9

move_lower_left_p: @direction = 1

move_lower_right_p: @direction = 3

(note: leave the "unless @direction_fix" there, just replace the @direction = (@direction == 4 ? 2 : @direction..etc), with the corresponding value I put)

 

 

 

I'm not sure what you mean by this part. Everything else is fine. Sorry about not getting back soonersweatdrop.gif

 

Sorry to throw you round, I screwed up the directions in the original post, They should have been:

 

Down

Left, Down

Left

Left, Up

Up

Right, Down

Right

Right, Up

Edited by Midnite Reaper

Share this post


Link to post
Share on other sites
  • 0

No worries man, I realize now that the directions are kinda confusing!

 

To match up with what you said, use this instead

case @character.direction
when 1
 sy = @ch
when 2
 sy = 0
when 3
 sy = @ch * 5
when 4
 sy = @ch * 2
when 6
 sy = @ch * 6
when 7
 sy = @ch * 3
when 8
 sy = @ch * 4
when 9
 sy = @ch * 7
end

 

I believe that should be correct...

 

and what I meant for the the move upper_direction_p methods were (I put the first section of the method, just replace the first bit with each corresponding code)

def move_lower_left_p
 unless @direction_fix
   @direction = 1
 end

 

def move_lower_right_p
 unless @direction_fix
   @direction = 3
 end

 

def move_upper_left_p
 unless @direction_fix
   @direction = 7
 end

 

def move_upper_right_p
 unless @direction_fix
   @direction = 9
 end

 

If it's still a little bit confusing or if you have any issues let me know! If you want I can just paste the entire modified script for you to use.

It's interesting though, that after doing this it almost seems as if RmXP has been set up with the capability for 8 directional movement and even 8 facing directions (because they have a setting to check for 8 directional input, and the character's direction corresponds with the number on the numpad)...They just chose not to use it.

Edited by kellessdee

Share this post


Link to post
Share on other sites
  • 0

blink.gifIt...works...beautifully... *is utterly speechless*blink.gif

 

I wasn't even sure this was possible.

*Gets down on both knees*

Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, Thank you, x Another hundred times...

Lol.

 

Nah, seriously, thanks Kellessdee.

Share this post


Link to post
Share on other sites
  • 0

No worries dude :) glad you like it. Although I had a question...because I am unsure how this may affect npcs...did you plan on having npcs with the same style character sets? there may need to be some alterations for the npcs to work properly as well...Try it out and let me know :D (also no need to get on your knees, however I am flattered ;) )

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...