In Progress A Tale of Vengeance Ver. 2.0

The project is currently under development.
You seem quite lost. Sorry if I don't remember how they're done without scripts. Did you press back + attack during anim grab?

Press forward + attack (during anim grab) = anim grabforward
Press back + attack (during anim grab) = anim grabbackward

To understand better, look at these frames in these animations. slamstart is used after the target is actually grabbed by player's anim .

Code:
anim    grabbackward
    loop    0
    delay    4
    offset    68 96
    fastattack    1
    flipframe    8
        @script
    if(frame==4)
    {
           int SFX1 = loadsample("data/chars/captain/at4.wav");
           int SFX2 = loadsample("data/chars/captain/at45.wav");
           void vSelf = getlocalvar("self");
                 int r = rand()%30;
                 if(r > 0){
               playsample(SFX1, 0, 120, 120, 100, 0);
                 }
                 if(r <= 0){
               playsample(SFX2, 0, 120, 120, 100, 0);
                 }
        }
    @end_script   
    @cmd    slamstart 1
    @cmd    position 0 20 0 -1 0
    frame    data/chars/captain/att31.gif
    frame    data/chars/captain/att21.gif
    delay    8
    frame    data/chars/captain/bgrab1.gif
    @cmd    position 0 20 0 -1 0
    sound    data/sounds/grab.wav
    @cmd    position 5 7 48 -1 0
    @cmd    velo001 -0.5 0 0
    frame    data/chars/captain/grab10.gif
    delay    5
    offset    68 91
    @cmd    position 10 10 30 -1 0
    frame    data/chars/captain/grab12.gif
    delay    45
    @cmd    depost 0
    @cmd    throw 25 2 5 1 0 0
    @cmd    velo001 0 0 0
    frame    data/chars/captain/grab11.gif
    offset    68 96
    delay    10
    @cmd    clearL
    move    0
    frame    data/chars/captain/rise1.gif
    frame    data/chars/captain/rise2.gif
    frame    data/chars/captain/get.gif
        
anim    grabforward
    loop    0
    delay    20
    offset    68 96
    fastattack    1
        @script
    if(frame==5)
    {
           int SFX1 = loadsample("data/chars/captain/at2.wav");
           int SFX2 = loadsample("data/chars/captain/at3.wav");
           void vSelf = getlocalvar("self");
                 int r = rand()%30;
                 if(r > 0){
               playsample(SFX1, 0, 120, 120, 100, 0);
                 }
                 if(r <= 0){
               playsample(SFX2, 0, 120, 120, 100, 0);
                 }
        }
    @end_script   
    @cmd    slamstart 1
    @cmd    position 0 20 0 -1 0
    sound    data/sounds/grab.wav
    frame    data/chars/captain/bgrab1.gif
    delay    8
    @cmd    position 0 0 0 1 0
    frame    data/chars/captain/bgrab2.gif
    @cmd    position 0 -10 0 1 1
    frame    data/chars/captain/bgrab2.gif
    @cmd    position 5 -7 48 -1 0
    frame    data/chars/captain/bgrab3.gif
    delay    8
    @cmd    position 7 0 63 -1 0
    frame    data/chars/captain/grab06.gif
    @cmd    position 10 10 50 -1 0
    @cmd    depost 0
    @cmd    throw 25 2 6 0.5 0 0
    frame    data/chars/captain/grab07.gif
    delay    30
    @cmd    clearL
    frame    data/chars/captain/bgrab5.gif

Using slamstart2, it's almost like anim grab, but you grab 'em instantly with it.

Code:
anim    freespecial57 #Grab-to-throw forward
    offset    27 99
    delay    2
    range 0 35
    followanim    9
    followcond    2
    fastattack    1
    hitfx data/sounds/empty.wav
    frame    data/chars/ryu/371.gif
    delay    7
    attack 37 7 25 51 0 0 1 1 50 0 0
    frame    data/chars/ryu/371.gif
    delay    2
    frame    data/chars/ryu/371.gif
    offset    27 98
    attack    0
    frame    data/chars/ryu/372.gif
    offset    27 92
    frame    data/chars/ryu/373.gif
    offset    27 93
    frame    data/chars/ryu/374.gif
    frame    data/chars/ryu/375.gif

anim    follow9 #Forward punch throw
    offset    48 94
    delay    25
    @cmd    slamstart2
    @cmd    position 0 -36 3 -4 1 #position {frame} {x} {y} {z} {facing} #
    @cmd    camFocus 1
    frame    data/chars/ryu/376.gif
    delay 8
    offset    24 95
    @cmd    position 1 -20 21 -1 1
    frame    data/chars/ryu/377.gif
    offset    15 98
    @cmd    position 2 12 26 1 1
    frame    data/chars/ryu/378.gif
    offset    14 87
    @cmd    position 3 47 77 -1 1
    frame    data/chars/ryu/379.gif
    offset    8 77
    @cmd    position 4 67 76 0 1
    @cmd    camFocus 0
    frame    data/chars/ryu/380.gif
    @cmd    position 4 67 76 0 1
    @cmd    depost 0
    #@cmd    throw 5 1 4.2 2.5 0 0 #throw {damage} {type} {x} {y} {z} {facing}
    @cmd    finish 5 1 3 2 0 0 # finish {damage} {type} {x} {y} {z} {facing}
    # -7 of y; -24 of x;
    @cmd    clearL
    frame    data/chars/ryu/380.gif
    offset    11 72
    frame    data/chars/ryu/381.gif
    offset    12 70
    frame    data/chars/ryu/382.gif
    offset    30 78
    frame    data/chars/ryu/383.gif

