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

Why doesn't the player move?

Question

ok, so i have an event that, does this:

 

there is a box, and if you press enter, it moves in the direction you are facing, and keeps going until it hits a wall. if it touches a certain tile, a switch is triggered.

 

here's the problem. when i press enter, the box moves, but the player is frozen, as if there is still an event running.

 

here's what i have

eventc.png

event2uu.png

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

"Wait For Move's Completion" is bit deceptive.

 

Everyone, including myself when I started using RMXP, assumes it means "Wait for THIS Move's Completion", but its not.

Share this post


Link to post
Share on other sites
  • 0

Check out this script. Zeriab made a a fix for the Interpreter that also include the feature to select which event's move to wait for.

 

http://www.rmxpunlimited.net/forums/topic/4071-interpreter-command-355-fix/

Share this post


Link to post
Share on other sites
  • 0

k thanks

 

but it looks like it just fixes the call script command. what exactly is it supposed to do?

Share this post


Link to post
Share on other sites
  • 0

You can use that, or you can use this. Found another "bug" in it that I missed, with Player Repeat Move and "Wait for (Every) Move's Completion"

 

Interpreter Wait for Repeat Bugfix

 

 

class Interpreter
 # Full Redefinition - Bugfix! Not Aliased!!!
 def update
# Initialize loop count
@loop_count = 0
# Loop
loop do
  # Add 1 to loop count
  @loop_count += 1
  # If 100 event commands ran
  if @loop_count > 100
	# Call Graphics.update for freeze prevention
	Graphics.update
	@loop_count = 0
  end
  # If map is different than event startup time
  if $game_map.map_id != @map_id
	# Change event ID to 0
	@event_id = 0
  end
  # If a child interpreter exists
  if @child_interpreter != nil
	# Update child interpreter
	@child_interpreter.update
	# If child interpreter is finished running
	unless @child_interpreter.running?
	  # Delete child interpreter
	  @child_interpreter = nil
	end
	# If child interpreter still exists
	if @child_interpreter != nil
	  return
	end
  end
  # If waiting for message to end
  if @message_waiting
	return
  end
  # If waiting for move to end
  if @move_route_waiting
	# If player is forcing move route and not repeating (BUGFIX)
	if $game_player.move_route_forcing and not $game_player.move_route.repeat
	  return
	end
	# Loop (map events)
	for event in $game_map.events.values
	  # If this event is forcing but not repeating move route (BUGFIX)
	  #One Line of Code needed to be fixed.  Added "and not event.move_route.repeat"
	  if event.move_route_forcing and not event.move_route.repeat
		return
	  end
	end
	# Clear move end waiting flag
	@move_route_waiting = false
  end
  # If waiting for button input
  if @button_input_variable_id > 0
	# Run button input processing
	input_button
	return
  end
  # If waiting
  if @wait_count > 0
	# Decrease wait count
	@wait_count -= 1
	return
  end
  # If an action forcing battler exists
  if $game_temp.forcing_battler != nil
	return
  end
  # If a call flag is set for each type of screen
  if $game_temp.battle_calling or
	 $game_temp.shop_calling or
	 $game_temp.name_calling or
	 $game_temp.menu_calling or
	 $game_temp.save_calling or
	 $game_temp.gameover
	return
  end
  # If list of event commands is empty
  if @list == nil
	# If main map event
	if @main
	  # Set up starting event
	  setup_starting_event
	end
	# If nothing was set up
	if @list == nil
	  return
	end
  end
  # If return value is false when trying to execute event command
  if execute_command == false
	return
  end
  # Advance index
  @index += 1
end
 end
end

 

 

Instructions: Make a New Script somewhere between Main and Scene Debug, (select Main and hit the Insert Key on your Keyboard), in the new script, Name it something like Interpreter Bugfix, and on the Right Pane where the code goes, copy and paste the code I gave you (or Zeriab's), and the Repeat Events shouldnt cause your game to stop any more.

 

I have to read up on how Zeriab did his fix, mine was simple, two lines and you dont need to configure anything, but he definitely added a few more options and functionality making it more versatile. Which ever way you want, either of those scripts should work for your needs.

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...