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

Posts

author=PepsiOtaku
You don't need anything DynRPG related. Go into "Database > Battle Layout" and down at the bottom you should see "Random Encounter Death Handler" and set it to "Call Common Event" and then do all of your stuff in there.

What you say is for what happens if you have 0 HP in battle. What I want is to avoid RPG Maker to gives me an automatic Game Over when all my heroes have 0 HP on the map.

The game let you choose party members in a custom menu. But some of them can have 0 HP.


Anyway, I've found another solution by preventing the player to leave the custom menu if all HP = 0.

Cheers!
@Ghabry: Looks interesting, alright! I can't really speak too much about your use of inline assembly, but if it works, it works. Good luck with the EasyRPG coding!

@AlexRE: It sounds like you have it figured out, but I'll just explain my method for shits & giggles. For the field, that would depend how you are subtracting HP. When you use the "Change Character HP" command, there's a tick box for "HP Reduction can Kill Target" that should be unchecked if you are doing it that way. Avoid using "Simulated Enemy Attack" if you can because it doesn't have that option.

Example: I have a dungeon with floor spikes that go up and down. When they're up, they do damage if you are standing over them. One way of doing this is via Terrain, by creating a terrain and increasing the "Damage" parameter. Instead, I leave that at 0 because that will kill the party otherwise if their HP hits 0. I still use the terrain, but in a different way. On the tileset, I set the graphic for when the spikes are out to my generic "spikes" terrain ID, and on the map itself I have a parallel process event that stores the terrain, and checks if the hero is on it (with another PP event animating the spikes up and down at whatever interval). If the hero is on the spikes, "Change HP" (-5) with "HP Reduction can Kill Target" unchecked followed by a damage SE, flash sprite, and wait 0.5 sec command--so if the hero is still on the spikes after that time, it'll do the damage again. It's a way of getting control over the frequency of the damage, and also preventing the hero from dying. Instead, their HP will only drop to 1.

You could probably fake some way of displaying "0" HP if you needed to, or just add additional checks in the event to get it to do what you want to do. You could apply similar concepts to your menu.
Can anyone explain to me the proper process for looping a picture scroll during battle, using Cherry's "picsinbattle" patch?

I have a picture of sand that scrolls in a loop before entering battle, but when I enter battle, it continues the scroll once, and then stops.
So, to attempt to fix this, I called a common event that keeps looping the event, but it basically froze the entire battle. (No commands ever appeared, but the picture loop worked fine.) Does anyone know of a specific way to do this?
author=PepsiOtaku
@AlexRE: It sounds like you have it figured out, but I'll just explain my method for shits & giggles. For the field, that would depend how you are subtracting HP. When you use the "Change Character HP" command, there's a tick box for "HP Reduction can Kill Target" that should be unchecked if you are doing it that way. Avoid using "Simulated Enemy Attack" if you can because it doesn't have that option.

Example: I have a dungeon with floor spikes that go up and down. When they're up, they do damage if you are standing over them. One way of doing this is via Terrain, by creating a terrain and increasing the "Damage" parameter. Instead, I leave that at 0 because that will kill the party otherwise if their HP hits 0. I still use the terrain, but in a different way. On the tileset, I set the graphic for when the spikes are out to my generic "spikes" terrain ID, and on the map itself I have a parallel process event that stores the terrain, and checks if the hero is on it (with another PP event animating the spikes up and down at whatever interval). If the hero is on the spikes, "Change HP" (-5) with "HP Reduction can Kill Target" unchecked followed by a damage SE, flash sprite, and wait 0.5 sec command--so if the hero is still on the spikes after that time, it'll do the damage again. It's a way of getting control over the frequency of the damage, and also preventing the hero from dying. Instead, their HP will only drop to 1.

You could probably fake some way of displaying "0" HP if you needed to, or just add additional checks in the event to get it to do what you want to do. You could apply similar concepts to your menu.


