ENTITY* Spieler;
VAR Leben = 100;
PANEL Lebensbalken
{
pos_x = 10; pos_y = 500;
layer = 1;
window (10,15,19,95,"Lebensbalken.bmp",0,0);
flags = Overlay;
}
FUNCTION Leben_senken()
{
While(key_pressed(280) == on)
{
Lebensbalken.scale_y += 0.011 * time_Step;
WAIT(1);
}
}
ACTION I_Warhound
{
Spieler = me;
var Bewegung;
var Gravitation;
var Distanz_zum_Boden;
var Laufgeschwindigkeit = 40; // Grundwert
var Drehgeschwindigkeit = 5; // Grundwert
var Animationsfortschritt = 0; // Grundwert
var Animationsgeschwindigkeit = 10; // Grundwert
my.shadow = on;
my.push = 10;
WHILE(1)
{
c_setminmax(me);
//Gravitation
Distanz_zum_Boden = c_trace(my.x,vector(0,0,-4000),ignore_me | ignore_sprites | ignore_models | use_box);
Gravitation.z = -Distanz_zum_Boden;
Gravitation.z = max (-250 * time, Gravitation.z);
// rennen
Bewegung.x = Laufgeschwindigkeit * (key_w - key_s) * time;
Bewegung.y = 0;
my.pan += Drehgeschwindigkeit * (key_a - key_d) * time;
if (Bewegung.x != 0)
{
Animationsgeschwindigkeit = 3;
ent_cycle("walk", Animationsfortschritt);
}
else
{
Animationsgeschwindigkeit = 6;
ent_cycle("stand", Animationsfortschritt);
}
Animationsfortschritt += Animationsgeschwindigkeit * time;
c_move(me,Bewegung, nullvector,glide | ignore_passable);
c_move(me,Gravitation,nullvector,glide);
vec_diff(temp,nullvector,sicht_dist);
vec_to_angle(sicht_ang,temp);
sicht_ang.tilt = -10;
vec_set(Sicht.x,sicht_dist);
vec_rotate(Sicht.x,my.pan);
vec_add(Sicht.x,my.x);
vec_set(Sicht.pan,sicht_ang);
ang_add(Sicht.pan,my.pan);
Leben_senken();
WAIT(1);
}
}