Solved Quick time to release from a grab

Question that is answered or resolved.
Hey guys, I have a question that I can't seem to figure out a solution for. Like in older games, some bosses would quickly break free from grabs to make it harder for the player to avoid getting stuck and having to think for too long about what to do. Well, that's what I want to do: give the character a window, in seconds or even milliseconds, to use the attack/throw or for the enemy to break free. If this could also be done with another animation, that would be interesting so the player character doesn't grab the enemy again quickly, like a movement animation to get a little further away.
 
Hey guys, I have a question that I can't seem to figure out a solution for. Like in older games, some bosses would quickly break free from grabs to make it harder for the player to avoid getting stuck and having to think for too long about what to do. Well, that's what I want to do: give the character a window, in seconds or even milliseconds, to use the attack/throw or for the enemy to break free. If this could also be done with another animation, that would be interesting so the player character doesn't grab the enemy again quickly, like a movement animation to get a little further away.
The simplest way is by just declaring the native special, then enemies will use it to break free. Although there's no way to control the escape time (both escapehits/escapecount are used by the special2, triggered when taking damage only), it will not take too long to happen.

In case it does not fit for your purpose, I suggest replicating it with scripts using performattack under customized conditions. You can create an animation script and temporize it using the "grabbed" animation delay, or using update scripts to check "elapsed time" variant.

1774731962036.png
 
The simplest way is by just declaring the native special, then enemies will use it to break free. Although there's no way to control the escape time (both escapehits/escapecount are used by the special2, triggered when taking damage only), it will not take too long to happen.

In case it does not fit for your purpose, I suggest replicating it with scripts using performattack under customized conditions. You can create an animation script and temporize it using the "grabbed" animation delay, or using update scripts to check "elapsed time" variant.

View attachment 14162
I believe it can only be done with a script, because I want the character to break free from the grab.
 
I believe it can only be done with a script, because I want the character to break free from the grab.

No you don't, not for grab breaking. Special breaks out of any grappling unless scripted otherwise.

What @Kratus is telling you, is you need script if you want any delay before the enemy breaks free. By default, the CPU will break grabs with Special almost instantaneously.

DC
 
I believe it can only be done with a script, because I want the character to break free from the grab.

As Kratus posted above, SPECIAL is the best way to break free from grabs.

However, there is a scripted way to control how long a grabber could grabhold opponent before the latter could break free. The grabber could use this script to prevent the opponent for some time before the latter could perform SPECIAL.
C:
anim    grab
@script
  if(frame==0){
    void self = getlocalvar("self");
    void target = getentityproperty(self, "opponent");
    int ETime = openborvariant("elapsed_time");
    int Time = 20; // 20 seconds

    if(target){
      changeentityproperty(target, "seal", -20);
      changeentityproperty(target, "sealtime", Time*200 + ETime);
    }
  }
@end_script
...

This script would seal grabbed opponent for 20 seconds before opponent could perform SPECIAL.
 
As Kratus posted above, SPECIAL is the best way to break free from grabs.

However, there is a scripted way to control how long a grabber could grabhold opponent before the latter could break free. The grabber could use this script to prevent the opponent for some time before the latter could perform SPECIAL.
C:
anim    grab
@script
  if(frame==0){
    void self = getlocalvar("self");
    void target = getentityproperty(self, "opponent");
    int ETime = openborvariant("elapsed_time");
    int Time = 20; // 20 seconds

    if(target){
      changeentityproperty(target, "seal", -20);
      changeentityproperty(target, "sealtime", Time*200 + ETime);
    }
  }
@end_script
...

This script would seal grabbed opponent for 20 seconds before opponent could perform SPECIAL.
@Kerubinsutein This solution may fit for your purpose in case you are using the special animation.
I tested and saw that the @Bloodbane's trick is a clever way to control the escape time.
 
Now I understand, I misunderstood. I'll test the tips you gave me, and with the answers I came up with an idea: a special move that doesn't cause damage, but shows the specific pain and the animations are the same as when releasing grabs, like in KOF games. I'll try it and post the result here. Thanks for the tips, everyone.
 
I managed to solve it, but in an alternative way. I used the random script from @O Ilusionista , which gives you a chance to grab or release most of the time. With the delay in the first animation, you control how long the character stays grabbed before executing the script or not.

anim grabbed
loop 0
delay 25
bbox 86 73 46 116
offset 110 190
frame data/chars/fantasmas/Jaga/grabed.gif
@cmd randomAnim 30 -15 "ANI_FOLLOW12"
delay 50
frame data/chars/fantasmas/Jaga/grabed.gif
The problem is that a few days ago it was giving an error; no matter what I changed in the game, it wasn't making any changes, and the edits in the text file were even disappearing. Now it's gotten to where I was thinking, but with a chance like in the video, but most of the time he'll break free from the grab. I wanted this so that they wouldn't just grab the bosses in the game, but I'm not going to change what I've already done; it will remain in these new edits.

 
Back
Top Bottom