F
Step:
//Spawning item
for (var a = 0; a < ds_list_size(item_xsize); a++){
var xs = ds_list_find_value(item_xsize, a);
var ys = ds_list_find_value(item_ysize, a);
if (xs < 1){
xs += 0.02;
ys += 0.02;
ds_list_replace(item_xsize,a,xs);
ds_list_replace(item_ysize,a,ys);}}
Draw:
for (a = 0; a < ds_list_size(item_xsize); a++){
var xs = ds_list_find_value(item_xsize, a);
var ys = ds_list_find_value(item_ysize, a);
draw_sprite_ext(s_coin, 0, xx, yy,xs,ys,0,c_white,1);
There is no any problem at code, it works as expected it only +'s each items' size, the issue is on it gets resized from corner, not middle even the origin is on center.ds_list_size(400) is probably not doing what you think it's doing, (you probably want ds_list_size(item_x_whateveritis)), and you have a missing parenthesis after a++, so I guess this wasn't pasted 100%.
Also, if this is bugging out, it should be pretty easy to catch by just using show_message on variables and inside loops. If you don't want a spam, just show_message on (if a = 0)