leftright=key_a-key_d;
updown=key_w-key_s;
if(mickey.z>0)
{
scroll-=0.06*time_step;
}
if(mickey.z<0)
{
scroll+=0.06*time_step;
}
if(scroll<1.5)
{
scroll=1.5;
}
acceleration=key_i-key_k;
if(my.pan>360)
{
my.pan+=-360;
}
if(my.pan<0)
{
my.pan+=360;
}
if(my.tilt>180)
{
my.tilt+=-360;
}
if(my.tilt<-180)
{
my.tilt+=360;
}
if(my.roll>360)
{
my.roll+=-360;
}
if(my.roll<0)
{
my.roll+=360;
}
if(key_j==1 && s_RocketRdy==0)
{
s_RocketRdy=1;
vec_set(dummieent.x,my.x);
dummieent.pan=my.pan;
dummieent.tilt=my.tilt;
c_move(dummieent,vector(10000000,0,0),nullvector,IGNORE_MODELS|IGNORE_SPRITES);
c_trace(my.x,dummieent.x,IGNORE_FLAG2);
Explosion(target,1);
ResetRocket();
}
vec_set(dummieent.x,my.x);
dummieent.pan=my.pan;
dummieent.tilt=my.tilt;
realtilt=sin(my.tilt)*100;
vec_set(dummieent.x,my.x);
dummieent.pan=my.pan;
dummieent.tilt=my.tilt;
c_move(dummieent,vector(-7*scroll,0,0),nullvector,IGNORE_SPRITES||IGNORE_MODELS|IGNORE_FLAG2);
if(leftright>0.8)
{
mode=1;//LINKS
}
if(leftright<-0.8)
{
mode=2;//RECHTS
}
if(leftright<0.8 && leftright>-0.8)
{
mode=0;//GERADE
}
if(updown>0.8)
{
modeupdown=1;//HOCH
}
if(updown<0.8)
{
modeupdown=2;//RUNTER
}
if(updown<0.8 && updown>-0.8)
{
modeupdown=0;//GERADE
}
camera.pan=my.pan;
vec_set(camera.x,dummieent.x);
camera.z+=1;
camera.tilt=my.tilt;
my.speed+=acceleration*4*time_step;
if(mode==0)
{
if(saveleftright>0)
{
saveleftright-=dist(saveleftright)/20;
}
if(saveleftright<0)
{
saveleftright+=dist(saveleftright)/20;
}
my.pan+=6*saveleftright*time_step;
my.roll=-saveleftright*40;
}
if(mode==2)
{
if(saveleftright>-1 || (saveleftright>-2 && updown==-1))
{
saveleftright-=(0.1+key_s/10)*time_step;
}
my.pan+=6*saveleftright*time_step;
my.roll=-saveleftright*40;
}
if(mode==1)
{
if(saveleftright<1 || (saveleftright<2 && updown==-1))
{
saveleftright+=(0.1+key_s/10)*time_step;
}
my.pan+=6*saveleftright*time_step;
my.roll=-saveleftright*40;
}
if(modeupdown==1)
{
if(saveupdown>-1)
{
saveupdown-=0.1*time_step;
}
my.tilt+=4*saveupdown*time_step;
}
if(modeupdown==2)
{
if(saveupdown<1)
{
saveupdown+=0.1*time_step;
}
my.tilt+=4*saveupdown*time_step;
}
if(modeupdown==0)
{
if(saveupdown>0)
{
saveupdown-=dist(saveupdown)/20;
}
if(saveupdown<0)
{
saveupdown+=dist(saveupdown)/20;
}
my.tilt+=4*saveupdown*time_step;
}
my.speed-=realtilt/80*time_step;
if(my.speed>100)
{
my.speed-=my.speed/300*time_step;
}
if(my.speed<100)
{
my.speed+=1*time_step;
}
c_move(me,vector(my.speed*0.01*time_step,0,0),nullvector,GLIDE|IGNORE_FLAG2);