[PLUG-IN] [RM2K3] ANIMATED MONSTERS PLUGIN

Posts

dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
I thought you guys might like this!



For advanced users--feel free to re-compile my source linked on the first page. You'll need to add some images in your pictures folder for the cast animations, and flag which skill ID's to do the casting pose for manually (in the on-startup look at the castingTable array (ugh I know it should probably be a linked list)).

New poses required:
7.png - approaching attack
8.png - returning back from attack
9-11.png - attacking/casting frames

The code is an absolute mess at the moment, but it works.

Casual plugin users, I'll make this more user-friendly eventually. :X
Wow, NOW we're talking about good stuff! This is absolutely A-WE-SO-ME <3 <3 <3 <3
Gonna bugtest it right away <3
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
Oh that reminds me -- I haven't done any back attack / pincer attack checking at all, so that will need to come next as well. :D
Been waiting for this since you first uploaded it!
But since I'm no advanced plug-in user.. I'll have to wait a bit more!
Great job dragon!

I was also wondering how did you get the HP bars below the enemies?
Thanks again!
At some point though, this will need some means of automation (checking to see if the proper .png is there). Especially as we continue to add more and more frames to this (such as mirroring).
This is great. Good job man, good job!
That is friggin awesome!

I'm also curious about how you got the health bars on the enemies and gauges on the battle ui. Oh, and the crazy cool bouncing damage numbers! There are just so many cool features in that video! XD
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
author=bulmabriefs144
At some point though, this will need some means of automation (checking to see if the proper .png is there). Especially as we continue to add more and more frames to this (such as mirroring).

It's a good idea, but my priority lies with implementing features as they are needed for my own project.

If you need this functionality, my source is available for modification.

Until then, this is low-priority for me.

author=Large
This is great. Good job man, good job!

Thank you!

author=Panaxiom
That is friggin awesome!

I'm also curious about how you got the health bars on the enemies and gauges on the battle ui. Oh, and the crazy cool bouncing damage numbers! There are just so many cool features in that video! XD

Also DynRPG. :)
Hi :) Thank you for your amazing plugin! It works well and I enjoy it veeeery much :D Animated fights look so beautiful in maker-games!

I have a question. I don't get this part really:
author=dragonheartman
You'll need to add some images in your pictures folder for the cast animations, and flag which skill ID's to do the casting pose for manually (in the on-startup look at the castingTable array (ugh I know it should probably be a linked list)).


How exactly do I flag the skill ID's which are supposed to use the casting pose? Guess I need some more explanation. And which "pose" exactly is the skill pose? You said 9-11 are the attacking/skill frames. I tried and made them attack poses and it looks fine (a first success, yeah :D) but which number is for skills?
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
author=JasonWeal
Hi :) Thank you for your amazing plugin! It works well and I enjoy it veeeery much :D Animated fights look so beautiful in maker-games!

I have a question. I don't get this part really:
author=dragonheartman
You'll need to add some images in your pictures folder for the cast animations, and flag which skill ID's to do the casting pose for manually (in the on-startup look at the castingTable array (ugh I know it should probably be a linked list)).


How exactly do I flag the skill ID's which are supposed to use the casting pose? Guess I need some more explanation. And which "pose" exactly is the skill pose? You said 9-11 are the attacking/skill frames. I tried and made them attack poses and it looks fine (a first success, yeah :D) but which number is for skills?

Attacks and skills are currently one and the same.

And in order to flag the skills, you need to make the changes to the code and recompile. Look here at the onStartup callback:


bool onStartup (char *pluginName)
{
for (int i = 0; i < 1000; i++)
{
castingTable[i] = false;
}
castingTable[98] = true; // dark strike
return true;
}

For abilities which you'd like to be casted, you have to add extra lines here flagging castingTable at your particular skill index to true.

This involves unfortunately recompiling the source at this time, until I create the ability to from the 2k3 side.
Blueness.

author=dragonheartman
author=bulmabriefs144
At some point though, this will need some means of automation (checking to see if the proper .png is there). Especially as we continue to add more and more frames to this (such as mirroring).
It's a good idea, but my priority lies with implementing features as they are needed for my own project.

At some point, as in, it may not be now. But as people continue to ask you for more animations, unless you want 6000+ png files all done when you wanted this or that number for that monster, it will catch up to you. Take it from someone who routinely adds lines and lines of battle event code 300+ times.

If you need this functionality, my source is available for modification.

Until then, this is low-priority for me.

Low priority.

If I knew how to modify it in this way, wouldn't I have done it already? I know how to do rather simple mods (working with strings, arrays, some of the namespaces and callbacks, and working with filestreams up to just opening/closing ifstream/ofstream stuff) but nothing of the level this needs either to work with config or the file checking. I don't have the resources to go back to college (and even the number of books I can buy is limited by a non-steady income, since I'm self-employed) and take computer science just to figure out this one problem.

Since I've been asking people for months about this fix, yea this sort of pisses me off. A little bit (okay, a lot). Especially, when I feel like my priorities are being completely belittled, over something I see as largely an extra. Yes, attack animations are cool. But I made them (and casting animations) just by erasing the character, producing a battle animation, and putting the character back in. It's clunky (and the animation has holes), but aside from by absurdly bad animation, nothing that needs top priority.

Having an error making it so you can't use the plugin if you don't have all the proper images is hardly a "low priority." Having to fix it manually through C++ (codeblocks has started freezing on me, btw, on two computers), is not an acceptable fix either. Not having mirroring is next priority, since yea, you can't back-attack.


author=Large
This is great. Good job man, good job!
Thank you!

author=Panaxiom
That is friggin awesome!

I'm also curious about how you got the health bars on the enemies and gauges on the battle ui. Oh, and the crazy cool bouncing damage numbers! There are just so many cool features in that video! XD
Also DynRPG. :)

