Inventory functions

SetInventory

void SetInventory(str itemname, int count)

void SetActorInventory(int tid, str itemname, int count)

Sets the number of items in actor's inventor to count. This is useful when treating inventory items like variables stored in actors.

This function is optimized to minimize bandwidth use. It computes the difference between the current item count and the requested count, and gives or takes the needed number of items. If the actor already has the exact number of items, this function does nothing.

GiveMaxInventory/TakeMaxInventory

void GiveMaxInventory(str itemname)

void GiveMaxActorInventory(int tid, str itemname)

Give maximum possible number of itemname to actor. Shorthand for GiveInventory(itemname, INT_MAX).

void TakeMaxInventory(str itemname)

void TakeMaxActorInventory(int tid, str itemname)

Take all items of type itemname from actor. Shorthand for TakeInventory(itemname, INT_MAX).

ToggleInventory

void ToggleInventory(str itemname)

void ToggleActorInventory(str itemname)

If the actor has no itemname, give one item of this type. If it has one or more item of itemname, take them all.

This is a shorter way of writing x = !x when using inventory items as boolean variables.