- 2,531
- Posts
- 5
- Years
- बिहार, भारत। Bihar, India.
- Seen Mar 19, 2025
Code:
#------------------------------------------------------------------------------#
# Pokemon Sprite Checker by Bhagya Jyoti
# Call by- PokemonSpriteChecker.new
# Don't forget to place the 2 graphics in their Pictures folder.
# This script allows you to check individual sprites in game.
# It can be used to check sprites for every form and follow pokemon.
#------------------------------------------------------------------------------#
# There are 4 comments in the script.
# 2 are just a few lines below, which checks for follow pokemon sprites.
# 2 are far below which tell how to use thi script in v17.
#------------------------------------------------------------------------------#
# This is just for teting purpose if you want to check multiple sprites.
# You can remove it in the release.
# Would like if you credit me if it helped.
#------------------------------------------------------------------------------#
class PokemonSpriteChecker
def initialize
@followpokemon = true
# Set it to true if you have Follow Pokemon Sprites and want to check them.
@defaultow = "Graphics/Characters/000"
# This is the default graphics if none is found for Follow Pokemon.
@dex = 001
@form = 0
@option = 0
@sprites = {}
@background = {}
@pokemon = {}
@overworld = {}
@viewmain = Viewport.new(0,0,Graphics.width,Graphics.height)
@left_x = 438
@left_y = 216
@right_x = 438
@right_y = 250
@normal_ix = 436
@normal_fx = 58
@normal_fy = 30
@female_iy = 18
@oworld_iy = 50
@normal_iy = 82
@select = {}
@select["right"] = Sprite.new(Viewport.new(@right_x,@right_y,@normal_fx,@normal_fy))
@select["right"].bitmap = Bitmap.new("Graphics/Pictures/setow")
@select["right"].src_rect.x = @normal_ix
@select["right"].src_rect.y = @female_iy
@select["left"] = Sprite.new(Viewport.new(@left_x,@left_y,@normal_fx,@normal_fy))
@select["left"].bitmap = Bitmap.new("Graphics/Pictures/setow")
@select["left"].src_rect.x = @normal_ix
if @followpokemon
@select["left"].src_rect.y = @oworld_iy
else
@select["left"].src_rect.y = @female_iy
end
@background["bg"] = Sprite.new(@viewmain)
@background["bg"].bitmap = Bitmap.new("Graphics/Pictures/setmon")
@background["bg"].z = 99998
@pokemon["f"] = PokemonSprite.new(@viewmain)
@pokemon["f"].setSpeciesBitmap(@dex,false,0,false,false,false,false)
@pokemon["f"].x = 96
@pokemon["f"].y = 96
@pokemon["f"].z = 99999
@pokemon["b"] = PokemonSprite.new(@viewmain)
@pokemon["b"].setSpeciesBitmap(@dex,false,0,false,false,true,false)
@pokemon["b"].x = 96
@pokemon["b"].y = 288
@pokemon["b"].z = 99999
@pokemon["s"] = PokemonSprite.new(@viewmain)
@pokemon["s"].setSpeciesBitmap(@dex,false,0,true,false,false,false)
@pokemon["s"].x = 288
@pokemon["s"].y = 96
@pokemon["s"].z = 99999
@pokemon["sb"] = PokemonSprite.new(@viewmain)
@pokemon["sb"].setSpeciesBitmap(@dex,false,0,true,false,true,false)
@pokemon["sb"].x = 288
@pokemon["sb"].y = 288
@pokemon["sb"].z = 99999
if @followpokemon
@overworld["ow"] = Sprite.new(@viewport)
@overworld["ow"].bitmap = Bitmap.new("Graphics/Characters/000")
@overworld["ow"].x = 192-(@overworld["ow"].bitmap.width/2)
@overworld["ow"].y = 192-(@overworld["ow"].bitmap.height/2)
@overworld["ow"].z = 99999
end
@overworld["bg"] = Sprite.new(Viewport.new(0,0,384,384))
@overworld["bg"].bitmap = Bitmap.new("Graphics/Pictures/setow")
@overworld["bg"].z = 99998
@overworld.each_value{|sprite| sprite.visible=false}
self.seePokemon
end
def setPokemon
case @option
when 0
@pokemon.each_value{|sprite| sprite.visible=true}
@overworld.each_value{|sprite| sprite.visible=false}
@pokemon["f"].setSpeciesBitmap(@dex,false,@form,false,false,false,false)
@pokemon["b"].setSpeciesBitmap(@dex,false,@form,false,false,true,false)
@pokemon["s"].setSpeciesBitmap(@dex,false,@form,true,false,false,false)
@pokemon["sb"].setSpeciesBitmap(@dex,false,@form,true,false,true,false)
@select["right"].src_rect.y = @female_iy
if @followpokemon
@select["left"].src_rect.y = @oworld_iy
else
@select["left"].src_rect.y = @female_iy
end
when 1
@pokemon.each_value{|sprite| sprite.visible=true}
@overworld.each_value{|sprite| sprite.visible=false}
@pokemon["f"].setSpeciesBitmap(@dex,true,@form,false,false,false,false)
@pokemon["b"].setSpeciesBitmap(@dex,true,@form,false,false,true,false)
@pokemon["s"].setSpeciesBitmap(@dex,true,@form,true,false,false,false)
@pokemon["sb"].setSpeciesBitmap(@dex,true,@form,true,false,true,false)
if @followpokemon
@select["right"].src_rect.y = @oworld_iy
else
@select["right"].src_rect.y = @normal_iy
end
@select["left"].src_rect.y = @normal_iy
when 2
@pokemon.each_value{|sprite| sprite.visible=false}
@overworld.each_value{|sprite| sprite.visible=true}
[email protected]_s
while ow.length!=3
ow="0"+ow
end
if @followpokemon
if @form!=0 && pbResolveBitmap("Graphics/Characters/"+ow+"_"[email protected]_s)
@overworld["ow"].bitmap = Bitmap.new("Graphics/Characters/"+ow+"_"[email protected]_s)
else
if pbResolveBitmap("Graphics/Characters/"+ow)
@overworld["ow"].bitmap = Bitmap.new("Graphics/Characters/"+ow)
else
@overworld["ow"].bitmap = Bitmap.new(@defaultow)
end
end
end
@select["right"].src_rect.y = @normal_iy
@select["left"].src_rect.y = @female_iy
end
end
def seePokemon
loop do
Graphics.update
Input.update
@pokemon.each_value{|sprite| sprite.update}
if Input.trigger?(Input::C)
dexlist = pbChooseSpeciesList(@dex)
@dex = dexlist!=0 ? dexlist : @dex
@form = 0 if dexlist!=0
self.setPokemon
end
if Input.repeat?(Input::UP)
@dex= @dex!=1 ? @dex-=1 : @dex=PBSpecies.maxValue
@form= 0
self.setPokemon
end
if Input.repeat?(Input::DOWN)
@dex= @dex!=PBSpecies.maxValue ? @dex+=1 : @dex=001
@form= 0
self.setPokemon
end
if Input.repeat?(Input::RIGHT)
if @followpokemon
@option= @option==2 ? 0 : @option+=1
else
@option= @option==1 ? 0 : 1
end
self.setPokemon
end
if Input.repeat?(Input::LEFT)
if @followpokemon
@option= @option==0 ? 2 : @option-=1
else
@option= @option==0 ? 1 : 0
end
self.setPokemon
end
if Input.trigger?(Input::F)
formcmds = [[],[]]
# Use `pbLoadFormsData` for Pokemon Essentials v17
formdata = pbLoadFormToSpecies
formdata[@dex] = [@dex] if !formdata[@dex]
if formdata[@dex]
for form in 0...formdata[@dex].length
fSpecies = pbGetFSpeciesFromForm(@dex,form)
formname = pbGetMessage(MessageTypes::FormNames,fSpecies)
formname = _INTL("Unnamed form") if !formname || formname==""
formname = _INTL("{1}: {2}",form,formname)
formcmds[0].push(form); formcmds[1].push(formname)
@form = form if @form==form
end
end
# Add `Kernel.` before `pbShowCommands` for Pokemon Essentials v17
@form = pbShowCommands(nil,formcmds[1],1,@form)
self.setPokemon
end
break if Input.trigger?(Input::A)
end
end
end
#------------------------------------------------------------------------------#
Attachments
Last edited: