• Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Easy Debug Terminal

Resource Easy Debug Terminal 1.3

ENLS submitted a new resource:

Easy Debug Terminal - A quick, easy-to-use terminal you can use to execute script commands within the game

Easy Debug Terminal

A quick, easy-to-use terminal you can use to execute script commands within the game.

Overview:​

This plugin adds a small input window which can be used to execute any script commands that you previously would have to create debug events in order to test. This can be used for pretty much anything, and can be a HUGE time-saver during development...

Read more about this resource...
 

-FL-

Pokémon Island Creator
Member
Joined
Aug 28, 2022
Posts
274
Great job!

I prefer to use with
Code:
rescue => e
 echoln(e.message)
at "rescue Exception" place. So, when I made a mistake, the error message is printed on console instead of being a silent error.
 

Ignitus

Charizard X trainer
Member
Joined
Aug 29, 2021
Posts
46
Reminds me of console command for checking immediately testing if that mon or item works. Love it!
 

safr

Elite Trainer
Member
Joined
Dec 6, 2021
Posts
315
Did i still need the rpgxp project?

Because i already copy the the extracted folder and press ctrl it's still not working
 

Gardenette

Cooltrainer
Member
Joined
May 30, 2022
Posts
156
Would this help me find out what's causing a switch to be turned on when it should not be?
 

-FL-

Pokémon Island Creator
Member
Joined
Aug 28, 2022
Posts
274
I did two more mods for this script. I suggest you to implement both.

Enable Ctrl+C and Ctrl+V:
Before line
Ruby:
if Input.triggerex?(:ESCAPE)
add:
Ruby:
    if Input.pressex?(:LCTRL) || Input.pressex?(:RCTRL) #mod
      if Input.triggerex?(:C)
        Input.clipboard = window.text
      elsif Input.triggerex?(:V)
        window.text += Input.clipboard
      end
    end

echoln as default:
Change line
Ruby:
pbMapInterpreter.execute_script(script) unless nil_or_empty?(script)
to
Ruby:
echoln(pbMapInterpreter.execute_script(script)) unless nil_or_empty?(script)
 
Last edited:
I did two more mods for this script. I suggest you to implement both.

Enable Ctrl+C and Ctrl+V:
Before line
Ruby:
if Input.triggerex?(:ESCAPE)
add:
Ruby:
    if Input.pressex?(:LCTRL) || Input.pressex?(:RCTRL) #mod
      if Input.triggerex?(:C)
        Input.clipboard = window.text
      elsif Input.triggerex?(:V)
        window.text += Input.clipboard
      end
    end

echoln as default:
Change line
Ruby:
pbMapInterpreter.execute_script(script) unless nil_or_empty?(script)
to
Ruby:
echoln(pbMapInterpreter.execute_script(script)) unless nil_or_empty?(script)
Oh my gosh, I wasn't getting notifications for this discussion thread, so I didn't see this until now. 🤯

Yeah the clipboard feature is something I added into the plugin a long time ago and just forgot to release, so that will definitely be added.
The always echoln is a great idea too, I'll look into that for the v21 update!

Thanks! 😄
 
ENLS updated Easy Debug Terminal with a new update entry:

Version 1.1 - Updated to Essentials v21

Easy Debug Terminal has been updated to 1.1​

  • The plugin is now compatible with Essentials v21
  • Added clipboard features
    • CTRL+C to copy current terminal text to clipboard, CTRL+V to paste into the terminal
  • The terminal now keeps track of all previously ran scripts since the game was opened, so you can keep pressing arrow up/down to go as far back as you want.
  • The terminal will now automatically print...

Read the rest of this update entry...
 

Hipi

Rookie
Member
Joined
Jun 29, 2023
Posts
4
Does it work for 20.1?

I have this error when i try to open the terminal:

Code:
[2023-07-10 13:36:57 +0200]
[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.7]

Exception: TypeError
Message: nil can't be coerced into Integer

Backtrace:
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:92:in `-'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:92:in `update'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:81:in `block in pbFreeTextNoWindow'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:72:in `loop'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:72:in `pbFreeTextNoWindow'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:44:in `update'
[v20.1 Hotfixes] Overworld bug fixes.rb:27:in `block in main'
[v20.1 Hotfixes] Overworld bug fixes.rb:25:in `loop'
[v20.1 Hotfixes] Overworld bug fixes.rb:25:in `main'
386:Main:35:in `mainFunctionDebug'

If someone can help :( thank you!
 
Does it work for 20.1?

I have this error:

Code:
[2023-07-10 13:36:57 +0200]
[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.7]

Exception: TypeError
Message: nil can't be coerced into Integer

Backtrace:
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:92:in `-'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:92:in `update'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:81:in `block in pbFreeTextNoWindow'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:72:in `loop'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:72:in `pbFreeTextNoWindow'
[Easy Debug Terminal] 000_Easy Debug Terminal.rb:44:in `update'
[v20.1 Hotfixes] Overworld bug fixes.rb:27:in `block in main'
[v20.1 Hotfixes] Overworld bug fixes.rb:25:in `loop'
[v20.1 Hotfixes] Overworld bug fixes.rb:25:in `main'
386:Main:35:in `mainFunctionDebug'

If someone can help :( thank you!
This version is specific does not work for v20, only v21.
Here's a version that should work for v20.1.
 

wrigty12

Tester-Coder Hybrid
Member
Joined
Jul 24, 2022
Posts
493
I found myself always typing the same commands while testing, so I created a list of default commands that the terminal preloads into its history so each time I restart testing, I'd have access to them immediately without having to type/paste them again.

Added the config variable:
Ruby:
TERMINAL_DEFAULTS = [ #starts top to bottom
    "pbReceiveItem(:RARECANDY)",
    "echoln 'test'"
]

I then altered the lastcommand function to set @lastcommand to be that variable instead of an empty array each time

Ruby:
class Game_Temp
  attr_accessor :lastcommand

  def lastcommand
    # @lastcommand = [] if !@lastcommand # Removed this line
    @lastcommand = TERMINAL_DEFAULTS if !@lastcommand # Added this line
    return @lastcommand
  end
end

Just a consideration to add to your base script! I thought about also looking in to saving history to an external file so it remembers things between each playtest, but I didn't feel like doing file reading when the variable method I made was so easy.
 
Back
Top