[RM2K3] EASY WAY TO SHOW SMALL DIALOGUE BOXES IN DBS?

Posts

Pages: 1
I would just like to know if anyone else experienced with RM2k3 knows of a way to show smaller dialogue/message windows during battle that aren't the bigger 4-lined message boxes (the same kind that the default start-of-battle message can appear in) without having to show pictures or something way more complicated than it's probably worth for my game.

I want to know if I am possibly missing an option in RM2k3 that should be obvious or something like that that I just never realized.

Thanks!
without [...] something way more complicated

The simple answer:
[QuickPatches]
BattleMessageHeight=4C72A6,%32

Multiples of 16 for additional lines, max.= %127
LouisCyphre
can't make a bad game if you don't finish any games
4523
It's been a very long time since I used 2k3, but could you make a skill using your message as the name, and then force an enemy to use that skill via event?
author=LouisCyphre
It's been a very long time since I used 2k3, but could you make a skill using your message as the name, and then force an enemy to use that skill via event?


Yeah, that could work I think for what I want to do, signal enemy attack patterns and such. Bugmenot's idea is cool, but I got a pointer error or something because of it and if I use that hack then I would need a way to alter the message box's size during runtime because I sometimes use the full dialogue box.
In fact, you could simply use battle animations :3
author=Shoobinator
I got a pointer error or something
Any QuickPatches that write around 4C72xx? What's the error saying?

[PATCH EXPUNGED] Well that was 1/4 of an hour wasted.

Ask PepsiOtaku, he mentioned a plugin that draws the message box at different heights, with different heights. (the down-pointy-cursor-thingy needs to be placed... x = x(Window)+1/2width(Window)-8, y = y(Window)+height(Window)-8)
author=bugmenot
Ask PepsiOtaku, he mentioned a plugin that draws the message box at different heights, with different heights.


Ugh, that's a loaded one. My method is not easy (nor 100% break-proof), but here's the run-down:

The Problem: You need to hide the existing message box in battles in order to place a picture or something underneath the text. Outside of battles, this is easy because you can just set Message Display Options to transparent. In order to do this in battle, you need to call a common event and use Message Display Options that way. The issue here is that Enterbrain in his infinite wisdom didn't account for this being called in battle, so it actually just makes the background transparent and leaves the frame there.

The Solution: Interestingly enough, this is okay, because although the system set's background can't be completely transparent, the border part of it can be. Create a copy of your system set and remove the border (using the set's transparency color), so that you have a system set with a border and one without. Next, in your common event where you're calling Message Display Options, add a command to change the system set. Next, create another common event that sets the system set back to normal. In your battle event page, it would end up looking something like this:
<>Call Common Event: CustomMsg-Start

<>Msg : Wow! A custom message!
<>Call Common Event: CustomMsg-End


The fun begins: The above can cause problems when you have enemy attacks interfering with your battle events. If the system set doesn't change back quick enough, the next time the screen redraws, it will redraw your main battle windows without a border (but will fix itself seconds later when the command is called). I fixed this bug by steamlining the whole process via DynRPG plugin.

Now, to show a new window (or smaller variation), you might be able to get away with using pictures (via the picsinbattle patch), but the better way is to call the actual system set being used and draw it onto the screen in the dimensions you need at that time. I have a plugin that can do that, which I will have to upload I guess. It also displays messages of any size, anywhere ...to the point where I replaced all of my old pictures in custom menus to use these calls. It's very handy! It would make system set switching pretty easy in theory, but that's a topic for another day.

You may think you're done at this point, but there's one more thing! That stupid little blinking cursor at the bottom needs to be lined up with the new window size (otherwise if you have a one line window, the blinker will be where the 4th line is). bugmenot wrote me a patch for that one, since it's not something that can be done in DynRPG. Get it here:

download SetBlinker
author=bugmenot
If a variable is zero, the default coordinate will be used.

Assign the Var_ID:
[QuickPatches] 

SetBlinkerVar=48858C,#3350


...or open the .ips file with a HexEditor, go to position 0x5F and change that number (maybe I just have a weird dynloader.dll (again) that overwrites just 1 byte instead of 4... dunno)
HexConverter
Put the number into the rightmost box next to the 'big-endian' and take the left box next to the 'little-endian' and put that number at 0x5F in the .ips file.
author=PepsiOtaku
My method is not easy (nor 100% break-proof)
Now, don't make me delete the link a third time:

download BattleMessenger

Remove any QuickPatches that change something about battle messages (the one above and BottomBattleMessage)


Is that less bothersome than trying to cope with the way transparancies get messed up?

I can guarantee that this is 100% break-proof. Unless it crashes your game with a pointer error or something. And nothing will be displayed if width/height are zero.
but... but... all that work...



...I will be using that patch, if only for the minor, unseeable speed increase. Does it automatically move the blinker thing? Or would that patch still be needed?
author=PepsiOtaku
Does it automatically move the blinker thing? Or would that patch still be needed?
It's automatically centered at the bottom. Though you can still use the SetBlinker to move that thing around (Var+0 = y-Pos, Var+1 = x-Pos). iirc the position updates in real-time. (dancing blinker. again)
The coordinates are screen coordinates (not adjusted to the window's borders).
Thanks guys, I will be bookmarking this page for future reference.

@NegativeMan, rofl
Pages: 1