|
1
|
if (initialized == 0)
|
|
2
|
initialized = 1;
|
|
3
|
if (waiting == 0)
|
|
4
|
{
|
|
5
|
for (i = current_command; i < maximum_command; i += 1)
|
|
6
|
{
|
|
7
|
command_actor[i] = actor_selected_id;
|
|
8
|
_c = command[i];
|
|
9
|
scr_cutscene_commandsscr_cutscene_commands
function scr_cutscene_commands()
{
if (_c == "delaycmd")
{
delaycmd = instance_create(0, 0, obj_cutscene_delaycmd);
delaycmd.master_object = master_object;
delaycmd.command_actor[0] = command_actor[i];
delaycmd.alarm[0] = command_arg1[i];
delaycmd._c = command_arg2[i];
delaycmd.command_arg1[0] = command_arg3[i];
delaycmd.command_arg2[0] = command_arg4[i];
delaycmd.command_arg3[0] = command_arg5[i];
delaycmd.command_arg4[0] = command_arg6[i];
if (instant)
{
delaycmd.alarm[0] = 0;
delaycmd.instant = 1;
with (delaycmd)
event_user(0);
}
}
if (_c == "walk")
{
if (!instant)
{
actor_move = instance_create(0, 0, obj_move_actor);
actor_move.target = command_actor[i];
actor_move.direction_word = command_arg1[i];
actor_move.speed = command_arg2[i];
actor_move.time = command_arg3[i];
with (actor_move)
event_user(8);
}
else
{
command_actor[i].x += lengthdir_x(command_arg2[i] * command_arg3[i], (scr_facing_letter_to_number(command_arg1[i]) * 90) - 90);
command_actor[i].y += lengthdir_y(command_arg2[i] * command_arg3[i], (scr_facing_letter_to_number(command_arg1[i]) * 90) - 90);
}
}
if (_c == "walkto")
{
var _object = command_arg1[i];
var _tx = _object.x + command_arg2[i];
var _ty = _object.y + command_arg3[i];
if (command_arg5[i] == true && command_arg6[i] == true)
{
var _yyoff1 = command_actor[i].sprite_height - command_actor[i].sprite_yoffset;
var _yyoff2 = _object.sprite_height - _object.sprite_yoffset;
var _xxoff1 = (command_actor[i].sprite_width / 2) - command_actor[i].sprite_xoffset;
var _xxoff2 = (_object.sprite_width / 2) - _object.sprite_xoffset;
_ty += (_yyoff2 - _yyoff1);
_tx += (_xxoff1 - _xxoff2);
}
else if (command_arg5[i] == true && command_arg6[i] == false)
{
_tx -= ((command_actor[i].sprite_width / 2) - command_actor[i].sprite_xoffset);
_ty -= (command_actor[i].sprite_height - command_actor[i].sprite_yoffset);
}
command_arg1[i] = _tx;
command_arg2[i] = _ty;
command_arg3[i] = command_arg4[i];
_c = "walkdirect";
}
if (_c == "walkdirect")
{
if (!instant)
{
actor_move = instance_create(0, 0, obj_move_to_point);
actor_move.target = command_actor[i];
actor_move.movex = command_arg1[i];
actor_move.movey = command_arg2[i];
if (command_arg1[i] == 0)
actor_move.movex = command_actor[i].x;
if (command_arg2[i] == 0)
actor_move.movey = command_actor[i].y;
if (command_arg3[i] >= 0)
{
actor_move.movemax = command_arg3[i];
}
else
{
var __walktime = point_distance(command_actor[i].x, command_actor[i].y, command_arg1[i], command_arg2[i]) / -command_arg3[i];
if (__walktime < 1)
__walktime = 1;
actor_move.movemax = __walktime;
if (command_arg4[i] == 1)
{
cs_wait_amount = ceil(__walktime);
if (instant)
cs_wait_amount = 1;
cs_wait_timer = 0;
waiting = 1;
breakme = 1;
}
}
}
else
{
command_actor[i].x = command_arg1[i];
command_actor[i].y = command_arg2[i];
}
... ();
|
|
10
|
if (breakme == 1)
|
|
11
|
{
|
|
12
|
breakme = 0;
|
|
13
|
break;
|
|
14
|
}
|
|
15
|
}
|
|
16
|
}
|
|
17
|
current_command = i + 1;
|
|
18
|
if (waiting == 1)
|
|
19
|
{
|
|
20
|
if (cs_wait_amount > 0)
|
|
21
|
{
|
|
22
|
cs_wait_timer++;
|
|
23
|
if (cs_wait_timer >= cs_wait_amount)
|
|
24
|
{
|
|
25
|
cs_wait_amount = 0;
|
|
26
|
cs_wait_timer = 0;
|
|
27
|
waiting = 0;
|
|
28
|
}
|
|
29
|
}
|
|
30
|
if (cs_wait_box >= 0)
|
|
31
|
{
|
|
32
|
if (!i_ex(mydialoguer))
|
|
33
|
{
|
|
34
|
cs_wait_box = -1;
|
|
35
|
waiting = 0;
|
|
36
|
cs_wait_box_end = false;
|
|
37
|
}
|
|
38
|
else if (mydialoguer.active == 1)
|
|
39
|
{
|
|
40
|
if (i_ex(mydialoguer.writer))
|
|
41
|
{
|
|
42
|
if ((mydialoguer.writer.msgno == cs_wait_box && (!cs_wait_box_end || mydialoguer.writer.halt > 0)) || mydialoguer.writer.msgno > cs_wait_box)
|
|
43
|
{
|
|
44
|
cs_wait_box = -1;
|
|
45
|
waiting = 0;
|
|
46
|
cs_wait_box_end = false;
|
|
47
|
}
|
|
48
|
}
|
|
49
|
}
|
|
50
|
}
|
|
51
|
if (cs_wait_dialogue == 1)
|
|
52
|
{
|
|
53
|
if (!i_ex(mydialoguer))
|
|
54
|
{
|
|
55
|
cs_wait_dialogue = 0;
|
|
56
|
waiting = 0;
|
|
57
|
}
|
|
58
|
}
|
|
59
|
if (cs_wait_if == 1)
|
|
60
|
{
|
|
61
|
var passed = 0;
|
|
62
|
var myvar;
|
|
63
|
if (!variable_instance_exists(cs_wait_if_objectid, cs_wait_if_varname))
|
|
64
|
passed = 1;
|
|
65
|
else
|
|
66
|
myvar = variable_instance_get(cs_wait_if_objectid, cs_wait_if_varname);
|
|
67
|
if (passed == 0)
|
|
68
|
{
|
|
69
|
if (cs_wait_if_operator == "=")
|
|
70
|
{
|
|
71
|
if (myvar == cs_wait_if_varvalue)
|
|
72
|
passed = 1;
|
|
73
|
}
|
|
74
|
else if (cs_wait_if_operator == "!=")
|
|
75
|
{
|
|
76
|
if (myvar != cs_wait_if_varvalue)
|
|
77
|
passed = 1;
|
|
78
|
}
|
|
79
|
else if (cs_wait_if_operator == ">=")
|
|
80
|
{
|
|
81
|
if (myvar >= cs_wait_if_varvalue)
|
|
82
|
passed = 1;
|
|
83
|
}
|
|
84
|
else if (cs_wait_if_operator == "<=")
|
|
85
|
{
|
|
86
|
if (myvar <= cs_wait_if_varvalue)
|
|
87
|
passed = 1;
|
|
88
|
}
|
|
89
|
else if (cs_wait_if_operator == ">")
|
|
90
|
{
|
|
91
|
if (myvar > cs_wait_if_varvalue)
|
|
92
|
passed = 1;
|
|
93
|
}
|
|
94
|
else if (cs_wait_if_operator == "<")
|
|
95
|
{
|
|
96
|
if (myvar < cs_wait_if_varvalue)
|
|
97
|
passed = 1;
|
|
98
|
}
|
|
99
|
else
|
|
100
|
{
|
|
101
|
passed = 1;
|
|
102
|
}
|
|
103
|
}
|
|
104
|
if (passed)
|
|
105
|
{
|
|
106
|
cs_wait_if = 0;
|
|
107
|
waiting = 0;
|
|
108
|
}
|
|
109
|
}
|
|
110
|
}
|
|
111
|
if (terminate_this_frame == 1)
|
|
112
|
{
|
|
113
|
if (kill_actors == 1)
|
|
114
|
{
|
|
115
|
for (jj = 0; jj < 20; jj++)
|
|
116
|
{
|
|
117
|
with (actor_id[jj])
|
|
118
|
instance_destroy();
|
|
119
|
}
|
|
120
|
}
|
|
121
|
instance_destroy();
|
|
122
|
}
|