# Make The "Make" menu is the chatbox menu that pops up when you attempt to craft certain items in OldSchool RuneScape. TRSMake is the record SRL has to handle it. - - - ## Make.Setup ```pascal procedure TRSMake.Setup; override; ``` Internal setup method automatically called by SRL on startup. You will probably never need to use this directly. - - - ## Make.SetupAlignment ```pascal procedure TRSMake.SetupAlignment(Mode: ERSClientMode); override; ``` Internal method automatically called by SRL on startup used to setup the interface coordinates. You will probably never need to use this directly. - - - ## Make.GetItemButtons ```pascal function TRSMake.GetItemButtons: TRSButtonArray; ``` Internal method used to get the interface buttons. This is used by all other methods that interact with buttons. You will probably never need to call this directly. Example: ```pascal Debug(Make.GetItemButtons()); ``` - - - ## Make.GetQuantityButtons ```pascal function TRSMake.GetQuantityButtons(): TRSButtonArray; ``` Internal method used to get the interface quantity buttons. This is used by all other methods that interact with the quantity buttons. You will probably never need to call this directly. Example: ```pascal Debug(Make.GetQuantityButtons()); ``` - - - ## Make.IsOpen ```pascal function TRSMake.IsOpen(): Boolean; function TRSMake.IsOpen(WaitTime: Int32; Interval: Int32 = -1): Boolean; overload; ``` Checks if the make interface is open. You can optionally specify a **WaitTime** to wait for it to open. Example: ```pascal WriteLn Make.IsOpen(); ``` - - - ## Make.FindHint ```pascal function TRSMake.FindHint(): TPointArray; ``` Returns the hint tooltip has a TPointArray Example: ```pascal Debug(Make.FindHint()); ``` - - - ## Make.GetFreeSpace ```pascal function TRSMake.GetFreeSpace(): TPointArray; ``` Get a TPointArray of the chatbox that does not have a single point in any of the make item buttons. Example: ```pascal Debug(Make.GetFreeSpace()); ``` - - - ## Make.SetQuantity ```pascal function TRSMake.SetQuantity(Amount: Int32): Boolean; ``` Attempts to set a quantity. Example: ```pascal WriteLn Make.SetQuantity(Make.QUANTITY_ALL); ``` - - - ## Make.SelectHelper ```pascal function TRSMake.SelectHelper(var Item: TRSMakeItem; Quantity: Int32; UseKeyboard: Boolean = True): Boolean; function TRSMake.SelectHelper(Button: TRSButton; Quantity: Int32; UseKeyboard: Boolean = True): Boolean; overload; ``` Internal helper method that handles selecting a button and quantity with or without the keyboard. You probably will never need to use this directly. - - - ## Make.Select ```pascal function TRSMake.Select(Index: Int32; Quantity: Int32; UseKeyboard: Boolean = True): Boolean; function TRSMake.Select(Item: String; Quantity: Int32; UseKeyboard: Boolean = True): Boolean; overload; ``` Select a **Index** of the available buttons or the button with **Item** text on it when hovered. Example: ```pascal WriteLn Make.Select('Maple longbow', Make.QUANTITY_ALL, True); ``` - - - ## Make.Draw ```pascal procedure TRSMake.Draw(Bitmap: TMufasaBitmap); override; overload; ``` Internal debug method. Used by SRL.Debug(). Example: ```pascal SRL.Debug(); ``` - - - ## var Make Global Make variable.