Code:
anim freespecial33 #Grab to Back kick throw
    offset    27 99
    delay    2
    followanim    19 #back throw
    followcond    2
#    jugglecost 2
    fastattack    1
    attackone    1
    hitfx data/sounds/empty.wav
    frame    data/chars/ryu/371.gif
    delay    7
    attack 37 7 25 51 0 0 1 1 50 0 # } {x} {y} {right} {down} {damage} {knockout} {block} {noflash} {z}
    frame    data/chars/ryu/371.gif
    delay    2
    frame    data/chars/ryu/371.gif
    offset    27 98
    attack    0
    frame    data/chars/ryu/372.gif
    offset    27 92
    frame    data/chars/ryu/373.gif
    offset    27 93
    frame    data/chars/ryu/374.gif
    frame    data/chars/ryu/375.gif
        
anim follow19 #Back kick throw
    offset    48 94
    delay    25
    flipframe 0
#    @cmd    anti
    @cmd    slamstart2
    @cmd    position 0 -36 3 -4 1 #position {frame} {x} {y} {z} {facing}
    @cmd    camFocus 1
    frame data/chars/ryu/376.gif
    @cmd position 1 -33 3 -4 1
    offset 36 94
    delay 8
    frame data/CHARS/Ryu/384.gif
    offset 18 79
    @cmd position 5 -2 16 -3 1
    frame data/CHARS/Ryu/385.gif
    offset 22 58
    @cmd position 6 38 26 -2 1
    frame data/CHARS/Ryu/386.gif
    offset 36 58
    @cmd position 6 38 26 -2 1
    @cmd depost 0
    @cmd    throw 5 1 4.2 2.5 0 0 #throw {damage} {type} {x} {y} {z} {facing}
    @cmd clearL
    @cmd    camFocus 0
    frame data/CHARS/Ryu/387.gif
    offset 33 61
    delay 30
    frame data/CHARS/Ryu/388.gif
    offset 30 48
    delay 9
    frame data/CHARS/Ryu/389.gif
    offset 33 44
    frame data/CHARS/Ryu/390.gif
    offset 24 60
    frame data/CHARS/Ryu/391.gif

Without anim grab, anim grabforward will take its place, only to grab and throw forward.

gonna keep working and or trying throughout the day..real life stuff sadly.. but question... i have these 8 sprites.. how do you choose and or which would you choose for mid, feet, head... or am i to make8 for each? thanks for all the assist
View attachment 9204View attachment 9205View attachment 9206View attachment 9207View attachment 9208View attachment 9209View attachment 9210View attachment 9211

I can see the offset is quite confusing for you. That's why I put its axis/offset around the joints of their legs, as well as putting certain frames that are different frame what you see from his. You can add same frames with different offsets. But for me, I'd suggest putting its axis on the back of his stomach. Plus, the number of frames for a specific fall animation for slams doesn't matter. What matters is you pick which frame you want the entity to act like he's being grabbed, as well as placing an axis above feet

For O Ilusionista's part, you put one frame and place one offset on his feet. That's the first frame. Use the same sprite for another frame, but this time, you place it on his stomach. That's the second frame. Then, use the same sprite for another frame again and place it on its head. That's the third frame. Then, you do the following procedure with whatever sprite you want to put. Take a look at this for example on the Soldier enemy from his Avengers module. Pay attention to its offset used.

