+++ DYNRPG - THE RM2K3 PLUGIN SDK +++

Posts

author=dethmetal
author=Seraphic
DynRPG desperately needs to be compatible with the Steam version of RM2K3 because as far as I know, we only have the Maniac Patch as an alternative means to expand the features on that engine, unless anyone can provide a link to a larger BattleCharSet and CharSet patch?
Is this planned? Accordingly to the license agreement, mods are fully allowed. The only thing stopping me from using the legal version is that my game relies on DynRPG patches.


Unlikely. It is the only reason people cannot use DynRPG on Steam over, it is a shame really but I don't see an alternate work around other than purchasing RM2K3 somewhere other than Steam, which i'm not exactly sure where that is.
The RpgMaker home site has an off-Steam version. However, I am not at all sure which version it is, making it somewhat of a risk because the earlier versions aren't always up to date, and the lack of Steam subscription means no automatic update, and you end up possibly buying multiple times.

https://www.rpgmakerweb.com/products/programs/rpg-maker-2003

Thankfully, the price has gone down to 19.99 so it's not that great of a risk.
author=Seraphic
author=dethmetal
author=Seraphic
DynRPG desperately needs to be compatible with the Steam version of RM2K3 because as far as I know, we only have the Maniac Patch as an alternative means to expand the features on that engine, unless anyone can provide a link to a larger BattleCharSet and CharSet patch?
Is this planned? Accordingly to the license agreement, mods are fully allowed. The only thing stopping me from using the legal version is that my game relies on DynRPG patches.
Unlikely. It is the only reason people cannot use DynRPG on Steam over, it is a shame really but I don't see an alternate work around other than purchasing RM2K3 somewhere other than Steam, which i'm not exactly sure where that is.


No, the reason there isn't DynRPG for the official RM2K3 is that it would be a huge undertaking to create, nearly as much work as it was the first time around as I understand it. DynRPG works by overwriting parts of the RPG_RT.exe executable on a memory-address basis. Since the official version is different from the fan-port, all the memory addresses are different, and someone would need to hunt through the binary code to establish which addresses need to be altered and to what. Some of it may not even be doable the way it was before.
author=bulmabriefs144
The RpgMaker home site has an off-Steam version. However, I am not at all sure which version it is, making it somewhat of a risk because the earlier versions aren't always up to date, and the lack of Steam subscription means no automatic update, and you end up possibly buying multiple times.


To quote Cherry on that:
author=Cherry
Just to clarify this, there is no difference between the Steam version and RMW or any other official version. People just call the official English release (version number 1.10 or higher) the "steam version" because that's how it was launched initially (to differentiate from the unofficial, "fan-translated" versions with version number 1.09a or lower).

Previous versions had differences in DRM but the current version is identical on all sale platforms.
Let me clarify my clarification: I just realized that I was wrong, the RMW version has DRM and the Steam version does not. The thing is, before we had three versions (Steam-DRMed, RMW-DRMed, DRM-free from Humble Bundle) and now we have two (RMW-DRMed, DRM-free), the Steam version is DRM-free as well.
Hey, guys. Just seeking a little bit of knowledge here.
Is it possible to remove the message that shows enemy conditions that pops up when selecting enemies through Quick patches, Dyn Patches, or Plugins?

I recently incorporated Aubrey's DynBattleDisplay plugin and it seems redundant to have this message pop up, now that conditions are displayed directly above the sprites.

Picture for reference.

Anyone with alt of experience making your own script, any problems with speed or performance?

I'm thinking of taking alot of the coding logic away from rpgmaker maker and doing it the scripts
DynRPG plugins can do complex logic way faster than RT2K3 scripting, yes. I don't have any hard numbers on it, but for the custom combat system in my own project I went from a noticeable lag (maybe around half a second if I recall) between decision and reaction to no perceptible difference when I implemented things in DynRPG. A big part of that may have been simply that DynParams allowed me to turn vast repititions of "if variable ANIMATION is this number, play this animation" scripting into single instances of "play animation (variable ANIMATION)", but still.
Howdy,
I've been absent for a wile, and I'm glad to see there's still people on this thraead :)

