How to make inventory without arrays.

  • 11 favourites

Attached Files

The following files have been attached to this tutorial:



2,584 visits, 4,273 views



This tutorial hasn't been translated.


This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Hello! In this tutorial i will show you how to make an inventory.


First thing you need to do is to make 2 sprites:

- Item_Slot - Should be 16, 32, 64 (...).

- Item (dropped) - You can make a sword or something.

Make 2 new animations in both sprites. In Item it should be another item and in Item_Slot you need to make animations that shows your Item.

In the end, rename the Item_Slot animations to ID_0, ID_1, ID_2 and in Item ID_1, ID_2.


For Item_Slot make 3 variables:

- Item_Id - should be 0 on start. This variable holds the item ID in it.

- Slot_id - it's unique id for your slot, first make 4 slots, it will be growing number (1st one Slot_id = 1, 2nd Slot_id = 2 (...) )

- Locked - it should be 0 on start. This variable shows if the slot is locked ( = 1) or not ( =0)

Before we go to the Event Sheet, add Mouse object.

Event Sheet

Add event where:

- When LMB clicked on 'Item'

- Slot.Slot_Id = 1 (1 is for the first slot)

- Slot.Locked = 0


Slot|Set Slot.Item_Id to

Slot|Set animation to "ID_" &


Slot|Set Slot.Locked to 1

Do the same for every slot you have, the only thing you need to change is Sprite.Id_Slot = (every slot id)

So, if you have 4 slots, copy event 4 times and in first, change Slot_id to 1;2;3;4.

Item debugging

In this engine, there is an bug. If 2 items overlapp themselves and player press them, only 1 item gets into the slot.

This is how i solved it:


- Item is overlapping Item


Item|Move at angle > Pixels 2 > Angle random(0,360)

It should debug itself quickly.


In top-down game, you need to create character sprite.


- RMB clicked on Slot

- Slot.Locked = 1


Slot|Set animation to "ID_0"

Character| Spawn an object "Item"

Item|Set ID to Slot.Item_ID

Item|Set animation to "ID_" &Slot.Item_ID

Slot|Set Slot.Item_ID to "0"

Slot|Set Slot.Locked to 0



Download now 179.8 KB

  • Order by
Want to leave a comment? Login or Register an account!