Похоже, что значения X и Y необходимо обновить до экземпляра объекта целевого игрока. Я не уверен с dnd, но с gml вы можете получить к нему доступ из самого объекта. Например, если вы хотите, чтобы координата X объекта проигрывателя вы могли получить, используя что-то вроде этого
objPlayer.x;
Возможно, вам придется использовать глобальную переменную, хотя, если это не работает для вас (не забудьте обновить ее хотя в STEP событии!) Кроме того, еще кое-что следует отметить, что если у вас есть несколько объектов игрока (что звучит так же, как и у вас), вам необходимо знать идентификатор экземпляра для этого объекта игрока. Для этого вы можете использовать что-то вроде этого:
players[i] = instance_create(xx, yy, objPlayer);
Примечание: я также согласен со Стивеном. Я бы порекомендовал начать с этого как можно проще и добавить к нему сложность, поскольку вы получаете все, что хотите. В долгосрочной перспективе это спасет ваше здравомыслие, поверьте мне. ;)