I'm curious about this too. And I wish I can say intrigued. But, urgh, I'm frustrated instead because the basic process of making this a simple and user-friendly program (i.e. I have just under 350 monsters, hmmm times 11, means I need only 3850 png frames, instead of maybe doing them one at a time as they are needed for my own project) fails miserably. Yea, it would be nice to do things a little at a time like you, but I can't, not the way it's set up now where if I don't have something, I get an error and a blank screen. And eventually, I'll decide it's not effective to keep using the plugin.
author=dragonheartman
Attacks and skills are currently one and the same.

And in order to flag the skills, you need to make the changes to the code and recompile. Look here at the onStartup callback:


bool onStartup (char *pluginName)
{
for (int i = 0; i < 1000; i++)
{
castingTable[i] = false;
}
castingTable[98] = true; // dark strike
return true;
}

For abilities which you'd like to be casted, you have to add extra lines here flagging castingTable at your particular skill index to true.

This involves unfortunately recompiling the source at this time, until I create the ability to from the 2k3 side.


I have to say sorry for being a newbie when it comes to coding, but I really want to learn this (at least what is necessary for your plugins) because it's so useful. So where do I find this part of the code you mentioned? Do I have to change the .exe of my game or the .dll of your plugin? I opened them both with different resource hackers or something but the .dll doesn't show me anything, neither do I find your code in the rpg_rt.exe

Would be glad if you helped me out though you surely often have to answer questions like this don't you?
Sorry. It just gets to me sometimes.

...Part of the reason I'm so frustrated at dragon is for this very reason. I spent close to a month asking for programming tips from him, and you'd think I'd master the whole thing by then but instead I walked away with only about three or four bits of actual code learned and a very weak grasp of where to put it. He's good at programming, but not so much at explaining. Which made me even more frustrated, even though that's not his fault.

Dragonheartman, could you give a link to the cpp itself? The latest one?

The dll in question is a closed file, you can't read it once it becomes a dll. It's made by putting a cpp inside a Project -> Dynamic Library. You have to read DynRpg Getting Started, the section that has all the numbered stuff to learn to build your own. But if you have no background (I have some, but it's so incomplete that I don't understand when where or how to use the namespaces), in all likelihood this will just frustrate you. You'd be better off just copy-pasting the .dll into the DynPlugins folder and having a good readme.
@bulmabrief

Just out of curiousity, as you seem to have time, why not just go and look up some C++ tutorials and simply learn how to program on your own? There are literally tons of tutorials of varying difficulty levels out there which are very easy to find with simple google searches.
Do some of those thoroughly, and you'll be able to program your own plugins and you'll also have a far easier time understanding the code of others, as well as proper terminology. Chances are that these tutorials might teach you coding techniques which could even improve your event coding.
I have. http://www.cplusplus.com/doc/tutorial/ I've read all the way up to file I/O there.

Hmmm, I'll PM you privately on this matter.
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
@JasonWeal: you'd need to recompile my source code with the changes to the cpp provided here:

https://www.dropbox.com/s/si7cfu0imsjm3yy/animated_monsters.cpp

Again this is for advanced users; It will be more user-friendly in the coming weeks, so if you're uncomfortable with setting up dynRPG, you can always wait.

@Bulma: I'm doing a great favor to you and everyone else by providing this plugin, as well as the source, to anyone who wants to use it. I don't mean to sound like a jerk, but my priority lies with developing my own RPG. I'm just sharing some of the cool stuff I've done with the community in the process.
I understand that.

It's just, I come with the expectation that it's workable from the start, and I'd be able to to add these on a little at a time, and the fact that I really don't understand your code well enough to edit it myself is frustrating.

And frankly speaking, I wouldn't want to have this as my own personal edit. It feels awkward, almost like when I did the KazString and had to credit it as both me and Kaz. This is your project, you know the best way to go about it.

author=You
Again this is for advanced users; It will be more user-friendly in the coming weeks, so if you're uncomfortable with setting up dynRPG, you can always wait.


I'd be perfectly willing to wait, even months, if you could promise to make it more user-friendly. That's fine. It's the having to add in code to the thing manually that is the thing I'm not too thrilled about. Right now it's not user-friendly, but I have the code enough that it animates.

Oh thank you, that's the code I was looking for ^^
Another question... (the more I work with your plugin the more questions appear, sorry)
I haven't changed anything so far. When using skills, the enemy may run towards the hero and then the skill appears, while at some skills he stays there (which is the option I prefer) and performs his magic (without running towards the heroes). How do I check on which skill the enemy "runs" ?
Well, of course I could just wait some weeks, but I'm really curious since I've seen what is possible to do with the good old makers.
dhm, how do you let the monsters' attack "wait" during their movement? I don't see any RPG::screen->update()...
author=Cherry
dhm, how do you let the monsters' attack "wait" during their movement? I don't see any RPG::screen->update()...


Ooh I'd love to know this too. Ever since I switched from Power Mode to DynRPG, I've noticed my Steal system is all borked now because enemies interrupt in the middle of it and attack the party. Weirdly enough, this wasn't a problem in PM.