Are you trying to make it so she doesn't drop like the bass in one of those god awful skrillex songs?
IOW, using a freespecial in mid air causes the entity to lose ALL forward momentum, and immediately drop to the ground according to it's rate of antigravity. I think it has to do with Freespecials being coded in as grounded actions by default, or something to that effect anyway.
Bloodbane gave me a keyscript to counter that. Make a new .txt file, Call it
Whatever you like honestly.C <-- Make sure you have your computer set to allow viewing file extentions. Then paste the following green stuff into it:
void main()
{
int iPlIndex = getlocalvar("player"); // Get calling player
void vSelf = getplayerproperty(iPlIndex , "entity"); // Get calling entity
void vAniID = getentityproperty(vSelf,"animationID"); // Get current animation ID
void vAniPos = getentityproperty(vSelf, "animpos"); // Get current animation frame
int iDir = getentityproperty(vSelf, "direction"); // Get current facing direction
void iUp = playerkeys(iPlIndex, 1, "moveup"); // New key status of "Up"
void iDown = playerkeys(iPlIndex, 1, "movedown"); // New key status of "Down"
void iLeft = playerkeys(iPlIndex, 1, "moveleft"); // New key status of "Left"
void iRight = playerkeys(iPlIndex, 1, "moveright"); // New key status of "Right"
void iJump = playerkeys(iPlIndex, 1, "jump"); // New key status of "Jump"
void iSpecial = playerkeys(iPlIndex, 1, "Special"); // New key status of "Special"
void iAttack = playerkeys(iPlIndex, 1, "attack"); // New key status of "Attack"
void iAttack2 = playerkeys(iPlIndex, 1, "attack2"); // New key status of "Attack 2"
void iAttack3 = playerkeys(iPlIndex, 1, "attack3"); // New key status of "Attack 3"
void iAttack4 = playerkeys(iPlIndex, 1, "attack4"); // New key status of "Attack 4"
void iUpR = playerkeys(iPlIndex, 2, "moveup"); // Release status of "Up"
void iDownR = playerkeys(iPlIndex, 2, "movedown"); // Release status of "Down"
void iLeftR = playerkeys(iPlIndex, 2, "moveleft"); // Release status of "Left"
void iRightR = playerkeys(iPlIndex, 2, "moveright"); // Release status of "Right"
void iJumpR = playerkeys(iPlIndex, 2, "jump"); // Release status of "Jump"
void iSpecialR = playerkeys(iPlIndex, 2, "Special"); // Release status of "Special"
void iAttackR = playerkeys(iPlIndex, 2, "attack"); // Release status of "Attack"
void iAttack2R = playerkeys(iPlIndex, 2, "attack2"); // Release status of "Attack 2"
void iAttack3R = playerkeys(iPlIndex, 2, "attack3"); // Release status of "Attack 3"
void iAttack4R = playerkeys(iPlIndex, 2, "attack4"); // Release status of "Attack 4"
void iUpH = playerkeys(iPlIndex, 0, "moveup"); // Held status of "Up"
void iDownH = playerkeys(iPlIndex, 0, "movedown"); // Held status of "Down"
void iLeftH = playerkeys(iPlIndex, 0, "moveleft"); // Held status of "Left"
void iRightH = playerkeys(iPlIndex, 0, "moveright"); // Held status of "Right"
void iJumpH = playerkeys(iPlIndex, 0, "jump"); // Held status of "Jump"
void iSpecialH = playerkeys(iPlIndex, 0, "Special"); // Held status of "Special"
void iAttackH = playerkeys(iPlIndex, 0, "attack"); // Held status of "Attack"
void iAttack2H = playerkeys(iPlIndex, 0, "attack2"); // Held status of "Attack 2"
void iAttack3H = playerkeys(iPlIndex, 0, "attack3"); // Held status of "Attack 3"
void iAttack4H = playerkeys(iPlIndex, 0, "attack4"); // Held status of "Attack 4"
//kEEP FORWARD MOMENTUM WITH AIRBORNE FREESPECIAL
if(vAniID == openborconstant("ANI_JUMP") || vAniID == openborconstant("ANI_FORWARDJUMP") || vAniID == openborconstant("ANI_RUNJUMP") ){ //Jumping?
if (iAttack2){ //Attack2 pressed?
changeentityproperty(vSelf, "animation", openborconstant("ANI_FREESPECIALX"));
}
}
}
Once that's done, change that red X to whichever Freespecial you want her to perform in the air. IE: ANI_FREESPECIAL1, ANI_FREESPECIAL2, ANI_FREESPECIAL3, etc. Then save it as Whatever you like honestly.C
once that's done, open your player character's .txt file (In this case, Cammy.) Add the line:
keyscript DATA/CHARS/CAMMY/Whatever you like honestly.C
Or wherever it was you stored that .C file. Save it. you should be good to go from there. Beyond this I really can't be of too much help. I'm not a programmer at all. If you want her A2 kicks to function just like a normal attack (like a second jumpattack 2 and 3 set), you're going to need something else.