287 lines
7.2 KiB
Plaintext
287 lines
7.2 KiB
Plaintext
|
depth = -y;
|
||
|
global.healths += 1;
|
||
|
if global.healths >= 1001
|
||
|
{
|
||
|
global.healths = 1000;
|
||
|
}
|
||
|
|
||
|
// Keyboard commands
|
||
|
if keyboard_check_direct(ord("Z"))
|
||
|
{
|
||
|
global.maindir = direction
|
||
|
if shot == 0
|
||
|
{
|
||
|
if global.ammos > 0
|
||
|
{
|
||
|
iii = instance_create(x,y,obj_bullet_player);
|
||
|
with (iii)
|
||
|
{
|
||
|
speed = 25;
|
||
|
direction = global.maindir;
|
||
|
}
|
||
|
global.ammos -= 1
|
||
|
sound_play(snd_bullet_1);
|
||
|
sound_play(snd_bullet_2);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if global.clips >= 1 and reloading <= 0 and global.ammos != 14
|
||
|
{
|
||
|
global.clips -= 1;
|
||
|
global.ammos = 14;
|
||
|
reloading = 50;
|
||
|
}
|
||
|
if global.clips == 0 and global.ammos == 0
|
||
|
{
|
||
|
sound_play(snd_reload_1);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
shot = 1;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if reloading == 49
|
||
|
sound_play(snd_reload_1)
|
||
|
if reloading == 46
|
||
|
sound_play(snd_reload_2)
|
||
|
if reloading == 6
|
||
|
sound_play(snd_reload_1)
|
||
|
if reloading == 3
|
||
|
sound_play(snd_reload_2)
|
||
|
if reloading <= 0
|
||
|
shot = 0;
|
||
|
else
|
||
|
reloading -= 1;
|
||
|
}
|
||
|
if keyboard_check_direct(ord("X"))
|
||
|
{
|
||
|
if global.clips >= 1 and reloading <= 0 and global.ammos != 14
|
||
|
{
|
||
|
reloading = 50;
|
||
|
global.ammos = 14;
|
||
|
global.clips -= 1;
|
||
|
}
|
||
|
}
|
||
|
if keyboard_check_direct(vk_up)
|
||
|
{
|
||
|
if keyboard_check_direct(vk_right)
|
||
|
{
|
||
|
if direction != 45
|
||
|
{
|
||
|
if direction == 225
|
||
|
direction = 45;
|
||
|
if direction > 225 or direction < 45
|
||
|
direction += 2.5;
|
||
|
if direction < 225 and direction > 45
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if keyboard_check_direct(vk_left)
|
||
|
{
|
||
|
if direction != 135
|
||
|
{
|
||
|
if direction == 315
|
||
|
direction = 135;
|
||
|
if direction > 315 or direction < 135
|
||
|
direction += 2.5;
|
||
|
if direction < 315 and direction > 135
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if direction != 90
|
||
|
{
|
||
|
if direction == 270
|
||
|
direction = 90;
|
||
|
if direction > 270 or direction < 90
|
||
|
direction += 2.5;
|
||
|
if direction < 270 and direction > 90
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
speed = 2
|
||
|
}
|
||
|
if keyboard_check_direct(vk_down)
|
||
|
{
|
||
|
if keyboard_check_direct(vk_right)
|
||
|
{
|
||
|
if direction != 315
|
||
|
{
|
||
|
if direction == 135
|
||
|
direction = 315;
|
||
|
if direction > 135 and direction < 315
|
||
|
direction += 2.5;
|
||
|
if direction < 135 or direction > 315
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if keyboard_check_direct(vk_left)
|
||
|
{
|
||
|
if direction != 225
|
||
|
{
|
||
|
if direction == 45
|
||
|
direction = 225;
|
||
|
if direction > 45 and direction < 225
|
||
|
direction += 2.5;
|
||
|
if direction < 45 or direction > 225
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if direction != 270
|
||
|
{
|
||
|
if direction == 90
|
||
|
direction = 270;
|
||
|
if direction > 90 and direction < 270
|
||
|
direction += 2.5;
|
||
|
if direction < 90 or direction > 270
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
speed = 2;
|
||
|
}
|
||
|
if keyboard_check_direct(vk_right)
|
||
|
{
|
||
|
if keyboard_check_direct(vk_up)
|
||
|
{
|
||
|
if direction != 45
|
||
|
{
|
||
|
if direction == 225
|
||
|
direction = 45;
|
||
|
if direction > 225 or direction < 45
|
||
|
direction += 2.5;
|
||
|
if direction < 225 and direction > 45
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if keyboard_check_direct(vk_down)
|
||
|
{
|
||
|
if direction != 315
|
||
|
{
|
||
|
if direction == 135
|
||
|
direction = 315;
|
||
|
if direction > 135 and direction < 315
|
||
|
direction += 2.5;
|
||
|
if direction < 135 or direction > 315
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if direction != 0
|
||
|
{
|
||
|
if direction == 180
|
||
|
direction = 0;
|
||
|
if direction > 180
|
||
|
direction += 2.5;
|
||
|
if direction < 180 and direction != 0
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
speed = 2;
|
||
|
}
|
||
|
if keyboard_check_direct(vk_left)
|
||
|
{
|
||
|
if keyboard_check_direct(vk_up)
|
||
|
{
|
||
|
if direction != 135
|
||
|
{
|
||
|
if direction == 315
|
||
|
direction = 135;
|
||
|
if direction > 315 or direction < 135
|
||
|
direction += 2.5;
|
||
|
if direction < 315 and direction > 135
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if keyboard_check_direct(vk_down)
|
||
|
{
|
||
|
if direction != 225
|
||
|
{
|
||
|
if direction == 45
|
||
|
direction = 225;
|
||
|
if direction > 45 and direction < 225
|
||
|
direction += 2.5;
|
||
|
if direction < 45 or direction > 225
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if direction != 180
|
||
|
{
|
||
|
if direction == 0
|
||
|
direction = 180;
|
||
|
if direction < 180
|
||
|
direction += 2.5;
|
||
|
if direction > 180
|
||
|
direction -= 2.5;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
speed = 2;
|
||
|
}
|
||
|
if (place_meeting(x+hspeed,y,obj_walls))
|
||
|
{
|
||
|
repeat(abs(hspeed))
|
||
|
{
|
||
|
if (!place_meeting(x+sign(hspeed),y,obj_walls))
|
||
|
{
|
||
|
x += sign(hspeed);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
hspeed = 0;
|
||
|
}
|
||
|
|
||
|
if (place_meeting(x,y+vspeed,obj_walls))
|
||
|
{
|
||
|
repeat(abs(vspeed))
|
||
|
{
|
||
|
if (!place_meeting(x,y+sign(vspeed),obj_walls))
|
||
|
{
|
||
|
y += sign(vspeed);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
vspeed = 0;
|
||
|
}
|
||
|
|
||
|
if y > 1744
|
||
|
{
|
||
|
win = 1;
|
||
|
instance_destroy();
|
||
|
}
|
||
|
|
||
|
if global.healths < 1
|
||
|
{
|
||
|
win = -1;
|
||
|
instance_destroy();
|
||
|
}
|
||
|
|
||
|
if speed > 0 and !sound_isplaying(snd_walk)
|
||
|
sound_play(snd_walk);
|
||
|
|
||
|
image_index = round(direction / 360 * 16);
|
||
|
|