Marin

Age 19
Male
Seen June 27th, 2021
Posted June 27th, 2021
966 posts
5 Years
I accidentally found out that just skipping a whole Graphics.update is pretty useful and thought I'd make a fast-forward script out of it.

SPEEDUP_STAGES is the array of speed up stages the game will use. If you click F, it'll pick the next number in the array. Mine looks like [1,2,3], meaning it'll be 1 by default, go to 2 if I press F, 3 if I press F again, and then back to the beginning.

$GameSpeed is the index of the SPEEDUP_STAGES array, 0 by default.
SPEEDUP_STAGES[$GameSpeed] - 1 is the actual amount of frames skipped.

If you hit F, the game'll go one stage higher in the SPEEDUP_STAGES array.

Download:
Better Fast-forward Mode
Seen September 28th, 2020
Posted September 13th, 2020
115 posts
6.8 Years
I really like the toggle functionality instead of having to hold a button down to speed up, but tbh this speed up seems kind of laggy when in use compared to the kleinstudio's script I've been using.

It probably has to do with the fact that klein's script speeds up framerate instead of skipping graphic updates, which makes it look smoother. Just my $0.02.

Marin

Age 19
Male
Seen June 27th, 2021
Posted June 27th, 2021
966 posts
5 Years
Doesen't help. I change F to another letter but I still have to press F to fast forward.
The 0x46 is what matters. For more info on that, check out this tutorial.

Marin

Age 19
Male
Seen June 27th, 2021
Posted June 27th, 2021
966 posts
5 Years
You see this line?
if $CanToggle && Input.trigger?(Input::F)
Change it to this:
if $CanToggle && Input.trigger?(Input::F) && $DEBUG

Maq47

Male
Seen 1 Week Ago
Posted 3 Weeks Ago
26 posts
10.9 Years
Hey, Marin, I'm trying to use this in Essentials v17.2, and am getting the following message (this is an excerpt from errorlog.txt):

[Pokémon Essentials version 17.2]
Exception: SystemStackError
Message: stack level too deep
PSystem_Controls:207:in `triggerex?'
PSystem_Controls:181:in `trigger?'
PSystem_Controls:181:in `any?'
PSystem_Controls:181:in `each'
PSystem_Controls:181:in `any?'
PSystem_Controls:181:in `trigger?'
BetterFastForward:45:in `fast_forward_update'
BetterFastForward:51:in `fast_forward_update'
BetterFastForward:51:in `fast_forward_update'
BetterFastForward:51:in `fast_forward_update'
I see that you listed this as compatible with v17.2 on Relic Castle, so what am I doing wrong?

FL

Pokémon Island Creator

Male
Seen 1 Day Ago
Posted 5 Days Ago
1,979 posts
11.2 Years
Great script! Old but gold!

I recommend anyone using it when debugging the game (Marin explained how). Worth it!

Golisopod User

he/him
Alola Reigon
Seen 3 Hours Ago
Posted 2 Weeks Ago
648 posts
4.9 Years
i got the 1.16 essentials and drops me an error on 56 line
with that buttonToKey
This script is for v17 and v18. You should update as soon as possible though, because v1 came out in 2008 and that's more than 10 years old now.

FL

Pokémon Island Creator

Male
Seen 1 Day Ago
Posted 5 Days Ago
1,979 posts
11.2 Years
i got the 1.16 essentials and drops me an error on 56 line
There are older script by KleinStudio and PiaCRT. If you don't find a way, try these.

This script is for v17 and v18. You should update as soon as possible though, because v1 came out in 2008 and that's more than 10 years old now.
First Essentials (by Poccil) release came on 7th September 2007.
Essentials v1 (by Maruno's) came on 26th July 2011.
Essentials v16 (the version that Droick probably has) came on 7th December 2015.
Seen 3 Days Ago
Posted September 25th, 2021
1 posts
67 Days
Hi, I noticed the code was broken (for Essentials 19.1) and wanted to provide a fix since input module isn't working anymore. I'm guessing the buttonToKey function has been refactored.
Use F7 to increase speed by a factor of +1 each time. Replace the >4 line 45 to whatever you need. If anyone wants to improve on this please go ahead. I guess you should probably link back to this forum post so anyone in the future knows but I don't care about accreditation. The code documentation is outdated.

Spoiler:

#==============================================================================#
# Better Fast-forward Mode #
# v1.0 #
# #
# by Marin #
#==============================================================================#
# Usage #
# #
# SPEEDUP_STAGES are the speed stages the game will pick from. If you click F, #
# it'll choose the next number in that array. It goes back to the first number #
# afterward. #
# #
# $GameSpeed is the current index in the speed up array. #
# Should you want to change that manually, you can do, say, $GameSpeed = 0 #
# #
# If you don't want the user to be able to speed up at certain points, you can #
# use "pbDisallowSpeedup" and "pbAllowSpeedup". #
#==============================================================================#



def pbAllowSpeedup
$CanToggle = true
end

def pbDisallowSpeedup
$CanToggle = false
end

# Default game speed.
$GameSpeed = 1

$frame = 0
$CanToggle = true
module Graphics
class << Graphics
alias fast_forward_update update
end

def self.update
if Input.trigger?(Input::F7) && $CanToggle# && Input.trigger?(Input::F)

$GameSpeed += 1

$GameSpeed = 1 if $GameSpeed >= 4
end
$frame += 1
return unless $frame % $GameSpeed == 0
fast_forward_update
$frame = 0
end
end