So, a long time ago I requested a "quickpatch" that allowed me to equip an "Accessory" item in the 4th equipment slot as well (normally is in the 5th), sacrificing the helmet for 2 accessory slot basically... like you did in FF6 for example, and a user (don't recall if Bugmenot or Cherry himself) wrote this for me:

Accessory(Slot#4)=49EF72,28,4B7A8C,A7,4B7AAC,02,4B8107,44,4B814A,09,4B819D,C5,4B81CA,06,4B829F,DC,4B82E2,09,4B8335,5D,4B8362,06

and It worked perefctly, however with new changes I made to my game I now would like to have 3 accessories, sacrificing also the 3rd slot (which is normally reserved for armors), unfortunatly I wouldn't know what to modify, can anyone helpe me out?
Any DynPlugins/Patches or QuickPatches out there that can be used to freeze ALL ATB bars in battle? I'm currently using Pepsi Otaku's Battle_ATB_Overhaul plugin, which has a "FreezeATBBar" function, but it doesn't seem to actually work.
Any help would be much appreciated.

EDIT: Work-around found
I'm having problems running the first program on the Cherry website. I'm sure I followed the instructions right but I'm getting a
"DynRPG/DynRPG.h: No such file or directory|" error
Apologies if this is the wrong place to ask, but is there any chance someone could help me out by making a quickpatch or plugin that would turn on a switch after battle if the battle ended in victory (and another switch if the characters fled, that would also be nice).

If such a patch exists and somebody could point me toward it that would also be excellent.

I would like it so that certain events ran only if the player won a battle (and not if they fled, or vice versa) and as far as I know there is no way to do this by default.
I found this plugin of pepsiotaku:
https://github.com/andrew-r-king/battle_end_switch_on
For the win/flee there is an option in battle processing command
author=kaine87
I found this plugin of pepsiotaku:
https://github.com/andrew-r-king/battle_end_switch_on
For the win/flee there is an option in battle processing command


Thank you for the quick reply!

I'm using random encounters, so I don't have the option of battle processing. I think I can use a condition with the flee command inside battle, but I remember that giving me trouble in the past.

Also, for some reason, when I patched my DynRPG to v0.20 (required for this plugin) the RPG_RT just simply fails to do anything. No game appears whether I run it through the engine or the executable directly, even if I remove all plugins.
author=Kaempfer
Also, for some reason, when I patched my DynRPG to v0.20 (required for this plugin) the RPG_RT just simply fails to do anything. No game appears whether I run it through the engine or the executable directly, even if I remove all plugins.

Did you patch an RPG_RT that had already been patched with another DynRPG version? I could imagine that messing things up. Make sure you start with a fresh RPG_RT.
author=AubreyTheBard
author=Kaempfer
Also, for some reason, when I patched my DynRPG to v0.20 (required for this plugin) the RPG_RT just simply fails to do anything. No game appears whether I run it through the engine or the executable directly, even if I remove all plugins.
Did you patch an RPG_RT that had already been patched with another DynRPG version? I could imagine that messing things up. Make sure you start with a fresh RPG_RT.


Ah! It created a backup up both the rpg_rt and the old dyn.dll so I figured it was built to override them, but I tried on a fresh project and it boots fine. I'll try that battle switch again and see if it works.

The problem is that the event in question (which is actually a modification of another plugin Pepsi made at my behest many years ago for a menu switch, weirdly enough) doesn't actually solve my issue, which is to offload the eventing out of battle script pages.

The more I have within battle script pages, the more work there is anytime I want to update or change it- with a switch activating a common event, I just fix the common event once if I ever find a bug, instead of going through every monster group and fixing the page one by one. It makes the idea of adding more monster group pages very daunting indeed.
DynBattlerChange can help with that, in a roundabout sort of way. You can set things up so that you have a single monster group in the database that gets transformed to whatever monsters you want at the start of battle. The downside is that you need to make a script which sets up some variables to determine what the monsters will be before the battle begins.
Hu :)
How to force an animation in combat on a hero ?
I guess it's somewhere around here :
RPG::Actor::partyMember(i)->animData->currentAnim->anim = RPG::battleAnimations[1];

RPG::Actor::partyMember(i)->animData->currentAnim->filename = RPG::battleAnimations[1]->filename;
RPG::Actor::partyMember(i)->animData->currentAnimationFrame = 0;
RPG::Actor::partyMember(i)->animData->isAnimationPlaying = true;


But every time I make a error :
Event script referenced a battle animation that does not exist.
It sounds as if you may have to set "anim" to the ID (1) and not the animation pointer itself

EDIT: Ah, no, never mind.
You know what, I dug into the code and I looked at how it's done when you use the "show battle animation" battle event command. Try these functions:

void showBattleAnimationOnMonster(int animationId, int unknownArgument, int monsterIndex) {
	asm volatile(
		"pushl %7;"
		"call *%%esi"
		: "=a" (RPG::_eax), "=d" (RPG::_edx), "=c" (RPG::_ecx) : "S" (0x4BED9C), "a" (RPG::monsters), "d" (animationId), "c" (unknownArgument), "m" (monsterIndex) : "cc", "memory"
	);
}

void showBattleAnimationOnActor(int animationId, int unknownArgument, int actorId) {
	asm volatile(
		"pushl %7;"
		"call *%%esi"
		: "=a" (RPG::_eax), "=d" (RPG::_edx), "=c" (RPG::_ecx) : "S" (0x4B4D1C), "a" (RPG::actors), "d" (animationId), "c" (unknownArgument), "m" (actorId) : "cc", "memory"
	);
}

I am not sure what unknownArgument is, in case of the event command it's always 0, but in case of skills it can be something else. I would be interested, so maybe you can play with it and let me know.

The animationId can be 0 to stop the current animation.

Also, the monsterIndex/actorId can apparently be -1 or -2, I would guess it's for full-screen animations and/or animations on all monsters/actors or something like that but I'm not sure - again I'd be interested to hear what you found out about that in case you are going to play with it.