Code:
anim    fall7
    loop    0
    delay    1000
    offset    90 116
    @cmd    subjectWall 0
    frame    data/chars/enemies/soldier/fall1.gif
    offset    89 87
    frame    data/chars/enemies/soldier/fall1.gif
    offset    96 76
    frame    data/chars/enemies/soldier/fall1.gif
    offset    79 108
    frame    data/chars/enemies/soldier/rotate_7.gif
    offset    92 86
    frame    data/chars/enemies/soldier/rotate_7.gif
    offset    105 84
    frame    data/chars/enemies/soldier/rotate_7.gif
    offset    68 95
    frame    data/chars/enemies/soldier/rotate_6.gif
    offset    93 89
    frame    data/chars/enemies/soldier/rotate_6.gif
    offset    107 94
    frame    data/chars/enemies/soldier/rotate_6.gif
    offset    74 77
    frame    data/chars/enemies/soldier/rotate_5.gif
    offset    93 90
    frame    data/chars/enemies/soldier/rotate_5.gif
    offset    96 103
    frame    data/chars/enemies/soldier/rotate_5.gif
    offset    86 69
    frame    data/chars/enemies/soldier/rotate_4.gif
    offset    92 90
    frame    data/chars/enemies/soldier/rotate_4.gif
    offset    85 106
    frame    data/chars/enemies/soldier/rotate_4.gif
    offset    101 73
    frame    data/chars/enemies/soldier/rotate_3.gif
    offset    90 94
    frame    data/chars/enemies/soldier/rotate_3.gif
    offset    77 99
    frame    data/chars/enemies/soldier/rotate_3.gif
    offset    109 84
    frame    data/chars/enemies/soldier/rotate_2.gif
    offset    88 91
    frame    data/chars/enemies/soldier/rotate_2.gif
    offset    76 85
    frame    data/chars/enemies/soldier/rotate_2.gif
    offset    107 101
    frame    data/chars/enemies/soldier/rotate_1.gif
    offset    88 90
    frame    data/chars/enemies/soldier/rotate_1.gif
    offset    83 76
    frame    data/chars/enemies/soldier/rotate_1.gif
    offset    95 111
    frame    data/chars/enemies/soldier/rotate_8.gif
    offset    88 87
    frame    data/chars/enemies/soldier/rotate_8.gif
    offset    94 74
    frame    data/chars/enemies/soldier/rotate_8.gif
    offset    118 111
    frame    data/chars/enemies/soldier/fall3.gif
    offset    83 107
    frame    data/chars/enemies/soldier/fall3.gif
    offset    67 103
    frame    data/chars/enemies/soldier/fall3.gif
    offset    92 115
    frame    data/chars/misc/empty.gif

OK. I'm gonna stop now because I don't want to derail this topic. I will let O Ilusionista take care of this.

BTW the select screen is nicely done in different modes. Great job! (y)
 
i need t o look at this beter.. sorry just a super busy day here.. but rest assure i apreciate the assist for real... thank you
 
i know is kinda on the simple side... but thanks to @Bloodbane for the animation script for the select screen, i managed to edit the script to be able to load multiple animations for it xD
again is simple but it looks way better and it works :)
I like it !
Again, I would be very curious to know the source of the music used in this select screen. ^^
 
ok so i got fall 7 set up according to how the tutorial is set up...feet/mid/head, thanks @maxman for pointing stuff out, that helped :)
also am i to assume that anim fall 9 is just regular anim fall? they kinda looks it from the images in the tutorial.
also no bbox for anim fall7? for juggling purposes that is.
still have to work on the @cmd stuff..again busy day but i am working on it and i am trying... :)
Code:
anim    fall7
   loop    0
   delay   1000
   offset  92 20
   @cmd    subjectWall 0
   frame   data/chars/playa/fall03.png
   offset  59 44
   frame   data/chars/playa/fall03.png
   offset  28 42
   frame   data/chars/playa/fall03.png
   offset  94 72
   frame   data/chars/playa/RF_8.png
   offset  56 70
   frame   data/chars/playa/RF_8.png
   offset  34 50
   frame   data/chars/playa/RF_8.png
   offset  51 88
   frame   data/chars/playa/RF_7.png
   offset  21 61
   frame   data/chars/playa/RF_7.png
   offset  21 35
   frame   data/chars/playa/RF_7.png
   offset  44 93
   frame   data/chars/playa/RF_6.png
   offset  37 52
   frame   data/chars/playa/RF_6.png
   offset  54 31
   frame   data/chars/playa/RF_6.png
   offset  41 65
   frame   data/chars/playa/RF_5.png
   offset  61 34
   frame   data/chars/playa/RF_5.png
   offset  85 24
   frame   data/chars/playa/RF_5.png
   offset  36 41
   frame   data/chars/playa/RF_4.png
   offset  72 29
   frame   data/chars/playa/RF_4.png
   offset  96 39
   frame   data/chars/playa/RF_4.png
   offset  40 44
   frame   data/chars/playa/RF_3.png
   offset  72 54
   frame   data/chars/playa/RF_3.png
   offset  86 80
   frame   data/chars/playa/RF_3.png
   offset  33 33
   frame   data/chars/playa/RF_2.png
   offset  51 62
   frame   data/chars/playa/RF_2.png
   offset  48 90
   frame   data/chars/playa/RF_2.png
   offset  78 32
   frame   data/chars/playa/RF_1.png
   offset  65 72
   frame   data/chars/playa/RF_1.png
   offset  49 89
   frame   data/chars/playa/RF_1.png
   offset  114 24
   frame   data/chars/playa/fall04.png
   offset  65 22
   frame   data/chars/playa/fall04.png
   offset  30 23
   frame   data/chars/playa/fall04.png
   offset  92 115
   frame   data/chars/misc/empty.gif
fall03.pngfall04.pngRF_1.pngRF_2.pngRF_3.pngRF_4.pngRF_5.pngRF_6.pngRF_7.pngRF_8.png
 
Last edited:
am i to assume that anim fall 9 is just regular anim fall?

FALL9 is "quicker" version of FALL. The character usually uses falling frame just before fallen or lying down frame here. FALL9 is useful to release slammed opponent after backbreaker or ground slam.
 
i know it says kinda what it does next to it.. but can someone break it down? cus is not really clear to me please.. thanks

