No see like this, just take a look at my script where it uses arrays. The actual item data could look something like this...
Code:
var item_spoon[3] = {1, 48, 96};



Each item, in this example, has 3 properties. The spoon's properties are: item_id (which is 1), bmp_x (which is pixel x location 48 on the icon sprite sheet), and bmp_y (which is pixel y location 96 on the icon sprite sheet).

The arrays that are the inventory slots would look like this:
Code:
var item_id[500];
var bmp_x[500];
var bmp_y[500];



The [500] after each array means that there are 500 inventory slots, you could increase it to 1000, or like 278394 if you wanted to...

The items are moved around by simply altering the [number] of the property arrays, not the item data arrays. This means that if the spoon item was contained in slot 54, then it would look like this in code:
Code:
...
item_id[54] = 1;
bmp_x[54] = 48;
bmp_y[54] = 96;
...


The above is the state of the three defined properties of inventory slot number 54. To delete the item from the slot, just set them all to zero grin

If you want more properties for your items you have to define more arrays:
Code:
var item_id[500];
var bmp_x[500];
var bmp_y[500];
var gold_value[500];
var sound_effect_number[500];
var weight[500];



And since we've added more properties, you must alter the item data array to allow for more properties:
Code:
var item_spoon[3] = {1, 48, 96, 100, 22, 1};



100 being the gold value of the spoon, 22 is the number of the sound effect that it makes, and 1 is the spoon's weight.

Take a look at the function in the script that adds an item, it simply uses a variable pointer to fill the correct array (inventory slot) with the correct numbers grin

So a function that adds your spoon would look like this:
Code:
function add_item(var* item_array, var slot)
{
	item_id[slot] = item_array[0];
	bmp_x[slot] = item_array[1];
	bmp_y[slot] = item_array[2];
	gold_value[slot] = item_array[3];
	sound_effect_number[slot] = item_array[4];
	weight[slot] = item_array[5];
}


You call the function like this: add_item(item_spoon,54);


Making dreams come true... And being erroneously accused of software piracy by Conitec in the process.