Note: LucasForums Archive Project
The content here was reconstructed by scraping the Wayback Machine in an effort to restore some of what was lost when LF went down. The LucasForums Archive Project claims no ownership over the content or assets that were archived on archive.org.

This project is meant for research purposes only.

Game Crashes After adding Combo

Page: 1 of 1
 rcduggan
08-07-2006, 6:09 PM
#1
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, 6:33 PM
#2
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, 6:38 PM
#3
okay, anybody else know what is wrong?
Page: 1 of 1