like how you select the frame from fall 7 and how you get those x/y values from? facing left to right or uo and down?
also i see 2 or 3 positions in characters animation grabforward..is that a diff agled sprite each?
@cmd position 0 -28 31 0 1 # position {target's frame} {target's x} {target's y} {target's z} {target's facing}

this one i know damage bout it.
@cmd throw 10 1 3 2.2 0 -1 #throw {damage}{type} {x} {y} {z} {direction}

this no clue, i know is needed at the end but numbers?
@cmd finish 8 1 1 1 0 -1

ATK_NORMAL in the slamstart scripts

thanks

EDIT: @DCurrent when you get some free time.. think can shed light on this? i think this is whats holding me up... ive looked but i couldnt find explanations for these... theyre somewhere but i really couldnt find anything... thanks
 
Last edited:
I like it !
Again, I would be very curious to know the source of the music used in this select screen. ^^
Theme of Street Fighter IV Character Select.

Quite cheesy for Street Fighter IV to me, but excellent for ATOV. Just listening to it in his module sounds more fitting.

also am i to assume that anim fall 9 is just regular anim fall? they kinda looks it from the images in the tutorial.
Fall9, you say?

Look at "2" in finish:
Code:
anim follow23 #Double Suplex
@script
void self = getlocalvar("self");
int full = openborvariant("levelwidth");
int half = openborvariant("levelwidth")/2;

if(frame == 0){
    changelevelproperty("scrollspeed", 0);
    changeentityproperty(self, "aggression", 30);
}
if(frame == 8){
    int full = openborvariant("levelwidth");
    changelevelproperty("scrollspeed", 0);
    changeentityproperty(self, "aggression", 0);
}
if(frame == 9){
    int half = openborvariant("levelwidth")/2;
    changelevelproperty("scrollspeed", half);
    changeentityproperty(self, "aggression", 0);
}
if(frame == 14){
changelevelproperty("scrollspeed", full);
    changeentityproperty(self, "aggression", 30);
}
@end_script
    offset 337 291
    delay 6
    jumpframe 12 3 2 0
    dropframe 13
    landframe 14
    @cmd slamstart2
    @cmd stop
    @cmd position 15 60 15 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_116.png
    delay 9
    @cmd position 15 54 15 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_117.png
    @cmd position 1 15 16 0 1
    frame data/CHARS/Zangief/CVS2_Zangief_396.png
    @cmd position 1 -37 19 0 1
    frame data/CHARS/Zangief/CVS2_Zangief_397.png
    @cmd position 5 -39 21 0 1
    frame data/CHARS/Zangief/CVS2_Zangief_398.png
    @cmd position 5 -39 21 0 1
    frame data/CHARS/Zangief/CVS2_Zangief_399.png
    @cmd position 12 -23 53 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_400.png
    @cmd position 4 86 87 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_401.png
    delay 19
    @cmd position 3 137 5 0 -1
    @cmd hurt2 10
    sound data/sounds/fall.wav
    frame data/CHARS/Zangief/CVS2_Zangief_402.png
    delay 9
    @cmd position 3 137 5 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_333.png
    @cmd position 3 137 5 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_334.png
    move 12
    @cmd position 3 54 5 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_335.png
    delay 14
    move 0
    @cmd position 12 -20 79 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_336.png
    @cmd position 4 81 103 0 -1
    delay 100
    frame data/CHARS/Zangief/CVS2_Zangief_337.png
    delay 22
    @cmd position 3 58 11 0 1
    sound data/sounds/fall.wav
    frame data/CHARS/Zangief/CVS2_Zangief_338.png
    @cmd position 3 58 11 0 1
    delay 6
    frame data/CHARS/Zangief/CVS2_Zangief_339.png
    @cmd position 3 58 11 0 1
    delay 6
    frame data/CHARS/Zangief/CVS2_Zangief_340.png
    @cmd finish 10 2 -1.2 1.5 0 -1
    @cmd depost
    delay 1
    frame data/CHARS/Zangief/CVS2_Zangief_341.png
    @cmd attack0 "ANI_FREESPECIAL21"
    frame data/CHARS/Zangief/CVS2_Zangief_342.png
    frame data/CHARS/Zangief/CVS2_Zangief_343.png
    frame data/CHARS/Zangief/CVS2_Zangief_344.png

Fall9:
Code:
anim fall9 #Slammed out from grapples
    offset    19 71
    delay 1000
    landframe 1
    frame data/CHARS/Ryu/0501000120.gif
    offset    49 40
    delay    15
    frame    data/chars/ryu/0504000010.gif

