FANDOM


Changing the signpost windowskin
This tutorial was written by Tustin2121. Credit is not required.

This tutorial is related to the following pages:

Click here for more tutorials!


The Location Signpost is the window in the top-left corner of the screen that appears when the player enters a new map (with the appropriate metadata set). In an unmodified Essentials game, this window uses the player's chosen window skin. Here is how to change it to something custom.

(This tutorial was written for version 16.1.)

Basic Skin Change

1. Choose a window skin from the Graphics/Windowskins folder, or make your own windowskin. Remember to follow the proper format when making your own skin.

2. Open up your script editor and go to the PField_Field script section. Find the LocationWindow class (Ctrl+F is your friend). Add the following highlighted line of code to the class's initialize function:

 def initialize(name)
   @window=Window_AdvancedTextPokemon.new(name)
   @window.setSkin(pbResolveBitmap("Graphics/Windowskins/[NAME_OF_CHOSEN_SKIN]"))
   @window.resizeToFit(name,Graphics.width)
   @window.x=0
   @window.y=-@window.height
   @window.z=99999
   @window.viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
   @currentmap=$game_map.map_id
   @frames=0
 end

Make sure you replace "[NAME_OF_CHOSEN_SKIN]" with the filename (without the extension) of your chosen skin, obviously. This will make the location signpost always show with that window skin.

Location-Based Skin Changes

Instead of the above, insert the following script in a new script section above Main:

 SIGNPOST_LOCATIONS = {
 # === Edit Below ===
 # map_id => "windowskin_name",
   2 => "speech dp 19", # Lappet Town
   5 => "choice 22", # Route 1
   7 => "sign hgss 1", # Cedolan City
 # === Edit Above ===
 }
 
 class LocationWindow
   def initialize(name)
     @window=Window_AdvancedTextPokemon.new(name)
     @window.setSkin(self.getWindowSkin)
     @window.resizeToFit(name,Graphics.width)
     @window.x=0
     @window.y=-@window.height
     @window.z=99999
     @window.viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
     @currentmap=$game_map.map_id
     @frames=0
   end
   
   def getWindowSkin
     skin = SIGNPOST_LOCATIONS[$game_map.map_id]
     skin ||= MessageConfig.pbDefaultWindowskin
     return pbResolveBitmap("Graphics/Windowskins/#{skin}")
   end
 end

The SIGNPOST_LOCATIONS hash is where you put the windowskins you want to display for a given map id. The three provided are for the Essentials example maps Lappet Town, Route 1, and Cedolan City.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.