- 16
- Posts
- 6
- Years
- Seen Oct 13, 2022
Hi everyone this is my first post!
I wanted to share this Plug and Play script wich its an edited version of the official SpeedUpDebug by KleinStudio
SpeedUp/FastForward with Image and OptionsSelection
This version includes:
- Display image on Top Left while doing FastForward (dont install the image if you dont want to use it)
- Displayed image will be flickering (you can deactive it)
- Be able to choose in our game Menu Options betwen Hold and Toggle and also the speed (x2, x3,x4) if needed
If you already have KleinStudio's Script installed and want to try this one just replace it.
[This script works in debug, test and normal, to implement that it only works in debug you will have to change the script.]
I only tested in Pokemon Essentials v17.2 and v18.1 .
I'm not the best scripting, so if you have any error fix or posible optimization of this script you can point out I can edit it.
(paste above Main one of this scripts):
Script (frame rate version) [v17.2]:
FastForward_FrameRate
#===============================================================================
# ■ Speed up script by KleinStudio
# Press F key (-during debug mode-) and fly!
# https://kleinstudio.deviantart.com
#
# Edited by TrankerGolD
# Added image to show (currently top left)
# - With flickering effect if you want
# Added hold or toggle to options
# Added more speeds to options
#
# [FRAME RATE VERSION]
#===============================================================================
Flickering = true
# if true adds flickering effect to image, false to deactivate
Speed_Up_FrameRate=[80,200,400] #80 200 400
Normal_FrameRate=40
#Initialize new variables that will be saved
class PokemonSystem
attr_accessor :frameratestyle
attr_accessor :frameratespeed
alias old_initialize initialize
def self.initialize
@frameratestyle = 1 # FastForward
@frameratespeed = 0 # FastForward
old_initialize
end
def frameratestyle
@frameratestyle = 1 if !@frameratestyle
return @frameratestyle
end
def frameratespeed
@frameratespeed = 0 if !@frameratespeed
return @frameratespeed
end
end
$setFastForward = false # false by default
class PokemonOption_Scene
alias old_pbStartScene pbStartScene
def pbStartScene(inloadscreen=false)
old_pbStartScene(inloadscreen)
#adding new Options in position, if you want to add at the end you can use push instead of insert
@PokemonOptions.insert(6, #Options position after RunningStyle Option
EnumOption.new(_INTL("FastForward Key"),[_INTL("Hold"),_INTL("Toggle")],
proc { $PokemonSystem.frameratestyle },
proc {|value|
if $PokemonSystem.frameratestyle!=value
$PokemonSystem.frameratestyle = value
$setFastForward = false
Graphics.frame_rate=Normal_FrameRate
end
}
),
EnumOption.new(_INTL("FastForward Speed"),[_INTL("x2"),_INTL("x3"),_INTL("x4")],
proc { $PokemonSystem.frameratespeed },
proc {|value|
if $PokemonSystem.frameratespeed!=value
$PokemonSystem.frameratespeed = value
#$setFastForward = false
end
}
)
)
# Get the values of each option again
for i in [email protected]
@sprites["option"] = (@PokemonOptions.get || 0)
end
end
end
module Graphics
if !defined?(kleinfast_update)
class << self
alias kleinfast_update update
end
end
def self.update
@New_FrameRate = Speed_Up_FrameRate[$PokemonSystem.frameratespeed]
if $PokemonSystem.frameratestyle == 1 # TOGGLE
if Input.triggerex?(0x46) # F Key
$setFastForward=!$setFastForward
end
else # HOLD
if Input.triggerex?(0x46)#pressex?(0x46) # F Key
$setFastForward=true
elsif Input.releaseex?(0x46) # F Key
$setFastForward=false
end
end
if($setFastForward && !@showingFastForward)
Graphics.frame_rate=@New_FrameRate
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height) #0,0 = top left
@viewport.z = 999999 #if not showing add more 9s
@sprite = Sprite.new(@viewport)
@sprite.bitmap = Bitmap.new("Graphics/Pictures/FastForward")if pbResolveBitmap("Graphics/Pictures/FastForward")
@sprite.opacity = 255 #0
@showingFastForward = true
elsif (!$setFastForward && @showingFastForward)
Graphics.frame_rate=Normal_FrameRate
@sprite.dispose if @sprite
@viewport.dispose if @viewport
@showingFastForward = false
end
#update graphics to do flickering effect
if(@showingFastForward && @sprite.bitmap && Flickering)
if(@hide && @sprite.opacity > 0 && @sprite)
@sprite.opacity -= 6.125 #12.25 #25.5
elsif(@hide && @sprite.opacity <= 0 && @sprite)
@sprite.opacity = 0
@hide = false
elsif(!@hide && @sprite.opacity < 255 && @sprite)
@sprite.opacity += 6.125 #12.25 #25.5
elsif(!@hide && @sprite.opacity >= 255 && @sprite)
@sprite.opacity = 255
@hide = true
end
end
kleinfast_update
end
end
Script (frame skip version) [v17.2][v18.1]:
FastForward_FrameSkip
#===============================================================================
# ■ Speed up script by KleinStudio
# Press F key (-during debug mode-) and fly!
# https://kleinstudio.deviantart.com
#
# Edited by TrankerGolD
# Added image to show (currently top left)
# - With flickering effect if you want
# Added hold or toggle to options
# Added more speeds to options
#
# FastForward with FrameSkip by Marin
#
# [FRAME SKIP VERSION]
#===============================================================================
Flickering = true
# if true adds flickering effect to image, false to deactivate
Speed_Up_FrameSkip=[2,3,4]
#Initialize new variables that will be saved
class PokemonSystem
attr_accessor :frameratestyle
attr_accessor :frameratespeed
alias old_initialize initialize
def self.initialize
@frameratestyle = 1 # FastForward
@frameratespeed = 0 # FastForward
old_initialize
end
def frameratestyle
@frameratestyle = 1 if !@frameratestyle
return @frameratestyle
end
def frameratespeed
@frameratespeed = 0 if !@frameratespeed
return @frameratespeed
end
end
$setFastForward = false # false by default
class PokemonOption_Scene
alias old_pbStartScene pbStartScene
def pbStartScene(inloadscreen=false)
old_pbStartScene(inloadscreen)
#adding new Options in position, if you want to add at the end you can use push instead of insert
@PokemonOptions.insert(6, #Options position after RunningStyle Option
EnumOption.new(_INTL("FastForward Key"),[_INTL("Hold"),_INTL("Toggle")],
proc { $PokemonSystem.frameratestyle },
proc {|value|
if $PokemonSystem.frameratestyle!=value
$PokemonSystem.frameratestyle = value
$setFastForward = false
Graphics.frame_rate=Normal_FrameRate
end
}
),
EnumOption.new(_INTL("FastForward Speed"),[_INTL("x2"),_INTL("x3"),_INTL("x4")],
proc { $PokemonSystem.frameratespeed },
proc {|value|
if $PokemonSystem.frameratespeed!=value
$PokemonSystem.frameratespeed = value
#$setFastForward = false
end
}
)
)
# Get the values of each option again
for i in [email protected]
@sprites["option"] = (@PokemonOptions.get || 0)
end
end
end
$frame = 0
module Graphics
if !defined?(kleinfast_update)
class << self
alias kleinfast_update update
end
end
def self.update
if $PokemonSystem.frameratestyle == 1 # TOGGLE
if Input.triggerex?(0x46) # F Key
$setFastForward=!$setFastForward
end
else # HOLD
if Input.triggerex?(0x46)#pressex?(0x46) # F Key
$setFastForward=true
elsif Input.releaseex?(0x46) # F Key
$setFastForward=false
end
end
if($setFastForward && !@showingFastForward)
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height) #0,0 = top left
@viewport.z = 999999 #if not showing add more 9s
@sprite = Sprite.new(@viewport)
@sprite.bitmap = Bitmap.new("Graphics/Pictures/FastForward")if pbResolveBitmap("Graphics/Pictures/FastForward")
@sprite.opacity = 255 #0
@showingFastForward = true
elsif (!$setFastForward && @showingFastForward)
@sprite.dispose if @sprite
@viewport.dispose if @viewport
@showingFastForward = false
end
#update graphics to do flickering effect
if(@showingFastForward && @sprite.bitmap && Flickering)
if(@hide && @sprite.opacity > 0 && @sprite)
@sprite.opacity -= 6.125 #12.25 #25.5
elsif(@hide && @sprite.opacity <= 0 && @sprite)
@sprite.opacity = 0
@hide = false
elsif(!@hide && @sprite.opacity < 255 && @sprite)
@sprite.opacity += 6.125 #12.25 #25.5
elsif(!@hide && @sprite.opacity >= 255 && @sprite)
@sprite.opacity = 255
@hide = true
end
end
$frame += 1
if $setFastForward
return unless $frame % Speed_Up_FrameSkip[$PokemonSystem.frameratespeed] == 0
end
kleinfast_update
$frame = 0
end
end
Image (add to Graphics/Pictures/):
[Frame Skip version will be notably faster but less smooth, it will work on v18.1,
see Marin's version of fast forward:https://www.pokecommunity.com/showthread.php?t=401043]
PS: It's been 3 years since i started to develop my own game with my friend, a lot of people has
been helping me indirectly in this community so I also want to contribute :). And sorry if the post is
longer than it should.
I wanted to share this Plug and Play script wich its an edited version of the official SpeedUpDebug by KleinStudio
SpeedUp/FastForward with Image and OptionsSelection
![[PokeCommunity.com] SpeedUp/FastForward with Image and OptionsSelection (v17.2) [PokeCommunity.com] SpeedUp/FastForward with Image and OptionsSelection (v17.2)](https://i.imgur.com/vosSm9y.png?1)
This version includes:
- Display image on Top Left while doing FastForward (dont install the image if you dont want to use it)
- Displayed image will be flickering (you can deactive it)
- Be able to choose in our game Menu Options betwen Hold and Toggle and also the speed (x2, x3,x4) if needed
If you already have KleinStudio's Script installed and want to try this one just replace it.
[This script works in debug, test and normal, to implement that it only works in debug you will have to change the script.]
I only tested in Pokemon Essentials v17.2 and v18.1 .
I'm not the best scripting, so if you have any error fix or posible optimization of this script you can point out I can edit it.
(paste above Main one of this scripts):
Script (frame rate version) [v17.2]:
FastForward_FrameRate
Spoiler:
#===============================================================================
# ■ Speed up script by KleinStudio
# Press F key (-during debug mode-) and fly!
# https://kleinstudio.deviantart.com
#
# Edited by TrankerGolD
# Added image to show (currently top left)
# - With flickering effect if you want
# Added hold or toggle to options
# Added more speeds to options
#
# [FRAME RATE VERSION]
#===============================================================================
Flickering = true
# if true adds flickering effect to image, false to deactivate
Speed_Up_FrameRate=[80,200,400] #80 200 400
Normal_FrameRate=40
#Initialize new variables that will be saved
class PokemonSystem
attr_accessor :frameratestyle
attr_accessor :frameratespeed
alias old_initialize initialize
def self.initialize
@frameratestyle = 1 # FastForward
@frameratespeed = 0 # FastForward
old_initialize
end
def frameratestyle
@frameratestyle = 1 if !@frameratestyle
return @frameratestyle
end
def frameratespeed
@frameratespeed = 0 if !@frameratespeed
return @frameratespeed
end
end
$setFastForward = false # false by default
class PokemonOption_Scene
alias old_pbStartScene pbStartScene
def pbStartScene(inloadscreen=false)
old_pbStartScene(inloadscreen)
#adding new Options in position, if you want to add at the end you can use push instead of insert
@PokemonOptions.insert(6, #Options position after RunningStyle Option
EnumOption.new(_INTL("FastForward Key"),[_INTL("Hold"),_INTL("Toggle")],
proc { $PokemonSystem.frameratestyle },
proc {|value|
if $PokemonSystem.frameratestyle!=value
$PokemonSystem.frameratestyle = value
$setFastForward = false
Graphics.frame_rate=Normal_FrameRate
end
}
),
EnumOption.new(_INTL("FastForward Speed"),[_INTL("x2"),_INTL("x3"),_INTL("x4")],
proc { $PokemonSystem.frameratespeed },
proc {|value|
if $PokemonSystem.frameratespeed!=value
$PokemonSystem.frameratespeed = value
#$setFastForward = false
end
}
)
)
# Get the values of each option again
for i in [email protected]
@sprites["option"] = (@PokemonOptions.get || 0)
end
end
end
module Graphics
if !defined?(kleinfast_update)
class << self
alias kleinfast_update update
end
end
def self.update
@New_FrameRate = Speed_Up_FrameRate[$PokemonSystem.frameratespeed]
if $PokemonSystem.frameratestyle == 1 # TOGGLE
if Input.triggerex?(0x46) # F Key
$setFastForward=!$setFastForward
end
else # HOLD
if Input.triggerex?(0x46)#pressex?(0x46) # F Key
$setFastForward=true
elsif Input.releaseex?(0x46) # F Key
$setFastForward=false
end
end
if($setFastForward && !@showingFastForward)
Graphics.frame_rate=@New_FrameRate
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height) #0,0 = top left
@viewport.z = 999999 #if not showing add more 9s
@sprite = Sprite.new(@viewport)
@sprite.bitmap = Bitmap.new("Graphics/Pictures/FastForward")if pbResolveBitmap("Graphics/Pictures/FastForward")
@sprite.opacity = 255 #0
@showingFastForward = true
elsif (!$setFastForward && @showingFastForward)
Graphics.frame_rate=Normal_FrameRate
@sprite.dispose if @sprite
@viewport.dispose if @viewport
@showingFastForward = false
end
#update graphics to do flickering effect
if(@showingFastForward && @sprite.bitmap && Flickering)
if(@hide && @sprite.opacity > 0 && @sprite)
@sprite.opacity -= 6.125 #12.25 #25.5
elsif(@hide && @sprite.opacity <= 0 && @sprite)
@sprite.opacity = 0
@hide = false
elsif(!@hide && @sprite.opacity < 255 && @sprite)
@sprite.opacity += 6.125 #12.25 #25.5
elsif(!@hide && @sprite.opacity >= 255 && @sprite)
@sprite.opacity = 255
@hide = true
end
end
kleinfast_update
end
end
Script (frame skip version) [v17.2][v18.1]:
FastForward_FrameSkip
Spoiler:
#===============================================================================
# ■ Speed up script by KleinStudio
# Press F key (-during debug mode-) and fly!
# https://kleinstudio.deviantart.com
#
# Edited by TrankerGolD
# Added image to show (currently top left)
# - With flickering effect if you want
# Added hold or toggle to options
# Added more speeds to options
#
# FastForward with FrameSkip by Marin
#
# [FRAME SKIP VERSION]
#===============================================================================
Flickering = true
# if true adds flickering effect to image, false to deactivate
Speed_Up_FrameSkip=[2,3,4]
#Initialize new variables that will be saved
class PokemonSystem
attr_accessor :frameratestyle
attr_accessor :frameratespeed
alias old_initialize initialize
def self.initialize
@frameratestyle = 1 # FastForward
@frameratespeed = 0 # FastForward
old_initialize
end
def frameratestyle
@frameratestyle = 1 if !@frameratestyle
return @frameratestyle
end
def frameratespeed
@frameratespeed = 0 if !@frameratespeed
return @frameratespeed
end
end
$setFastForward = false # false by default
class PokemonOption_Scene
alias old_pbStartScene pbStartScene
def pbStartScene(inloadscreen=false)
old_pbStartScene(inloadscreen)
#adding new Options in position, if you want to add at the end you can use push instead of insert
@PokemonOptions.insert(6, #Options position after RunningStyle Option
EnumOption.new(_INTL("FastForward Key"),[_INTL("Hold"),_INTL("Toggle")],
proc { $PokemonSystem.frameratestyle },
proc {|value|
if $PokemonSystem.frameratestyle!=value
$PokemonSystem.frameratestyle = value
$setFastForward = false
Graphics.frame_rate=Normal_FrameRate
end
}
),
EnumOption.new(_INTL("FastForward Speed"),[_INTL("x2"),_INTL("x3"),_INTL("x4")],
proc { $PokemonSystem.frameratespeed },
proc {|value|
if $PokemonSystem.frameratespeed!=value
$PokemonSystem.frameratespeed = value
#$setFastForward = false
end
}
)
)
# Get the values of each option again
for i in [email protected]
@sprites["option"] = (@PokemonOptions.get || 0)
end
end
end
$frame = 0
module Graphics
if !defined?(kleinfast_update)
class << self
alias kleinfast_update update
end
end
def self.update
if $PokemonSystem.frameratestyle == 1 # TOGGLE
if Input.triggerex?(0x46) # F Key
$setFastForward=!$setFastForward
end
else # HOLD
if Input.triggerex?(0x46)#pressex?(0x46) # F Key
$setFastForward=true
elsif Input.releaseex?(0x46) # F Key
$setFastForward=false
end
end
if($setFastForward && !@showingFastForward)
@viewport = Viewport.new(0, 0, Graphics.width, Graphics.height) #0,0 = top left
@viewport.z = 999999 #if not showing add more 9s
@sprite = Sprite.new(@viewport)
@sprite.bitmap = Bitmap.new("Graphics/Pictures/FastForward")if pbResolveBitmap("Graphics/Pictures/FastForward")
@sprite.opacity = 255 #0
@showingFastForward = true
elsif (!$setFastForward && @showingFastForward)
@sprite.dispose if @sprite
@viewport.dispose if @viewport
@showingFastForward = false
end
#update graphics to do flickering effect
if(@showingFastForward && @sprite.bitmap && Flickering)
if(@hide && @sprite.opacity > 0 && @sprite)
@sprite.opacity -= 6.125 #12.25 #25.5
elsif(@hide && @sprite.opacity <= 0 && @sprite)
@sprite.opacity = 0
@hide = false
elsif(!@hide && @sprite.opacity < 255 && @sprite)
@sprite.opacity += 6.125 #12.25 #25.5
elsif(!@hide && @sprite.opacity >= 255 && @sprite)
@sprite.opacity = 255
@hide = true
end
end
$frame += 1
if $setFastForward
return unless $frame % Speed_Up_FrameSkip[$PokemonSystem.frameratespeed] == 0
end
kleinfast_update
$frame = 0
end
end
Image (add to Graphics/Pictures/):
![[PokeCommunity.com] SpeedUp/FastForward with Image and OptionsSelection (v17.2) [PokeCommunity.com] SpeedUp/FastForward with Image and OptionsSelection (v17.2)](https://i.imgur.com/Z3DfKtC.png)
[Frame Skip version will be notably faster but less smooth, it will work on v18.1,
see Marin's version of fast forward:https://www.pokecommunity.com/showthread.php?t=401043]
PS: It's been 3 years since i started to develop my own game with my friend, a lot of people has
been helping me indirectly in this community so I also want to contribute :). And sorry if the post is
longer than it should.
Last edited: