Inventory


TRSInventory.CheckIndex

procedure TRSInventory.CheckIndex(Index: Integer);

Terminates the script if Index is not within 0..27

Example:

Inventory.CheckIndex(1)

TRSInventory.GetItemBoxes

function TRSInventory.GetItemBoxes: TBoxArray;

Returns the 28 item boxes.

Example:

ShowOnClient(Inventory.GetItemBoxes());

TRSInventory.GetItemBoxesForItemFinder

function TRSInventory.GetItemBoxesForItemFinder: TBoxArray;

Extends GetItemBoxes to open the inventory tab for itemfinder.


TRSInventory.GetItemBoxes

function TRSInventory.GetItemBoxes(Indices: TIntegerArray): TBoxArray;

Returns item boxes of the passed indices.

Example:

ShowOnClient(Inventory.GetItemBoxes([0,1,27]));

TRSInventory.GetItemBox

function TRSInventory.GetItemBox(Index: Integer): TBox;

Returns the item box of a inventory index. This must in the range of 0..27.

Example:

ShowOnClient(Inventory.GetItemBox(1));

TRSInventory.GetItemBoxNearby

function TRSInventory.GetItemBoxNearby(Index: Integer; Indices: TIntegerArray): TBox;

Returns a random item box from Indices that is weighted towards Index.

Example:

// Return a item box nearby box 0 from boxes 1,2,3,4,5,6,7.
// This will likely be box 1,4,5 as they're closest to box 0 (distance wise).
ShowOnClient(Inventory.GetItemBoxNearby(0, [1,2,3,4,5,6,7]));

TRSInventory.PointToIndex

function TRSInventory.PointToIndex(P: TPoint): Integer;

Returns the inventory box index which contains the TPoint P. Returns -1 if the point is not in any item box.

Example:

var P: TPoint;
var Slot: Integer;

P := Inventory.GetItemBox(15).Middle; // Example point

Slot := Inventory.PointToSlot(P);
WriteLn(Slot); // 15

TRSInventory.HoverIndex

function TRSInventory.HoverIndex(Index: Integer): Boolean;

Moves the mouse over the slot. Slot is an Integer between 0 and 27.

Example:

if Inventory.HoverIndex(1) then
  WriteLn('Mouse is now over item #1');

TRSInventory.ClickIndex

function TRSInventory.ClickIndex(Index: Integer): Boolean;

Left clicks an inventory index.

Example:

Inventory.Click(1);

TRSInventory.IsIndexUsed

function TRSInventory.IsIndexUsed(Index: Integer): Boolean;

Returns true if the inventory index contains an item.

Example:

if Inventory.IsIndexUsed(1) then
  WriteLn('Item exists in inventory index 1'!);

TRSInventory.IsIndexSelected

function TRSInventory.IsIndexSelected(Index: Integer): Boolean;

Returns true if the item index is selected (white outline).

Example:

if Inventory.IsIndexSelected(1) then
  WriteLn('Index 1 is selected!');

TRSInventory.GetSelectedIndex

function TRSInventory.GetSelectedIndex: Integer;

Returns the index of the selected item (white outline). -1 is returned if no item is selected.

Example:

WriteLn(Inventory.GetSelectedIndex());

TRSInventory.SetSelectedIndex

function TRSInventory.SetSelectedIndex(Index: Integer): Boolean;

Clicks the box index to “select” it (white outline).

Example:

WriteLn(Inventory.SetSelectedIndex(2));

TRSInventory.ClearSelected

function TRSInventory.ClearSelected: Boolean;

Unselects the currently selected item (white outline).

Example:

if Inventory.ClearSelected() then
  WriteLn('No item is selected now.);

TRSInventory.Use

function TRSInventory.Use(Slot, OtherSlot: Integer): Boolean;

Selects Slot and uses with OtherSlot.

Example:

Inventory.Use(1, 5); // Use item in slot 1 on Item in slot 5

TRSInventory.RandomPattern

function TRSInventory.RandomPattern: TIntegerArray;

Returns a random drop pattern preset.

Example:

Inventory.ShiftDropIndices(Inventory.RandomPattern());

TRSInventory.ErrorPattern

function TRSInventory.ErrorPattern(Pattern: TIntegerArray = DROP_PATTERN_REGULAR; ErrorChance:Integer = 5): TIntegerArray;

Returns Pattern with possible human like errors.

Example:

Inventory.ShiftDropIndices(Inventory.ErrorPattern());

TRSInventory.ShiftDropIndices

function TRSInventory.ShiftDropIndices(Indices: TIntegerArray): Boolean;

Shift drops an array of item indices.

Example:

// Shift drops the first inventory row
Inventory.ShiftDrop([0,1,2,4])

TRSInventory.Count

function TRSInventory.Count: Integer;

Counts how many items are in the inventory.

Example:

WriteLn('There are ', Inventory.Count(), ' items in the inventory');

TRSInventory.WaitCount

function TRSInventory.WaitCount(Count: Integer; WaitTime: Integer; Interval: Integer = -1): Boolean;

Waits up to WaitTime for inventory count to equal Count.

Example:

if Invenory.WaitCount(20, 1000) then
  WriteLn('Inventory count is now 20');

TRSInventory.IsEmpty

function TRSInventory.IsEmpty: Boolean;

Returns true if the inventory is empty.

Example:

if Inventory.IsEmpty() then
  WriteLn('Inventory contains no items!');

TRSInventory.IsFull

function TRSInventory.IsFull: Boolean;

Returns true if the inventory is full.

Example:

if Inventory.IsFull() then
  WriteLn('Inventory is full');

TRSInventory.Use

function TRSInventory.Use(Item, OtherItem: TRSItem): Boolean;

Left clicks Item and uses it on OtherItem.

Example:

if Inventory.Use('knife', 'willow logs') then
  WriteLn('Used!');

TRSInventory.ShiftDrop

function TRSInventory.ShiftDrop(Items: TRSItemArray; Pattern: TIntegerArray): Boolean;

Shift drops items using the desired pattern.

Example:

// Shift drop maple & willow logs in the snake pattern
Inventory.ShiftDrop(['Maple logs', 'Willow logs'], DROP_PATTERN_SNAKE);