[RM2K3] XInput/Xbox 360 Controller Integration

I've posted about this plugin randomly a few times before, and figure it'll get more exposure here as opposed to a plugin submission (plus I'm switching everything over to github for my own sanity). So without further adieu, here it is!

XInput/Xbox 360 Controller Integration======================================
For RPG Maker 2003 with DynRPG v0.20 or higher
By PepsiOtaku

This plugin enables full support for Xinput-based controllers, including the Xbox 360 controller family (guitars, drums, dance pads, etc).
Wireless controllers require the Xbox 360 Wireless Gaming Receiver for Windows

Wired controllers work as-is assuming you have the drivers installed. They are found here:

This plugin supports key-bindings via virtual keycodes set in DynRPG.ini. See virtual_keycodes.txt for a full list of values.
It also has full rumble support, set via comment command, with numerous settings. See Installation section below for more details
about the keybindings.

Also, the Guide button is SUPPORTED. Microsoft doesn't allow for this out of the box, but there are ways to circumvent that.
However, it is recommended to disable Microsoft's "XboxStat.exe" process (battery popup) in the task manager to remove any conflicts
between the key binding you define, and the battery popup.
You can also disable it completely via msconfig (Start > Run > "msconfig" > Startup Tab > Uncheck XboxStat.exe). I'm working on a better solution for a future version of this plugin. You can also choose not to set any keybindings for it.

The Guide button also integrates with my Game Jolt ( plugin as its default value to call the game jolt menu
is set to Shift-Tab. In that menu, you'll see achivements & leaderboards (like Steam or Google Play).
As of 3/4/15, the plugin is not yet released, but is VERY close. I just need to fix one bug and do some beta testing for it. Stay tuned!

NOTE: Xbox One controllers do not work with windows yet. If/when they do, I'll look into supporting them.


See the readme for the full details, installation instructions, and run-down of comment commands (there's 7). It's capable of a ton of neat little things that are all explained there.

Assuming you followed the directions correctly, it should work with default keybindings out of the box. Feel free to ask me any questions!

What the plugin doesn't do yet:
-Right now, analog sticks are bound to keys like a D-Pad would be. I need to add a way to pass the analog axis to variables if you want that sort of thing. It would allow for that whole analog precision thing, but it would take a helluva game to require something like that. I'll add it when I have time though...

-At the moment, it only supports 1 player, but it should be fairly easy to add more. Again... that whole time thing...

What this plugin will never do:
-Xinput virtual keyboard stuff... Xinput has its own keyboard key detection, but it's not really needed since 2k3 has a keypress detection function, and WINAPI has keypress detection functions

- I think Xinput also has some kind of legacy controller support, but that might be a lot of work to add that in since it uses different byte values and stuffs. I don't even know how I would test it.

Extra-Life 2013: Play video games for charity!

"Video games for charity, you say?"

Why yes! That's right! This year, I'm participating in...

A charity event where people play video games for a solid 24 25 hours in the name of helping the youngins. Best part is... it's live-streamed! If you are feeling charitable, you can donate to my cause and help me reach my goal of $250, or you can participate in the event yourself! Signing up is the easy part, and additionally, we can make this a Team Event! That's right. You can be a part of...


It's still in its infancy obviously, but if you have nothing better to do on Nov 2, and want something to feel good about, join up! It takes 5 minutes. I obviously have no idea how many of you will be interested in this, but I've started our team's goal for $1000! I think we can totally get there and then some if we spread the word around! Donations don't need to come solely from RMN either, so tell your friends and family too (or other sites even)!

If you decide to donate, please post your donation page and the hospital you are supporting so that I can add it to this post!

Also, I've made this pixeltastic banner that you can add to your page to support the team:

As for my event in particular, you can donate at my page below:

Donations will go towards supporting Hasbro Children's Hospital.

The event will start at 8am EST, streamed live via for your entertainment--so you can watch me suffer from lack of sleep on hour 23! I will be doing LIVE Let's Try's and attempt to play YOUR RPG MAKER GAMES for 25 hours straight, with an occasional gam mak hour of my own thrown in, and maybe get some visits from friends in the area. What will I play? It's up to you! Suggest away, and I'll make it happen. The stream will be be found at:

At the very least, I hope you decide to donate to my cause! Thanks for reading!

Donations & Team Members

The List of Totally Awesome People & Participants
1. Kentona, on behalf of RMN - For his generous donation of $50!
2. Archeia_Nessiah - International Children's Miracle Network
3. Darken - IWK Health Centre Foundation
4. Hirei - Riley Hospital for Children
5. LordBlueRouge
6. (You!)

Helpful Links

About Extra-Life
Official Blog

Extra Life 2012 Live Stream Directory
(Additional 2013 content will be here too)

I'm going to take a page from penny arcade's book and add one simple rule for this thread: Dont' be a dick. It's not funny or clever. If you feel like trolling this thread for shits and giggles, you are in the wrong place.

My streamis now LIVE!

Also, if you're bored by my stream at any time, don't forget to check out the other streams:




[DynRPG Plugin] MessageExtender by Morden

So I found this great little DynRPG plugin on one of the German forums (multimediaxis) called "MessageExtender" (by Morden) that I thought I would share. It allows for additional message commands to display the switch's numeric value, hero rank, item name/description, skill name/description, condition name & event name. This is amazing for things like chests that give you random items because you can just control it by variable and use a single Message box command instead of one message box command for each item you want to display, which would be a pain in the ass to code.

He also included the source, so you or I can add additional commands in the future pretty easily. Personally, I would love to be able to display monster skills (which I'm guessing would come from some kind of array), but I don't think that's supported in DynRPG yet.

Anyway, here are the commands:
\B[?] Or \b[?]
     - Switch value (0 or 1)
\E[?] Or \d[?]
     - Hero rank (degree)
     - Item name
     - item description

\F[?] Or \f[?]
     - Condition name
     - Skill name
     - Skill Description
\E[?] Or \e[?]
     - Event Name

The source included, along with a quick & dirty google translate version of the readme.

Here's the forum post:

PepsiOtaku's DynRPG Plugin Emporium!

PepsiOtaku's DynRPG Plugin Emporium!

Hey there folks! So if you haven't noticed yet, I've been busy uploading some of the plugins I've made for DynRPG to hopefully generate some new interest and spread the word that RPG Maker 2003 isn't as limited as it used to be. The possibilities really are endless, and anyone can start developing plugins! Yes, even you!

First off, I am not by any stretch of the imagination a coding guru. I took a couple weeks back in February and followed the C++ tutorials HERE in order to learn the basics. From there, I started brainstorming what kinds of things I wanted to try with DynRPG, and dove right into it. Understanding the SDK and how it interacts with RPG Maker 2003 is probably the hardest part (yes, harder than actually learning C++). There's a lot to read and understand, but it's not impossible! If I can do it, you can too!

With that said, my main use for this thread is to consolidate the plugins I've made into one place that people can go to and view, as opposed to sifting through the DynRPG thread for hours with varying success. Most of the plugins I've made so far are GUI changes, and can all be interconnected, so I've dubbed these CMS Tools.

So here, goes. Onto the plugins!

I've moved everything over to GitHub so I can update plugins more easily:


Old stuff below

Don't limit yourself to just DynRPG. Cherry has made a plethora of other patches that you may find useful, that can be patched on top of DynRPG. I've created a collection of my personal favorite patches, pre-patched for your convenience! If you are planning on making custom menus, these are indispensable. Grab them below:

CMS Tools: DynRPG IPS Patch Compilation


- Better Auto-Enter Patch (for custom title screens)
- Custom Save/Load Patch (for custom save/load menus)
- Save Switch Patch ("Save" command in the main menu turns on a switch)
- No Auto-Battle Patch (removes Auto-Battle window)
- Message Window Display Hack ("Shift" key always fills out message window text, and ignores text speed changes)
- bugmenot's Reflect animation bugfix

CMS Tools
This is a collection of powerful plugins designed specifically for making customized menu screens, and controlling certain aspects of RM2k3's engine that wasn't previously controllable.

Here's a taste of what you can do with these plugins:

CMS Tools: Advanced Faster ATB

This plugin allows you to control the battle speed by a variable, and set a default percentage to multiply the battle speed by from within the DynRPG.ini.

ATB Overhaul

This plugin allows you to control the speed calculations of party members and monsters independently, in turn controlling the speed of ATB bar. Because of this, it dramatically changes the active/wait system.

CMS Tools: Order Switch

This plugin overrides the default "Order" command in the main menu and turns on a switch. This allows you to design a custom menu via common event, and go to it directly from the main menu, the same way Cherry's Save Switch Patch does with the "Save" menu. It also makes "Order" always selectable.

CMS Tools: Quit Switch

This plugin overrides the default "Quit" command in the main menu and turns on a switch.

CMS Tools: Extra Keys (from RagnaDyn)

This plugin allows for the ATB mode, fullscreen toggle, and windowsize toggle, to be controlled by switches.

CMS Tools: Save Detector & Delete Save function

The Save detector portion detects if you have any save games present in your game directory, and is specifically used for your custom title screen. If there are saves present, switch will be turned ON. If there are no saves, it will be turned OFF.

The Delete Save portion combines my earlier "Save Detector" plugin with a function to delete save files by setting a variable to the Save's ID. After it deletes a save file, it automatically runs a check to see if all of the saves have been removed, and changes the save detector switch accordingly.

CMS Tools: Save Cleanup

This plugin fixed a minor bug caused by DynRPG. If you save a game while using DynRPG, and then install a new plugin, and load your save again, it will just show a black screen and hang. To get around this, I made a plugin that deletes all of the "Save##.dyn" files upon quitting the game.

CMS Tools: Menu Transition Tweaks

When the menu goes from Save/Order/Quit to a Switch ON state using one of the other CMS Tools plugins, there was a transition bug that showed the screen before the Switch ON event could act. This makes this transition "Hide Screen" when you go to the Save/Order/Quit command, allowing the developer to manually control the transition via a "Show Screen" command. The recommended use is to initialize all of your images (Show Picture), and then show the screen.

CMS Tools: Global Save Data (Store a range of variables)

This plugin was designed to work alongside the CustomSaveLoad patch. It saves variables from a particular save file into a binary "database" (SaveGlobal.dyn) and assigns them an identifier based on the save file (Save13.lsd = an id of 13). Using this identifier, the plugin can import those variables from another save file, allowing you to display Heros, HP, MP, Lvl, Location, Gold (among other things) in your custom save/load menu.

CMS Tools: Main Menu Game Playtime Clock w/Foreground & Background Image Support

This plugin calculates & displays the time played in the main menu. It does this by identifying the amount (in seconds) the current session has been open (since either starting a new game or loading a save), and adds this amount to the total playtime, then converts the result to a clock format.

It also supports easily adding both a foreground & background image to your main menu.

CMS Tools: Battle Layout Changer

This plugin allows you to change the System2 set & Battle Layout setting (Traditional/Alternative/Gauge) by setting a variable for either, and setting Large/Short Windows & Window Transparency by switch!

CMS Tools: Hero Rename

This plugin allows you to extract the name of a hero to a range of variables and vice-versa, allowing you to build a custom enter hero name screen.

System: Display Options

This plugin enables RPG_RT.ini settings like starting in a window or fullscreen, and enables Cherry's "AnotherFullscreenMode" tool, with in-game controls for all. With it, you can create a "Display Settings" menu in-game with several options, and the ability to add your own default ini settings of any kind that the user can change easily if they wish.

Battle Enhancements
This is a category I'll hopefully be growing soon, and contains anything battle-related.

Provoke Skill

This plugin adds the ability for a "Provoke" skill. What it does is tracks the hero who cast it, and tells the enemy target to attack that hero as long as the "Provoke" condition on them lasts. It also supports multiple hero/monster scenarios, so potentially, all of your party members can Provoke different enemies, and the monsters will stick to their corresponding attackers. Additionally, if 2 different heroes Provoke the same monster, the monster will attack the last hero to Provoke them.

MP/Stat Popup in Battle

This plugin displays MP in battle after MP has been healed. It supports all heroes at once in addition to individual heroes.

Store Item, Skill ID & Condition ID in Battle

This plugin will store the Skill or Item ID that's used during a battle's action to a variable, and turn on a switch saying it was done. This allows for additional battle trigger conditions.

Everything else.

Auto Switches w/ Custom Var Import/Export

This plugin allows for auto-switches by event # & page #, meaning you can add things like chests & searchable pots without using precious switches. Additionally, if you wanted to give something different search states (searched more than once) you can just add more pages. It also includes commands to save/load additional variables by name.

System/Custom Sound & Music Player

Calls system sound effects and music from any event script via comment command. You can also set your own custom se/bgm assignments to call via DynRPG.ini (like character themes, & frequently used sounds & music)

Epic Run Key

This plugin allows you to easily add a run key system to your game, and will automatically change the hero's charset according to a speed threshold parameter you set. For instance, if you want the walk speed to be set to "3" and the run speed to "4" Setting the threshold to "4" will use the running charset when the hero is at speed 4.

Project Templates

I included a project template with my Game Playtime Clock plugin, but projects for the other plugins (or one big "CMS Tools" project) is on my To-do list, balancing my ongoing work Everlasting Journey.

Unfortunately I don't have a plug & play System, Save/Load, or Party menu plugin yet, but it's a project I've been curious about investigating further. It would be very ambitious


Please report problems related to individual plugins in their respective threads. If you want to improve on any of them, I've included sources in each of the downloads. If you decide to redistribute you're version of the plugin, I only ask that you credit me somewhere for the original code.

Do not flood me with a zillion plugin requests. I'm only interested in making battle plugins at the moment, so if you have an idea that would improve on the DBS, that everybody would benefit from (like a plugin-based Scan or Steal command), request away.

Plugin requests for bugfixes are a bit beyond my skill level at the moment. If we can grow the DynRPG community more, it will encourage Cherry to make future improvements on DynRPG, where he can hopefully fix additional bugs.

All-in-all, I hope this thread is beneficial to some people. Viva la RM2k3!

[DynRPG Plug-in] Provoke Skill

Provoke Skill

I noticed this was requested here and couldn't help myself, as I needed the practice with battler-related commands.

This plugin adds the ability for a "Provoke" skill. What it does is tracks the hero who cast it, and tells the enemy target to attack that hero as long as the "Provoke" condition on them lasts. It also supports multiple hero/monster scenarios, so potentially, all of your party members can Provoke different enemies, and the monsters will stick to their corresponding attackers. Additionally, if 2 different heros Provoke the same monster, the monster will attack the last hero to Provoke them.

(source included)


To install the plugin, make sure that you have patched your project with cherry's DynRPG patch which can be found here:

1. Copy the "battle_skill_provoke.dll"into the DynPlugins folder of your own project.

2. Add the following (between the asterisks) to your DynRPG.ini:




3. This plugin uses a maximum of 8 variables, depending on how many enemies you use in your battles.
This sequence of vars starts on the "StartingVar" Id. (Example: 401-408)

4. Change the SkillID to your Provoke Skill (100% success is recommended, but do as you wish)

5. Change the Condition ID to your Provoke Condition


This plugin is pretty much plug and play, so just load your game, then open the menu! Voila!

[DynRPG Plug-in] Main Menu Game Playtime Clock

Main Menu Game Playtime Clock (version 2)
w/Foreground & Background Image Support

I'd like to share a plug-in I just finished. This plug-in calculates & displays the time played in the main menu. It does this by identifying the amount (in seconds) the current session has been open (since either starting a new game or loading a save), and adds this amount to the total playtime, then converts the result to a clock format.

I made sure there were no memory leaks or anything, so this plugin should be stable. Let me know if you spot any serious issues!

(source & test project included)


To install the plugin, make sure that you have patched your project with cherry's DynRPG patch which
can be found here:

1. Copy the "game_clock.dll"into the DynPlugins folder of your own project.

2. Edit Picture\menu-time_fg.png to match your project's system graphic. This image also doubles as a foreground image, which you can use to further decorate/modify the menu screen. The file can be changed via your DynRPG.ini file.

3. Additionally, this plugin supports adding a background image (placed behind the system window)

4. Add the following (between the asterisks) to your DynRPG.ini



5. Change the numeric values 4003, 4004 etc to the variables of your choice.

6. Pixel.png is a dummy image used for the text display.

7. TimeTextDisplay is the actual label text displayed in the menu.

8. ForegroundImage is the window image below the time display. You can use this image to alter other aspects of the main menu screen. See below. The image on the right shows the alterations I made.

9. If you would like to add a background, change the value of BackgroundImage to the file of your choice.

Note: The ForegroundImage and BackgroundImage must be no larger than 320x240

Forgot to add this to the readme, but this is an explanation of the variables:

SessionStart - Stores the cpu time the session started (in seconds)
SessionCurrent - Stores the cpu time the session is currently on (in secs)
SessionSecs - Stores the difference (in secs)
PlaytimeSecs - This is your total gameplay time on a particular save. This can only be edited to a specific value by setting the RestartTrigger.
PlaytimeHH - Hour digit (Max is 65535)
PlaytimeMM - Minute digit
PlaytimeSS - Second digit
RestartTrigger - Used to manually set the playtime to a certain time (ie. Setting it to "0" would reset the time to 0)

- Fixed BackgroundImage on Save/Load menu

- Added support for variable controlled foreground & background images. Use "ForegroundVar" and
"BackgroundVar" to set the variable ID's youw ill use to control the background images

- "ForegroundImage" and "BackgroundImage" still identify the default images. To define additional images,
make a copy of those with the number you will assign the variables to after the identifier.
Example: If ForegroundVar 4011 is set to "2", the plugin will look for "ForegroundVar2="


With this functionality, you can add multiple system sets to your game, and the plugin can still support it

Extra: Extract game_clock_testProject.rar to see a test project with it in action!

This plugin is pretty much plug and play, so just load your game, then open the menu! Voila!

A unique problem...

I'm sort of revisiting an old RM2k3 problem, and am curious if there's a workaround I can't think of.

The problem is simply this. I have a character with a "Steal" command that steals an item from an enemy and displays a text box saying the item was stolen. Simple enough? Except it's got this big ugly text box with lots of unnecessary space:

The workaround I'm trying to do right now is to display a battle animation that actually shows the new, smaller window, then calls a common event that runs:
Message Display Options: Transp, Top, Fixed
Stole Item!
Message Display Options: Normal, Bottom, Auto

In theory, the message display options should just work like it would outside of battle, but Enterbain in his infinite wisdom decided this command would still display the message window border, so I get stuck with this:

If that's still a little confusing to you, here's a simple version:

Yellow is what I want. Blue is what I don't want.

Anyone know of another workaround aside from creating images for the "Stole Item" messages?

Cherry, if you're reading this, I'd use your PicsInBattle patch but it doesn't work with my game exe, so a simple hex edit to get rid of that border would be awesome. :)

Rm2k3 - Access violation error with reflect status condition?

Hey everyone. I came across this error last night when I was trying to add a "Reflect" condition (toggled on/off via a checkbox in the conditions screen). I got to the point where an enemy could cast a reflect spell on another enemy (or itself) enabling the condition.

When a hero in the first four slots of the Hero tab within the database casts a spell on the enemy with the reflect condition, it reflects back to a hero fine. However, when characters in slots 5+ of the Hero tab try to cast magic on said enemy, the battle animation plays once on the enemy, and right before it reflects back to the hero, it crashes out with the following error:

"Access violation in module RPG_RT.exe in with address ######## and offset 00000080 of type Write occurred"

I'm not at home right now, so I'm not sure what the hex address is, but has anyone run into this issue before? I've tried multiple patched exes (standard rm2k3, latest power mode exe with patched symbols, unpatched power mode exe ) and the same error occurs.

This has me annoyed and bummed out! I wants me some reflectin' spells!

PepsiOtaku's Let's Try Thread!

Good News Everyone!
(9 out of 10 of you just read that in Professor Farnsworth's voice)

I'm going to try out a handful of games, and attempt to comment on them. I'm sure most of you know the drill by now, so let's get this show on the road!

aka "Monopolo"
(Game Profile) - Brent Murray aka Silver4Donuts (RM2k3, Monopoly) COMPLETED
Part 1 -
Part 2 -

(Game Profile) - Magi (RM2k3, RPG)

After Balmung Cycle, will probably be the rare gem "Lightprism." I'll have a download link for it as well when I get to it.
Pages: 1