PDA

View Full Version : Game Crashes After adding Combo


rcduggan
08-07-2006, 06:09 PM
Okay, I made my combo file, but whenever I try to play as my jedi, the game crashes
(it didn't crash before my combo was created
my combo:

// these are commented in the doc
OffhandAnimation("aminius_sabre_stand_useforce_full", "FIRE")
{
Loop("FinalFrame");
AimType("Torso");
BlendInTime(0.15);
BlendOutTime(0.15);
}
OffhandAnimation("aminius_sabre_stand_useforce_full", "FIRE2");
OffhandAnimation("aminius_sabre_stand_useforce_full", "CHARGE");

// Throw stuff....
ThrowAnimation("aminius_sabre_stand_throw_full");

State("CATCH_SABRE")
{
Posture("Stand");

// you can declare animations inside states, as well...
Animation("aminius_sabre_stand_catch_ful")
{
AimType("None");
BlendOutTime(0.2);
}

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust");
// face the direction we run
AlignedToThrust();
}

State("IDLE")
{
Duration(0.0); // infinite duration
EnergyRestoreRate(); // means (0.0, "FromSoldier")
InputLock(0.15, "Sprint", "Jump", "Crouch");

// disable the awesome edge
TurnOffLightsaber(1);

Transition("DEFLECT")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Energy(">=", 2.5); // at least half a second worth of deflect time
Button("Fire", "Hold");
}
}
Transition("BACK_ATTACK")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Button("Fire", "Press");
Thrust(">", 0.25);
ThrustAngle(135, 225); // in degrees, remember...
}
}
Transition("ATTACK1")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Stand", "Crouch");
Button("Fire", "Tap");
}
}
Transition("DASHATTACK")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Sprint");
Button("Fire", "Press");
}
}
Transition("JUMPATTACK_FALL")
{
If()
{
Break(); // all transitions are breaking if Duration is 0
Posture("Jump", "Jet");
Button("Fire", "Press");
}
}
}

// for our demo Jedi, block is simply hold Fire down...
State("DEFLECT")
{
Posture("Stand");
Sound("imp_weap_lightsabre_block");
Animation("aminius_sabre_stand_block_idle_full")
{
Loop();
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
LowResPose(0, "Frames");
}

// disable the awesome edge
TurnOffLightsaber(1);

Duration(0.0); // infinite duration, looping anim

EnergyRestoreRate(-10.0); // drain energy while ready to deflect
Deflect()
{
DeflectAngle(-110, 110); // deflect anything from forward arc
EnergyCost(0.0);

DeflectAnimation("aminius_sabre_stand_block_front1_full", "Forward")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("aminius_sabre_stand_block_front2_ful", "Forward")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("aminius_sabre_stand_block_left1_full", "Left")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("aminius_sabre_stand_block_left2_full", "Left")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("aminius_sabre_stand_block_right1_full", "Right")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
DeflectAnimation("aminius_sabre_stand_block_right2_full", "Right")
{
// AimType("Torso");
BlendInTime(0.00);
BlendOutTime(0.05);
LowResPose(5, "Frames");
}
}

Transition("IDLE")
{
If()
{
Break();
Energy("<=", 0.0); // if no energy left
}
Or()
{
Break(20, "Frames"); // all transitions are breaking if Duration is 0
Button("Fire", "Up");
}
}
}

