void playerEvent(){
if(event_type == EVENT_BLOCK){
draw_text("AUCH!", 10, 120, COLOR_WHITE);
}
}
action actHero(){
set(my, TRANSLUCENT);
vec_fill(my.scale_x, 1);
wait(1);
c_setminmax(my);
my.emask |= ENABLE_BLOCK;
my.event = playerEvent;
var speed_x;
while(my){
my.skill1 = ((key_w || key_cuu) - (key_s || key_cud));
my.skill2 = ((key_a || key_cul) - (key_d || key_cur));
my.skill3 = 0;
vec_rotate(my.skill1, vector(camera.pan, 0, 0));
accelerate(my.skill4, my.skill1 * 5 * time_step, 0.9);
accelerate(my.skill5, my.skill2 * 5 * time_step, 0.9);
my.skill6 = 0;
var result2 = c_trace(my.x,vector(my.x+my.max_x+1,my.y,my.z),IGNORE_ME|IGNORE_SPRITES|IGNORE_CONTENT);
draw_text("RESULT:", 10, 50, COLOR_WHITE);
draw_text(str_for_num(NULL, result2), 150, 50, COLOR_RED);
if(result2 > 0)
{
speed_x = 1;
}
else
{
speed_x = 0;
}
move_friction = 0.1;
c_move(my, nullvector, vector(my.skill4+speed_x, my.skill5, 0), GLIDE);
draw_text("Y INPUT:", 10, 150, COLOR_WHITE);
draw_text(str_for_num(NULL, my.skill1), 150, 150, COLOR_RED);
draw_text("X INPUT:", 10, 170, COLOR_WHITE);
draw_text(str_for_num(NULL, my.skill2), 150, 170, COLOR_RED);
my.z = 8;
vec_set(camera.x, vector(my.x, my.y, my.z + 250));
vec_set(camera.pan, vector(90, -90, 0));
wait(1);
}
}
// main game function:
void main(){
warn_level = 6;
fps_max = 60;
freeze_mode = 1;
level_load("map.wmb");
wait(3);
freeze_mode = 0;
}