RPG Maker Forums

Hello guys, i've just downloaded the Pixel movement script by Cogwheel, main reason i got it is for use with smaller character sets (the Tyke).
In the past i was able to change some things to have the characters move closer to each other but i've forgotten what, and i just don't have too much time to go mucking around right now, so if anyone out there knows what to change i'd really appreciate the help.
 
On a similar note, I have been wondering if it's at all possible to create a script to have this maker accept character sheets smaller than the standard size.
 
Character set example using script as is.

 
e
forgot script.
 

Link to location of script.

http://www.gdunlimited.net/forums/topic/162-cogwheels-pixel-movement/

Code:
# [URL="http://members.jcom.home.ne.jp/cogwheel/#==============================================================================%23"]http://members.jcom.home.ne.jp/cogwheel/#==============================================================================#[/URL] Game_Player#==============================================================================class Game_Player < Game_CharacterUP	= 0DOWN  = 0SIDE  = 0SLANT = false#--------------------------------------------------------------------------attr_reader   :eventattr_accessor :move_speed#--------------------------------------------------------------------------alias :update_original :updatedef 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])  endend#--------------------------------------------------------------------------def initialize  @revise_x = 0  @revise_y = 0  @move == false  superend#--------------------------------------------------------------------------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)  endend#--------------------------------------------------------------------------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  endend#--------------------------------------------------------------------------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  endend#--------------------------------------------------------------------------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 resultend#--------------------------------------------------------------------------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 trueend#--------------------------------------------------------------------------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 resultend#--------------------------------------------------------------------------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 trueend#--------------------------------------------------------------------------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 resultend#--------------------------------------------------------------------------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 trueend#--------------------------------------------------------------------------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 resultend#--------------------------------------------------------------------------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 trueend#--------------------------------------------------------------------------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  endend#--------------------------------------------------------------------------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  endend#--------------------------------------------------------------------------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  endend#--------------------------------------------------------------------------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  endend#--------------------------------------------------------------------------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 resultend#--------------------------------------------------------------------------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  endend#--------------------------------------------------------------------------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  endend#--------------------------------------------------------------------------alias :moveto_original :movetodef 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 falseendend#==============================================================================# Game_Character#==============================================================================class Game_Characterdef 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  endendend#==============================================================================# Game_Event#==============================================================================class Game_Event < Game_Characterdef start  if @list.size > 1	if $game_player.event != 0	  $game_player.move_speed = $game_player.event	end	@starting = true  endendend

Latest Threads

Latest Profile Posts

Don't forget, aspiring writers: Personality isn't what your characters do, it is WHY they do it.
Hello! I would like to know if there are any pluggings or any way to customize how battles look?
I was thinking that when you start the battle for it to appear the eyes of your characters and opponents sorta like Ace Attorney.
Sadly I don't know how that would be possible so I would be needing help! If you can help me in any way I would really apreciate it!
The biggest debate we need to complete on which is better, Waffles or Pancakes?
rux
How is it going? :D
Day 9 of giveaways! 8 prizes today :D

Forum statistics

Threads
106,051
Messages
1,018,549
Members
137,836
Latest member
T62352536256t362
Top