Obiektowi fajki w funkcji Inventory_Add zmniejsz argument0 o jeden. ( zapamiętaj ze image_index liczony jest od zera )
błąd ze spritem ci wyskakuje bo wpisałeś złą nazwę sprita z itemami. Wpisałeś Inventory a to nazwa obiektu, zamiast spr_Inventory
a jak chcesz by inventory latał za ekranem dopisz w draw zmienne
GML
vx = view_xview;
vy = view_yview;
i we wszystkich funkcjach rysujących dodawaj je do odpowiednich argumentów tzn. tam gdzie masz podać x to dodajesz vx a tam gdzie y to vy
GML
[ ... ]
color = draw_get_color();
draw_rectangle(xxx-16+vx,yyy-36+vy,xxx+378+vx,yyy+174+vy,true);
draw_set_color(c_black);
draw_set_alpha(0.4);
draw_rectangle(xxx+vx-15,yyy+vy-35,xxx+vx+378,yyy+vy+174,false);
draw_set_alpha(1);
draw_set_color(c_white);
draw_set_font(inventory_font);
draw_text(xxx+vx,yyy+vy-26,'Inventory - '+current_title);
draw_set_color(color);
repeat(Slots)//Repeats the drawing process until all the slots have been drawn.
{//Starting repeat block
//Draws the sprite 'Inventory' with the subimage of the current slot
draw_sprite(spr_Inventory,SlotNumberImg[Current],X+vx,Y+vy)
[ ... ]