Type 2.
Code:
void finish(int Damage, int Type, int x, int y, int z, int Face)
{ // Damage as slam or throw finisher
   void self = getlocalvar("self");
   void target = getlocalvar("Target" + self);
   int SDir = getentityproperty(target,"direction");
   int MDir;

   if(Face==0){ // Same facing?
       MDir = SDir;
   }

   if(Face==1){ // Opposite facing?

     if(SDir==0){ // Facing left?
       MDir = 1;
     } else { MDir = 0;}
   }

   if(target==NULL())
   {
     target = getentityproperty(self, "grabbing");
     setlocalvar("Target" + self, target);
   }
   if(target!=NULL())
   {
     int dir = getentityproperty(target,"direction"); //Get opponent's facing direction
     if(dir==0){ // Facing left?
       x = -x;
     }

     if(Type==1)
     {
       damageentity(target, self, Damage, 1, openborconstant("ATK_NORMAL")); // 1st Finisher
     }

     if(Type==2)
     {
       damageentity(target, self, Damage, 1, openborconstant("ATK_NORMAL9")); // 2nd Finisher
     }

     tossentity(target, y, x, z); // Toss opponent ;)
     changeentityproperty(target, "direction", MDir);
   }
}

P.S.: I recommend you use CMT because there's a slam-throw system which you can fiddle around and bind any entity you want to call as your target to be grabbed. (It's like a preview, I think.) You will find it amazing how binding works. You pick what type of fall animation a certain model has as a special fall animation (e.g. anim fall7). Plus, you choose which model/entity you are going to bind.

Instruction(s) for the slam work:

Please take a closer look, Alex.

yeah dont think this is correctly working >_> lol help!!!
What's your code for both Ryu and that Playa? You must be missing something.
 
Theme of Street Fighter IV Character Select.

Quite cheesy for Street Fighter IV to me, but excellent for ATOV. Just listening to it in his module sounds more fitting.


Fall9, you say?

Look at "2" in finish:
Code:
anim follow23 #Double Suplex
@script
void self = getlocalvar("self");
int full = openborvariant("levelwidth");
int half = openborvariant("levelwidth")/2;

if(frame == 0){
    changelevelproperty("scrollspeed", 0);
    changeentityproperty(self, "aggression", 30);
}
if(frame == 8){
    int full = openborvariant("levelwidth");
    changelevelproperty("scrollspeed", 0);
    changeentityproperty(self, "aggression", 0);
}
if(frame == 9){
    int half = openborvariant("levelwidth")/2;
    changelevelproperty("scrollspeed", half);
    changeentityproperty(self, "aggression", 0);
}
if(frame == 14){
changelevelproperty("scrollspeed", full);
    changeentityproperty(self, "aggression", 30);
}
@end_script
    offset 337 291
    delay 6
    jumpframe 12 3 2 0
    dropframe 13
    landframe 14
    @cmd slamstart2
    @cmd stop
    @cmd position 15 60 15 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_116.png
    delay 9
    @cmd position 15 54 15 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_117.png
    @cmd position 1 15 16 0 1
    frame data/CHARS/Zangief/CVS2_Zangief_396.png
    @cmd position 1 -37 19 0 1
    frame data/CHARS/Zangief/CVS2_Zangief_397.png
    @cmd position 5 -39 21 0 1
    frame data/CHARS/Zangief/CVS2_Zangief_398.png
    @cmd position 5 -39 21 0 1
    frame data/CHARS/Zangief/CVS2_Zangief_399.png
    @cmd position 12 -23 53 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_400.png
    @cmd position 4 86 87 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_401.png
    delay 19
    @cmd position 3 137 5 0 -1
    @cmd hurt2 10
    sound data/sounds/fall.wav
    frame data/CHARS/Zangief/CVS2_Zangief_402.png
    delay 9
    @cmd position 3 137 5 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_333.png
    @cmd position 3 137 5 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_334.png
    move 12
    @cmd position 3 54 5 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_335.png
    delay 14
    move 0
    @cmd position 12 -20 79 0 -1
    frame data/CHARS/Zangief/CVS2_Zangief_336.png
    @cmd position 4 81 103 0 -1
    delay 100
    frame data/CHARS/Zangief/CVS2_Zangief_337.png
    delay 22
    @cmd position 3 58 11 0 1
    sound data/sounds/fall.wav
    frame data/CHARS/Zangief/CVS2_Zangief_338.png
    @cmd position 3 58 11 0 1
    delay 6
    frame data/CHARS/Zangief/CVS2_Zangief_339.png
    @cmd position 3 58 11 0 1
    delay 6
    frame data/CHARS/Zangief/CVS2_Zangief_340.png
    @cmd finish 10 2 -1.2 1.5 0 -1
    @cmd depost
    delay 1
    frame data/CHARS/Zangief/CVS2_Zangief_341.png
    @cmd attack0 "ANI_FREESPECIAL21"
    frame data/CHARS/Zangief/CVS2_Zangief_342.png
    frame data/CHARS/Zangief/CVS2_Zangief_343.png
    frame data/CHARS/Zangief/CVS2_Zangief_344.png

Fall9:
Code:
anim fall9 #Slammed out from grapples
    offset    19 71
    delay 1000
    landframe 1
    frame data/CHARS/Ryu/0501000120.gif
    offset    49 40
    delay    15
    frame    data/chars/ryu/0504000010.gif