I'll help AlexRE for explaining the issue because there's some misanderstanding.
(I'm speaking about the same game I did).

PepsiOtaku, what you say is for what happens if you have 0 HP in battle. Then you spoke about damage made by an event on a map. These are not the things We tried to explain.

What I want is to avoid RPG Maker to gives an automatic Game Over when all my heroes have 0 HP on the map.

Here's how it works : The game let you choose party members in a menu. But they can have 0 HP (if I put them out of your active team after they died in battle). If I only choose heroes with 0 HP then RPG Maker send me to Game over screen.

Somebody suggested me to give them 1 HP back but I don't want to recover heroes that are not in the party.

Cherry, maybe 4 years ago, already patched my RPG_RT.exe for this issue and it worked well but since I use now DynRPG I lost the patch on my .exe file.


If you want to test it, here's the step to reproduce the issue :

-Make an event which let you change your party by removing or withdrawing heroes.
-Have some heroes in your party then in a fight kill 1 to 3 heroes. But win the battle.
-Then go to the event which change your party and choose to remove the only hero who isn't dead. => you will have a game over. Because RM send you to game over screen automaticaly if all your team is dead.

Hope I explained it well enough.
There should be a thing that lets the loss event always work instead of the gameover screen.

That is, on Death Persists after encounter, it skips the boss battles that have loss conditions. It skips the gameover event (which allows a choice to continue). It instead goes straight to gameover. So I have to custom set it to do weird things like keep the lead revived. Still doesn't, so I have to tweak the code when it's simpler to have an override to the event in the event of party 0 hp. And don't get me started about being petrified.
In fact loss conditions seemed to work sometimes but randomly. I put a full restore in the first line after the loss condition on several battles and it worked (the party was revived then the custom game over screen came up). But some other time it didn't work.

And I can't use the general rule in the database if I loose because I never use the RM random battles system, all my battle are event based.

In fact, all I need is someone to tell me how to change hexadecimals and the ligne where this condition is to change my RPG_RT.exe.

Bulmabriefs : do you know how to do it? You seem to have done it already.
I'll explain something. I use DynRPG sometimes to do stuff that can't be done in RPG Maker 2k3, and sometimes when the process you want takes too many common events, codes, is too hard to edit, etc.

Guess which one this was.

To be clear, the Battle Layout section marked Random Encounter Death Handler appears to be outright skipped period, if the party dies off when you have Death as Persists. You pretty much have a choice between that and making VERY redundant code. Like, I had about 4 common events, and finally it noticed one. I intend to rewrite this a bit.

If you want a Party Loss Event, add a Random Encounter Death Handler, and switch to Death Ends after battle. If you want a dead stay dead after battle, you have to turn on a switch at the battle beginning, and have a common event if that switch is on (it will only activate outside battle unless you call during battle) which checks for party members that have just been raised, and therefore have only 1 hp.

I didn't know it was skipped lol... weird bug.

What you say is when I die in battle, right? It's ok, because I got the same issue but I got another one when I try to change my party with my custom menu.

Let's say I'm out of battle, on a map, I open my party change menu. I have 4 héros in my party, only 1 is dead.
Then, I start to change my party by withdrawing some heroes. I withdraw the 3 heroes who are alive and suddently the program gives me an automatic Game over because I only have a death hero in my party at this very moment.
=> I need RM to ignore that fact.

I think the best way is to change the exe file by doing some hexadecimal changes like Cherry once did. Doing some event "patching" seems hard and not very clean.

I'M asking anybody with this kind of skill. But beside Cherry (and PepsiOtaku?) I don't know anybody which can do this or at least explain me how to do it. I'm a complete noob when it comes to hex editing. Never did it...
It's actually good that it does it this way. It would be tricky to gameover otherwise. Besides, you can avert gameover by having a switch always on that isn't the battle loss switch. However what we want instead is to, on a random battle loss (you want event battles unaffected, trust me) stop common events and run the random event.

I have a different issue. I have to slow down a switched common event on a loss because switch even is on, and runs first. Battle Loss Event runs secind. Unfortunately the battle loss event tells to shut off party exp and random item awards, so unless that runs first, we get exp and rewards from lost battles.

Also, remember that ends with battle status can still be added outside battle. It just won't last when the next battle ends.
I don't use the random battle system of 2k3. My battles are all made with events.

And I know it works well if I have this patch. It worked well on my project for several years without any issue.

That's why I need help to patch my RPG_RT.exe and don't want to add hacky events in my system which is already heavy.
I dunno how to create patches, just some c++ enough to make plugins.

You should be good just by adding a common event to the loss condition.
In fact the game already have this since a long time, to trigger the custom game over screen menu.

The very first command I put after the loss condition is : full restore.
But even if it's done at the very first frame after the condition is picked it doesn't work everytime. In fact it seems to be kind of random. Maybe because a lot of other stuff are going on. But when I tested it it worked well on some battles but on others I still had a true game over.

In fact I don't get why it just happens. If the loss condition exist, it should prevent an automatic game over, right?

Maybe I missed someting when I tested it. Can you confirm me that putting a full restore command just after the loss condition should avoid an automatic game over?

Maybe if you want to see, I could upload a quick demo that will show you the issue if I can't fix it by trying again.

In any case, is it possible to make a plugin (or quick patch) using DynRPG to cancel the game over screen trigger?

Thank you.
Hmm, After many tests, I always have Game Overs.

But then I tested it in a whole new project. And it worked. The loss condition was triggered and the Game Over never came up. My hero was on the map, with 0 HP.
Basically all was normal.

So I guess I have something in my own project that triggers it. But I really don't know what since from the begining I wanted a custom game over and it worked well for 7 years.

The change happened when I integrated DynRPG in my project.
Then I thought it was a DynRPG issue but I started a whole new project with DynRPG and it worked as well... :/

Sorry for all these posts but I finally find a cure to the problem.
Here => http://rpgmaker.net/forums/topics/10736/

Thanks for your support!
Hm...I just thought about this, but would there be a way to manipulate how much damage/healing a skill does?

For instance, let's say that I have a Life spell that revives a KO'd ally with 10% Max HP. I generally would only give this the "Magic" attribute as it wouldn't need much anything else. But let's say that I give a buff or a piece of equipment is equipped that increases the power of healing/reviving abilities, so now that Revive 10% Max HP now revives with 25% Max HP instead.

Or say that I have a spell or item that restores 500 HP, and I give a character a buff that doubles the healing potency they have for a brief time, so now if they used that ability/skill again, it'd restore 1000 HP instead.

Would this be feasible to do?
author=Xenomic
Hm...I just thought about this, but would there be a way to manipulate how much damage/healing a skill does?

For instance, let's say that I have a Life spell that revives a KO'd ally with 10% Max HP. I generally would only give this the "Magic" attribute as it wouldn't need much anything else. But let's say that I give a buff or a piece of equipment is equipped that increases the power of healing/reviving abilities, so now that Revive 10% Max HP now revives with 25% Max HP instead.

Or say that I have a spell or item that restores 500 HP, and I give a character a buff that doubles the healing potency they have for a brief time, so now if they used that ability/skill again, it'd restore 1000 HP instead.

Would this be feasible to do?


I started to write, "Nope, sorry, the internal workings of damage calculations are pretty opaque to DynRPG," but I took a quick look at the callbacks, and it turns out there is one for getting notified just before a battle action is taken, and you can get info on what skill/item/whatever is being used. So, IN THEORY, you could do things like temporarily change the actor's stats or the attributes of an item before the action takes place, then switch them back afterward. Dunno offhand if it would work outside of battle.
Hm...that'd be something to look into then. How about being able to change the duration of statuses depending on abilities used (assuming that it doesn't require having to have the abilities use switches)? For instance, let's use my game as an example. I have 10 different levels for each status in the database, level 1 lasting 5 turns, and max level for most lasting 50 turns (oo for others). Now let's say that I didn't have those in the database (and lemme tell you, it's a pain having to deal with coding anything that removes/adds statuses...) and let's say I just have Poison in the database. Now, let's say that I want to have Poison Lv1 do what Poison says in the database, but I want Poison Lv2 to last longer than Poison Lv1. Is this also feasible with DynRPG?

