|
3
|
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];
}
... ();
|