Type 2.
Code:
void finish(int Damage, int Type, int x, int y, int z, int Face)
{ // Damage as slam or throw finisher
   void self = getlocalvar("self");
   void target = getlocalvar("Target" + self);
   int SDir = getentityproperty(target,"direction");
   int MDir;

   if(Face==0){ // Same facing?
       MDir = SDir;
   }

   if(Face==1){ // Opposite facing?

     if(SDir==0){ // Facing left?
       MDir = 1;
     } else { MDir = 0;}
   }

   if(target==NULL())
   {
     target = getentityproperty(self, "grabbing");
     setlocalvar("Target" + self, target);
   }
   if(target!=NULL())
   {
     int dir = getentityproperty(target,"direction"); //Get opponent's facing direction
     if(dir==0){ // Facing left?
       x = -x;
     }

     if(Type==1)
     {
       damageentity(target, self, Damage, 1, openborconstant("ATK_NORMAL")); // 1st Finisher
     }

     if(Type==2)
     {
       damageentity(target, self, Damage, 1, openborconstant("ATK_NORMAL9")); // 2nd Finisher
     }

     tossentity(target, y, x, z); // Toss opponent ;)
     changeentityproperty(target, "direction", MDir);
   }
}

P.S.: I recommend you use CMT because there's a slam-throw system which you can fiddle around and bind any entity you want to call as your target to be grabbed. (It's like a preview, I think.) You will find it amazing how binding works. You pick what type of fall animation a certain model has as a special fall animation (e.g. anim fall7). Plus, you choose which model/entity you are going to bind.

Instruction(s) for the slam work:

Please take a closer look, Alex.


What's your code for both Ryu and that Playa? You must be missing something.
unfortunately i cant get cmt to work on my pc, tried that last month i think and it keeps having some error...
the rest am sorry but no clue as to what youre trying to tell me :(
the video shows placing of the animation which i guess thats how you get the x/y? but isnt that different for every character in the game?
heres the codes am using and maybe am missing something but i know the numbers aint right because nothing ive seen explains anything imho hence why i asked if someone could explain them in previous post.

heres the fall 7 same as i posted before as is the only one ive done ..no sense in making more if i cant understand what am doing lol
Code:
  anim    fall7
   loop    0
   delay   1000
   offset  92 20
   frame   data/chars/playa/fall03.png
   offset  59 44
   frame   data/chars/playa/fall03.png
   offset  28 42
   frame   data/chars/playa/fall03.png
   offset  94 72
   frame   data/chars/playa/RF_8.png
   offset  56 70
   frame   data/chars/playa/RF_8.png
   offset  34 50
   frame   data/chars/playa/RF_8.png
   offset  51 88
   frame   data/chars/playa/RF_7.png
   offset  21 61
   frame   data/chars/playa/RF_7.png
   offset  21 35
   frame   data/chars/playa/RF_7.png
   offset  44 93
   frame   data/chars/playa/RF_6.png
   offset  37 52
   frame   data/chars/playa/RF_6.png
   offset  54 31
   frame   data/chars/playa/RF_6.png
   offset  41 65
   frame   data/chars/playa/RF_5.png
   offset  61 34
   frame   data/chars/playa/RF_5.png
   offset  85 24
   frame   data/chars/playa/RF_5.png
   offset  36 41
   frame   data/chars/playa/RF_4.png
   offset  72 29
   frame   data/chars/playa/RF_4.png
   offset  96 39
   frame   data/chars/playa/RF_4.png
   offset  40 44
   frame   data/chars/playa/RF_3.png
   offset  72 54
   frame   data/chars/playa/RF_3.png
   offset  86 80
   frame   data/chars/playa/RF_3.png
   offset  33 33
   frame   data/chars/playa/RF_2.png
   offset  51 62
   frame   data/chars/playa/RF_2.png
   offset  48 90
   frame   data/chars/playa/RF_2.png
   offset  78 32
   frame   data/chars/playa/RF_1.png
   offset  65 72
   frame   data/chars/playa/RF_1.png
   offset  49 89
   frame   data/chars/playa/RF_1.png
   offset  114 24
   frame   data/chars/playa/fall04.png
   offset  65 22
   frame   data/chars/playa/fall04.png
   offset  30 23
   frame   data/chars/playa/fall04.png
   offset  92 115
   frame   data/chars/misc/empty.gif

heres ryus..
Code:
anim grabforward
    @cmd    slamstart
    @cmd    position 0 0 0 -1 -1
    Delay    7
    sound   data/sounds/terthw.wav
 # position {target's frame} {target's x} {target's y} {target's z} {target's facing}
   offset 34 101
   @cmd    position 1 0 0 -1 -1
   frame  data/chars/ryu/thr100.png
   @cmd    position 2 0 0 -1 -1
   offset 33 100
   frame  data/chars/ryu/thr101.png
   @cmd    position 3 0 0 -1 -1
   offset 33 94
   frame  data/chars/ryu/thr102.png
   @cmd    position 4 0 0 -1 -1
   offset 33 95
   frame  data/chars/ryu/thr103.png
   @cmd    position 5 0 0 -1 -1
   offset 50 95
   frame  data/chars/ryu/thr104.png
   offset 35 97
   frame  data/chars/ryu/thr105.png
   offset 23 97
   frame  data/chars/ryu/thr106.png
   offset 20 100
   frame  data/chars/ryu/thr107.png
   offset 8 89
   @cmd    finish 24 -2.5 2.6 0 -1
   frame  data/chars/ryu/thr108.png
   offset 10 79
   frame  data/chars/ryu/thr109.png
   offset 12 74
   frame  data/chars/ryu/thr110.png
   offset 32 72
   frame  data/chars/ryu/thr111.png
   offset 32 95
   @cmd depost 0
   frame  data/chars/ryu/thr112.png

anim grabbackward
    loop    0
    delay    8
    bbox    0 0 0 0
@cmd    position 0 -30 0 -1 0
 @cmd slamstart2
sound   data/sounds/terthw.wav
offset    23 96
frame    data/chars/ryu/bthrow0.png
offset    52 81  
frame    data/chars/ryu/bthrow1.png
offset    54 66  
frame    data/chars/ryu/bthrow2.png
offset    86 60    
frame    data/chars/ryu/bthrow3.png
offset    81 63
delay   20
frame    data/chars/ryu/bthrow4.png
offset    67 50  
delay   8
frame    data/chars/ryu/bthrow5.png
offset    66 46    
frame    data/chars/ryu/bthrow6.png
offset    54 62  
@cmd throw 20 1 3 0.8 0 0
@cmd depost 0
frame    data/chars/ryu/bthrow7.png

again thanks, but untill i understand what those @cmd means i dont think this will work..which means ill have to keep doing other stuff as this is holding progress back.. it be nice to add but so far is being a pain lol
 
Sorry buddy, I am on a hurry to fully reply your post.
My method uses two animations:

FALL7 - the complete animation with all frames, including a invisible one (useful when you need to make the enemy to disapear)]
FALL9 - its the animation which plays when, most of time, you release an enemy, like throwing him over your shoulder
1726509583073.png
The enemy (and the player) lands on 4th frame, the othe two is to simulate a bounce
anim fall9
bbox 56 61 43 46
loop 0
delay 6
offset 84 109
landframe 3
bouncefactor 2
attack 56 61 39 42 10 10 0 0 10 5
frame data/chars/alfred/rotate_4.gif
frame data/chars/alfred/rotate_3.gif
delay 500
frame data/chars/alfred/rotate_2.gif
bbox 34 76 55 25
offset 67 93
delay 10
attack 0 0 0 0 0 0 0 0 0 0
frame data/chars/alfred/fall03.gif
bbox 45 57 52 34
offset 75 92
frame data/chars/alfred/fall02.gif
bbox 34 76 55 25
offset 67 93
frame data/chars/alfred/fall03.gif

