[RM2K3 DYNRPG] SKILL CANCELING BUG FIXING

Posts

Pages: 1
Okay, I've popped into the DynRpg thread several times to bring this point up, but I think I've just about reached the point in my game's development where I can't just turn a blind eye to this issue any longer.

I'd like to formally request that someone address this problem. I'm willing to shell out some cash for this even. If that will increase motivation to do something about this.

To reiterate my problem, let me reference my past posts on the issue.

It might be rather obscure, but is there any way to edit battle processing so that when enemy turns clash with a player's when they use a skill, the event code that's supposed to follow the action doesn't get canceled? It's wreaking havoc on what would otherwise be a completed battle system.

Going further, I execute my skills in my project by using dummy skills in the database with unique MP costs, and then having an event determine the MP used in order to figure out which skill codes to execute, which results in fancier animated, multi-hit skills with a plethora of additional effects...

...But again, if an enemy acts at the same time, all that goes out the window and the dummy skill still eats the character's MP. And that's doubly bad when my battle system is fast and losing MP to interruption like this could mean death.

Am I making sense here? I know some of the oldies know what I'm talking about. Anyway, if some kind of fail-safe could be implemented for that, I think that's all I could ask for from DynRPG. In terms of my project anyhow. It's the last technical issue I'm having that I can do absolutely nothing about, which is also destroying my battle system on a fundamental level.

Additionally, it's been speculated that the bit of time between selecting a skill, and then the event code for said skill executing is what's causing the clash. Closing that gap, or offering an alternative to circumvent the issue would be much appreciated.

To support the above, here's a video where it's pretty prominently displayed. You can see it happening at various points in this video. It's indicated by the combo count disappearing and neither side doing anything at all.



So far, the best solution I can see right now would be this, referenced from a post below.

I think right now, the most efficient way to solve this would be a plugin that enabled a way to check exactly which skill is being used by database ID. So say you use Firaga, A predesignated variable is then set to skill ID 24, and then you can reference that variable in a branch and execute the actual skill event. ...It would solve the resource issue and the canceling issue in one go.

That's about all I have to say for now.

And again, I am willing to offer monetary compensation for this as motivation to get to the bottom of, and correct this issue.
:O

I thought that this was going to be about where when you select battle command of type Skill Subset, but then back out and select a battle command of type Link to Event, no one (allies and monsters included) will take any actions until that original person acts again....and then ALL AT ONCE all of the actions happen.

But yes, what you mentioned is a very annoying bug of RM2k3
I had to play it to understand what I was seeing. And yea, I had trouble stringing chains and ethers together more than like 8 hits because of this (I'd routinely get a D rank). You could make it not drain resources until after the thing finishes, however much it does. This way, it should allow you to at least save the mp equivalent for an attack that works.

Since the game is completely internalized (how did you do this?) though, I can't really tell how these dummy skills are set up and how to keep them from interrupting.
author=bulmabriefs144
I had to play it to understand what I was seeing. And yea, I had trouble stringing chains and ethers together more than like 8 hits because of this (I'd routinely get a D rank). You could make it not drain resources until after the thing finishes, however much it does. This way, it should allow you to at least save the mp equivalent for an attack that works.

Since the game is completely internalized (how did you do this?) though, I can't really tell how these dummy skills are set up and how to keep them from interrupting.

I can't do that as dummy skills need to have an MP cost for the event code to recognize which one is being used.

Plus, even if it were possible to stave off resource use until after the skill is used(It's not), it still doesn't solve the fundamental issue of skills being canceled.

Bottom line is, there's absolutely no way to close the gap between skill selection and event code execution through manipulation of events.

I think right now, the most efficient way to solve this would be a plugin that enabled a way to check exactly which skill is being used by database ID. So say you use Firaga, A predesignated variable is then set to skill ID 24, and then you can reference that variable in a branch and execute the actual skill event. ...It would solve the resource issue and the canceling issue in one go.
If you discover how to do that, let me know about it. I've been wanting a plugin to check for the skill used (and item used) for about half a year.

Why? I have a few items that are supposed to weaken the enemy or cause some kind of effect. They're not switch items, they're skill scrolls. If I had the means to check for a specific item, I could turn on one switch (ItemUsed for battle). Instead, for each item, I have to make it a switch item, and use a different switch to prevent overlap. I have then turn that many switches off after battle. I have the same problem with switch skills (I have about ten or twelve special targeted switch attacks: Slash, Bite, Claw, Swallow Whole, and various status effects using triggered switches, and yes they too occasionally get canceled but thankfully most of them are physical and thus use no MP at all. Turning all of these off is a pain in the bum).

Also, outside battle I could probably use a Give system.
Hah, I won't be discovering anything any time soon. This thread was opened to request(With payment because money makes the world turn) that some other skilled individual tackle the matter as I have zero programming experience.
I have some, but not nearly enough to pull that off.
I'm gonna try to tackle this I think. It's definitely an annoying bug and from a logical standpoint, it doesn't make too much sense. Is the program trying to run two battle actions (hero & monster) at the same time? If so, I'm thinking that can't be detected, but there might be a way of making the actions more stable to avoid this bug.

RPG::ActionStatus is probably the key to detecting what's going on with a particular action. Next, there has to be some way to detect the action of the opposite battler, and force some kind of a wait.

Skie, do you know of any sure-fire ways of reproducing this bug? It seems kind of random to me. I maybe see it once every 10 or 20 battles.
It happens a lot more often for me because nearly all select able skills are custom evented. And if you use it too close to an enemy's turn, the cancel will happen while still taking the MP.

I can reproduce it pretty reliably by just timing my action selection close to an enemy's.

I was actually speaking with DHM regarding this bug though and the solution to tackle it was rather than trying to fix the root bug, was to instead devise a different method of detecting skill usage.

Namely, storing the database ID of the skill selected into a variable or set of variables, and then referencing that variable to determine which skill's code to execute. The way to do this would be to use onDoAction to set the variable the moment the skill + target is selected.

In theory anyway. I don't have the actual prowess to make this.
Pages: 1