Ошибка при столкновении между игроком и врагом

У меня вылетает ошибка при столкновении с врагом. Я не уверен, происходит ли это, когда я прикасаюсь к нему или когда я получаю от него урон. Вот сообщение об ошибке:


#

ФАТАЛЬНАЯ ОШИБКА в действии №1 Шага Eventobj_player для объекта obj_damage:

Переменная ‹ unknown_object >.y(1, -2147483648) не установлена ​​до ее чтения. at gml_Object_obj_damage_CollisionEvent

if(other.id != creator) {
obj_player_stats.hp -= damage;

/// Knockback
var dir = point_direction(creator.x, creator.y, other.x, other.y);
var xforce = lengthdir_x(knockback, dir);
var yforce = lengthdir_y(knockback, dir);
with (other) {
    physics_apply_impulse(x, y, xforce, yforce);
}
}
1 (строка 6) — var dir = point_direction(creator.x, создатель.y, др.x, др.y);

#

Вот событие столкновения obj_damage с obj_player:

if(other.id != creator) {
obj_player_stats.hp -= damage;

/// Knockback
var dir = point_direction(creator.x, creator.y, other.x, other.y);
var xforce = lengthdir_x(knockback, dir);
var yforce = lengthdir_y(knockback, dir);
with (other) {
    physics_apply_impulse(x, y, xforce, yforce);
}
}

Любая помощь приветствуется, я предоставлю дополнительный код, если необходимо исправить. Спасибо.


person Norro    schedule 14.09.2016    source источник
comment
Возможно, объект creator не существует. Итак, когда вы пытаетесь получить x из creator, у вас возникает ошибка. Попробуйте изменить if(other.id != creator) { на if other.id != creator and instance_exists(creator) {   -  person Dmi7ry    schedule 14.09.2016
comment
@Dmi7ryDmi7ry Это то, о чем я думал, но не будет ли это полностью наносить урон от моей атаки, если создатель не существует.   -  person Norro    schedule 14.09.2016


Ответы (1)


Исправил самостоятельно, была опечатка при столкновении врага с игроком, я поставил damage_creator а не Damage.creator . Я полностью пропустил это, когда занимался отладкой, ну вы учитесь на ошибках (я новичок). Спасибо за помощь в любом случае.

person Norro    schedule 14.09.2016