on the FALL7, I make 3 copies of each frame, each one placing the axis on a different position, always following his order: feet > bodycenter > head
1726509778636.png1726509787440.png1726509800498.png

I saw that you are rotating the same frame on your game. This is the way I do when I don't have all the frames, but since you are using a Mugen character, they already have all those frames
kinda interested in this part "I do 90% of the throws using only ONE animation." lol
Its the two animations above - FALL7 and FALL9. With that method, I can do any type of throw I want on my game
I have an extra animation called FALL11, where the entity spins. But if you do all the frames for the FALL7, all other animtions will just reuse those frames - and that is the magic of that method :)

This is Alfred's FALL11 animation. It loops until he touches the ground
alfred_fall11.gif
On my game, players cannot be juggled (they have no BBOX on their fall animation), except for the FALL11.
 
Sorry buddy, I am on a hurry to fully reply your post.
My method uses two animations:

FALL7 - the complete animation with all frames, including a invisible one (useful when you need to make the enemy to disapear)]
FALL9 - its the animation which plays when, most of time, you release an enemy, like throwing him over your shoulder
View attachment 9226
The enemy (and the player) lands on 4th frame, the othe two is to simulate a bounce


on the FALL7, I make 3 copies of each frame, each one placing the axis on a different position, always following his order: feet > bodycenter > head
View attachment 9227View attachment 9228View attachment 9229

I saw that you are rotating the same frame on your game. This is the way I do when I don't have all the frames, but since you are using a Mugen character, they already have all those frames

Its the two animations above - FALL7 and FALL9. With that method, I can do any type of throw I want on my game
I have an extra animation called FALL11, where the entity spins. But if you do all the frames for the FALL7, all other animtions will just reuse those frames - and that is the magic of that method :)

This is Alfred's FALL11 animation. It loops until he touches the ground
View attachment 9230
On my game, players cannot be juggled (they have no BBOX on their fall animation), except for the FALL11.
thanks i figured out the stuff you talk about minus reusing the same sprite lol... but ill have to move on to other stuff for now as i cant figure out the @cmd stuff.. dont know what they mean ..i posted about it above... thanks for taking the time tho... appreciate it :)
 
