# Make The "Make" menu is the {ref}`Chat` box menu that pops up when you attempt to craft certain items in OldSchool RuneScape. ```{figure} ../../images/make_interface.png ``` - - - ## TRSMakeItem Helper record used to cache make menu items. - - - ## TRSMake Main record used to interact with the {ref}`Make` menu. - - - ## Make.SetupInterface ```pascal procedure TRSMake.SetupInterface(); ``` Internal method used to setup the {ref}`TRSMake` coordinates. This is automatically called for you on the {ref}`Make variable`. - - - ## Make.IsOpen ```pascal function TRSMake.IsOpen(): Boolean; ``` Returns True/False if the {ref}`Make` if open. Example: ```pascal WriteLn Make.IsOpen(); ``` - - - ## Make.WaitOpen ```pascal function TRSMake.WaitOpen(time: Integer = 600; interval: Integer = -1): Boolean; ``` Returns True if the {ref}`Make` opens within `time` milliseconds. Example: ```pascal WriteLn Make.WaitOpen(); ``` - - - ## Make.GetItemBoxes ```pascal function TRSMake.GetItemBoxes(): TBoxArray; ``` Returns the available item buttons as a TBoxArray. Example: ```pascal ShowOnTarget(Make.GetItemBoxes()); ``` ```{figure} ../../images/make_items.png ``` - - - ## Make.HasHint ```pascal function TRSMake.HasHint(): Boolean; ``` Returns true if a hint tooltip is visible. Example: ```pascal if Make.HasHint() then ShowOnTarget(Make.GetHintBox()); ``` - - - ## Make.WaitHint ```pascal function TRSMake.WaitHint(time: Integer = 600; interval: Integer = -1): Boolean; ``` Returns true if a hint tooltip is visible within `time` milliseconds. Example: ```pascal if Make.WaitHint() then ShowOnTarget(Make.GetHintBox()); ``` - - - ## Make.GetHintBox ```pascal function TRSMake.GetHintBox(): TBox; ``` Returns the hint tooltip bounds. Example: ```pascal ShowOnTarget(Make.GetHintBox()); ``` ```{figure} ../../images/make_hint.png ``` - - - ## Make.ReadHint ```pascal function TRSMake.ReadHint(): String; ``` Returns the hint tooltip text. Example: ```pascal WriteLn Make.ReadHint(); ``` - - - ## Make.CloseHint ```pascal function TRSMake.CloseHint(): Boolean; ``` Attempts to close a hint tooltip. Example: ```pascal WriteLn Make.CloseHint(); ``` - - - ## Make.QuantityButtons The quantity buttons are dynamic there can be anywhere from 1 to 6 available. You have their coordinates available at anytime through the `TRSMake.QuantityButtons` variable: ```pascal ShowOnTarget(Make.QuantityButtons); ``` ```{figure} ../../images/make_quantities.png The make interface quantity buttons. ``` Despite them being always available you should only interact with the ones that are visible which you can do easily through the next methods. - - - ### Make.IndexOfQuantity ```pascal function TRSMake.IndexOfQuantity(amount: Integer): Integer; ``` Finds the index of a quantity button by the specified `amount`. If the `amount` we are looking for, the custom quantity button is returned, otherwise the result is `-1`. Example: ```pascal WriteLn Make.IndexOfQuantity(Make.QUANTITY_ALL); ``` - - - ### Make.IsQuantitySelected ```pascal function TRSMake.IsQuantitySelected(idx: Integer): Boolean; ``` Checks if the specified `idx` quantity button is currently selected. Example: ```pascal WriteLn Make.IsQuantitySelected(Make.QUANTITY_ALL); ``` - - - ### Make.SetQuantity ```pascal function TRSMake.SetQuantity(amount: Integer): Boolean; ``` Attempts to set a quantity. Example: ```pascal WriteLn Make.SetQuantity(Make.QUANTITY_ALL); ``` - - - ## Make._SelectHelper ```pascal function TRSMake._SelectHelper(index: Integer; boxes: TBoxArray; keyboardProbability: Single): Boolean; ``` Internal helper method that handles selecting an item with or without the keyboard. You probably will never need to use this directly. - - - ## Make.Select ```pascal function TRSMake.Select(index, quantity: Integer; keyboardProbability: Single = -1): Boolean; function TRSMake.Select(item: String; quantity: Integer; keyboardProbability: Single = -1): Boolean; overload; ``` Select a `index` or an `item` of the available item buttons available. If you are selecting an `item` you need to use the tooltip text. Example: ```pascal WriteLn Make.Select('Maple longbow', QUANTITY_ALL); ``` - - - ## Make variable Global {ref}`TRSMake` variable.