State("BACK_ATTACK")
{
Posture("Stand");
Animation("aminius_sabre_stand_attack_backwards")
{
BlendInTime(0.15);
BlendOutTime(0.3);
}

Sound("saber_swing");

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
DamageTime(4, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(6.0);
}

Attack()
{
DamageTime(13, 20, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(6.0);
}

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

//Forward declare animations to allow BlendTimeTo references:
Animation("aminius_sabre_stand_attack1b_end_full");
Animation("aminius_sabre_stand_attack1c_full");

State("ATTACK1")
{
Posture("Stand");
Animation("aminius_sabre_stand_attack1a_full");
Sound("saber_swing");

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
DamageTime(5, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(3.0);
}

Transition("ATTACK2")
{
If()
{
TimeStart(5, "Frames");
TimeEnd(16, "Frames");
Posture("Stand");
Button("Fire", "Press");
}
}

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("RECOVER1");
}

State("RECOVER1")
{
Posture("Stand");
Animation("aminius_sabre_stand_attack1a_end_full")
{
// SyncType("attack1b", "ByTime");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

State("ATTACK2")
{
Posture("Stand");
Animation("aminius_sabre_stand_attack1b_full")
{
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("stand_attack1b_end", 0.0);
BlendTimeTo("stand_attack1c", 0.0);
}
Sound("saber_swing");

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
DamageTime(7, 12, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(300);
Push(3.0);
}

Transition("ATTACK3")
{
If()
{
TimeStart(7, "Frames");
TimeEnd(17, "Frames");
Posture("Stand");
Button("Fire", "Press");
}
}

// hey, it's a secret!
Transition("MAUL_ATTACK1")
{
If()
{
TimeStart(7, "Frames");
TimeEnd(17, "Frames");
Posture("Stand");
Button("Reload", "Press");
}
}

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("RECOVER2");
}

State("RECOVER2")
{
Posture("Stand");
Animation("aminius_sabre_stand_attack1b_end_full")
{
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

State("ATTACK3")
{
Posture("Stand");
Animation("aminius_sabre_stand_attack1c_full")
{
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
}
Sound("saber_attack_three");

// disable the awesome edge
TurnOffLightsaber(1);

//set a duration so we will go to state RECOVER3 before the animation ends
Duration(20, "Frames");
AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(12.0);
VelocityFromStrafe(3.0);
}
AlignedToThrust();

InputLock("All", "!Thrust"); // lock all controls for duration of state
Attack()
{
DamageTime(4, 11, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(600);
Push(5.0);
}
Attack()
{
AttackID("Attack3-1");
DamageTime(19, 23, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(600);
Push(5.0);
}

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("MACE_STAB")
{
EnergyCost(30);
If()
{
Break(17, "Frames"); // break 1 frame BEFORE the transition ends!!!
TimeStart(7, "Frames");
TimeEnd(18, "Frames");
Posture("Stand");
Button("Reload", "DoubleTap");
}
}

Transition("RECOVER3");
}

// a bit suave, we first make Luke unable to move as he lands from the jump...
State("RECOVER3")
{
Posture("Stand");
Animation("aminius_sabre_stand_attack1c_full"); // note that it just continues the 3rd attack's animation, since the end is the same

Duration(37, "Frames");

AlignedToThrust();

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust"); // lock all controls for duration of state

Attack()
{
AttackID("Attack3-1");
DamageTime(19, 23, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(600);
Push(5.0);
}

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(0.5);
VelocityFromStrafe(0.5);
}

ThrustFactor(0.0);
TurnFactor(0.1);

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("RECOVER3_WALK"); // no conditions means this transition will be taken at the end of the state
}

// ...then we allow them to walk as he finishes the recovery and has already stood up.
// This makes the motion feel much more natural, and is done throughout BF2.
State("RECOVER3_WALK")
{
Posture("Stand");
Animation("aminius_sabre_stand_attack1c_full"); // still continuing the animation...

// disable the awesome edge
TurnOffLightsaber(1);

AlignedToThrust();

InputLock("All", "!Thrust"); // lock all controls for duration of state

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

/ -- from Mace Windu

State("MACE_STAB")
{
Posture("Stand");

Animation("mace_stab")
{
AimType("FullBody");
BlendInTime(0.15);
BlendOutTime(0.20);
}

// disable the awesome edge
TurnOffLightsaber(1);

Attack()
{
AttackID("Earthquake");
DamageTime(0, 4, "Frames");
DamageLength(1.0);
DamageWidth(0.5);
Damage(600);
}

RestartAnimation();
Duration(4, "Frames");

EnergyRestoreRate(0.0);

AnimatedMove();
InputLock("All");

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("MACE_STAB2");
}

State("MACE_STAB2")
{
Posture("Stand");

// disable the awesome edge
TurnOffLightsaber(1);

// no duration means last as long as the animation does

Attack()
{
AttackID("Earthquake");
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.5);
Damage(0);
}


Animation("mace_stab");

EnergyRestoreRate(0.0);

PlayExplosion(); // yep...additional damage and an effect!

AnimatedMove()
{
Until() // same as If()
{
Break(26, "Frames");
}
}
InputLock("All");

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

// -- from Darth Maul

//Forward declare animations to allow BlendTimeTo references:
Animation("maul_1a");
Animation("maul_1a_end");
Animation("maul_1b");
Animation("maul_1b_end");

State("MAUL_ATTACK1")
{
Posture("Stand");
Animation("maul_1a")
{
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
BlendTimeTo("maul_1a_end", 0.0);
BlendTimeTo("maul_1b", 0.0);
}
Sound("saber_swing");

// note that this state leaves blade #1 on (^.~)

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
Edge(0);
DamageTime(4, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(150);
Push(3.0);
}
Attack()
{
Edge(1);
DamageTime(5, 11, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(150);
Push(3.0);
}

Transition("MAUL_ATTACK2")
{
If()
{
Break(12, "Frames");
TimeStart(5, "Frames");
TimeEnd(14, "Frames");
Posture("Stand");
Button("Reload", "Press");
}
}

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("MAUL_RECOVER1");
}

State("MAUL_RECOVER1")
{
Posture("Stand");
Animation("maul_1a_end")
{
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

InputLock("All", "!Thrust");
AlignedToThrust();

// note that this state leaves blade #1 on (^.~)

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

State("MAUL_ATTACK2")
{
Posture("Stand");
Animation("maul_1b")
{
AimType("None");
BlendInTime(0.06);
BlendOutTime(0.15);
BlendTimeTo("maul_1b_end", 0.0);
}
Sound("saber_swing");

// note that this state leaves blade #1 on (^.~)

InputLock("All", "!Thrust");
AlignedToThrust();
Attack()
{
Edge(1);
DamageTime(3, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(3.0);
}
Attack()
{
Edge(0);
DamageTime(4, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(200);
Push(3.0);
}

Transition("AAYLA_ATTACK3")
{
If()
{
TimeStart(4, "Frames");
TimeEnd(14, "Frames");
Posture("Stand");
Button("Fire", "Press");
}
}

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("MAUL_RECOVER2");
}

State("MAUL_RECOVER2")
{
Posture("Stand");
Animation("maul_1b_end")
{
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}

// note that this state leaves blade #1 on (^.~)

InputLock("All", "!Thrust");
AlignedToThrust();

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

// -- from Ms. Secura

State("AAYLA_ATTACK3")
{
Posture("Stand");
Animation("aayla_1c")
{
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.15);
}
Sound("saber_triple");

//set a duration so we will go to state _LAND before the animation ends
Duration(19, "Frames");

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(9.0);
VelocityFromStrafe(3.0);
}
AlignedToThrust();

StrafeFactor(0.5);
TurnFactor(0.5);

InputLock("All", "!Thrust", "!Fire"); // lock all controls for duration of state
Attack()
{
Edge(1);
AttackID("A3-1");
DamageTime(5, 9, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
Edge(0);
AttackID("A3-0");
DamageTime(5, 9, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
Edge(1);
AttackID("A3-1");
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-0");
Edge(0);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("AAYLA_ATTACK3_LAND");
}

State("AAYLA_ATTACK3_LAND")
{
Posture("Stand");
Animation("aayla_1c");

//set a duration so we will go to state RECOVER3 before the animation ends
Duration(30, "Frames");
AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(2.0);
VelocityFromStrafe(2.0);
}
AlignedToThrust();

TurnFactor(0.5);

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust", "!Fire"); // lock all controls for duration of state
Attack()
{
AttackID("A3-0");
Edge(0);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}
Attack()
{
AttackID("A3-1");
Edge(1);
DamageTime(18, 21, "Frames");
DamageLength(1.5);
DamageWidth(.75);
Damage(600);
Push(3.0);
}

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("AAYLA_RECOVER3");
}

State("AAYLA_RECOVER3")
{
Posture("Stand");
Animation("aayla_1c");

InputLock("All", "!Thrust");

// disable the awesome edge
TurnOffLightsaber(1);

AnimatedMove() // animation controls velocity for entire state
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(2.0);
VelocityFromStrafe(2.0);
}

AlignedToThrust();

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

// ---- end normal attacks ----

State("DASHATTACK")
{
Posture("Stand");
Animation("aminius_sabre_stand_dashattack_full")
{
AimType("FullBody");
BlendInTime(0.10);
BlendOutTime(0.25);
}

Sound("saber_attack_three");

// disable the awesome edge
TurnOffLightsaber(1);

InputLock("All", "!Thrust");

Duration(22, "Frames");
AnimatedMove()
{
VelocityZ(15.0);
VelocityX(0.0);
VelocityFromThrust(5.0);
VelocityFromStrafe(1.0);
}
TurnFactor(0.3);

Attack()
{
DamageTime(2, 9, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(3.0);
}
Attack()
{
DamageTime(12, 16, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(400);
Push(3.0);
}

Transition("DASHATTACK2")
{
If()
{
Break(21, "Frames");
TimeStart(17, "Frames");
TimeEnd(22, "Frames");
Posture("Stand", "Sprint");
Button("Fire", "Press");
}
}

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

State("DASHATTACK2")
{
Posture("Stand");
Animation("aminius_sabre_stand_dashattack_full");
Sound("saber_swing", 34, "Frames");

// disable the awesome edge
TurnOffLightsaber(1);

Duration(38, "Frames");

AnimatedMove()
{
VelocityZ(10.0);
VelocityX(0.0);
VelocityFromThrust(5.0);
VelocityFromStrafe(3.0);
If()
{
Break(38, "Frames");
}
}
TurnFactor(0.3);

InputLock("All", "!Thrust");

Attack()
{
AttackID("Dash2");
DamageTime(35, 43, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(600);
Push(5.0);
}

Transition("IDLE")
{
If()
{
Posture("!Stand");
}
}

Transition("DASHATTACK3");
}

State("DASHATTACK3")
{
Posture("Stand");
Animation("aminius_sabre_stand_dashattack_full");

// disable the awesome edge
TurnOffLightsaber(1);

AnimatedMove()
{
VelocityZ(0.0);
VelocityX(0.0);
VelocityFromThrust(0.5);
VelocityFromStrafe(0.5);
If()
{
Break(43, "Frames");
}
}
TurnFactor(0.3);

InputLock("All", "!Thrust");

Attack()
{
AttackID("Dash2");
DamageTime(35, 43, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(600);
Push(5.0);
}

Transition("IDLE") // last transition specified in this state, taken by default at the end of the animation...
{
If()
{
Posture("!Stand");
}
}
}

// forward declare jumpattack_land, since jumpattack_fall refers to it:
Animation("aminius_sabre_jumpattack_fall_full");

State("JUMPATTACK_FALL")
{
Posture("Jump");
Animation("aminius_sabre_jumpattack_fall_full")
{
Loop("FinalFrame");
AimType("None");
BlendInTime(0.15);
BlendOutTime(0.80);
}
Sound("saber_attack_three");

// disable the awesome edge
TurnOffLightsaber(1);

GravityVelocityTarget(-2.0, "Impulse"); // accelerate us to 20m/s down at 2 g's
AnimatedMove();
InputLock("All", "!Thrust"); // lock all buttons for duration of state

Attack()
{
AttackId("JUMPATTACK");
DamageTime(0.33, 1.0, "FromAnim");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
Transition("aminius_sabre_jumpattack_end_full")
}

State("JUMPATTACK_END")
{
Posture("Jump");
Animation("aminius_sabre_jumpattack_end_full")
{
AimType("None");
SyncType("jumpattack_land", "ByTime");
BlendInTime(0.15);
BlendOutTime(0.80);
}

// disable the awesome edge
TurnOffLightsaber(1);

Duration(15, "Frames");
AnimatedMove();
InputLock("All", "!Thrust"); // lock all buttons for duration of state

Attack()
{
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.75);
DamageWidth(1.25);
Damage(800);
Push(4.0);
}

Transition("JUMPATTACK_LAND")
{
If()
{
Break();
Posture("Stand");
}
}
Transition("IDLE")
{
If()
{
Break();
Posture("Any", "!Stand", "!Jump", "!Jet");
}
}
}

State("JUMPATTACK_LAND")
{
Posture("Stand");

Animation("aminius_sabre_jumpattack_land_full")
{
AimType("FullBody");
SyncType("jumpattack_end", "ByTime");
BlendInTime(0.15);
BlendOutTime(0.20);
}

AnimatedMove();
InputLock("All");

// disable the awesome edge
TurnOffLightsaber(1);

Attack()
{
AttackId("JUMPATTACK");
DamageTime(0, 6, "Frames");
DamageLength(1.5);
DamageWidth(0.75);
Damage(800);
Push(4.0);
}

Transition("IDLE")
{
If()
{
Break(0.4);
ButtonsPressed("Any");
}
Or()
{
Break(0.4);
Thrust(">", 0.54);
}
}
}

AceMastermind
08-07-2006, 06:33 PM
I haven't tried creating a jedi yet, so i won't be much help on this.
I'll probably get started on this as my next project and see exactly what is involved with combos and such.

rcduggan
08-07-2006, 06:38 PM
okay, anybody else know what is wrong?