///////////////////////////////
#include <acknex.h>
#include <default.c>
///////////////////////////////
ENTITY* eBox;
ENTITY* ePlayer;
ENTITY* eAim;
var l_level = 1;
STRING* str1 = "Level";
STRING* str2 = ".WMB";
STRING* str3 = "";
STRING* str4 = "";
PANEL* panLevComp =
{
pos_x = 10;
pos_y = 10;
bmap = "level_comp.bmp";
flags = overlay;
}
function main()
{
level_load("Level1.WMB");
wait(2);
}
action player_walk()
{
ePlayer = me;
var anim_percW = 0;
var anim_percD = 0;
var anim_percS = 0;
var anim_perc = 0;
while(1)
{
ent_animate(my,"stand", anim_perc, ANM_CYCLE);
anim_perc+=0.5;
if(key_w)
{
my.pan =0;
c_move(my,nullvector, vector(5,0,0),GLIDE);
ent_animate(my,"run", anim_percW, ANM_CYCLE);
anim_percW+=0.5;
}
if(key_a)
{
my.pan = 90;
c_move(my,nullvector, vector(0,5,0),GLIDE);
ent_animate(my,"run", anim_percW, ANM_CYCLE);
anim_percW+=0.5;
}
if(key_d)
{
my.pan = -90;
c_move(my,nullvector, vector(0,-5,0),GLIDE);
ent_animate(my,"run", anim_percD, ANM_CYCLE);
anim_percD+=0.5;
}
if(key_s)
{
my.pan = 180;
c_move(my,nullvector, vector(-5,0,0),GLIDE);
ent_animate(my,"run", anim_percS, ANM_CYCLE);
anim_percS+=0.5;
}
wait(1);
}
}
function Box_Event()
{
if(event_type == EVENT_IMPACT)
{
if(key_w)
{
my.skill1 = 1;
//eBox.x+=1;
}
if(key_s)
{
my.skill2 = 1;
//eBox.x-=1;
}
if(key_a)
{
my.skill3 = 1;
//eBox.y+=1;
}
if(key_d)
{
my.skill4 = 1;
//eBox.y-=1;
}
}
}
action box_move()
{
eBox = me;
my.emask |=(ENABLE_IMPACT);
my.event = Box_Event;
while(1)
{
if(my.skill1)
{
c_move(me, nullvector, vector(0.5,0,0), GLIDE);
my.skill1 = 0;
}
if(my.skill2)
{
c_move(me, nullvector, vector(-0.5,0,0), GLIDE);
my.skill2 = 0;
}
if(my.skill3)
{
c_move(me, nullvector, vector(0,0.5,0), GLIDE);
my.skill3 = 0;
}
if(my.skill4)
{
c_move(me, nullvector, vector(0,-0.5,0), GLIDE);
my.skill4 = 0;
}
wait(1);
}
}
function aim_event()
{
if(event_type == EVENT_IMPACT)
{
my.event = 0;
// if(eBox.x == eAim.x || eBox.y == eAim.y)
// {
l_level++;
str_for_num(str4,l_level);
str_cat(str1,str4);
str_cat(str1, str2);
str_cpy(str3, str1);
ptr_remove(eBox);
set(panLevComp, SHOW);
wait(-3);
level_load(str3);
reset(panLevComp, SHOW);
str_trunc(str1,5);
str_trunc(str4,1);
// }
}
}
action aim()
{
// set(me, POLYGON);
ent_morph(me, "apple.mdl");
my.z +=100;
eAim = me;
my.emask |= (ENABLE_IMPACT);
my.event = aim_event;
}