I'm sorry for being unclear here is all my code:




//////////////////////////////////////////////////////////////////////
//Alien Invaders
//////////////////////////////////////////////////////////////////////
////////////////////////////*SEMICOLIN*///////////////////////////////
//////////////////////////////////////////////////////////////////////
ENTITY* tank;
//////////////////////////////////////////////////////////////////////
ENTITY* missile;
//////////////////////////////////////////////////////////////////////
ENTITY* ene;
//////////////////////////////////////////////////////////////////////


var missile_on = 0;

action explode()
{
if(event_type == EVENT_IMPACT)
{
ent_morph(me, "pixlexplo.mdl");
wait(1);
ent_remove(missile);
wait (-0.25);
ent_remove(me);
missile_on = 0;
}
}

action invader_one()
{
my.pan = -90;
ene = me;
my.emask |= (ENABLE_IMPACT);
c_setminmax(me);
my.event = explode;
//////////////////////////////////
c_move (me, vector(-100, 0, 0), nullvector, GLIDE); // move invaders
wait(-1);
c_move (me, vector(100, 0, 0), nullvector, GLIDE); // move invaders
wait(-1);
c_move (me, vector(100, 0, 0), nullvector, GLIDE); // move invaders
wait(-1);
c_move (me, vector(100, 0, 0), nullvector, GLIDE); // move invaders
wait(-1);
c_move (me, vector(100, 0, 0), nullvector, GLIDE); // move invaders
wait(-1);
c_move (me, vector(100, 0, 0), nullvector, GLIDE); // move invaders
wait(1);
}

action invader_ai()
{

}

action rocket()
{
my.emask |= (ENABLE_IMPACT);
missile = me;
missile_on += 120;
var there = 1;
// my.event = miss_boom;
while (1)
{
c_move (my, vector(0*time_step, 0,11), nullvector, GLIDE); // move the rocket up
if (there == 1)
missile_on -= 1;
if (missile_on <= 0)
{
missile_on = 0;
there = 0;
// ent_remove(me);
}
if(event_type == EVENT_IMPACT || event_type == EVENT_ENTITY)
{
ent_remove(me);
}
wait(1);
}
}

action si_tank()
{
tank = me;
while (1)
{
if (key_cur)
{
c_move (my, vector(0*time_step, -5.5, 0), nullvector, GLIDE); // move the tank right
}

if (key_cul)
{
c_move (my, vector(0*time_step, 5.5, 0), nullvector, GLIDE); // move the tank left
}

if (key_space)
{
if (missile_on <= 1)
ent_create("si_rocket.mdl", vector (me.x, me.y, me.z+70), rocket); //create your tank
}
wait (1);
}
}

function main()
{
video_screen = 1;
video_mode = 7;
level_load ("");
ent_create("tank.mdl", vector (0, 50, -300), si_tank); //create your tank
ent_create("invader_I.mdl", vector (0, 750, 300), invader_one); //create an enemy
ent_create("invader_I.mdl", vector (0, 550, 300), invader_one); //create an enemy
ent_create("invader_I.mdl", vector (0, 350, 300), invader_one); //create an enemy
ent_create("invader_I.mdl", vector (0, 150, 300), invader_one); //create an enemy
ent_create("invader_I.mdl", vector (0, -50, 300), invader_one); //create an enemy
ent_create("invader_I.mdl", vector (0, -250, 300), invader_one); //create an enemy
ent_create("invader_I.mdl", vector (0, -450, 300), invader_one); //create an enemy
ent_create("invader_I.mdl", vector (0, -650, 300), invader_one); //create an enemy
ent_create("invader_I.mdl", vector (0, -8050, 300), invader_one); //create an enemy
////////////////////////////////////////////////////////////////////////////////////////
ent_create("invader_II.mdl", vector (0, 750, 400), invader_one); //create an enemy
ent_create("invader_II.mdl", vector (0, 550, 400), invader_one); //create an enemy
ent_create("invader_II.mdl", vector (0, 350, 400), invader_one); //create an enemy
ent_create("invader_II.mdl", vector (0, 150, 400), invader_one); //create an enemy
ent_create("invader_II.mdl", vector (0, -50, 400), invader_one); //create an enemy
ent_create("invader_II.mdl", vector (0, -250, 400), invader_one); //create an enemy
ent_create("invader_II.mdl", vector (0, -450, 400), invader_one); //create an enemy
ent_create("invader_II.mdl", vector (0, -650, 400), invader_one); //create an enemy
ent_create("invader_II.mdl", vector (0, -8050, 400), invader_one); //create an enemy
////////////////////////////////////////////////////////////////////////////////////////
ent_create("invader_III.mdl", vector (0, 750, 520), invader_one); //create an enemy
ent_create("invader_III.mdl", vector (0, 550, 520), invader_one); //create an enemy
ent_create("invader_III.mdl", vector (0, 350, 520), invader_one); //create an enemy
ent_create("invader_III.mdl", vector (0, 150, 520), invader_one); //create an enemy
ent_create("invader_III.mdl", vector (0, -50, 520), invader_one); //create an enemy
ent_create("invader_III.mdl", vector (0, -250, 520), invader_one); //create an enemy
ent_create("invader_III.mdl", vector (0, -450, 520), invader_one); //create an enemy
ent_create("invader_III.mdl", vector (0, -650, 520), invader_one); //create an enemy
ent_create("invader_III.mdl", vector (0, -8050, 520), invader_one); //create an enemy
////////////////////////////////////////////////////////////////////////////////////////
ent_create("invader_III.mdl", vector (0, 0, 6520), invader_ai); //create a control
ent_create("bg_black.mdl", vector (1000, 0, 0), NULL); //create the black BG
vec_set(camera.x, vector (-1900, 0, 200)); // set a proper camera position
}


Firstly I am no longer using the control. (as you can see invader_ai is empty)
I was trying to use it before but I am now trying to work with putting the move command in the invader_one action.
I gave my invaders a pointer so I could have easier programming for other actions that effect the invaders (which I haven't done yet).
Finally I sympathize with you as I don't understand why it doesn't work. They should move about six times but I get an error. That is why I am asking this question on the forum.
Thanks for the help with the crazy code.
rtsgamer706