• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokétch for Pokémon Essentials

971
Posts
7
Years
  • Age 21
  • Seen Nov 28, 2022
I seem to be having an odd little bug. Whenever I begin a playtest, I get a series of error messages in quick succession before compiling.
Spoiler:


This occurs regardless of whether the save is before or after obtaining a poketch (though I haven't confirmed if it's the same exact set of errors, just that they happen). All three script sections are placed above Main. The poketch itself appears to work fine (only tested with the default apps obtained with pbObtainPoketch). The only noticeable effect is the error messages themselves.

Rather than placing the scripts above the Main scripts, place them above all the PScreen_XXXX scripts. I've updated the OP to reflect that.
 

Chalk33

Ex-watchmaker from Polyhex (not even a Pokémon thi
13
Posts
7
Years
Rather than placing the scripts above the Main scripts, place them above all the PScreen_XXXX scripts. I've updated the OP to reflect that.

I actually did that at first, since I had gotten the scripts from Relic Castle where you did say to put them there. However, when I do that I instead get this error:
Spoiler:

This error actually causes the playtest window to close entirely. I had previously tried to comment out the line, but there were very similar issues from other lines. Moving the sections down to above Main had eliminated this issue, while causing the previously posted issues.
 
971
Posts
7
Years
  • Age 21
  • Seen Nov 28, 2022
I actually did that at first, since I had gotten the scripts from Relic Castle where you did say to put them there. However, when I do that I instead get this error:
Spoiler:

This error actually causes the playtest window to close entirely. I had previously tried to comment out the line, but there were very similar issues from other lines. Moving the sections down to above Main had eliminated this issue, while causing the previously posted issues.

Right okay, I see what the issue is.

It's inherent to the way I wrote the scripts, and it's not really something I can or want to solve.

But for a workaround, do put the scripts above Main. Then above the PScreen scripts, you'll want to make a new section and write down the following:
Code:
class PoketchClock
end

And do this for every PoketchXXXX class that you see in Poketch_Apps. They can all be in the same section above PScreen, like so (for instance; I forget if it's actually what these are called):
Code:
class PoketchClock
end

class PoketchCalculator
end
 

Chalk33

Ex-watchmaker from Polyhex (not even a Pokémon thi
13
Posts
7
Years
Right okay, I see what the issue is.

It's inherent to the way I wrote the scripts, and it's not really something I can or want to solve.

But for a workaround, do put the scripts above Main. Then above the PScreen scripts, you'll want to make a new section and write down the following:
Code:
class PoketchClock
end

And do this for every PoketchXXXX class that you see in Poketch_Apps. They can all be in the same section above PScreen, like so (for instance; I forget if it's actually what these are called):
Code:
class PoketchClock
end

class PoketchCalculator
end

Fair enough on not wanting to rewrite it, I completely understand.

But, no more error messages now. Thank you! I also want to add that adding it only for the clock app fixes the issue (or at least my version of the issue). Just some extra info I find interesting, lol. Thanks again for the help!
 
971
Posts
7
Years
  • Age 21
  • Seen Nov 28, 2022
Fair enough on not wanting to rewrite it, I completely understand.

But, no more error messages now. Thank you! I also want to add that adding it only for the clock app fixes the issue (or at least my version of the issue). Just some extra info I find interesting, lol. Thanks again for the help!

That's likely because the clock was the last used app - only the last used app needs it class stored. But since that could be any other app too, I'd make sure you get them all.
 

Diegou18

Forever Chandelure lover.
75
Posts
6
Years
  • Age 25
  • Seen Aug 16, 2021
It's me again. I was playing with some apps, and I've noticed an error in the Move Tester. When you go backwards using the left arrow, you arrive to the first type of your game, and you use the left arrow again, the app will show the last type that you've registered in your game, but when you use the right arrow to go forwards, if you go to the last type of your game, and you press again the right arrow, the function should show you the first type again, however, you'll get an error.
Is there a way to solve this?
Thanks in advance.
 
2
Posts
8
Years
  • Age 36
  • Seen Apr 27, 2021
It's a very good script and definitely one of my faves. However, in the DPP games, the Pokétch doesn't show up when menus such as party and bag are opened. Is there a way to implement this? In theory must not be that hard.
 
971
Posts
7
Years
  • Age 21
  • Seen Nov 28, 2022
Script has been updated:
  • Fixed battle transitions using the bottom-screen in its transition too with DUAL_SCREEN enabled.
 
Can you tell me step by step what to do to add poketch to pokemon essentials 18.1 plz

This script is for v17, and hasn't yet made compatible to v18, so you might get some errors. I have myself checked it on v18 and I didn't get any error(I didn't check it completely).

Now read the Installation section of the main thread, it is very clear how to install it.
1. DOwnload all 3 Poketch scripts(they are in .txt) and copy and paste them one by one in the same order above main.
2. Download the graphics and paste them in Graphics/Pictures/Pokegear folder.
3. download rpg.net.dll and paste it in the root folder of your game.
 

YashPokeFan123

#PokeFan
283
Posts
3
Years
  • Age 26
  • Seen Apr 28, 2023
This script is for v17, and hasn't yet made compatible to v18, so you might get some errors. I have myself checked it on v18 and I didn't get any error(I didn't check it completely).

Now read the Installation section of the main thread, it is very clear how to install it.
1. DOwnload all 3 Poketch scripts(they are in .txt) and copy and paste them one by one in the same order above main.
2. Download the graphics and paste them in Graphics/Pictures/Pokegear folder.
3. download rpg.net.dll and paste it in the root folder of your game.

Where Marin Scripting should Installed
 
Where Marin Scripting should Installed

No, but you will require Luka's Easy Mouse System.

plus, place the 3 scripts not only above Main but above PScreen scripts. Scroll up the script section to find the PScreen scripts, and place all 3 scripts above it.
Also, read the main thread from starting so that you become more cleared with what to do.
 
232
Posts
7
Years
  • Age 28
  • Seen Apr 24, 2024
You know that thing on your bottom screen in generation 4 (Sinnoh)? That's a Pokétch, or Poké Watch. I thought it'd be funny to try to replicate that in Pokémon Essentials, so that's what I did.

It supports both dual-screen and single-screen, though dual-screen is what it was initially designed for.

This Pokétch currently has a grand total of 23 apps:
  • Clock
  • Clicker
  • Calculator
  • Pedometer
  • Itemfinder
  • Move Tester
  • Rotom (custom)
  • Marking Map
  • Matchup Checker
  • Party
  • Color Changer
  • Kitchen Timer
  • Analog Watch
  • Stat Display (custom)
  • Roulette
  • Day Care Checker
  • Pokémon History
  • Calendar
  • Coin Flip
  • Stopwatch
  • Notepad (custom)
  • Alarm Clock
  • Safari Helper (custom)



Credits
  • Marin
  • Modeling Clay (Sprites for Rotom, Stat Display, and Safari Helper)
  • Luka S.J. (For his Easy Mouse System)




Installation
You'll need to install Luka S.J.'s Easy Mouse System from the Universal Plugin Installer

There are three script sections you'll need to grab:
Pokétch_Main
Pokétch_Utility
Pokétch_Apps
Make sure to put these in new sections above all the PScreen_ scripts.

Next, download the Graphics pack and put it under Graphics/Pictures/Poketch:
Download Graphics

The Roulette app also requires RPG.Net. If you want to be able to use Roulette, you must install this dll and put it into your main, root folder:
RPG.Net.dll



Dual-screen Usage
You will first need to set DEFAULTSCREENHEIGHT in Settings to 768, which is double the normal height (384 * 2).

The script is configured for dual-screen by default. If you don't have the Pokétch, a background will be chosen (the path is in Pokétch_Main, NO_POKETCH_BACKGROUND).
You can also have to define where on the vertical axis the Pokétch will be. By default, this is right underneath the first screen, meaning at a Y value of 384. This is POKETCH_Y in Pokétch_Main.
To actually tell the script that you're using dual-screen, you need to have DUAL_SCREEN in Pokétch_Main set to true.

Now to actually gain ownership of the Pokétch, you simply need to do pbObtainPoketch. By default, this will enable the Clock, Clicker, Calculator, and Analog Watch. You can change this by going in def pbObtainPoketch(animate = true) and changing the pbEnableApp in there.

To take away the Pokétch (and show the no_poketch_background again), you can call pbTakePoketch. This will not disable or enable any apps, but just take away the Pokétch.

IMPORTANT: Dual-screen Pokétch will likely have broken your battle system in terms of Pokémon positioning. To fix this, you'll need to fiddle around with Y values in PokeBattle_SceneConstants.





Single-screen Usage
Using the Pokétch with one screen is also an option. To configure it for single-screen, follow these steps:
  • Set DEFAULTSCREENHEIGHT in Settings to the normal height, 384.
  • Set DUAL_SCREEN in Pokétch_Main to false
  • Set POKETCH_Y in Pokétch_Main to 0
You now have a proper, normal game. The Pokétch is not running in the background anymore.
To call the Pokétch (from something like a pause menu or hotkey), call pbPoketch. This will open up the Pokétch.





General Usage
Each and every Pokétch app can be enabled and disabled. The methods behind this are:
pbEnableApp(app_id)
pbDisableApp(app_id)


You might be wondering, what's this app_id about?
Every Pokétch app has an ID. You could look this up manually in module PoketchApps and fill in the ID you found for your app, but you could also do PoketchApps::appname.
Let's say you want to get the ID of the Pokémon History app, you would do PoketchApps::PoketchPokemonHistory. All classes for Pokétch apps I wrote start with Poketch, but that's not a requirement. Spaces aren't allowed, and I didn't use any special characters (such as é).

If you want to enable or disable everything, you can use one of the following methods:
pbEnableAll
pbDisableAll


If you're using Dual-screen mode, you have the ability to force switch to an app by using pbChangeApp(app_id). This bypasses availability and usability, which means that it will switch to this app even if it's disabled, and even if the conditions that might be given in the class aren't met.





Documentation on the apps

Apps in general
Every app inherits from PoketchApp. This class creates the @viewport Viewport and @bg background Sprite in its constructor, def initialize.
Every Pokétch App must call super in its constructor first.
If the app uses click?, it must call super in def update.
Every Pokétch App should call super LAST in def dispose. This disposes @bg and @viewport.

If you want an app only to usable under certain conditions (on top of whether or not the app is enabled/disabled), you can add a method def self.usable?, which should return a boolean (true/false).

  • Clock: This app will show the computer's time. It will refresh whenever it detects the hour or minute has changed since the last time it refreshed. The method that refreshes the app is draw_time.
  • Clicker: This app allows you to click on a button for a variable to be incremented with one for every button press. $PokemonTemp.click_count stores the click count, because it doesn't need to go into the save file, and the variable resets whenever you switch apps, so the PokemonTemp class was fine.
  • Calculator: Yeah, I don't fancy talking about this one. All I can say is that it's one big, working mess.
  • Item Finder: Every event with .hidden in its event name will be picked up by the Itemfinder, if the event isn't unlisted.
    To unlist an event, meaning that it won't be picked up by the itemfinder, use pbUnlist(event_id).
    To list an event, meaning that it will be picked up by the itemfinder, use pbList(event_id). Every event is listed by default (if it has .hidden in the name).
  • Rotom: You can specify messages the Rotom in this app will say to you. For documentation on the methods, please refer to class PoketchRotom in Pokétch_Apps.
  • Move Tester: Allows you to test type effectiveness. Pseudo types are ignored (?????, for example).
  • Pedometer: Counts your steps in variable $Trainer.steps. Adds a proc to Events.onStepTaken to increase the step count.
  • Marking Map: Allows you to drag and drop markings on the map. If you click the sprite, it'll be selected and follow your mouse around. If you click somewhere, it'll go there and be seen as unselected and no longer follow your mouse.
  • Matchup Checker: Only usable if you have 2 or more Pokémon in your party. Checks how well they would breed together. Clicking one of the icons picks the next slot in the Party and plays its cry. You can't check a Pokémon against itself.
  • Party: Shows you your whole party. Shows HP (and fainted), and an item icon if they have an item. Clicking a Pokémon plays their cry.
  • Color Changer: Adds a colored overlay over the screen.
  • Kitchen Timer: Counts down every Graphics.update call.
  • Analog Watch: Display current time. See def position for the formula.
  • Stat Display: Shows you each party member's EVs and IVs. Plays its cry upon switching.
  • Roulette: Only usable if you downloaded RPG.Net.dll.

    You can draw in the circle. If you hit play, it'll spin until you click stop. Clear your drawings with the C button.
  • Day Care Checker: Shows you your Pokémon in the day care. If there's an egg, it'll display it.
  • Pokémon History: Every Pokémon that evolves, is traded, caught, or is hatched, is registered in $Trainer.pokemonhistory. It displays the latest 12 and plays the cry if you touch a Pokémon.
  • Calendar: It's a calendar. The current month has a box around it, and you can mark dates by clicking on them. Does support leap years.
  • Coin Flip: Magikarp or ball. Heads or tails. Flip the coin by clicking on it.
  • Stopwatch: Counts up every Graphics.update.
  • Notepad: As the Memo Pad doesn't appear to be realizeable, I made a notepad instead. You can use your keyboard to write on it. These characters are supported:
    Code:
    AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
    0123456789)!@#$%^&*(-_=+,<.>/?'"[{]};:`~\|

    You can write if the button is pressed. If it is pressed, you cannot walk or do anything other than write, switch apps, or click the button again to stop writing.
  • Alarm Clock: Goes off at the time you specify. It'll go off for the whole minute, unless you turn it off.
  • Safari Helper: Only usable while in the Safari Zone. It displays the amount of balls you have and the amount of steps you have left. You can also end the safari zone game with it.


Feeling like making your own app?
I hope you'd be able to figure it out by reading the top of Pokétch_Apps and Pokétch_Utility.
If you have made your own app and feel like sharing, please feel free to leave your creations in this thread!




I really liked the Dual Screen, you configured it to be below the main screen, could you tell me how do I put the right of the main screen? I tried changing the coordinates but my game broke, could you help me? Excellent script!
 

YashPokeFan123

#PokeFan
283
Posts
3
Years
  • Age 26
  • Seen Apr 28, 2023
Can anyone tell me how to insert poketch fine in18.1 with easy mouse system and Marin Scripting utilities
 
Back
Top