IN ADDITION TO THIS, and this is something that I wish was doable in 2K3 by default, is there a way to make it so that you can remove all statuses at once? Complete Healing does this, yes, but I don't want to restore all HP/MP too, just all statuses (though that would also mean it'd remove Death which...is probably not something that would be desirable with some spells). And would there be a way to tell the game which statuses to remove therefore? For instance, say that I want to have a common event that removes all negative statuses (by using say...Esuna) or remove all buffs (via say Dispel). This one ONLY applies to eventing (common events primarily) so...
Changing the durations of statuses would be tricky. About the only method I can think of that might be easier than just tracking them yourself with variables would be to have a plugin that checks for an action having caused a status, figures how long it should last according to whatever criteria, and updates the battler's count of how many turns it's been under that status to make it look like it's already been suffering it for X turns and thus end it quicker. The "whatever criteria" part makes it need to be somewhat custom-tailored to the project, though, although maybe you could base it on variables somehow and let the project owner be responsible for updating those variables according to the criteria they want.

The mass status removal thing is easier, you'd just need a plugin that takes a comment command to remove statuses from hero/monster number #. If you wanted to be thorough about it, you could even define groups of statuses in DynRPG.ini and have the plugin able to remove (or add!) just those, so that it could be just buffs or just debuffs or just paralyzing statuses or whatever. Of course, as always, "could be done" and "will be done" are two different things. ;)
New plugin available! DynWardrobe allows the appearance of actors (aka heroes) in battle to be altered at run-time by layering multiple Animation2 sprites together according to which equipment the actor currently has. One or more Animation2s can be associated with any conceivable combination of actor appearances and equipment, and assigned to a practically unlimited number of layers both above and below the actors. Create Animation2s to show your actors' armor, helmet, weapon(s), shield, and accessories! Think outside the box and give your actors non-clothing equipment effects like animal companions, power auras, and status icons!

Also, as a bonus for those who make DynRPG plugins, it's worth checking out the source code included in the DynWardrobe download. It contains a header file for a CSV (comma-separated values) file reading system which could be very handy if you want to be able to use data from spreadsheets in your plugins.

EDIT: Here's a preview image.

This is beautiful, Aubrey!
Much love.