gonna keep working and or trying throughout the day..real life stuff sadly.. but question... i have these 8 sprites.. how do you choose and or which would you choose for mid, feet, head... or am i to make8 for each? thanks for all the assist
View attachment 9204View attachment 9205View attachment 9206View attachment 9207View attachment 9208View attachment 9209View attachment 9210View attachment 9211
Sup fam
Hope you well?
Aside from rotating sprites, try to flip them so they facing the opposite direction with Gimp.
This should help with sprite alignment.
Consider certain pain animations when creating slams to really sell it.
Take note of how it was done in CVS2.
It always help to take a look at the old games then replicate the various animations.
Admittedly, I haven't started on slams yet but have an idea of how to go about it.
Seriously going to make of CMT's bind.
I won't limit it to slams though.
Hope this help.
Life be getting to real if you ask me the older we get but hey, at least we can do this Openbor thing in a retirement home when the time come.
That's some peace of mind hoping I don't lose it by then.
 
Sup fam
Hope you well?
Aside from rotating sprites, try to flip them so they facing the opposite direction with Gimp.
This should help with sprite alignment.
Consider certain pain animations when creating slams to really sell it.
Take note of how it was done in CVS2.
It always help to take a look at the old games then replicate the various animations.
Admittedly, I haven't started on slams yet but have an idea of how to go about it.
Seriously going to make of CMT's bind.
I won't limit it to slams though.
Hope this help.
Life be getting to real if you ask me the older we get but hey, at least we can do this Openbor thing in a retirement home when the time come.
That's some peace of mind hoping I don't lose it by then.
thanks brother... sadly cmt doesnt work here, only done one set which is what i posted but amstuck with these In Progress - A Tale of Vengeance Ver. 2.0
maybe after i get some of that figured out, this will stay on hold...spent over a day in literal hours on it trying to figured those out lol... way to long and to many other things i need to work on so yeah... be cool if i can at some point , but without answers to those i dont think i can progress on this... so crossing fingers xD

need to try figured out why cmt errors out here, but not in a rush on that as i do better and or work faster manually lol... i know old and stubborn hehe
 
spent over a day in literal hours on it trying to figured those out lol
I know the feeling, I been working on putting moves together for Sagat for a few months so I decided to put him on hold, everyone else's moves are set in stone, currently working on Gouken.
Off topic quick.
I appreciate the effort in putting walk animations together for guys, I had a look at Terry and he really move funny in CVS2 when walking forward to the point where I decided to use the Garou Mark of the wolf version of him.
Cvs2 and Garou sprites look like they can go together. I only edit sprites to fill in the gaps or add missing bits.
Your work is shaping up very well.
 
I know the feeling, I been working on putting moves together for Sagat for a few months so I decided to put him on hold, everyone else's moves are set in stone, currently working on Gouken.
Off topic quick.
I appreciate the effort in putting walk animations together for guys, I had a look at Terry and he really move funny in CVS2 when walking forward to the point where I decided to use the Garou Mark of the wolf version of him.
Cvs2 and Garou sprites look like they can go together. I only edit sprites to fill in the gaps or add missing bits.
Your work is shaping up very well.
thanks it takes time when youre picky lol.. and we tend to be here... also the walk animations i did are ok..havent sprite edit since i did the game originally lol
so they aint the best but beats their original walking animations imho..least they fit the game genre better.
and thanks.. but you already doing great with gameplay brother, better than a lot of stuff already released no offense to anyone.
 
as i cant figure out the @cmd stuff.. dont know what they mean

@cmd is for running script functions from library declared with animationscript.
Example: @cmd dasher 2 1 0 gives similar effect to jumpframe x 1 2 0 with x is the frame at which @cmd is declared.

HTH
 
@cmd position 0 -28 31 0 1 # position {target's frame} {target's x} {target's y} {target's z} {target's facing}

this one i know damage bout it.
@cmd throw 10 1 3 2.2 0 -1 #throw {damage}{type} {x} {y} {z} {direction}

this no clue, i know is needed at the end but numbers?
@cmd finish 8 1 1 1 0 -1
Check the script file and you will have a clue of what is going on:

void slamstart(int iDrop)
{ // Slam Starter
- you use this only when you are grabbing something. The iDrop must be higher than the target knocodowncount, or the target won't change to FALL7 animation.
When I mean "grab", I mean the native GRAB.

void slamstart2()
{ // Slam Starter for nongrab slams
- Use this one on moves that aren't a grab, like someone executing a move where it runs and grab the enemy, like KOF Clark move for example.

void position(int Frame, float dx, float dy, float dz, int face)
{ // Modify grabbed entity's position relative to grabber
This is the main function - this places the target on the desired animation frame (and this is why I have one animation for all the throws), on the given position and facing.

void finish(int Damage, int Type, int x, int y, int z, int Face)
void throw(int Damage, int Type, int x, int y, int z, int Face)

{ // Damage as slam or throw finisher
- Both is used to make the same thing - to throw the enemy.
But there is a key difference between both functions: THROW() damages the target only when it touches the ground. So if you use THROW() on a target but any other player hits the same target while it's airborne, your initial damage won't trigger, as the function uses "damage_on_landing" to damage the target (it does 1 of damage when you execute it).

FINISH(), on the other hand, damages the target right when you use it, with no aditional damage when the target lands on the floor.
 
Back
Top Bottom