Я думаю, что ;
в конце i++;
не требуется, вам нужно только использовать ;
в for-l oop в качестве разделителя.
GML дает больше свободы для общего Хотя C# правила (например, как нет необходимости заключать скобки в условие if), так что, возможно, это разрешено.
Другая возможность может заключаться в том, что индекс находится вне диапазона в ds_list_replace()