SCAR Function List
From SRL Wiki
SCAR Function List
SRL Function List
Currently being fixed by apx900
SetupSRL
#procedure SetupSRL;
#by: SRL Dev Team
#Description: Sets up all variables needed to run SRL.
SetupAutoCast
#procedure SetUpAutoCast(AutoSpell: string; Defensive: Boolean);
#By: Wizzup?
#Magic.scar
#Description: Set's up the spell you want to autocast, wielding a staff is
required. AutoSpell = '1' or 'Wind Strike', '2' or 'Water Strike', '3'or 'Earth Strike', '4' or 'Fire Strike'. Style = '1' for Accurate, '2' for Agressive, '3' for Defensive.
Cast
#function Cast(TheSpell: String): Boolean;
#By: Wizzup?, Flyboy, Cheesehunk, Freddy
#Magic.scar
#Description: Cast's the selected spell, returns true if enough runes to complete.
CastSpell
#function CastSpell(SpellNumber: Integer): Boolean;
#By: Spky
#Magic.scar
#Description: Cast's the selected spell specified by SpellNumber, returns true if enough runes to
complete.
Caston
#function CastOn(Spell, Monster: String; MonsterColor: Integer; Tolerance: Integer): Boolean;
#By: Spky
#Magic.scar
#Description: Cast's the selected spell specified by SpellNumber
on the specified monster, returns true if successful.
GetLumbridgeMins: integer
#Function GetLumbridgeMins: Integer;
#By: Wizzup?
#Magic.scar
#Description: Returns the number of minutes left before you can cast home teleport again, returns 0
when you can cast it.
SetupMagic
#procedure SetupMagic;
#By: SRL
#Magic.scar
#Description: Declares Global Bitmaps.
LoadFireMakingBitmaps
#procedure LoadFireMakingBitmaps;
#By: WT-Fakawi
#Firemaking.scar
#Description: Loads bitmaps into memory or frees it from memory.
CantLightCheck
#function CantLightCheck: Boolean;
#By: Dankness
#Firemaking.scar
#Description: Results True if able to light logs
LightWait
#procedure LightWait;
#By: Dankness
#Firemaking.scar
#Description: Waits till Logs are Lighted
WeHaveLogs
#function WeHaveLogs(var WhereX, WhereY: Integer): Boolean;
#By: WT-Fakawi
#Firemaking.scar
#Description: Checks if there is Logs in your Inventory Returns X,Y Cords of Log
ThereIsFire
#function ThereIsFire(var WhereX, WhereY: Integer): Boolean;
#By: WT-Fakawi
#Firemaking.scar
#Description: Checks if there is Fire in MainScreen Returns X,Y Cords
SetupFiremaking
#procedure SetupFiremaking;
#By: SRL
#Firemaking.scar
#Description: Declares Global Bitmaps.
BuyCoords
#procedure BuyCoords(x, y, amount: Integer);
#By: RSN
#BuySell.scar
#Description: Buys the specified amout of the Item at x, y
BuyAmount
#procedure BuyAmount(i, amount: Integer);
#By: RSN
#BuySell.scar
#Description: Buys the specified amount of the Item at assigned row and column
BuyColor
#procedure BuyColor(Color, Amount: Integer);
#By: RSN
#BuySell.scar
#Description: Buys all items with that color
SellCoords
#procedure SellCoords(x, y, amount: Integer);
#By: RSN
#BuySell.scar
#Description: Sells Item at x, y
Sell
#procedure Sell(i, amount: Integer);
#By: RSN
#BuySell.scar
#Description: Sells Items at specified Inv Slot
FindItemsArray
#function FindItemsArray(color, tol: Integer; Text: String; num: Integer): TPointArray;
#By: RSN
#BuySell.scar
#Description: Returns Array of all Coords of that Item
FindItems
#function FindItems(color, tol: Integer; text: String; num: Integer): TPointArray;
#By: Mutant Squirrle
#BuySell.scar
#Description: Finds Items with color and up text.
SellItems
#procedure SellItems(Color, Tol, Num, Amount: Integer; Text: String);
#By: RSN
#BuySell.scar
#Description: Sells items with that color, UpText and Tolerance by Amount Specified
FindRange
#function FindRange(var x, y : Integer; x1, y1, x2, y2: Integer): Boolean;
#By: Squigglyo edited by Bebemycat2
#Cooking.scar
#Description: Will find a range inside the variables
given, it wont click it, but it will put the coords in the first 2 variables
SetupCooking
#procedure SetupCooking;
#By: SRL
#Cooking.scar
#Description: Declares Global Bitmaps.
SetupSRLFletching
#procedure SetupSRLFletching;
#By:#Fletching.scar
#Description: Loads global Fletching Bitmaps into memory.
SetupSlayer
#procedure SetupSlayer;
#By: SRL#Slayer.scar
#Description: Declares Global Bitmaps.
SetupHerblore
#procedure SetupHerblore;
#By: SRL#Herblore.scar
#Description: Declares Global Bitmaps.
LoadCraftingBitmaps
#procedure LoadCraftingBitMaps;
#By: WT-Fakawi
#Crafting.scar
#Description: setup bitmaps.
OpenOven
#function OpenOven: Boolean;
#By: WT-Fakawi
#Crafting.scar
#Description: Opens oven.
FreeSRLCraftingBitmaps
#procedure FreeSRLCraftingBitmaps;
#By: Bebemycat2
#Crafting.scar
#Description: Frees Crafting Bitmaps
SetupSRLCrafting
#procedure SetUpSRLCrafting;
#By:#Crafting.scar
#Description: Loads Crafting Bitmaps into Memory.
SetupConstruction
#procedure SetupConstruction;
#By: SRL#Construction.scar
#Description: Declares Global Bitmaps.
FindGas
#function FindGas(gx, gy: Integer): Boolean;
#By: Nielsie95 and Sumilion
#Mining.scar
#Description: gx, gy are the coordinates of the found ore color
FindPickHeadColor
#function FindPickHeadColor: Boolean;
#By: WT-Fakawi
#Mining.scar
#Description: Finds PickHead colors. Returns hc1, 2, 3, 4 & 5 for PickHead finding of False when No
Pick is in either GameTab(4) or GameTab(5). Sets Global variable NoPick.
FindPick
#function FindPick: Boolean;
#By: WT-Fakawi
#Mining.scar
#Description: Finds and Attaches Pickhead.
CheckOre
#Function CheckOre(OreX, OreY, RefColor, Tol: Integer): Integer;
#By: Wizzup? and n3ss3s
#Mining.scar
#Description: Checks the certain ore. Returns how many colors match.
OreColorCount
#function OreColorCount(OreX, OreY, RefColor, Tol, MinCount: LongInt): Boolean;
#By: Wizzup?
#Mining.scar
#Description: Checks the certain ore, uses CheckOre. If Count >=
MinCount, the result is true.
FindAllRocksRecord
#function FindAllRocksRecord(var RockObjs: TPointArray; RockIndex: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean;
#By: Sumilion
#Mining.scar
#Description: Finds
the rocks using SRL's Rock Records and returns the found objects in a TPA
FindObjRockEx
#function FindObjRockEx(var cx, cy: Integer; RockIndex: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean;
#By: Sumilion
#Mining.scar
#Description: Finds the rocks using
SRL's Rock Records
FindObjRock
#function FindObjRock(var cx, cy: Integer; RockIndex: Integer): Boolean;
#By: Sumilion
#Mining.scar
#Description: Finds the rocks using SRL's Rock Records
LoadRockRecords
#procedure LoadRockRecords;
#By: Sumilion
#Mining.scar
#Description: Loads the records for FindObjRock
LoadMiningBitmaps
#procedure LoadMiningBitMaps;
#By: Stupid3ooo
#Mining.scar
#Description: Declares Mining Bitmap.
SetupMining
#procedure SetupMining;
#By: WT-Fakawi
#Mining.scar
#Description: Loads Mining bitmap into memory.
EnterRCAltar: boolean
#Function EnterRCAltar: Boolean;
#By: n3ss3s
#RuneCrafting.scar
#Description: Enters a RuneCrafting altar. Must wear a Tiara or have a talisman "in use" to work.
ClickPouch
#procedure ClickPouch(Pouch, Option: String; Tol: Integer);
#By: Psychor & Wizzup?
#RuneCrafting.scar
#Description: Click Pouch
FindTalismanInInventory
#function FindTalismanInInventory(TalismanName: string; tol: Integer; Var Dx, Dy: Integer): Boolean;
#By: Nielsie95
#RuneCrafting.scar
#Description: Returns true
if the specifyed talisman is in inventory air - mind - water - earth - fire - body - cosmic - chaos - nature - law - death
ClickTalisman
#Function ClickTalisman(Talisman: String): Boolean;
#By: n3ss3s
#RuneCrafting.scar
#Description: Clicks the talisman Talisman in your inventory.
SetupSRLRunecrafting
#procedure SetUpSRLRuneCrafting;
#By: Wizzup? & Bebemycat2
#RuneCrafting.scar
#Description: SetUp RuneCrafting
FindAxe
#function FindAxe: Boolean;
#By: Sumilion, edited by Rasta Magician
#WoodCutting.scar
#Description: Finds if there is an axe present. Axe can be wielded or unwielded. Stores place
in Boolean var EquipAxe.
FindBirdsNest
#procedure FindBirdsNest;
#By: Liquid and Starblaster100
#WoodCutting.scar
#Description: If a birds nest is found, it will pick it up
FindEnt
#function FindEnt(fx, fy: Integer; AvoidWhenFound: Boolean): Boolean;
#By: Sumilion
#WoodCutting.scar
#Description: Will look for an Ent and avoid if found.
SetupWoodcutting
#procedure SetupWoodcutting;
#By: SRL
#WoodCutting.scar
#Description: Declares Global Bitmaps.
SetupHunting
#procedure SetupHunting;
#By: SRL
#Hunting.scar
#Description: Declares Global Bitmaps.
SetupFarming
#procedure SetupFarming;
#By: SRL
#Farming.scar
#Description: Declares Global Bitmaps.
SetupThieving
#procedure SetupThieving;
#By: SRL
#Thieving.scar
#Description: Declares Global Bitmaps.
FindFurnace
#Function FindFurnace(Var X, Y: Integer): Boolean;
#By: n3ss3s
#Smithing.scar
#Description: Finds a furnace and stores the coordinates into X and Y.
SmeltingScreen: boolean
#Function SmeltingScreen: Boolean;
#By: n3ss3s
#Smithing.scar
#Description: Returns true if the bar selection in chatbox is open.
OpenFurnace: boolean
#Function OpenFurnace: Boolean;
#By: n3ss3s
#Smithing.scar
#Description: Returns true if managed to open the bar selection in chatbox.
BarToPoint
#Function BarToPoint(Bar: String): TPoint;
#By: n3ss3s
#Smithing.scar
#Description: Returns the coordinates of the bar.
Smelt
#Procedure Smelt(Bar, Amount: String);
#By: n3ss3s
#Smithing.scar
#Description: Smelts the Bar bar for the amount Amount - '1', '5' and '10' will choose the corresponding option,
but any other, except for 0 ofcourse uses the Smelt X.
SmithingScreen: boolean
#Function SmithingScreen: Boolean;
#By: n3ss3s
#Smithing.scar
#Description: Returns true if the smithing interface is open.
FixSmith
#Procedure FixSmith(Down: Boolean);
#By: n3ss3s
#Smithing.scar
#Description: Scrolls the smithing screen.
Smithitem
#Function SmithItem(Item: String; Amount: String): Boolean;
#By: n3ss3s
#Smithing.scar
#Description: Returns true if could smith the item Item. Use when the smithing interface
is open, if you enter to the amount: 1: It will right click and click 1. 5: It will right click and click 5. All: It will right click and click All. Other: It will right click and
click X and type the amount.
SetupSRLSmithing
#procedure SetUpSRLSmithing;
#By:#Smithing.scar
#Description: Loads Melting Bitmaps into Memory.
GetPrayerCoords
#function GetPrayerCoords(Name: string; var Box: TBox; var Color: Integer): Boolean;
#By: Nielsie95
#Prayer.scar
#Description: Returns a box and color from a certain
prayerbutton. Returns true if the name exists. Name is the number or name of the prayer. Numbers: 1 2 3 4 5 6 7 8 9 10 etc.
PrayerExists
#function PrayerExists(Name: string): Boolean;
#By: Nielsie95
#Prayer.scar
#Description: Returns true if the players' level is high enough to use the prayer.
PrayerActivated
#function PrayerActivated(Name: string): Boolean;
#By: Nielsie95
#Prayer.scar
#Description: Returns true if the prayer is activated.
ClickPrayer
#function ClickPrayer(Name: string; Activate: Boolean): Boolean;
#By: Nielsie95
#Prayer.scar
#Description: Turns a certain prayer on or off. Returns true if done succesfully.
Name is the number or name of the prayer. Numbers: 1 2 3 4 5 6 7 8 9 10 etc.
GetCourseXp
#function GetCourseXP(Course: String): Extended;
#By: Mad Cow
#Agility.scar
#Description: Returns the experience for a certain agility course.
Damage: Integer
#Function Damage:Integer;
#By: WT-Fakawi
#Fighting.scar
#Description: Returns the amount of damage.
FightNPC
#function FightNPC(Colors : TIntegerArray, tol, TimeOut:
#Integer): Boolean;
#Fighting.scar
#By: WT-Fakawi & Cazax Description: Fights NPC. Input an array of colors. (May be the
same colors), tol = tolerance, TimeOut = amount of time before clicking on next NPC
FindAllHPBars
#Function FindAllHPBars(Sx, Sy, x1, y1, x2, y2: Integer): Array of TPointArray;
#By: n3ss3s
#Fighting.scar
#Description: Finds all the HP bars (the TPAs of them) in the box
formed by x1, y1, x2, y2. Recommended to set Sx and Sy to MSCX and MSCY, so Result[0] is your own Bar or the closest one to you.
GetHits
#Function GetHits(Sx, Sy, x1, y1, x2, y2: Integer): TIntegerArray;
#By: n3ss3s
#Fighting.scar
#Description: Finds all HP percents of the HP bars in x1, y1, x2, y2. READ THE
DESCRIPTION OF FindAllHPBars!
FindMainScreenHits
#Function FindMainScreenHits(Bar: Integer): Integer;
#By: n3ss3s
#Fighting.scar
#Description: Returns the rounded HP percent of the hp bar Bar counting out from main
screen centre, if Bar is 0, it's your own bar or the closest one to you. If could not find the bar Bar, returns -1 so you can't confuse it to 0 HP%.
ArrowAmount
#function ArrowAmount: Integer;
#By: masquerader
#Ranging.scar
#Description: Returns the number of equiped arrows.
GetArrowColor
#function GetArrowColor: Boolean;
#By: masquerader | Fixed by Freddy1990
#Ranging.scar
#Description: Returns the number of equiped arrows.
FindInvArrows
#function FindInvArrows(var arrowx, arrowy: Integer): Boolean;
#By: masquerader
#Ranging.scar
#Description: Returns true if arrows are found in the inventory and the
coordinates.
InvArrows
#function InvArrows: Integer;
#By: masquerader
#Ranging.scar
#Description: Returns the number of arrows in the inventory.
EquipArrows
#function EquipArrows: Boolean;
#By: Freddy1990
#Ranging.scar
#Description: Equips arrows if they are found in the inventory.
SetupRanging
#procedure SetupRanging;
#By: SRL#Ranging.scar
#Description: Declares Global Bitmaps.
FindFishingEquipmentColor
#Function FindFishingEquipmentColor(Equipment: String): Integer;
#By: Dankness and rewrote Wizzup?
#Fishing.scar#Description: Finds Net, Lobster Cage, Fishing
Rod, Fly Fishing Rod, Harpoon color.
FindFishingEquipment
#function FindFishingEquipment(FishingEquipmentColor: Integer; FishingEquipmentName: String): Boolean;
#By: Stupid3oooo
#Fishing.scar#Description: Finds your fishing
equipment specified by FishingEquipmentcolor and Fishing equipment name. FishingEquipmentName should be the UpText.
FindWhirlPoolMS: Boolean
#Function FindWhirlPoolMS: Boolean;
#By: Wizzup
#Fishing.scar
#Description: Finds Whirlpools
HandleWhirlPool
#procedure HandleWhirlPool;
#By: Wizzup and Dankness
#Fishing.scar
#Description: Finds and Handles Whirlpools by Standing still and waiting
SetupSRLFishing
#procedure SetupSRLFishing;
#By:
#Fishing.scar
#Description: Loads Fishing Bitmaps into memory.
GetMiniMapAngleDeg
#function GetMinimapAngleDeg: extended;
#By: BenLand100
#MMWalk.scar
#Description: Returns the current Map angle in degrees
GetMiniMapAngleRad
#function GetMinimapAngleRad: extended;
#By: BenLand100
#MMWalk.scar
#Description: Returns the current map angle in radians
TileToMM
#function TileToMM(Tile: TPoint): TPoint;
#By: BenLand100
#MMWalk.scar
#Description: Converts the tile position tileX,tileY to a minimap location
MMToTile
#function MMToTile(Screen: TPoint): TPoint
#By: BenLand100
#MMWalk.scar
#Description: converts the screen position screenX,screenY from the minimap to a tile
TileOnMM
#Function TileOnMM(Tile: TPoint): Boolean;
#By: Timer
#MMWalk.scar
#Description: True = Tile on MM
R_MakeCompass
#function R_MakeCompass(Dir: string): Boolean;
#By: Timer
#MMWalk.scar
#Description: MakesCompass to degress set (Degress or n, e, s, w). Uses reflection.
R_SetAngle
#procedure R_SetAngle(Setting: Variant);
#By: ZephyrsFury
#MMWalk.scar
#Description: Sets the MS camera angle. Takes Booleans or a Percentage as the parameter. True or 100 =
Highest, False or 0 = Lowest, 1-99 = anything in between.
GetFlag
#function GetFlag(var TFlag: TPoint): Boolean;
#By: TheGuyWhoGotOn modded by Timer
#MMWalk.scar
#Description: Gets your destination (Tiles)
R_FFlag
#procedure R_FFlag(Distance: Integer);
#By: ZephyrsFury
#MMWalk.scar
#Description: Similar to the original except it uses Reflection.
R_Flag
#Procedure R_Flag;
#By: Timer
#MMWalk.scar
#Description: Waits Till A COMPLETE Stop. (Not dependant on Flag hooks)
DistanceFrom
#Function DistanceFrom(Tile: TPoint): Integer;
#By: Widget modded by Timer
#MMWalk.scar
#Description: Returns the distance between your player and the tile. (Tiles)
WalkToTile
#Function WalkToTile(Tile: TPoint; Randomness, FlagD: Integer): Boolean;
#By: Wizzup and TheGuyWhoGotOn
#MMWalk.scar
#Description: Walks to the tile using minimap.
WalkToTileMS
#Function WalkToTileMS(Tile: TPoint; Randomness, FlagD: Integer): Boolean;
#By: Nava2
#MMWalk.scar
#Description: Walks to the tile using the mainscreen. Similar to SRLs
version. Thanks to lordsaturn for the idea.
R_SetChat
#function R_SetChat(Tab: integer; State: string): Boolean;
#By: lordsaturn
#Chat.scar
#Description: Sets chat to desired state. (1 = Public, 2 = Private, etc.)
R_SetMultiChats
#procedure R_SetMultiChats(Pub, Priv, Clan, Trade, Assist: string);
#By: lordsaturn
#Chat.scar
#Description: Sets all chats to desired states. To skip over a tab, set the
paramater to ''.
R_SetAllChats
#procedure R_SetAllChats(Option : String);
#By: lordsaturn
#Chat.scar
#Description: Sets all Chats to Option.
GetChatMessages
#function GetChatMessages(ChatType: string; Visible, NoName: Boolean): TStringArray;
#By: lordsaturn
#Chat.scar
#Description: Gets all chat messages using interfaces
according to params. Valid ChatType Params: 'chat', 'normal': Normal chat 'pm', 'private': Private messages 'trade': Trade chat 'black', 'message': Black chat messages
'all': All of the above
ChatBoxTextExists
#function ChatBoxTextExists(Text: string): Boolean;
#By: lordsaturn
#Chat.scar
#Description: Returns true if text exists and is visible in the chatbox according to
'ChatType'.
GetChatBoxLine
#function GetChatBoxLine(Line: integer): string;
#By: lordsaturn
#Chat.scar
#Description: Returns the text in the given line of the chatbox (1 = top, 8 = bottom)
LastChatMessage
#function LastChatMessage(ChatType: string): string;
#By: lordsaturn
#Chat.scar
#Description: Gets last chat message loaded according to 'ChatType'. (see GetChatMessages
for a list of chat types)
R_LastChatter
#function R_LastChatter: string;
#By: lordsaturn
#Chat.scar
#Description: Gets the last loaded player to talk.
GetInventoryItems: titemarray
#Function GetInventoryItems: TItemArray;
#By: n3ss3s
#Inventory.scar
#Description: Returns the inventory's items and their stack sizes in an array of
TInvItem. Size is realistic, e.g if you have 4 items in inventory, size is 4, not 28.
InventoryItemsEx: TItemArray
#Function InventoryItemsEx: TItemArray;
#By: n3ss3s
#Inventory.scar
#Description: Returns the inventory's items and their stack sizes in an array of TInvItem.
Size is always 28, so e.g Result[6] is also their inventory index (7).
InventoryContainsMulti
#function InventoryContainsMulti(ItemIDs: TIntegerArray; var ItemSlots : TIntegerArray) : Boolean;
#By: Nava2
#Inventory.scar
#Description: Searches the inventory
for Mutiple ID's and returns there slots into ItemSlots.
InventoryContains
#Function InventoryContains(ItemID: Integer; var ItemSlots: TIntegerArray): Boolean;
#By: Method and Nava2
#Inventory.scar
#Description: Returns true if one or more
items of ItemID are found in the Inventory. ItemSlots contain all ItemIndexes of occurance of ItemID.
InventoryContainsMultiEx
#function InventoryContainsMultiEx(ItemIDs: TIntegerArray; var ItemSlot : Integer) : Boolean;
#By: Nava2
#Inventory.scar
#Description: Searches the inventory for
Mutiple ID's and returns thefirst found into ItemSlot.
InventoryContainsEx
#Function InventoryContainsEx(ItemID: Integer; var ItemSlot: Integer): Boolean;
#By: Method and Nava2
#Inventory.scar
#Description: Returns if the item is found in the
inventory or not. If found, the item's slot (1-28) is put in ItemSlot.
GetInvItemInfo
#function GetInvItemInfo(InvSpot : Integer) : TInvItem;
#By: Nava2
#Inventory.scar
#Description: Returns the TInvItem of specified Inventory Spot.
R_ExistsItem
#function R_ExistsItem(I : Integer) : Boolean;
#By: Nava2
#Inventory.scar
#Description: Returns true if the item at I exists.
R_Invcount
#function R_InvCount : Integer;
#By: Nava2
#Inventory.scar
#Description: Returns the amount if items in the inventory.
R_InvFull
#function R_InvFull : Boolean; function R_InvEmpty : Boolean;
#By: Nava2
#Inventory.scar
#Description: Returns true if the inventory is full, or empty respectivly.
R_CountItems
#function R_CountItems(ID : Integer) : Integer;
#By: Nava2
#Inventory.scar
#Description: Returns amount of Item of ID in the inventory.
R_CountItemsStacks
#function R_CountItemsStacks(ID : Integer) : Integer;
#By: Nava2
#Inventory.scar
#Description: Returns amount of Item of ID in the inventory, counting stacks.
ClickItemsID
#function ClickItemsID(ID : Integer; Option : String; WaitNum : TIntegerArray) : Integer;
#By: Nava2
#Inventory.scar
#Description: Clicks all Items of ID in the inventory, if
Option is inputted, it will right click and pick it. Waits a random range between WaitNum[0] and WaitNum[1].
DebugTItemArray
#procedure DebugTItemArray(arrTI : TItemArray);
#By: Nava2
#Inventory.scar
#Description: Writes all the values in the TItemArray, useful for scripters.
OpenBankReflection
#Function OpenBankReflection(Bank : String): Boolean;
#By: ss23 and TheGuyWhoGotOn
#Bank.scar
#Description: Opens the bank. Opens nearest slot
R_Bankscreen : boolean
#Function R_BankScreen : Boolean;
#By: Method
#Bank.scar
#Description: Returns true if Bank Screen is open.
CreateBankSlot
#function CreateBankSlot(ID, Stack, Index : Integer; Name : String) : TBankSlot;
#By: Nava2
#Bank.scar
#Description: A fake constructor for building TBankSlots.
GetBankSlotArray : tbankslotarray
#Function GetBankSlotArray : TBankSlotArray;
#By: Nava2 and Method
#Bank.scar
#Description: Returns real number of bank items. If 20 items in the bank,
length of 20 is returned.
GetBankSlot
#function GetBankSlot(Index : Integer) : TBankSlot;
#By: Nava2
#Bank.scar
#Description: Gets the information of Bank Slot[Index]. If there is no item, it results -1 for all
integers and '' for the name.
BankContains
#function BankContains(BS : TBankSlot; var Index : Integer) : Boolean;
#By: Nava2
#Bank.scar
#Description: Searches the bank for any item containing the parameters placed
inside BS, returns the Index number and True.
DebugTBankSlotArray
#procedure DebugTBankSlotArray(arrBS : TBankSlotArray);
#By: Nava2
#Bank.scar
#Description: Writes all the values in the TBankSlotArray, useful for scripters.
Tile
#function Tile(x, y : Extended): TTile;
#By: Nava2
#Core.scar
#Description: Converts x and y to a TTile.
TileToPoint
#function TileToPoint(Tile: TTile): TPoint;
#By: Narcle
#Core.scar
#Description: Changes TTile to a TPoint
PointToTile
#function PointToTile(Tile: TPoint): TTile;
#By: Narcle
#Core.scar
#Description: Changes TPoint to a TTile
StringFromBytes
#Function StringFromBytes(jbytearray: integer): string;
#By: BenLand100
#Core.scar
#Description: Converts a byte[] from StringWrap to a DelphiString (max length 256)
DumpSettingArray
#function DumpSettingArray: array[0..1999] of integer;
#By: BenLand100
#Core.scar
#Description: Dumps the settings array to an integer array
TileToMS
#function TileToMS(Tile:TPoint; height: integer): TPoint;
#By: BenLand100
#Core.scar
#Description: Converts the tile position tileX,tileY to a mainscreen location Height is the
distance (in px) above the ground
TileOnMS
#Function TileOnMS(TileX, TileY, Height : Integer) : Boolean;
#By: ss23 modded by Timer#Core.scar#Description: True = Tile on MS
TileToMSEx
#function TileToMSEx(Tile: TTile; height: integer): TPoint;
#By: BenLand100 edited and fixed by Seroko
#Core.scar
#Description: Extended Base Converts the tile position
TTile.X,TTile.Y to a mainscreen location Height is the distance (in px) above the ground
TileOnMSEx
#Function TileOnMSEx(Tile : TTile, Height : Integer) : Boolean;
#By: ss23 modded by Timer
#Core.scar
#Description: True = Tile on MS
IsOptionMenuOpen
#function IsOptionMenuOpen : Boolean;
#By: Nava2
#Core.scar
#Description: Results true if the ChooseOption menu is open.
GetOptionCount
#function GetOptionCount : Integer;
#By: Nava2
#Core.scar
#Description: Gets the number of options in the ChooseOption menu.
TrimHTML
#function TrimHTML(s: string): string;
#By: lordsaturn
#Core.scar
#Description: Removes the HTML junk from a string.
GetOptionsMenuText
#function GetOptionsMenuText : TStringArray;
#By: Nava2
#Core.scar
#Description: Results choose option menu text in a TStringArray, visible or not.
R_ChooseOptionMulti
#function R_ChooseOptionMulti(Options : TStringArray) : Boolean;
#By: Nava2 & lordsaturn
#Core.scar
#Description: Chooses the first found option of "Options" from the
Right Click menu, returns True and Clicks if found, else it will Move the mouse to a random Coord or select cancel.
R_ChooseOption
#function R_ChooseOption(Option : String) : Boolean;
#By: Nava2 & lordsaturn
#Core.scar
#Description: Chooses the option "Option" from the Right Click menu, returns True
and clicks if found, else it will Move the Mouse to a random Coord or will select cancel.
OptionExists
#function OptionExists(option: string): Boolean;
#By: Nava2 & lordsaturn
#Core.scar
#Description: Returns true if an option exists in the choose option menu. Choose option
menu does NOT have to be open.
R_GetUpText
#function R_GetUpText: string;
#By: lordsaturn
#Core.scar
#Description: Gets the uptext using reflection.
R_IsUpTextMulti
#function R_IsUpTextMulti(UpText: TStringArray): Boolean;
#By: lordsaturn
#Core.scar
#Description: Returns true if any instance of the UpText exists.
R_IsUpText
#function R_IsUpText(UpText: string): Boolean;
#By: lordsaturn
#Core.scar
#Description: Returns true if UpText exists.
R_SetRun
#procedure R_SetRun(RBool : Boolean);
#By: Nava2
#GameTab.scar
#Description: Sets run according to RBool using the MiniMap.
R_GetMMLevels
#function R_GetMMLevels(Which : String) : Integer;
#By: lordsaturn
#GameTab.scar
#Description: Returns the current value at the designated MM spot.
GetFightMode
#function GetFightMode : Integer;
#By: Nava2
#GameTab.scar
#Description: Returns the current fightmode 0..3
IsAutoRetaliate
#function IsAutoRetaliate : Boolean;
#By: Nava2
#GameTab.scar
#Description: Returns true if AutoRetaliate is on.
R_SetAutoRetaliate
#procedure R_SetAutoRetaliate(Retal : Boolean);#By: Nava2#GameTab.scar#Description: Sets Autoretaliate based on Retal.
GetEquippedItems : titemarray
#Function GetEquippedItems : TItemArray;
#By: Nava2
#GameTab.scar
#Description: Returns an array of all the equipt items. Returns spots of unequipt.
IsItemEquippedAt
#function IsItemEquippedAt(P, ID : Integer) : Boolean;
#By: Nava2
#GameTab.scar
#Description: Returns true if item of ID is found at place P. P = 0. Helmet | 8. ?? 1.
Cape | 9. Gloves 2. Amulet | 10. Boots 3. Weapon | 11. ? 4. Chest | 12. Ring 5. Shield | 13. Arrows 6. ?? | 14. ? 7. Legs
GetItemAmountAt
#function GetItemAmountAt(P : Integer) : Integer;
#By: Nava2
#GameTab.scar
#Description: Returns stack of Item at P. Returns -1 if no item is found. P = 0. Helmet | 8.
?? 1. Cape | 9. Gloves 2. Amulet | 10. Boots 3. Weapon | 11. ? 4. Chest | 12. Ring 5. Shield | 13. Arrows 6. ?? | 14. ? 7. Legs
GetSpeed : integer
#Function GetSpeed : integer;
#By: Widget
#Characters.Scar
#Description: Gets character speed (squares per second)
GetAnimation : integer
#Function GetAnimation : Integer;
#By: lordsaturn
#Characters.Scar
#Description: Gets character animation
CharacterMoving: boolean
#Function CharacterMoving: boolean;
#By: BenLand100
#Characters.Scar
#Description: True if you are moving
GetMyPos
#function GetMyPos:TPoint;
#By: BenLand100
#Characters.Scar
#Description: Calculates your x,y position or [somehugenumber] if not logged in
GetMyName: string
#Function GetMyName: string;
#By: BenLand100
#Characters.Scar
#Description: Returns last logged in player's name
GetNPCs
#function GetNPCs:array of TNPC;
#By: Widget
#Characters.Scar
#Description: Returns all the currently loaded NPCs
GetNPCsByName
#Function GetNPCsByName(name:string):array of TNPC;
#By: Widget
#Characters.Scar
#Description: Returns NPCs matching the name.
GetNPCsById
#Function GetNPCsByID(TheType:integer):array of TNPC;
#By: Widget
#Characters.Scar
#Description: Returns NPCs matching the ID.
SortNPCs
#Function SortNPCs(NPCs:array of TNPC):array of TNPC;
#By: Widget
#Characters.Scar
#Description: Sorts NPCs by distance from you.
FindNPC
#function FindNPC(Name: string; var NPC: TNPC):boolean;
#By: Widget
#Characters.Scar
#Description: Finds the tile of the named NPC and puts it in the NPC var. Returns true if
found, false if not. (Try walking with the MM if it's not on the main screen.
FindNPCById
#function FindNPCByID(ID: integer; var NPC: TNPC):boolean;
#By: Widget
#Characters.Scar
#Description: Finds the tile of the named NPC and puts it in the NPC var. Returns true
if found, false if not. (Try checking for tiles if it's not on the mainscreen.)
GetPlayers
#function GetPlayers: array of TPlayer;
#By: Widget
#Characters.Scar
#Description: Returns all the players on the minimap
GetPlayer
#function GetPlayer(name: string): TPlayer;
#By: Widget
#Characters.Scar
#Description: Gets available information for a player.
GetMe
#function GetMe: TMe;
#By: Widget
#Characters.Scar
#Description: Returns you
GetMySkill
#function GetMySkill(Skill : Integer; Level : Boolean) : Integer;
#By: Nava2
#Characters.Scar
#Description: Dependant on Level, will return the Top level if true, or the xp if
false. Will return the skill number Skill.
R_XpTillNextLevel
#function R_XpTillNextLevel(skill: Integer): Integer;
#By: shuttleu
#Characters.Scar
#Description: Returns the XP to the next level of Skill.
GetNPCsEx
#function GetNPCsEx:array of TNPCEx;
#By: Widget modded by Seroko
#Characters.Scar
#Description: Returns all the currently loaded NPCs
GetNPCsByNameEx
#function GetNPCsByNameEx(name:string): array of TNPCEx;
#By: Widget modded by seroko
#Characters.Scar
#Description: Returns NPCs matching the name.
GetNPCsByIdex
#Function GetNPCsByIDEx(TheType:integer):array of TNPC;
#By: Widget modded by Seroko
#Characters.Scar
#Description: Returns NPCs matching the ID.
SortNPCsEx
#Function SortNPCsEx(NPCs:array of TNPCEx):array of TNPCEx;
#By: Widget modded by Seroko
#Characters.Scar
#Description: Sorts NPCs by distance from you.
FindNPCEx
#function FindNPCEx(Name: string; var NPC: TNPC):boolean;
#By: Widget
#Characters.Scar
#Description: Finds the tile of the named NPC and puts it in the NPC var. Returns true if
found, false if not. (Try walking with the MM if it's not on the main screen.
FindNPCByIDEex
#function FindNPCByIDEx(ID: integer; var NPC: TNPC):boolean;
#By: Widget
#Characters.Scar
#Description: Finds the tile of the named NPC and puts it in the NPC var. Returns
true if found, false if not. (Try checking for tiles if it's not on the mainscreen.)
ValidNPC
#function ValidNPC: Boolean;
#By: Nava2
#Characters.Scar
#Description: Tells if the NPC is present on MiniMap. (Valid)
ValidNPCId
#function ValidNPCID: Boolean;
#By: Nava2
#Characters.Scar
#Description: Tells if the NPC is on MiniMap. (Valid)
IsInteractingWithMe
#Function IsInteractingWithMe(Index : Integer) : Boolean;
#By: n3ss3s
#Characters.Scar
#Description: Returns true if Index is interacting with logged in player.
GetObjectType
#Function GetObjectType(UID: Long): Integer;
#By: Bobarkinator
#Objects.Scar
#Description: Returns object type of a UID
GetObjectTile
#Function GetObjectTile(UID: Long): TPoint;
#By: Bobarkinator
#Objects.Scar
#Description: Returns tile of a UID
GetObjectAt
#Function GetObjectAt(TileX, TileY: Integer): UID;
#By: n3ss3s and Bobarkinator
#Objects.Scar
#Description: Returns the information about the object at a give tile
FindObjectEx
#Function FindObjectEx(Var Tile: TPoint; objType, MaxLength: Integer): Boolean;
#By: n3ss3s and Bobarkinator
#Objects.Scar
#Description: Returns True if objType is found.
Tile of objType is returned in Tile.
FindObject
#Function FindObject(Var Tile: TPoint; objType: Integer): Boolean;
#By: n3ss3s and Bobarkinator
#Objects.Scar
#Description: Uses FindObjectEx with the max length of 104. See
FindObjectEx for description.
DumpAllObjects
#Procedure DumpAllObjects;
#By: Bobarkinator
#Objects.Scar
#Description: Prints out all the objects on the current map(104 x 104)
getgrounditems#Function GetGroundItems(TileX, TileY: Integer): TPointArray;#By: n3ss3s#GroundItems.scar#Description: Returns all the ground items on the tile. The results x is the
Item ID and y is the stack size. Unstackable items' stacksize is 1. Speljohan's original Java.
findgrounditems#Function FindGroundItems(Var Items: T2DIntArray; IDs: TIntegerArray; maxSL,#MS: Integer): Boolean;#GroundItems.scar#By: n3ss3s Description: Finds the ground items with
the ID(s). MaxSL = max sidelength of the box it looks in, 3 is the 3*3 box you are in the middle of. The Items array it returns, contains an array of all the items which are
represented by a TPointArray. Items[index][0] is the item's ID, if you for example want to WriteLn "We picked up ID blah" or something. Items[index][1] is the stack size of the item,
non-stackable items' stacksize is 1. Set MS to bigger than 0 if you want it to return the main screen coords instead of tiles. Items[index][2] is the X of the item. Items[index][3]
is the Y of the item. <3 Yakman for the spiral algorithm.
getallgrounditems#Function GetAllGroundItems(Var Items: Array of TGroundItem; maxSL: Integer): Boolean;#By: n3ss3s#GroundItems.scar#Description: Unknown.
getinterface#Function GetInterface(Index, ChildIndex: Integer): Integer;#By: Bobarkinator#Interfaces.scar#Description: Returns the interface of InterfaceCache[Index][ChildIndex].
getinterfacetext#Function GetInterfaceText(ParentI, ChildI: Integer): String;#By: Method#Interfaces.scar#Description: Returns the Child's text.
validinterface#Function ValidInterface(ParentI: Integer): Boolean;#By: Method#Interfaces.scar#Description: Returns if the interface is valid.
getmodelid#Function GetModelID(ParentI, ChildI: Integer): Integer;#By: Method#Interfaces.scar#Description: Returns the model ID of the interface.
getmodeltype#Function GetModelType(ParentI, ChildI: Integer): Integer;#By: Method#Interfaces.scar#Description: Returns the model type of the interface.
r_inmime#function R_InMime: Boolean;#by: Timer#Mime.scar#Description: Checks if in Mime Random.
r_solvemime#function R_SolveMime: Boolean;#by: Seroko#Mime.scar#Description: Checks for and solves the mime random.
getboxanswer#function GetBoxAnswer: integer;#By: BenLand100#Box.scar#Description: Returns -1 if no box open or 0..2 for the correct answer to the box
r_boxexist : boolean#Function R_BoxExist : Boolean;#By: Nava2#Box.scar#Description: Returns the inventory spot of the Box, -1 if not in inventory.
r_solvebox : boolean#Function R_SolveBox : Boolean;#By: lordsaturn#Box.scar#Description: Solves any boxes existing in your inventory.
checkmolly#function CheckMolly : Boolean;#by: Nava2#Molly.scar#Description:
geteviltwinid#function GetEvilTwinID : Integer;#by: Nava2#Molly.scar#Description:
openclaw#function OpenClaw : Boolean;#by: Nava2#Molly.scar#Description:
operateclaw#function OperateClaw(TwinID : Integer) : Boolean;#by: Nava2#Molly.scar#Description:
r_solvemolly#function R_SolveMolly : Boolean;#by: Nava2#Molly.scar#Description:
r_inswampcave#function R_InSwampCave : Boolean;#by: Nava2#Frog.scar#Description: Checks if player is in Swamp Cave.
r_solvefrogincave#function R_SolveFrogInCave : Boolean;#by: Nava2 & answer#Frog.scar#Description: Attempts to solve frog random, if in cave.
indemon#function InDemon : Boolean;#by: lordsaturn#Demon.scar#Description: Results accordingly.
getmats#function GetMats: array of integer;#by: lordsaturn#Demon.scar#Description: Results an array of what each mat's animation is. Run on the spot, Jumping Jacks, etc.
getjob#function GetJob : string;#by: lordsaturn#Demon.scar#Description: Results a string of what action to perform.
r_solvedemon#function R_SolveDemon : Boolean;#by: lordsaturn#Demon.scar#Description: Solves the Drill Demon Random.
findtalkingnpc#function FindTalkingNPC(var NPC : TNPC): Boolean;#By: almost#AntiRandoms.scar#Description: Looks for Talking NPCs and if they are interacting with you.
r_findtalk#function R_FindTalk: Boolean;#By: answer & Nava2#AntiRandoms.scar#Description: Finds talking randoms, and solves them using SRL means. Will be replaced.
r_solvenontalkingrandoms#function R_SolveNonTalkingRandoms: Boolean;#By: Nava2#AntiRandoms.scar#Description: Solves Non Talking Randoms.
r_findrandoms#function R_FindRandoms: Boolean;#By: Nava2#AntiRandoms.scar#Description: Calls the random checks.
r_randomsreport#function R_RandomsReport : Boolean;#By: Nava2#AntiRandoms.scar#Description: SRL Like report for Randoms! Shows all failed and solved! POST THEM POST THEM!
r_inpinball#function R_InPinball : Boolean;#by: lordsaturn#Pinball.scar#Description: Checks if player is in Pinball Random.
getscore#function GetScore : Integer;#by: lordsaturn#Pinball.scar#Description: Returns the current score of the player.
r_solvepinball#function R_SolvePinball : Boolean;#by: lordsaturn#Pinball.scar#Description: Solves Pinball Random.
someonetrades#function SomeoneTrades: Boolean;#by: ZephyrsFury#trade.scar#Description: Returns true if someone trades.
gettradersname#function GetTradersName: string;#By: ZephyrsFury#trade.scar#Description: Returns the name of the trade as displayed in the chatbox.
tradescreenname#function TradeScreenName: string;#By: masquerader modified and renamed by ZephyrsFury#trade.scar#Description: Returns the name of trader from the trade screen.
accepttrade#function AcceptTrade: Boolean;#By: ZephyrsFury#trade.scar#Description: Accepts the trade by clicking the chatbox.
accept#procedure Accept;#By: masquerader modified by ZephyrsFury#trade.scar#Description: Accepts the opened trade.
decline#procedure Decline;#By: masquerader modified by ZephyrsFury#trade.scar#Description: Declines the opened trade.
waiting#function Waiting: Boolean;#By: masquerader modified by ZephyrsFury#trade.scar#Description: Returns true if you are waiting for the other player to accept the trade.
playeraccepted#function PlayerAccepted: Boolean;#By: masquerader modified by ZephyrsFury#trade.scar#Description: Returns true if the other player accepted the trade.
checkitem#function CheckItem(them: Boolean; name: string): Integer;#By: masquerader modified by Pyro and Cheesehunk#trade.scar#Description: returns number item at second screen it
might mess up because it goes out of the box/off the screen, but thats not my fault make the first letter capital, and the rest lowercase
intradersarray#function InTradersArray(TraderName: string; var Position: Integer): Boolean;#By: ZephyrsFury#trade.scar#Description: Checks for the occurence of Name in the Trader
array and returns the position. Used in HandleTrade.
updatetradersarray#procedure UpdateTradersArray(Name: string; Remove: Boolean);#By: ZephyrsFury#trade.scar#Description: Updates the Trader array by setting TimeMark if player exists
or by adding the player to the Trader array. If Remove is true it will remove the player from the array. Used in HandleTrade.
handletrade#function HandleTrade: Boolean;#by: ZephyrsFury#trade.scar#Description: Handles a trade.
worldscreen#function WorldScreen: Boolean;#by: Narcle#WorldSwitcher.scar#Description: Returns true if the World screen is open.
openworldscreen: boolean#Function OpenWorldScreen: Boolean;#by: ZephyrsFury & Narcle#WorldSwitcher.scar#Description: Opens the world screen. Returns true if world screen is opened.
loadworldarrays#procedure LoadWorldArrays;#by: Narcle#WorldSwitcher.scar#Description: Loads the world array into WorldArray from Worlds.ini
findworld#function FindWorld(W: integer): Boolean;#by: Narcle#WorldSwitcher.scar#Description: Scrolls to area and returns true if world was found
getworldinfo#function GetWorldInfo(World: Integer; var WorldRec: TWorld): Boolean;#by: Narcle#WorldSwitcher.scar#Description: Records World info into TWorld record, also Results true
if world was found
selectworld#Function SelectWorld(W: Integer): Boolean;#by: Narcle & ZephyrsFury#WorldSwitcher.scar#Description: Switches to the specified world. Returns true if successful.
randomworld#function RandomWorld(Members, PvP: Boolean): Integer;#by: Narcle & mixster#WorldSwitcher.scar#Description: Returns a random world by paramaters.
tswap#procedure tSwap(var a, b: TPoint);#Description: Swaps the two TPoints.#WizzyPlugin.scar#*******************************************************************************}
tpaswap#procedure tpaSwap(var a, b: TPointArray);#Description: Swaps the two
TPointArrays.#WizzyPlugin.scar#*******************************************************************************}
swape#procedure SwapE(var a, b: Extended);#Description: Swaps the two Extended values.#WizzyPlugin.scar#*******************************************************************************}
raastpaex#procedure RAaSTPAEx(var a: TPointArray; const w, h: Integer);#Description: Leaves one point per box with side lengths W and H to the
TPA.#WizzyPlugin.scar#*******************************************************************************}
raastpa#procedure RAaSTPA(var a: TPointArray; const Dist: Integer);#Description: Leaves one point per box with the side length
Dist.#WizzyPlugin.scar#*******************************************************************************}
nearbypointinarrayex#function NearbyPointInArrayEx(const P: TPoint; w, h:Integer; a: TPointArray): Boolean;#Description: Returns true if the point P is near a point in the TPA a with
the#WizzyPlugin.scar#max X and Y distances W and H.
nearbypointinarray#function NearbyPointInArray(const P: TPoint; Dist:Integer; a: TPointArray): Boolean;#Description: Returns true if the point P is near a point in the TPA a with
the#WizzyPlugin.scar#max distance Dist.
rearrangeandshortenarrayex#function ReArrangeandShortenArrayEx(a: TPointArray; w, h: Integer): TPointArray;#Description: Results the TPointArray a with one point per box with side
lengths#WizzyPlugin.scar#W and H left.
rearrangeandshortenarray#function ReArrangeandShortenArray(a: TPointArray; Dist: Integer): TPointArray;#Description: Results the TPointArray a with one point per box with side
length#WizzyPlugin.scar#Dist left.
tpatoatpaex#function TPAtoATPAEx(TPA: TPointArray; w, h: Integer): T2DPointArray;#Description: Splits the TPA to boxes with sidelengths W and H and results#WizzyPlugin.scar#them as a
T2DPointArray.
tpatoatpa#function TPAtoATPA(TPA: TPointArray; Dist: Integer): T2DPointArray;#Description: Splits the TPA to boxes with sidelength Dist and results#WizzyPlugin.scar#them as a
T2DPointArray.
sorttpafrom#procedure SortTPAFrom(var a: TPointArray; const From: TPoint);#Description: Sorts the TPointArray a from the point From.#WizzyPlugin.scar#Closest one to the point is [0],
second closest is [1] etc.
sortatpafrom#procedure SortATPAFrom(var a: T2DPointArray; const From: TPoint);#Description: Sorts the T2DPointArray a from the point
From.#WizzyPlugin.scar#*******************************************************************************}
sortatpafromfirstpoint#procedure SortATPAFromFirstPoint(var a: T2DPointArray; const From: TPoint);#Description: Sorts the T2DPointArray a from the point
From.#WizzyPlugin.scar#*******************************************************************************}
inverttpa#procedure InvertTPA(var a: TPointArray);#Description: Inverts / Reverts the TPointArray
a.#WizzyPlugin.scar#*******************************************************************************}
invertatpa#procedure InvertATPA(var a: T2DPointArray);#Description: Inverts / Reverts the T2DPointArray
a.#WizzyPlugin.scar#*******************************************************************************}
middletpaex#function MiddleTPAEx(TPA: TPointArray; var x, y: Integer): Boolean;#Description: Stores the coordinates of the middle of the TPointArray a to X &
Y.#WizzyPlugin.scar#*******************************************************************************}
middletpa#function MiddleTPA(tpa: TPointArray): TPoint;#Description: Returns the middle of the TPointArray
tpa.#WizzyPlugin.scar#*******************************************************************************}
sortatpasize#procedure SortATPASize(var a: T2DPointArray; const BigFirst: Boolean);#Description: Sorts the T2DPointArray a from either largest or smallest, by
the#WizzyPlugin.scar#amount of points in the TPAs.
combinetpa#function CombineTPA(Ar1, Ar2: TPointArray): TPointArray;#Description: Combines the TPointArrays Ar1 and Ar2, and results the
combination.#WizzyPlugin.scar#*******************************************************************************}
combineintarray#function CombineIntArray(Ar1, Ar2: TIntegerArray): TIntegerArray;#Description: Combines the TIntegerArrays Ar1 and Ar2, and results the#WizzyPlugin.scar#combination.
inintarrayex#function InIntArrayEx(a: TIntegerArray; var Where: Integer; const Number: Integer): Boolean;#Description: Returns true if the integer Number was found in the integer
array#WizzyPlugin.scar#a, and stores the index to Where.
inintarray#function InIntArray(a: TIntegerArray; Number: Integer): Boolean;#Description: Returns true if the integer Number was found in the integer array
a.#WizzyPlugin.scar#*******************************************************************************}
clearsameintegers#procedure ClearSameIntegers(var a: TIntegerArray);#Description: Clears the duplicates in the integer array
a.#WizzyPlugin.scar#*******************************************************************************}
clearsameintegersandtpa#procedure ClearSameIntegersAndTPA(var a: TIntegerArray; var p: TPointArray);#Description: Clears the duplicates in the integer array a and the TPointArray
p.#WizzyPlugin.scar#*******************************************************************************}
splittpaex#function SplitTPAEx(arr: TPointArray; w, h: Integer): T2DPointArray;#Description: Splits the points with max X and Y distances W and H to their#WizzyPlugin.scar#own
TPointArrays.
splittpa#function SplitTPA(arr: TPointArray; Dist: Integer): T2DPointArray;#Description: Splits the points with max distance Dist to their own TPointArrays.#WizzyPlugin.scar#Dist 1
puts the points that are next to eachother to their own arrays.
filterpointspie#procedure FilterPointsPie(var Points: TPointArray; const SD, ED, MinR, MaxR: Extended; Mx, My: Integer);#Description: Removes the points in the TPointArray Points that
are not within#WizzyPlugin.scar#the degrees SD (StartDegree) and ED (EndDegree) and the distances MinR (MinRadius) and MaxR (MaxRadius) from the origin (Mx, My).
removedisttpointarray#function RemoveDistTPointArray(x, y, dist: Integer; ThePoints: TPointArray; RemoveHigher: Boolean): TPointArray;#Description: Removes the points that are inside
or outside the distance Dist#WizzyPlugin.scar#from the point (x, y) from the TPointArray ThePoints.
gettpabounds#function GetTPABounds(TPA: TPointArray): TBox;#Description: Returns the boundaries of the TPA as a
TBox.#WizzyPlugin.scar#*******************************************************************************}
findtpaintpa#function FindTPAinTPA(SearchTPA, TotalTPA: TPointArray; var Matches: TPointArray): Boolean;#Description: Looks for the TPA SearchTPA in the TPA TotalTPA and
returns#WizzyPlugin.scar#the matched points to the TPA Matches. Returns true if there were atleast one match(es).
findtexttpaintpa#function FindTextTPAinTPA(Height: Integer; SearchTPA, TotalTPA: TPointArray; var Matches: TPointArray): Boolean;#Description: Read the description of FindTPAinTPA.
Additional Height parameter.#WizzyPlugin.scar#*******************************************************************************}
findgapstpa#function FindGapsTPA(TPA: TPointArray; MinPixels: Integer): T2DPointArray;#Description: Finds the possible gaps in the TPointArray TPA and results
the#WizzyPlugin.scar#gaps as a T2DPointArray. Considers as a gap if the gap length is >= MinPixels. Only horizontal, sorry folks.
createtpafrombmp#Function CreateTPAFromBMP(BmpDC: HDC): TPointArray;#Description: Creates a TPointArray of the bitmap dc BmpDC.#WizzyPlugin.scar#Use GetBitmapDC to get the dc.
sortcirclewise#procedure SortCircleWise(var tpa: TPointArray; mx, my, Deg: Integer; SortUp: Boolean);#Description: Sorts all points in tpa by distance from degree (Deg) and distance
from#WizzyPlugin.scar#mx and my. Sortup will return closest distance to mx and my first. Distance will be sorted first (RadialWalk style).
linearsort#procedure LinearSort(var tpa: TPointArray; mx, my, Deg: Integer; SortUp: Boolean);#Description: Sorts all points in tpa by distance from degree (Deg) and distance
from#WizzyPlugin.scar#mx and my. Sortup will return closest distance to mx and my first. Degree will be sorted first (LinearWalk style).
mergeatpa#Function MergeATPA(ATPA: T2DPointArray): TPointArray;#Description: Merges the TPointArrays of the T2DPointArray ATPA in to one
TPA.#WizzyPlugin.scar#*******************************************************************************}
setpath#function SetPath(Number: Integer): Integer;#By: WT-Fakawi#Path.scar#Description: Assembles DTM from Path. Inputs Path-Index, outputs DTM. Usage: TheDTM := SetPath(0); or
FindDTMRotated(SetPath(4).....
walkpath#function WalkPath(ThePath: Integer): Boolean;#By: WT-Fakawi#Path.scar#Description: Simple Roadclicker, checks for RoadColor changes using CountFlag. Returns False if Path not
found. Usage: WalkPath(1);
findpath#function FindPath(ThePath: Integer; Click: Boolean): Boolean;#By: WT-Fakawi#Path.scar#Description: Returns True if Path was found. Usage: repeat WalkPath(1); until
FindPath(2, True);
pathrecorder#procedure PathRecorder(StartPath: Integer);#By: WT-Fakawi#Path.scar#Description: Simple PathRecorder. Usage: Enter StartPath. - Click RightMouse Button for SubPoints -
Now hover Mouse over MainPoint and hit Q - Copy Debug printout to your script. - Choose Subpoints carefully. Upto 9 clicks are allowed, but 4 Subpoints should well be sufficiant.
strtotptarrayex#function strToTPtArrayEx(tPtStr, Separater : String) : TPointArray;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads a String into a
TPointArray. (Example String: '50,10 80,53 350,765 8560,1897 2348,346')
strtotptarray#function strToTPtArray(tPtStr : String) : TPointArray;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to strToTPtArrayEx.
tptarraytostrex#function tPtArrayToStrEx(newTPoint: TPointArray; Separater : String) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads a TPointArray
into a String. (Example String: '50,10 80,53 350,765 8560,1897 2348,346')
tptarraytostr#function tPtArrayToStr(newTPoint : TPointArray) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to tPtArrayToStrEx.
strtointarrayex#function strToIntArrayEx(intArray, Separater : String) : Array of Integer;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads a String into an
array of integer. (Example String: '567 389 3234 98342 7998767')
strtointarray#function strToIntArray(intArray : String) : Array of Integer;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to strToIntArrayEx.
intarraytostrex#function intArrayToStrEx(intArray : Array of Integer; Separater : String) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads an array
of integer into a String. (Example String: '567 389 3234 98342 7998767')
intarraytostr#function intArrayToStr(intArray : Array of Integer) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to intArrayToStrEx.
strtofloatarrayex#function strToFloatArrayEx(floatArray, Separater : String) : Array of Extended;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads a String
into an array of float. (Example String: '567.356 389.6756 3234.9865 98342.2314 7998767.324')
strtofloatarray#function strToFloatArray(floatArray : String) : Array of Extended;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to strToFloatArrayEx.
floatarraytostrex#function floatArrayToStrEx(floatArray : Array of Extended; Separater : String) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads
an array of float into a String. (Example String: '567.356 389.6756 3234.9865 98342.2314 7998767.324')
floatarraytostr#function floatArrayToStr(floatArray : Array of Extended) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to floatArrayToStrEx.
strtostrarrayex#function strToStrArrayEx(strArray, Separater : String) : Array of String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads a String into an
array of String. (Example String: 'Hello how are you today my friend? :D')
strtostrarray#function strToStrArray(strArray : String) : Array of String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to strToStrArrayEx.
strarraytostrex#function strArrayToStrEx(strArray : Array of String; Separater : String) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads an array
of String into a String. (Example String: 'Hello how are you today my friend? :D')
strarraytostr#function strArrayToStr(strArray : Array of String) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to strArrayToStrEx.
strtoboolarrayex#function strToBoolArrayEx(boolArray, Separater : String) : Array of Boolean;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads a String into
an array of boolean. (Example String: 'true false false false true true false true false')
strtoboolarray#function strToBoolArray(boolArray : String) : Array of Boolean;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to strToBoolArrayEx.
boolarraytostrex#function boolArrayToStrEx(boolArray : Array of Boolean; Separater : String): String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Loads an
array of boolean into a String. (Example String: 'true false false false true true false true false')
boolarraytostr#function boolArrayToStr(boolArray : Array of Boolean) : String;#By: moparisthebest and modified by Ron#arrayLoader.scar#Description: Refer to boolArrayToStrEx.
findfaladorroadcolor#function FindFaladorRoadColor: Integer;#By: By WT-Fakawi, edited by Sdcit and again by Bebemycat2#FaladorColorFinder.scar#Description: Finds Falador Road Color.
findfaladorwatercolor#function FindFaladorWaterColor: Integer;#By:#FaladorColorFinder.scar#Description: Finds Falador Water Color.
findfaladorhousecolor#function FindFaladorHouseColor: Integer;#By: Sdcit#FaladorColorFinder.scar#Description: Finds Falador House Color. Instruction: Stand at left most bankslot, Face
North.
findfaladorbasiccolors#function FindFaladorBasicColors: Boolean;#By:#FaladorColorFinder.scar#Description: Finds All Falador Colors. Instruction: Stand at left most bankslot, Face
North.
srl_getbitmap#function srl_GetBitmap(ID: Integer): Integer;#By: the SRL community#Bitmaps.scar#Description: Returns the bitmap identified by ID. Use like this:
FindBitmap(srl_GetBitmap(bmp_Ore_Iron), x, y)
srl_loadbitmaps#procedure srl_LoadBitmaps(IDs: TIntegerArray);#By: Nielsie95#Bitmaps.scar#Description: Preloads bitmaps identified by ID in the srl bitmaparray.
srl_loadbitmaprange#procedure srl_LoadBitmapRange(StartID, EndID: Integer);#By: Nielsie95#Bitmaps.scar#Description: Preloads bitmaps identified by ID in range StartID to EndID
srl_freebitmaps#procedure srl_FreeBitmaps;#By: Nielsie95#Bitmaps.scar#Description: Frees all SRL bitmaps
qcopen#function QCOpen: Boolean;#By: EvilChicken!#QuickChat.scar#Description: Returns true/false depending on if QuickChat window is open.
openqc#procedure OpenQC;#By: EvilChicken!#QuickChat.scar#Description: Opens QuickChat window if it isn't open.
closeqc#procedure CloseQC;#By: EvilChicken!#QuickChat.scar#Description: Closes QuickChat window if it is open.
qcopentab#procedure QCOpenTab(Tab: string; SubTabs: array of Char);#By: EvilChicken!#QuickChat.scar#Description: Opens QuckChat, clicks 'Menu' menu, then uses 'SubMenus' chars to open
submenus. 'Menu' options: 'general', 'trade', 'skill', group', 'clan'. Use: QCOpenMeny('Trade', ['a', 'b', 'c']);
qcsaylevel#procedure QCSayLevel(Which: string);#By: EvilChicken!#QuickChat.scar#Description: Says 'Which' skill level using Quick Chat.
adduser#procedure AddUser;#By: RsN#UsersManager.scar#Description:
inititate#procedure Inititate(Sender : TObject);#By: RsN#UsersManager.scar#Description:
createuser#procedure CreateUser(Sender : TObject);#By: RsN#UsersManager.scar#Description:
forwarduser#procedure ForwardUser(Sender : TObject);#By: RsN#UsersManager.scar#Description:
backuser#procedure BackUser(Sender : TObject);#By: RsN#UsersManager.scar#Description:
deleteuser#procedure DeleteUser(Sender : TObject);#By: RsN#UsersManager.scar#Description:
start#procedure Start(Sender : TObject);#By: RsN#UsersManager.scar#Description:
loadform#procedure LoadForm;#By: RsN#UsersManager.scar#Description:
theform#procedure TheForm;#By: RsN#UsersManager.scar#Description:
showformmodal#procedure ShowFormModal;#By: RsN#UsersManager.scar#Description:
tehform#procedure TehForm;#By: RsN#UsersManager.scar#Description:
getdoorcolor#function GetDoorColor: Integer;#By: Boreas#Doorprofiles.scar#Description: Finds first door color it comes to. Ignores drop dots :)
getseconddoorcolor#function GetSecondDoorColor(First: Integer): Integer;#By: Boreas#Doorprofiles.scar#Description: Finds first door color except for First. Ignores drop dots :)
istpointindropdot#function IsTPointInDropDot(TP: TPoint): Boolean;#By: Boreas#Doorprofiles.scar#Description: Returns true if a point, that is one of the 4 constant drop dot colors, is
in a drop dot. Works with partial covering.
ignoredropdots#function IgnoreDropDots(TheList: array of array of TPoint): array of array of TPoint;#By: Boreas#Doorprofiles.scar#Description:
getalldoorpixels#function GetAllDoorPixels: array of array of TPoint;#By: Boreas#Doorprofiles.scar#Description: Returns an array of array of tpoints, with each array containing the
points of a different door on the minimap.
mdptofarray#function MdPtOfArray(var Slope: Extended; TheArray: array of TPoint): TPoint;#By: Boreas#Doorprofiles.scar#Description: Returns MidPt of the rectangle that an array of
tpoints covers. Not nescessarily one of the tpoint in the array. Also sets the slope of the diagonal of the rectangle to slope.
getdoors#function GetDoors: array of DoorProfile;#By: Boreas#Doorprofiles.scar#Description: High level returns infomation about doors on minimap in an array of door profile
loadchecklistform#procedure LoadCheckListForm;#By: Sumilion#Users.scar#Description: Initializes the check list form needed for Users.scar
showchecklistformmodal#procedure ShowCheckListFormModal;#By: Sumilion#Users.scar#Description: Showes the form.
showchecklistform#procedure ShowCheckListForm;#By: Sumilion#Users.scar#Description: Safely initializes and shows the form
saveplayers#procedure SavePlayers;#By: Starblaster100#Users.scar#Description: Saves the players to a file / creates a file when needed.
loadplayers#procedure LoadPlayers(SetPlayers: Boolean);#By: Starblaster100#Users.scar#Description: Loads the players from a file
switchintabarray#procedure SwitchInTabArray(NewPlace, OldPlace: Integer; var V: array of TTabSheet);#By: Sumilion#Users.scar#Description: Switches values in a TTabSheet array
switchineditarray#procedure SwitchInEditArray(NewPlace, OldPlace: Integer; var V: array of TEdit);#By: Sumilion#Users.scar#Description: Switches values in a TEdit array
switchincomboarray#procedure SwitchInComboArray(NewPlace, OldPlace: Integer; var V: array of TComboBox);#By: Sumilion#Users.scar#Description: Switches values in a TComboBox array
onsrlpfmousedown#procedure OnSRLPFMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);#By: Sumilion#Users.scar#Description: Form action on Mouse click
onsrlpfdragdrop#procedure OnSRLPFDragDrop(Sender, Source: TObject; X, Y: Integer);#By: Sumilion#Users.scar#Description: Form action on drag drop
onsrlpfdragover#procedure OnSRLPFDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);#By: Sumilion#Users.scar#Description: Form action on drag over
deleteineditarray#procedure DeleteInEditArray(SpotToDelete: Integer; var V: array of TEdit);#By: Sumilion#Users.scar#Description: Deletes a value in a TEdit array
deleteineditarrayofarray#procedure DeleteInEditArrayOfArray(SpotToDelete: Integer; var V: array of array of TEdit);#By: Sumilion#Users.scar#Description: Deletes a value in a TEdit
array
deleteineditarrayofarrayofarray#procedure DeleteInEditArrayOfArrayOfArray(SpotToDelete: Integer; var V: array of array of array of TEdit);#By: Sumilion#Users.scar#Description: Deletes
a value in a TEdit array
deleteincomboarray#procedure DeleteInComboArray(SpotToDelete: Integer; var V: array of TComboBox);#By: Sumilion#Users.scar#Description: Deletes a value in a TComboBox array
deleteincomboarrayofarray#procedure DeleteInComboArrayOfArray(SpotToDelete: Integer; var V: array of array of TComboBox);#By: Sumilion#Users.scar#Description: Deletes a value in a
TComboBox array
deleteincomboarrayofarrayofarray#procedure DeleteInComboArrayOfArrayOfArray(SpotToDelete: Integer; var V: array of array of array of TComboBox);#By: Sumilion#Users.scar#Description:
Deletes a value in a TComboBox array
deleteintabarray#procedure DeleteInTabArray(SpotToDelete: Integer; var V: array of TTabSheet);#By: Sumilion#Users.scar#Description: Deletes a value in a TTabSheet array
deleteintabarrayofarray#procedure DeleteInTabArrayOfArray(SpotToDelete: Integer; var V: array of array of TTabSheet);#By: Sumilion#Users.scar#Description: Deletes a value in a
TTabSheet array
deleteinpagecontrolarray#procedure DeleteInPageControlArray(SpotToDelete: Integer; var V: array of TPageControl);#By: Sumilion#Users.scar#Description: Deletes a value in a TTabSheet
array
setlabelsparent#procedure SetLabelsParent(Parent: Integer);#By: Sumilion#Users.scar#Description: Sets all labels to the desired parent
deleteplayerintab#procedure DeletePlayerInTab(ArmyNumber, PlayerNumber, NextPlayerTab: Integer);#By: Sumilion#Users.scar#Description: Deletes a player in a desired tab and goes to the
next desired tab.
clearplayerintab#procedure ClearPlayerInTab(ArmyNumber, PlayerNumber: Integer);#By: Sumilion#Users.scar#Description: Clears player settings in tab
addplayerintab#procedure AddPlayerInTab(ArmyNumber: Integer);#By: Sumilion#Users.scar#Description: Deletes a player in a desired tab and goes to the next desired tab.
addarmy#procedure AddArmy;#By: Sumilion#Users.scar#Description: Adds an army to the form
deletearmy#procedure DeleteArmy(ArmyNumber, NextArmyTab: Integer);#By: Sumilion#Users.scar#Description: Deletes an army in the form
renamearmy#procedure RenameArmy(ArmyNumber: Integer);#By: Sumilion#Users.scar#Description: Renames an army's name
exportplayerdata#procedure ExportPlayerData;#By: Starblaster100 / Sumilion#Users.scar#Description: Turns the info input into the forms into a copy and pasteable DeclarePlayers
procedure
importplayerdata#procedure ImportPlayerData;#By: Starblaster100 / Sumilion#Users.scar#Description: Inputs information from the DeclarePlayers procedure into the form
onsrlpfmainmenuclick#procedure OnSRLPFMainMenuClick(Sender: TObject);#By: Sumilion#Users.scar#Description: Form actions on the MainMenu items
onsrlpfclick#procedure OnSRLPFClick(Sender: TObject);#By: Sumilion#Users.scar#Description: Form action on a click on a button
onsrlpfshow#procedure OnSRLPFShow(Sender: TObject);#By: Sumilion#Users.scar#Description: Form action on a Tab show
srlpfmenuclick#procedure SRLPFMenuClick(Sender: TObject);#By: Sumilion#Users.scar#Description: Form action on Menu click
setsrlplayerformarrays#procedure SetSRLPlayerFormArrays;#By: Sumilion#Users.scar#Description: Sets the arrays for the form
fillsrlplayerformtab#procedure FillSRLPlayerFormTab(ArmyNumber, TabNumber: Integer);#By: Sumilion#Users.scar#Description: Fills the tabs with components
loadsrlplayerform#procedure LoadSRLPlayerForm;#By: Sumilion#Users.scar#Description: Loads the main SRL player form
showsrlpfformmodal#procedure ShowSRLPFFormModal;#By: Sumilion#Users.scar#Description: Shows the form
srlplayerform#procedure SRLPlayerForm(ShowForm: Boolean; Booleans, Integers, Strings, Extendeds: TStringArray);#By: Sumilion#Users.scar#Description: Main function, sets and loads
values needed for player settings and the form.
setupitems#procedure SetupItems;#By: WT-Fakawi#ItemList.scar#Description: Initialises the items array.
freeitems#procedure FreeItems;#By: Freddy1990#ItemList.scar#Description: Frees all the items loaded by SetupItems.
convertxptolvl#function ConvertXpToLvl(Xp: Integer): Integer;#By: Brak, Flyboy#FindXP.scar#Description: Returns skill level based on xp level
convertlvltoxp#function ConvertLvlToXP(Xp: Integer): Integer;#By: Ron#FindXP.scar#Description: Returns exp based on level
findxp#function FindXP(Skill, sType: string): Extended;#By: Abyssal, Smartzkid, bobarkinator#FindXP.scar#Description: Returns any XP for any item in any skill. Confusing uses: Take
out any apostrophes. Combo Runes - letter of altar + rune name. (a mist) Smithing Items - letter of ore + name. (b dagger) Fletch, Half Bow - half + bow name. (half oak longbow)
Tipped Bolts - tip name + 'tip' + metal. (opal tip bronze) Prayer Bones - includes burying, gilded altar + burners & ecto. Fighting & Ranging - if you are accurate.
finddraynorroadcolor#function FindDraynorRoadColor(var RoadColor : Integer; RX1, RY1, RX2, RY2: Integer): Boolean;#By: WT-Fakawi and modified by
Ron#DraynorColorFinder.scar#Description: Finds Draynor Road Color
finddraynorladdercolor#function FindDraynorLadderColor(var LadderColor : Integer): Boolean;#By: WT-Fakawi and modified by Ron#DraynorColorFinder.scar#Description: Finds Draynor Road
Color
finddraynorhousecolor#function FindDraynorHouseColor(var HouseColor : Integer): Boolean;#By: WT-Fakawi and modified by Ron#DraynorColorFinder.scar#Description: Finds Draynor House
Color
isroad#function IsRoad(RX1, RY1, RX2, RY2: Integer): Boolean;#By: WT-Fakawi and modified by Ron#DraynorColorFinder.scar#Description: Finds Road Bitmap inside given coordinates.
finddraynorwatercolor#function FindDraynorWaterColor(var WaterColor : Integer): Boolean;#By: WT-Fakawi and modified by Ron#DraynorColorFinder.scar#Description: Find Draynor Water
Color.
waterfound#function WaterFound(WX1, WY1, WX2, WY2: Integer): Boolean;#By: WT-Fakawi and modified by Ron#DraynorColorFinder.scar#Description: Finds Water Color at given coordinates.
finddraynorrockcolor#function FindDraynorRockColor(var RockColor : Integer): Boolean;#By: WT-Fakawi and modified by Ron#DraynorColorFinder.scar#Description: Find Draynor Rock Color.
rockfound#function RockFound(var RockColor : Integer; WX1, WY1, WX2, WY2: Integer): Boolean;#By: WT-Fakawi and modified by Ron#DraynorColorFinder.scar#Description: Finds Rock Color
inside given coordinates.
finddraynordoorcolor#function FindDraynorDoorColor(var DoorColor : Integer): Boolean;#By: WT-Fakawi and modified by Ron#DraynorColorFinder.scar#Description: Find Draynor Door Color.
(Red: 230-245)
finddraynorcolors#function FindDraynorColors(var RoadColor, WaterColor, BankColor, RockColor, DoorColor, LadderColor, HouseColor : Integer; DraynorMiscColor : Boolean) : Boolean;#By:
WT-Fakawi and fixed by Ron#DraynorColorFinder.scar#Description: Find All Draynor Colors. Instructions: Stand at lowest bankslot face North.
friendname#function FriendName(PlayerNumber: Integer): String;#By: Wizzup?#Friends.scar#Description: Gets FriendsName and saves it to a string.
friendworld#function FriendWorld(PlayerNumber: Integer; SameWorld: Boolean) : String;#By: Wizzup?#Friends.scar#Description: Returns current world of a friend. First Friend = 0 Last
Friend = 11
getfriends#procedure GetFriends;#By: Wizzup?#Friends.scar#Description: Returns first 12 friends World/Status/Name into the Friends Record. TFriends = Record Name: String; World:
String; IsOnline: Boolean; YourWorld: Boolean;
friendisonline#function FriendIsOnline(Var iX, iY: Integer; Friend: String): Boolean;#By: Wizzup?#Friends.scar#Description: Returns coordinate of Online friend, if Online.
"Friend:String" May also be a part of the whole name, like Players[].Nick.
messagefriendex#function MessageFriendEx(Friend, TheMessage: String): Boolean;#By: Wizzup?#Friends.scar#Description: If a certain friend is online, sends them a message.
"Friend:String" May also be a part of the whole name, like Players[].Nick.
numberofonlinefriends#function NumberOfOnlineFriends: Integer;#By: Wizzup?#Friends.scar#Description: Returns # of friends online from 0-11. Is actually 1-12, but the array only goes
from 0 to 11 at the moment.
addfriend#procedure AddFriend(Friend: String);#By: Wizzup?#Friends.scar#Description: Add's 'Friend' to your friends list.
deletefriend#procedure DeleteFriend(Friend: String);#By: Wizzup?#Friends.scar#Description: Delete's 'Friend' from your friends list.
addignore#procedure AddIgnore(Friend: String);#By: Wizzup?#Friends.scar#Description: Add's 'Friend' to your ignore list.
deleteignore#procedure DeleteIgnore(Friend: String);#By: Wizzup?#Friends.scar#Description: Deletes 'Friend' from Ignore list.
getfriendtexts: tstringarray#Function GetFriendTexts: TStringArray;#By: n3ss3s#Friends.scar#Description: Returns all the friend chats, even the empty lines.
fromfriend#Function FromFriend(Friend: String): String;#By: n3ss3s#Friends.scar#Description: Returns the first occurence of text sent by friend Friend.
fromfriendmulti#Function FromFriendMulti(Friend: String): TStringArray;#By: n3ss3s#Friends.scar#Description: Returns all the occurences of text sent by friend Friend.
getchatterofline#Function GetChatterOfLine(Line: String): String;#By: n3ss3s#Friends.scar#Description: Returns the friend who sent the text Line.
respondtowith#Function RespondToWith(rTo, rWith: String): Boolean;#By: n3ss3s#Friends.scar#Description: Returns true if could respond to message rTo with rWith.
hasresponded#Function HasResponded(Friend: String): Boolean;#By: n3ss3s#Friends.scar#Description: Returns true if friend Friend has responded to you.
finddeformed#function FindDeformed(var Xoff, Yoff: Integer; BMP, a, b, c, d: Integer): Boolean;#By: WT-Fakawi#Color.scar#Description: Finds Bitmap in Box a,b,c,d. Returns coords in
ObjX and ObjY. Uses Deformed Bitmap. FindDeformed will gradually lower Tol and reduce Accuracy. Functon can cause severe Lag when using bitmaps bigger then 16 pixels. Works but Lags.
Useful for MM-clicking. For ObjectFinding use FindObjectDeformed.
findcolorspie#Procedure FindColorsPie(Var Points: TPointArray; Color, Tol: Integer; StartD, EndD, MinR, MaxR: Extended; x1, y1, x2, y2, Mx, My: Integer);#By:
Wizzup?#Color.scar#Description: Finds all Colors with tolerance in the Pie, defined by x1, y1, x2, y2, Mx, My, StartDegree, EndDegree, MinRadius and MaxRadius.
dtmrotated#function DTMRotated(DTM: Integer; var x, y: Integer; x1, y1, x2, y2: Integer): Boolean;#By: Yakman#Color.scar#Description: First looks for a DTM without rotation, then
increases the amount of rotation around 0 gradually until it finds the DTM. A bit like the ProgressiveTol Bitmap Engines.
windmouse#procedure WindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);#By: Benland100#Mouse.scar#Description:
mmouse#procedure MMouse(x, y, rx, ry: integer);#By: Benland100#Mouse.scar#Description: Moves the mouse.
mouse#procedure Mouse(mousex, mousey, ranx, rany: Integer; left: Boolean);#By: Mutant Squirrle, with a small fix by hy71194#Mouse.scar#Description: Moves then clicks mouse.
sleepandmovemouse#procedure SleepAndMoveMouse(Time: Integer);#By: RSN#Mouse.scar#Description: Waits for specified time and moves mouse around like bored human would.
idletime#procedure IdleTime(Time, Rand: integer; Gravity: extended);#By: BenLand100#Mouse.scar#Description: Randomly moves the mouse (Rand, and Gravity) for Time milliseconds
getsrldata#function getSRLData(dName: String): String;#By: Dankness#Setup.scar#Description: Reads Data from CFG File based on procedure by RSN.
setboolean#function setBoolean(T: String): Boolean;#By: Dankness#Setup.scar#Description: Changes String to Boolean
savesrlconfig#procedure SaveSRLConfig;#By: Dankness#Setup.scar#Description: Creates SRL Configfile
loadsrlconfig#procedure LoadSRLConfig;#By: Dankness#Setup.scar#Description: Loads Settings from Config Data file for Form
typebyte#procedure TypeByte(k: Byte);#By: Mutant Squirrle#Text.scar#Description: Types one char.
typesend#procedure TypeSend(Text: string);#By: SKy Scripter#Text.scar#Description: Sends human like text.
addmistakes#function AddMistakes(Orig: string; Chance: Integer): string;#By: ZephyrsFury#Text.scar#Description: Adds human mistakes to Orig such as mistypes, missing letters, wrong
cases. For a human-like chance of making a mistake make Chance 10 - 30. Smaller values of Chance = More mistakes. Use: TypeSend(AddMistakes('Hello', 20));
getuptext#function GetUpText: String;#By: Freddy1990#Text.scar#Description: Returns text in upperleft corner.
isuptext#function IsUpText(UpText: String): Boolean;#By: Freddy1990#Text.scar#Description: Returns up text that might be to the right
isuptextmulticustom#function IsUpTextMultiCustom(Text: TStringArray): Boolean;#By: Starblaster100 / Nielsie95 / Freddy1990#Text.scar#Description: Checks for the occurance of any of
the strings in the array. Use: IsUpTextMultiCustom(['Att', 'ttac', 'ack', 'monst', 'ster'])
findnpcchattext#function FindNPCChatText(txt: string; Action: (ClickLeft,ClickRight,Move,Nothing)): Boolean;#By: Kernel Klink and Nielsie95#Text.scar#Description: Finds a text said by
a NPC in chat. If found it'll perform action, where action can be: Nothing - Just return wether its found Move - Just move the mouse to it Clickleft - Movemouse & Clickmouse left
Clickright - MoveMouse & Clickmouse right
findtext#function FindText(var cx, cy: Integer; txt: String; font, xs, ys, xe, ye: Integer): Boolean;#By: Stupid3ooo#Text.scar#Description: Searches for text in specified box with
specified font.
clicktext#function ClickText(Text: string; Chars, x1, y1, x2, y2: Integer; Left: Boolean): Boolean;#By: SKy Scripter#Text.scar#Description: Clicks text if found in box.
chooseoptionmulti#function ChooseOptionMulti(Text: TStringArray): Boolean;#By: Wizzup? modified by N1ke!#Text.scar#Description: Finds Popup menu, then clicks on it. Will look for the
first string first and so on.
chooseoption#function ChooseOption(txt: String): Boolean;#By: Wizzup?#Text.scar#Description: Finds an option in a popup menu, then clicks on it.
closewindow#function CloseWindow: Boolean;#By: Solemn Wishes, Starblaster100 and ZephyrsFury#Text.scar#Description: Closes any open windows.
textcoords#Function TextCoords(textn: Integer): TPoint;#By: Wizzup?#Text.scar#Description: Returns x, y for text. (1 to 8)
getchatboxtext#function GetChatBoxText(Line, TextCol: Integer): string;#By: ZephyrsFury#Text.scar#Description: Gets text on the line Line with colour TextCol. (Line 1 is the top, Line
8 is the bottom line). Colours: clMessage/clBlack - Black text messages ("Oh Dear you are dead", etc). clChat/clBlue - Chat messages from you and other players. clTrade/clPurple
- Colour of trade request text. clFriend - Colour of friend and clan chat. Works with other colours too.
findchatboxtext#function FindChatBoxText(Text: string; Line: Integer; TextCol: Integer): Boolean;#By: ZephyrsFury#Text.scar#Description: Searches for Text on Line with colour TextCol.
True if found.
ischatboxtextanyline#function IsChatBoxTextAnyLine(Text: string; TextCol: Integer): Boolean;#By: ZephyrsFury#Text.scar#Description: Returns true if Text with colour TextCol is found
anywhere in the chat box.
chatboxtextarray#function ChatBoxTextArray(TextCol: Integer): TStringArray;#By: ZephyrsFury#Text.scar#Description: Gets and return a TStringArray with the contents of each line with
the colour TextCol (see GetChatBoxText for list of colours). Line 1 is Result[1] Line 2 is Result[2] Line 3 is Result[3] Line 4 is Result[4] Line 5 is Result[5] Line 6 is Result[6]
Line 7 is Result[7] Line 8 is Result[8]
getblackchatmessage#function GetBlackChatMessage: String;#By: Wizzup?#Text.scar#Description: Gets text with color 0 in last chat line.
findblackchatmessage#function FindBlackChatMessage(ChatMsg: String): Boolean;#By: Wizzup?#Text.scar#Description: Returns True if text with color 0 in last chat line is found.
lastchatter#function LastChatter(var name: String): Boolean;#By: masquerader#Text.scar#Description:Returns name and true if a person was talking, or false and the text
getlastchattext#function GetLastChatText(var chat: String): Boolean;#By: masquerader / Wizzup?#Text.scar#Description: Returns true if blue chat text was found
inchat#function InChat(Text: String): Boolean;#By: WT-Fakawi#Text.scar#Description: Grabs Last Chat Line and performs checks on occurence of text
fixchat#procedure FixChat;#by: WT-Fakawi#Text.scar#Description: Scrolls ChatText scrollbar down.
savetochatlog#function SaveToChatLog: Boolean;#By: WT-Fakawi / masquerader#Text.scar#Description: Saves chat to log file
function loadtexttpa#Function Function LoadTextTPA(Text : String; Chars : Integer;var height : integer) : TPointArray;#By: Raymond#Text.scar#Description: Loads a TPA of the text.. It
also returns the real height of the Text.. Used in FindTextTPAinTPA
findtexttpaex#Function FindTextTpaEx(Color,Tol,xs,ys,xe,ye : integer;var x,y : integer; Txt : string; Chars : Integer; Action : (ClickLeft,ClickRight,Move,Nothing)) : Boolean;#By:
Raymond#Text.scar#Description: Uses TPA's to find text..Returns the found pos in x and y (if not found both are 0) In action you can put what you want to do after its found.. Nothing
- Just return wether its found Move - Just move the mouse to it Clickleft - Movemouse & Clickmouse left Clickright - MoveMouse & Clickmouse right
findtexttpa#Function FindTextTpa(Color,Tol,xs,ys,xe,ye : integer; Txt : string; Chars : Integer; Action : (ClickLeft,ClickRight,Move,Nothing)) : Boolean;#By:
Raymond#Text.scar#Description: Just like FindTextTPAEx, but without the x and y pos returning.
randchatfx#function RandChatFx(Effect: Byte): string;#By: EvilChicken!#Text.scar#Description: Returns a RS chat effect based on 'Effect'. 0 reteurns completely random effect(s), 1
returns a colorful chat effect, 2 returns a text moving effect, 3 returns both types of effects. Use example: TypeSend(RandChatEffect(0) + 'I love pie!');
instrarrex#Function InStrArrEx(S: String; StrArr: TStringArray; Var Where: Integer): Boolean;#By: n3ss3s#Text.scar#Description: Returns true if the string S was found in the StrArr,
and if so stores the index into Where.
findallobjsrecord#function FindAllObjsRecord(var Objects: TPointArray; AutoInfo: TAutoColorInfo; x1, y1, x2, y2: Integer; QuickSorting, RGBXYZCheck: Boolean): Boolean;#By:
Sumilion#Object.scar#Description: Finds an Object using a TAutoColorInfo record, returns the center of the found objects.
findobjrecordex#function FindObjRecordEx(var fx, fy: Integer; AutoInfo: TAutoColorInfo; QuickSorting, RGBXYZCheck: Boolean): Boolean;#By: Sumilion#Object.scar#Description: Finds an
Object using a TAutoColorInfo record with extra options.
findobjrecord#function FindObjRecord(var fx, fy: Integer; AutoInfo: TAutoColorInfo): Boolean;#By: Sumilion#Object.scar#Description: Finds an Object using a TAutoColorInfo record.
findobjex#function FindObjEx(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;#Tol, Step, xs, ys, xe, ye: Integer): Boolean;#Object.scar#By: Starblaster100 Description:
Searches for an object using an array of colors and texts within the area you specify. Will start searching from the middle and returns true if found. Parameters: cx, cy:
Coordinate Position of object if result is true Text: Array of string you want to search for Color: Array of colors you want to search for Tol:
Tolerance of the colors you will allow Step: How big you want to make the search squares. 50 = Default. 30-70 Recommended xs, ys, xe, ye: Bounds you want to search in
findobj#function FindObj(var cx, cy: Integer; Text: string; Color, Tol: Integer): Boolean;#By: Starblaster100#Object.scar#Description: Finds Object
findobjcustom#function FindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;#By: Starblaster100#Object.scar#Description: Finds Object
with custom amount of colors and custom amount of Uptext Example: FindObjCustom(x, y, ['att', 'ack'], [123456, 345678], 5);
findobjectdeformed#function FindObjectDeformed(var ObjX, ObjY: Integer; UpText1, UpText2: String; BMP, a, b, c, d: Integer): Boolean;#By: WT-Fakawi#Object.scar#Description: Finds
Object in Box a,b,c,d, specified by BitMap and Uptext1 or Uptext2 Returns coords in ObjX and ObjY. Uses Deformed Bitmap. FindObjectDeformed will gradually lower Tol and reduce
Accuracy. Functon can cause severe Lag when using bitmaps bigger then 16 pixels. Works but Lags.
findobjtpa#function FindObjTPA(var x, y: integer; color, tol, cts, ObjWidth, ObjHeight, minCount :Integer; UpText: tstringarray): Boolean;#By: Wizzup?#Object.scar#Description: Finds
object using WizzyPlugin functions. Starts with a Spiral from x and y. Put in the color, Tolerance and ColorToleranceSpeed. If you don't know what colortolerancespeed to choose, put
in -1. ObjWidth and ObjHeight are the parameters TPAToATPAEx uses, thus filtering the MS's FindColorsSpiralTolerance points in boxes defined by ObjWidth and ObjHeigth. minCount is the
amount of colors it should at least find in a Object box. UpText, is ofcourse the text the object should have. In the Multi variant the UpText is a string array.
initializesrllogfile#function InitializeSRLLogFile : boolean;#By: Markus#SRLLog.scar#Description: Sets the SRLSavePath variable by looping through a few folders. Also intializes
TheFile
addtosrllog#procedure AddToSRLLog(s : string);#By: Markus#SRLLog.scar#Description: Adds a line to the SRL Log file.
rsready#function RSReady: Boolean;#By: ZephyrsFury#Login.scar#Description: Returns true if we are ready to auto (on loginscreen or logged in). Useful for waiting until RS has fully
loaded.
loginscreenmusic#Procedure LoginScreenMusic(State: Variant);#By: Wizzup?#Login.scar#Description: Takes Boolean(True, False) or Integer(1..5) as arguments. 1 or True = Off, 5 or False
= Max. 1 2 3 4 5 <-o---o---o---o---o->
login_setaudio#procedure Login_SetAudio(Volume, SFX, Area: Integer; SMSetting: (Stereo, Mono, NoChange) );#By: ZephyrsFury#Login.scar#Description: Sets audio options through the login
screen. Use: Enter the desired Setting for the desired Option. Make option 0 for no change. EG. Login_SetAudio(1, 5, 2, NoChange); 1 2 3 4 5 Volume, SFX, Area: <-o---o---o---
o---o->
login_setgraphics#procedure Login_SetGraphics(Brightness: Integer; vl, rr, gd, td, ia, fe, gt, cs: string);#By: ZephyrsFury#Login.scar#Description: Sets graphic options in the login
screen. Use: Enter the desired Setting for the desired Option. Leave as 0 for no change of brightness and '' for no change in anything else. Parameter Option
Setting Brightness Brightness 1 - 4 (0 for no change) vl Visible Levels Current / All rr Remove Roofs Always / Selectively
gd Ground Decoration Off / On td Texture Detail Low / High ia Idle Animations Few / Many fe Flickering Effects Off / On
gt Ground Textures Few / Many cs Chracter Shadows Off / On 1 2 3 4 Brightness: <---o---o---o---o---> EG. Login_SetGraphics(2, 'current', '',
'off', 'low', 'few', '', 'few', 'off'); For Autoing: Login_SetGraphics(4, 'current', 'always', 'off', 'low', 'few', 'off', 'few', 'off');
setaudiooff#procedure SetAudioOff;#By: ZephyrsFury#Login.scar#Description: Sets the Audio to off (1 for each bar). Works logged in and out.
setautoingdefaults#procedure SetAutoingDefaults;#By: ZephyrsFury#Login.scar#Description: Sets the graphic options for best SRL compatibility. Works both logged in and out.
logout#procedure Logout;#By: Starblaster100 / Raymond#Login.scar#Description: Logs you out.
loginplayer#procedure LoginPlayer;#By: SRL Developers#Login.scar#Description: Logs in the Player[CurrentPlayer]. Detects most Client Login Errors
randomnextplayer#procedure RandomNextPlayer(Active: Boolean);#By: Dankness based on WT-Fawki's NextPlayer and modified by Ron and by Raymond#Login.scar#Description: Picks Random
Player that is Active and Logs in
nextplayer#procedure NextPlayer(Active: Boolean);#By: Dankness and modified by Ron and by Raymond#Login.scar#Description: Logs in the next player. Boolean: True - Current player is
ok. False - Current player is false.
checkusernicks#procedure CheckUserNicks;#By: Sumilion / Raymond#Login.scar#Description: Checks if all nicks are set correct.
rcreadcommand#function RCReadCommand: String;#by: WT-Fakawi#RC.scar#Description: Returns string of red typed message (color 128)
rcsetnick#procedure RCSetNick;#by: WT-Fakawi#RC.scar#Description: Creates MasterBitMapMask for recognisition
rcfindmaster#function RCFindMaster(var Mx, My: Integer; X1, Y1, X2, Y2: Integer): Boolean;#by: WT-Fakawi#RC.scar#Description: Finds MasterBitMapMask (Master Name) and returns its
coordinates in Mx and My. Could be usefull also for friend-finding.
rchowmanyonline#function RCHowManyOnline: Integer;#by: WT-Fakawi#RC.scar#Description: Returns the number of online Friends.
rcfindfriend#function RCFindFriend: String;#by: WT-Fakawi#RC.scar#Description: Returns the name of the First Friend in the FriendList
rcprivatemessagecolorfound#function RCPrivateMessageColorFound: Boolean;#by: WT-Fakawi#RC.scar#Description: Returns True if Color 128 (red) was found in ChatWindow.
returnstatus#function ReturnStatus: String;#by: WT-Fakawi#RC.scar#Description: Returns a concatenated string with the False Player Names. If you feel this is too suspicious, use
Players.nick (recommended)
rcresetstatus#procedure RCResetStatus;#by: WT-Fakawi#RC.scar#Description: Resets the Status of ALL Players to True
rc#function RC: Boolean;#by: WT-Fakawi#RC.scar#Description: High Level Remote Control Command. Handles Remote Control. Works as follows: Checks for existence of red color in chat
window. If red color is found, it checks for the existence of the MasterBitMapMask. If found it waits 60 seconds for pm "status" or pm "reset". Then RC sleeps five minutes to get rid
of the red text.
setlastcommitvars#procedure SetLastCommitVars;#By: Dankness#GlobalStats.scar#Description: Stores the last committed stats
sendsrlreport#procedure SendSRLReport;#By: Dankness#GlobalStats.scar#Description: Sends Current Stats to web server
randomrclick#procedure RandomRClick;#By: phantombmx#AntiBan.scar#Description: Performs random right click to stay active.
hoverskill#procedure HoverSkill(Skill: String; Click: Boolean);#By: Dankness/Cheesehunk/Ron/Raymond/ZephyrsFury#AntiBan.scar#Description: Hovers mouse over selected skill to "check
exp" Click = True will Click Skill and Click = False will 'Hover'. Won't "check" skills where your level is 1.
pickupmouse#procedure PickUpMouse;#By: dark_sniper#AntiBan.scar#Description: Acts just like you picked your mouse off the pad... then sets it back down.
saycurrentlevels#procedure SayCurrentLevels(which: String);#By: RealRune#AntiBan.scar#Description: Very useful for autoresponders.
randommovement#procedure RandomMovement;#By: Krazy_Meerkat#AntiBan.scar#Description: Presses random arrow keys and moves the mouse. Able to press 2 keys simultaneously.
boredhuman#procedure BoredHuman;#By: WT-Fakawi, small edit by Hy71194#AntiBan.scar#Description: Perform2 5-15 times: * Rotates the cam, * Moves the mouse around MainScreen, * If it
finds IsUpText('option'), it will Chooseoption('Examine');
loadsrlbitmaps#procedure LoadSRLBitMaps;#By: SRL Dev Team#Globals.scar#Description: Loads SRL Bitmaps into memory.
freesrlbitmaps#procedure FreeSRLBitMaps;#By: Ron#Globals.scar#Description: Frees SRL Bitmaps into memory.
srl_warn#Procedure srl_Warn(ProcName, ErrorMessage: String; wVersion: Integer);#by: SRL Dev Team#Globals.scar#Description: WriteLn's a warning message.
flag#function Flag: Boolean;#By: PPLSUQBAWLZ/Odie533#FlagChat.scar#Description: Waits while flag exists.
flagpresent#function FlagPresent: Boolean;#By: Mutant Squirrle#FlagChat.scar#Description: T/F depending on flag exist.
flagdistance#function FlagDistance: Integer;#By: PPLSUQBAWLZ/Odie533#FlagChat.scar#Description: Returns distance in pixels your char dot is from flag on mini-map
mff#Function MFF(ax, ay, xmod, ymod: Integer):Boolean;#By: WT-Fakawi#FlagChat.scar#Description: If the flag is not present it will click at (ax, ay) increasing by (xmod, ymod) 5 times
or until the flag appears.
mfnf#Function MFNF(ax, ay, xmod, ymod: Integer):Boolean;#By: WT-Fakawi#FlagChat.scar#Description: Like MFF except it will click even if the flag is present when the function is called.
fflag#procedure FFlag(Distance: Integer);#By: Wizzup? / WT-Fakawi.#FlagChat.scar#Description: Waits until Flag is within "Distance" distance.
mouseflag#procedure MouseFlag(cx, cy, rx, ry, FlagDist: Integer);#By: RsN edit by EvilChicken!#FlagChat.scar#Description: Mouse and Flag combined into one easy procedure.
setchat#procedure SetChat(state: String; chat: Integer);#By: Wizzup? modded by WT-Fakawi and Starblaster100#FlagChat.scar#Description: Sets Chat to desired state
setallchats#procedure SetAllChats(Pub, Priv, Clan, Trade, Assist: string);#By: ZephyrsFury#FlagChat.scar#Description: Sets all the chats to a particular state in one simple procedure.
Leave the parameter as '' if you wish to leave the chat as it is: Example: SetAllChats('on', 'friends', '', 'off', '');
chatsoff#procedure ChatsOff;#By: Starblaster100#FlagChat.scar#Description: Sets all Chats to off.
loadsymbolbitmapcolor#function LoadSymbolBitmapColor(Name: String): Integer;#By: Stupid3ooo, WT-Fakawi, Bebemycat2, Ron, and StarBlaster100#Symbol.scar#Description: Loads Bitmap and
Color of a Specific Symbol.
getsymbolcolorin#function GetSymbolColorIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Integer;#By: Starblaster100 based off of the ideas of
Stupid3000#Symbol.scar#Description: Returns the Color of the Chosen Symbol, Searching in a selected area of the Minimap
getsymbolcolor#function GetSymbolColor(var rx, ry: Integer; Name: string): Integer;#By: Stupid3ooo and Modified by Starblaster100#Symbol.scar#Description: Returns the Color of the
Chosen Symbol, searching the whole Minimap
findsymbol#function FindSymbol(var rx, ry: Integer; Name: String): Boolean;#By: Stupid3ooo#Symbol.scar#Description: Finds a minimap Symbol and returns a Boolean if True. Searches the
whole Minimap
findsymbolin#function FindSymbolIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Boolean;#By: Starblaster100, based on the ideas of Stupid3ooo#Symbol.scar#Description:
Finds a minimap Smbol and returns a Boolean if True. Searches a selected area of the Minimap
findsymbols#procedure FindSymbols(var AnsTPA: array of TPoint; SymbolName: string);#By: Boreas#Symbol.scar#Description: Finds a symbol in multiple places.
loadcosinearrays#procedure LoadCoSineArrays;#By: Mutant Squirrle#Math.scar#Description: Loads arrays for use with Radial- and LinearWalk.
createtpafromtext#Function CreateTPAFromText(Txt : String; Chars : Integer) : TPointArray;#By: MastaRaymond#Math.scar#Description: Returns the TPointArray of the inputted Text. Needs
Wizzyplugin
getsplinept#function GetSplinePt(Points: TPointArray; Theta: Extended): TPoint;#By: BenLand100#Math.scar#Description: Returns the point on a spline, defined by control points Points,
at Theta
makesplinepath#function MakeSplinePath(Points: TPointArray; ThetaInc: Extended): TPointArray;#By: BenLand100#Math.scar#Description: Returns a spline, defined by control points Points,
incrementing theta by ThetaInc
midpoints#function MidPoints(Path: TPointArray; MaxDist: Integer): TPointArray;#By: BenLand100#Math.scar#Description: Adds midpoints to Path so no distance on it is greater than
MaxDist
inabstractbox#function InAbstractBox(x1, y1, x2, y2, x3, y3, x4, y4: Integer; x, y: Integer): Boolean;#By: BenLand100#Math.scar#Description: Returns true if point x, y is in an
abstract box defined by x1, y1, x2, y2, x3, y3, x4, y4 An abstract box example: x1, y1 x2, y2 +--------+ / / +--+ x4, y4 x3, y3
inangle#function inAngle(Origin: TPoint; Angle1, Angle2, Radius1, Radius2: Extended; X, Y: Integer): Boolean;#By: BenLand100#Math.scar#Description: Returns True if X and Y fall within
Radius1 to Radius2 and Angle1 to Angle2 Note1: EVERYTHING IS RELATIVE TO ORIGIN!!! Note2: This checks in the smallest segment of the circle formed by Angle1 and Angle 2 Example:
(Assume the origin is 0,0) inAngle(0, 90, 5, 10, origin, 5, 5) = true; inAngle(0, 90, 0, 5, origin, 5, 5) = false; inAngle(90, 0, 5, 10, origin, 5, 5) = false;
sine#function Sine(degrees: Integer): Extended;#By:#Math.scar#Description:
cose#function Cose(degrees: Integer): Extended;#By:#Math.scar#Description:
getinven#function GetInven(Inven : Integer) : TInvenItem;#By: SKy Scripter#Inventory.scar#Description: Returns The Width, Height, Count, ItemBox and CenterPoint of the Given Item Slot.
getinventoryarray#function GetInventoryArray : array of TInvenItem;#By: SKy Scripter#Inventory.scar#Description: Returns The Width, Height, Count, ItemBox and CenterPoint in array
[0..27] of all Items in the inventory.
invbox#Function InvBox(i :Integer): TBox;#By: WT-Fakawi/Wizzup?#Inventory.scar#Description: Returns TBox of surrounding Inventory SlotBox 1-2-3-4 5-6-7-8 etc.
itemcoords#function ItemCoords(i: Integer): TPoint;#By: RsN#Inventory.scar#Description: Returns X and Y of Specified Inventory Spot
coordstoitem#Function CoordsToItem(x,y : integer) : Integer;#By: Raymond#Inventory.scar#Description: Returns the invetory spot at x and y. If x or y are incorrect it returns 0.
getinvitembounds#Function GetInvItemBounds(InvSpot: Integer; T: TBox): Boolean;#By: Wizzup?#Inventory.scar#Description: If item exists, returns TBox of the item, else returns the
normal InvBox.
mmouseitem#procedure MMouseItem(i: Integer);#By: WT-Fakawi#Inventory.scar#Description: Moves mouse to specified inventory spot
mouseitem#procedure MouseItem(i: Integer; left: Boolean);#By: WT-Fakawi#Inventory.scar#Description: Moves Mouse to invin spot then clicks left or right
dragitem#procedure DragItem(inv1, inv2: Integer);#By: RsN#Inventory.scar#Description: Drags Item from first position Inv1 to Inv2 (Inventory Slots)
existsitem#function ExistsItem(i: Integer): Boolean;#By: WT-Fakawi#Inventory.scar#Description: Checks if item in inventory at specified position exists
invcount: integer#Function InvCount: Integer;#By: RsN#Inventory.scar#Description: Returns amount of items in your inventory
invempty#function InvEmpty: Boolean;#By: WT-Fakawi#Inventory.scar#Description: Returns True if inventory is empty
invfull#function InvFull: Boolean;#By: n3ss3s#Inventory.scar#Description: Returns True if inventory is full
countitems#function CountItems(identifier: Integer; identifiertype: string; tol: TIntegerArray): Integer;#By: WT-Fakawi / Sumilion#Inventory.scar#Description: Performs a count of
inventory items by "identifier" with tol[0] as color tolerance, tol[1] as contour tolerance in case of bmp masks. Valid identifiertypes are : bmp, mask, color, dtm.
clickallitems#function ClickAllItems(identifier: Integer; identifiertype, option: string; waitnum: Integer; tol: TIntegerArray):Integer;#By: WT-Fakawi /
Sumilion#Inventory.scar#Description: Performs "option" popupmenu action on all items with "identifier" and "tol[0]" as color tolerance and col[1] as contour tolerance in case bmp
masks are used in inventory. (e.g. 'store all') Returns number of performed operations. Valid identifiertypes are : bmp, mask, color, dtm.
dropitem#procedure DropItem(i: Integer);#By: Lorax#Inventory.scar#Description: Drops item at given position (1-28)
dropall#procedure DropAll;#By: Lorax#Inventory.scar#Description: Drops all items
arrangeinv#procedure ArrangeInv;#By: Cheesehunk#Inventory.scar#Description: Arrange's inventory in an orderly fashion.
countitemsblackline#Function CountItemsBlackLine(Count, Tol: Integer): Integer;#By: n3ss3s#Inventory.scar#Description: Returns the number of items in inventory with Count amount of
blackline points and Tol tolerance in the amount of points.
clickallitemsblackline#Function ClickAllItemsBlackLine(Count, Tol: Integer; Option: String): Integer;#By: n3ss3s#Inventory.scar#Description: Finds all items in inventory with
blackline points amount of Count with Tol tolerance, and returns the amount of items could choose the option Option to. Waits the WaitT amount of millisecs between items, with WaitR
randomness of milliseconds.
bankscreen#function BankScreen: Boolean;#by: SRL Dev Team#Bank.scar#Description: Finds Bankscreen. Returns true if Found.
pinscreen#function PinScreen: Boolean;#by: Starblaster100#Bank.scar#Description: Finds Pin Screen. Returns true if Found.
inpin#function InPin(Pin: String): Boolean;#by: ZephyrsFury#Bank.scar#Description: Enters bank pin. Will try 3 times, returns true if bank is opened.
mstpointtobankpoint#Function MSTPointToBankPoint(P: TPoint): TPoint;#by: Wizzup#Bank.scar#Description: Converts a point on the Mainscreen to the point in the Bank. First Row and Col
are (0,0).
bankpointtobankindex#function BankPointToBankIndex(P: TPoint): Integer;#by: Wizzup?#Bank.scar#Description: Converts a Bank Point (Row,Col) to Bank Index (spot in bank). (0, 0) = 1
bankindextobankpoint#function BankIndexToBankPoint(ind: Integer): TPoint;#by: Wizzup#Bank.scar#Description: Converts the Bank Index (spot in bank) to a Bank Point (Row,Col). 1 = (0, 0)
bankindextomspoint#Function BankIndexToMSPoint(Index: Integer): TPoint;#by: Wizzup?#Bank.scar#Description: Converts the Bank Index (spot in bank) to a Mainscreen TPoint of the Index.
(Top Left)
bankindextomsbox#function BankIndexToMSBox(ind:Integer): TBox;#by: Wizzup#Bank.scar#Description: Converts the Bank Index (spot in bank) to a Mainscreen TBox of the Index.
fixbank#procedure FixBank;#by: WT-Fakawi/RsN#Bank.scar#Description: Scrolls the bank screen up.
fixbanktab: boolean#Function FixBankTab: Boolean;#by: Wizzup?#Bank.scar#Description: Fixes the BankTab to 'View All'
currentbanktab: integer#Function CurrentBankTab: Integer;#by: Narcle#Bank.scar#Description: Returns Current Bank Tab selected
existsbanktab#Function ExistsBankTab(T: Integer): Boolean;#by: Narcle#Bank.scar#Description: Returns true if Bank Tab Exists
banktab#Function BankTab(T: Integer): Boolean;#by: Narcle#Bank.scar#Description: If Bank Tab is there will switch to it.
searchbank#procedure SearchBank(Item: string);#by: ZephyrsFury#Bank.scar#Description: Searches for Item in your bank.
deposit#procedure Deposit(slot, toslot, thetype: Integer);#by: WT-Fakawi/PPLSUQBAWLZ/Stupid3ooo/Town#Bank.scar#Description: Deposits from Slot to ToSlot. vType True = Deposit All.
vType False = Deposit one by one. Any integer is deposit with Deposit X. (except for 5 and 10)
withdraw#procedure Withdraw(Col, Row, Amount: Integer);#by: Starblaster100, Town and Wizzup?#Bank.scar#Description: Withdraws Amount at Column/Row.
depositall#procedure DepositAll;#by:#Bank.scar#Description: Deposits all items in your inventory
openbankquiet#function OpenBankQuiet(WhichBank: string): Boolean;#By: WT-Fakawi and modified by Ron#Bank.scar#Description: Opens any given bank in the free world using
FindDeformedBitmapToleranceIn. Avoids strange mouse movements. Will cause significant lag (approx. 1 second), but finds the bank with one click. Valid arguments are: 'feb' (Falador
East Bank) 'fwb' (Falador West Bank) 'veb' (Varrock East Bank) 'vwb' (Varrock West Bank) 'db' (Draynor Bank) 'eb' (Edgeville Bank) 'akb' (Al-Kharid Bank)
findbank#function FindBank(TheBank: String): Boolean;#By: WT-Fakawi and modified by Ron#Bank.scar#Description: Finds and opens any given bank in the free world. If the MM DTM is found
it will find and open the bank. Valid arguments are: 'feb' (Falador East Bank) 'fwb' (Falador West Bank) 'veb' (Varrock East Bank) 'vwb' (Varrock West Bank) 'db' (Draynor Bank) 'akb'
(Al-Kharid Bank)
closebank#function CloseBank: Boolean;#By: Starblaster100#Bank.scar#Description: Closes the bank window - Tries twice before exiting
openbankglass#function OpenBankGlass(WhichBank: String; ChangeCompass, ChangeAngle: Boolean): Boolean;#By: Wizzup? and modified by Ron#Bank.scar#Description: Opens the bank. Valid
arguments are: 'feb' (Falador East Bank) 'fwb' (Falador West Bank) 'veb' (Varrock East Bank) 'vwb' (Varrock West Bank) 'db' (Draynor Bank) 'akb' (Al-Kharid Bank)
openbankfast#function OpenBankFast(Location: String): Boolean;#By: Wizzup? and Nielsie95#Bank.scar#Description: Opens the bank. Valid arguments are: 'akb', 'al kharid', 'lb',
'lumbridge', 'veb', 'varrock east', 'vwb', 'varrock west', 'feb', 'falador east', 'fwb', 'falador west', 'db', 'draynor', 'eb', 'edgeville bank'
openbank#function OpenBank(WhichBank: String, ChangeCompass, ChangeAngle: Boolean): Boolean;#by: SRL Development Team#Bank.scar#Description: Opens the bank if possible. Valid
arguments are: 'feb' (Falador East Bank) 'fwb' (Falador West Bank) 'veb' (Varrock East Bank) 'vwb' (Varrock West Bank) 'db' (Draynor Bank) 'akb' (Al-Kharid Bank) 'lb' (Lumbridge
Bank)
loggedin#function LoggedIn: Boolean;#By: WT-Fakawi#Players.scar#Description: Returns True if Logged In.
numberofplayers#procedure NumberOfPlayers(Number: Integer);#By: BenLand100 / Wizzup?#Players.scar#Description: Makes the Players array have Number indexes, also sets strings and other
player array's too standard 100.
playersactive#function PlayersActive: Integer;#By: ss23#Players.scar#Description: Numbers of players active in the Players array.
allplayersinactive#function AllPlayersInactive: Boolean;#By: ZephyrsFury#Players.scar#Description: Returns true if all players are inactive in the Players array.
getcurrenttab#function GetCurrentTab: Integer;#By: Wizzup?#GameTab.scar#Description: Returns current tab
tabexists#function TabExists(TabNumber: Integer): Boolean;#By: Flyboy#GameTab.scar#Description: Returns true if tab exists. Very useful for tutorial Is. as well as a simple double
check to make sure your fully logged in.
gametab#function GameTab(tabnumber: Integer): Boolean;#By: Starblaster100#GameTab.scar#Description: Switches between tabs.
setfightmode#function SetFightMode(oFightMode: Integer): Boolean;#By: Nielsie95 tweaked by Timer#GameTab.scar#Description: Sets fight mode. Returns false if failed to set desired
mode.
getcombatlevel#function GetCombatLevel: Integer;#By: Nielsie95#GameTab.scar#Description: Returns the players combat level.
retaliate#procedure Retaliate(RetTrue: Boolean);#By: WT-Fakawi & n3ss3s, slight mod by EvilChicken!#GameTab.scar#Description: Set's Auto Retaliate ON of OFF.
skillcoords#function SkillCoords(row, column: Integer): TPoint;#By: RsN fixed by dark sniper and fixed by Raymond#GameTab.scar#Description: Returns Coords of Skill's Row and Column
(Used for GetSkill functions)
skilltocoords#function SkillToCoords(skill: string; var Scroll : Boolean): TPoint;#By: Masquerader, Cheesehunk, Raymond and Wizzup?#GameTab.scar#Description: Turns skill string into
tpoint. If Scroll returns true then you must scroll down.
getskillinfo#function GetSkillInfo(skill: string; Amount : Boolean): Integer;#By: Raymond#GameTab.scar#Description: Gets the amount / level of a skill. E.G. 0/15 Amount = True will
return 0. Amount = False will return 15 (The actual level).
getmmlevels#Function GetMMLevels(LevelType : String;var ColorSign : String): integer;#By: Raymond / Wizzup#GameTab.scar#Description: Returns the level shown next to the minimap.
Colorsign returns the color of the text (Green,Yellow,Orange,Red). Returns -1 if failed.
getxp#function GetXP(Skill: String): Integer;#By: Nielsie95#GameTab.scar#Description: Returns current xp for a skill. Returns -1 if failed.
xptillnextlevel#function XpTillNextLevel(Skill: String): Integer;#By: Nielsie95#GameTab.scar#Description: Returns current xp til you level up in a skill. Returns -1 if failed.
hppercent#function HpPercent: Integer;#By: Wizzup?#GameTab.scar#Description: Returns Hp left as a percentage. If The HP level is set, it does not switch tabs.
equipmentcoords#function EquipmentCoords(i : Integer) : TPoint;#By: RsN modded by WT-Fakawi and Nielsie95#GameTab.scar#Description: Returns X and Y of the coordinates of the specified
equipment item
wearingitem#function WearingItem(i: Integer): Boolean;#By: RsN#GameTab.scar#Description: Results True if an item is equiped at i
takeoff#procedure TakeOff(i: Integer);#By: RsN#GameTab.scar#Description: UnEquips Item specified in i.
checkequipitems#function CheckEquipItems(number: Integer): Boolean;#By: SDcit#GameTab.scar#Description: Sees if there are number items equiped and returns true if yes.
currentworld#function CurrentWorld: Integer;#By: Cheesehunk, Ron and fixed by ZephyrsFury#GameTab.scar#Description: Returns the current world you are on.
setrun#procedure SetRun(run: Boolean);#By: Wizzup? & EvilChicken!#GameTab.scar#Description: Sets Run on or off.
runcontrol#procedure RunControl(Run: Boolean);#By: Wizzup?#GameTab.scar#Description: Sets Run on or off, using control, DOES NOT stack with SetRun(), Use them seperately.
setgraphics#procedure SetGraphics(Brightness: Integer; vl, rr, gd, td, id, fe, gt, cs: string);#By: ZephyrsFury#GameTab.scar#Description: Sets graphic options through the Graphics
Screen in GameTab 11. Use: Enter the desired Setting for the desired Option. Leave as '' for no change Parameter Option Setting vl Visible Levels
Current / All rr Remove Roofs Always / Selectively gd Ground Decoration Off / On td Texture Detail Low / High ia Idle
Animations Few / Many fe Flickering Effects Off / On gt Ground Textures Few / Many cs Character Shadows Off / On 1 2 3 4
Brightness: <---o---o---o---o---> EG. SetGraphics(2, 'current', '', 'off', 'low', 'few', '', 'few', 'off'); For Autoing: SetGraphics(4, 'current', 'always', 'off', 'low', 'few',
'off', 'few', 'off');
setaudio#procedure SetAudio(Volume, SFX, Area: Integer; SMSetting: (Stereo, Mono, NoChange) );#By: ZephyrsFury#GameTab.scar#Description: Sets audio options through the Audio screen in
GameTab 11 Use: Enter the desired Setting AS A POINT for the desired Option. Make option 0 for no change. 1 2 3 4 5 Volume, SFX, Area: <--o---o---o---o---o--> EG.
SetAudio(1, 4, 0, Stereo);
setbar#procedure SetBar(Brightness, Volume, SFX, Area: Integer);#By: ZephyrsFury#GameTab.scar#Description: Sets each bar to the specific point. 1-4 for Brightness, 1-5 for others. For
no change in the value make the respective parameter 0.
doemote#procedure DoEmote(EmoteNumber: Integer);#By: Sumilion#GameTab.scar#Description: Clicks on an emote specified by EmoteNumber (1 to 37)
timerunning#function TimeRunning: String;#By: from Phalanx's script/RsN#Timing.scar#Description: Returns Time since ST (Script StartTime).
marktime#procedure MarkTime(var TimeMarker: Integer);#By: Stupid3ooo#Timing.scar#Description: Sets TimeMarker to current system time
timefrommark#function TimeFromMark(TimeMarker: Integer): Integer;#By: Stupid3ooo#Timing.scar#Description: returns Milliseconds since MarkTime was set
thetime#function TheTime : string;#By: RsN (fixed by Ron)#Timing.scar#Description: Returns current time as a string
thedate#function TheDate(DateFormat : Integer) : String;#By: Ron#Timing.scar#Description: TheDate will return the current date. DateFormats can be... 1 = April 2nd, 2007 Month Day,
Year 2 = 04/02/07 Month/Day/Year 3 = 02-04-07 Day-Month-Year
tradescreen#function TradeScreen: Integer;#By: ZephyrsFury and EvilChicken!#amount.scar#Description: Returns 1 or 2 for the respective tradescreens, 0 if neither is open.
shopscreen#function ShopScreen: Boolean;#By: masquerader#amount.scar#Description: Returns true if a shop interface is opened.
getamount#function GetAmount(itemx, itemy: Integer): Integer;#By: masquerader || Improved by Freddy1990 ||Updated June 4 2007 by Boreas || Fixed by Mr.
Freeweed#amount.scar#Description: Returns the ammount of an item at a certain position.
areainfo#procedure AreaInfo(area: String; var startx, starty, rowsize, colsize, colnumber, rownumber: Integer);#By: masquerader || Fixed by Mr. Freeweed#amount.scar#Description:
Returns info on certain interfaces. Example: row and col ammounts, startcoords, sizes for inventory, bans, shop, ...
checkarea#function CheckArea(area: String): Boolean;#By: masquerader streamlined by EvilChicken!#amount.scar#Description: Checks if the given interface is opened.
amountcoords#function AmountCoords(area: String; i: Integer): TPoint;#By: masquerader#amount.scar#Description: Returns the coordinates of the ammount of an item specified by i in a
certain area.
amount#function Amount(area: String; i: Integer): Integer;#By: masquerader#amount.scar#Description: Returns the ammount of an item specified by i in an area.
itemcoordinates#function ItemCoordinates(Area, ItemType: string; Item, Tol: TIntegerArray): TPointArray;#By: masquerader modified by ZephyrsFury#amount.scar#Description: Returns a TPA
with the positions of all occurances of Item. Parameters: Area - 'inv', 'shop', 'bank', 'trade', 'your trade'. ItemType - 'dtm', 'bmp', 'color', 'bmpmask'. Item - name/value of your
dtm/bmp/color/bmpmask. Tol - 'dtm' - [] (dtm's can't have tolerance). 'bmp' - [BMPTol]. 'color' - [COLOUR Tol]. 'bmpmask' - [BMPTol, ContourTol].
countitemsin#function CountItemsIn(Area, ItemType: string; Item: Integer; Tol: TIntegerArray): Integer;#By: masquerader modified by ZephyrsFury#amount.scar#Description: Counts the
number of items found within the Area. (Does not count stacks) Parameters: Area - 'inv', 'shop', 'bank', 'trade', 'your trade'. ItemType - 'dtm', 'bmp', 'color', 'bmpmask'. Item -
name/value of your dtm/bmp/color/bmpmask. Tol - 'dtm' - [] (dtm's can't have tolerance). 'bmp' - [BMPTol]. 'color' - [COLOUR Tol]. 'bmpmask' - [BMPTol, ContourTol].
countitemsarea#function CountItemsArea(area: String): Integer;#By: masquerader#amount.scar#Description: Counts items in a specified area. (Doesn't count stacks)
itemamount#function ItemAmount(Area, ItemType: string; Item: Integer; Tol: TIntegerArray): Integer;#By: masquerader modified by ZephyrsFury#amount.scar#Description: Counts the number
of items found with a color in a certain area. (Counts stacks) Parameters: Area - 'inv', 'shop', 'bank', 'trade', 'your trade'. ItemType - 'dtm', 'bmp', 'color', 'bmpmask'. Item -
name/value of your dtm/bmp/color/bmpmask. Tol - 'dtm' - [] (dtm's can't have tolerance). 'bmp' - [BMPTol]. 'color' - [COLOUR Tol]. 'bmpmask' - [BMPTol, ContourTol].
loadcoinbmp#function loadcoinbmp: Integer;#By: masquerader#amount.scar#Description: Returns a bitmap to use for coins.
coinamount#function CoinAmount(area: String): Integer;#By: masquerader#amount.scar#Description: Returns the ammount of coins in a specified interface.
findcoins#function FindCoins(var x, y: Integer; Area: string): Boolean;#By: ZephyrsFury#amount.scar#Description: Finds coins in Area and stores the coords in x and y.
loadrune#function LoadRune(runetype: String): Integer;#By: masquerader#amount.scar#Description: Returns a bitmap of the specified rune.
runeamount#function RuneAmount(area, runetype: String): Integer;#By: masquerader and modified by Ron#amount.scar#Description: Returns the ammount of a certain rune in the specified
area.
shopswitchtab#procedure ShopSwitchTab(name:string);#By: Rasta Magician#amount.scar#Description: Switchs the shop tab to the one you want, only moves mouse if neccessary
ShopSwitchTab('main') or ShopSwitchTab('player')
makecompass#function MakeCompass(Direction: string): Boolean;#By: Nielsie95#MapWalk.scar#Description: Aligns RS to specified direction direction: Enter a specific side ('n', 'e', 's',
'w') or enter a degree(for example: '153' or '23')
getwallangle#Function GetWallAngle(Ps: TPointArray): Extended;#by: Wizzup?#MapWalk.scar#Description: Get's the Minimap angle using Walls. Returns Angle in Radians. Used in Maze.scar,
but feel free to use for Perfect map aligning projects.
runaway#procedure RunAway(dir: string; RunFar: Boolean; Action, WaitTime: Integer);#By: nielsie95 modified by ZephyrsFury#MapWalk.scar#Description: Runs away in minimap related
direction, based on north. Dir can be 'N', 'E', 'S', 'W' or an angle in degrees (145, 93, 180, etc). RunFar will run further than normal. Action can be either 1, 2 or 3. 1: RunAway +
Wait(WaitTime) + RunBack 2: RunAway + Wait(WaitTime) 3: RunBack Note: WaitTime is in milliseconds!
runto#procedure RunTo(Dir: String; RunFar: Boolean);#By: EvilChicken!#MapWalk.scar#Description: Runs to direction
storetoroadcolorarray#procedure StoreToRoadColorArray;#By: Wizzup? / WT-Fakawi.#MapWalk.scar#Description: Stores RoadColor to Array. Debugging and logging purposes.
getoldroadcolors#function GetOldRoadColors: Boolean;#By: Wizzup? / WT-Fakawi.#MapWalk.scar#Description: Tries to find the stored Roadcolor on the minimap and sets RoadColor.
getnewroadcolor#function GetNewRoadColor(xs, ys, xe, ye, tol: Integer): Boolean;#By: Wizzup? / WT-Fakawi and modified by Ron#MapWalk.scar#Description: Copies and compares a Bitmap of
20* 20 around Flag with known RoadColor. Results the new global RoadColor.
roadcolorchecker#function RoadColorChecker: Boolean;#By: Wizzup? / WT-Fakawi and modified by Ron#MapWalk.scar#Description: Checks for presence of RoadColor. If not found will call
GetNewRoadColor
countflag#procedure CountFlag(Distance: Integer);#By: Wizzup? / WT-Fakawi.#MapWalk.scar#Description: Waits until Flag is within "Distance" distance and check for RoadColor changes.
linearwalkex#function LinearWalkEx(var tpa: TPointArray; cx, cy, TheColor, tol: Integer; Direction: Integer; Radius: Integer): Boolean;#By: Nielsie95#MapWalk.scar#Description: Finds
TheColor from Radial (scanning outwards) for Radius Distance. Valid Arguments: tpa: Result points. Direction: Any number between 0-720. 0=N,90=E,180=S,270=W. Radius: Distance from the
centre of minimap, i.e. how far away the mouse clicks. Use numbers 20-72
radialwalkex#function RadialWalkEx(var tpa: TPointArray; cx, cy, TheColor, tol: Integer; StartRadial, EndRadial: Integer; Radius: Integer): Boolean;#By:
Nielsie95#MapWalk.scar#Description: Finds TheColor from StartRadial to EndRadial for Radius Distance. Valid Arguments: tpa: Result points. StartRadial/EndRadial: Any number between
0-720. 0=N,90=E,180=S,270=W. Radius: Distance from the centre of minimap, i.e. how far away the mouse clicks. Use numbers 20-72
radialwalk#function RadialWalk(TheColor: Integer; StartRadial, EndRadial: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;#By: Nielsie95#MapWalk.scar#Description: Walks
TheColor from StartRadial to EndRadial for Radius Distance Valid Arguments: TheColor: Any Color, but Road- or WaterColor will do fine :) StartRadial/EndRadial: Any number between
0-720. 0=N,90=E,180=S,270=W. Radius: Distance from the centre of minimap, i.e. how far away the mouse clicks. Use numbers 20-72 XMod, YMod: deviation from MouseFindFlag. -2 to 2.
linearwalk#function LinearWalk(TheColor: Integer; Direction: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;#By: Nielsie95#MapWalk.scar#Description: Walks TheColor from
Direction MIDDLE OUT!by performing windscreenlike scanning movements for Radius Distance Valid Arguments: TheColor: Any Color, but Road- or WaterColor will do fine :) Direction: Any
number between 0-720. 0=N,90=E,180=S,270=W. Radius: Distance from the centre of minimap, i.e. how far away the mouse clicks. Use numbers 20-72 XMod, YMod: deviation from
MouseFindFlag. -2 to 2.
radialroadwalk#function RadialRoadWalk(TheColor: Integer; StartRadial, EndRadial: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;#By: Nielsie95#MapWalk.scar#Description:
Walks TheColor from StartRadial to EndRadial for Radius Distance Valid Arguments: TheColor: RoadColor. RoadColor will be dynamically updated. StartRadial/EndRadial: Any number between
0-720. 0=N,90=E,180=S,270=W. Radius: Distance from the centre of minimap, i.e. how far away the mouse clicks. Use numbers 20-72 XMod, YMod: deviation from MouseFindFlag. -2 to 2.
linearroadwalk#function LinearRoadWalk(TheColor: Integer; Direction: Integer; Radius: Integer; Xmod, Ymod: Integer): Boolean;#By: Nielsie95#MapWalk.scar#Description: Walks TheColor
from Direction MIDDLE OUT!by performing windscreenlike scanning movements for Radius Distance Valid Arguments: TheColor: Any Color, but Road- or WaterColor will do fine :) Direction:
Any number between 0-720. 0=N,90=E,180=S,270=W. Radius: Distance from the centre of minimap, i.e. how far away the mouse clicks. Use numbers 20-72 XMod, YMod: deviation from
MouseFindFlag. -2 to 2.
waterwalk#function WaterWalk(StartRadial, EndRadial: Integer; Radius, FFlagBreakOut: Integer; Xoff, Yoff, Xmod, Ymod: Integer): Boolean;#By: Nielsie95#MapWalk.scar#Description: Walks
alongside Water. StartRadial/EndRadial := Any number between 0-720. 0=N,90=E,180=S,270=W. Radius: Distance from the centre of minimap, i.e. how far away the mouse clicks. Use numbers
20-72 FFlagBreakOut: Distance to flag where it will break out. 15 - 10 is good. Xoff, Yoff: Added to found point. XMod, YMod: deviation from MouseFindFlag. -2 to 2.
setangle#procedure SetAngle(Highest : Boolean);#By: Raymond#MapWalk.scar#Description: Sets the mainscreen at highestlowest angle (Depends on the boolean)
playersonmap#function PlayersOnMap(xx1, yy1, xx2, yy2 : integer) : integer;#By: footballjds#MapWalk.scar#Description: Counts the players on the minimap, not including your own player.
function rs_getcompassangledegrees#function Function rs_GetCompassAngleDegrees: Extended;#By: Wizzup#Overwrite.scar#Description: Returns the compass angle in degrees.
rs_getcompassangleradians: extended#Function rs_GetCompassAngleRadians: Extended;#By: Wizzup#Overwrite.scar#Description: Returns the compass angle in radians.
mousebox#procedure MouseBox(x1, y1, x2, y2: Integer; ClickType: Integer);#By: SKy Scripter and Nielsie95#Overwrite.scar#Description: Moves mouse into a random position in the box.
Clicks if told to.
rs_onminimap#procedure rs_OnMinimap(x, y: Integer): Boolean;#By: Raymond#Overwrite.scar#Description: Checks wether the specified point is on the minimap.
getdoorcolor#function GetDoorColor: Integer;#By: Boreas#DoorProfiles.scar#Description: Finds first door color it comes to. Ignores drop dots :)
getseconddoorcolor#function GetSecondDoorColor(First: Integer): Integer;#By: Boreas#DoorProfiles.scar#Description: Finds first door color except for First. Ignores drop dots :)
istpointindropdot#function IsTPointInDropDot(TP: TPoint): Boolean;#By: Boreas#DoorProfiles.scar#Description: Returns true if a point, that is one of the 4 constant drop dot colors, is
in a drop dot. Works with partial covering.
ignoredropdots#function IgnoreDropDots(TheList: array of array of TPoint): array of array of TPoint;#By: Boreas#DoorProfiles.scar#Description:
getalldoorpixels#function GetAllDoorPixels: array of array of TPoint;#By: Boreas#DoorProfiles.scar#Description: Returns an array of array of tpoints, with each array containing the
points of a different door on the minimap.
mdptofarray#function MdPtOfArray(var Slope: Extended; TheArray: array of TPoint): TPoint;#By: Boreas#DoorProfiles.scar#Description: Returns MidPt of the rectangle that an array of
tpoints covers. Not nescessarily one of the tpoint in the array. Also sets the slope of the diagonal of the rectangle to slope.
getdoors#function GetDoors: array of DoorProfile;#By: Boreas#DoorProfiles.scar#Description: High level returns infomation about doors on minimap in an array of door profile
findcolorrecordex#function FindColorRecordEx(var rx, ry: Integer; ColorRecord: TAutoColorInfo; x1, y1, x2, y2: Integer; RGBXYZCheck: Boolean): Integer;#By:
Sumilion#AutoColor.scar#Description: Gets a color from the minimap using a TAutoColorInfo record, with extra options.
findcolorrecord#function FindColorRecord(var rx, ry: Integer; ColorRecord: TAutoColorInfo): Integer;#By: Sumilion#AutoColor.scar#Description: Gets a color from the minimap using a
TAutoColorInfo record
findwatercolor#function FindWaterColor: Integer;#By: Tarajunky fixed by BobboHobbo#AutoColor.scar#Description: Autodetects Water Color on Minimap
findroadcolor#function FindRoadColor: Integer;#By: Tarajunky#AutoColor.scar#Description: Autodetects Normal Road Color on Minimap
findvarrockroadcolor#function FindVarrockRoadColor: Integer;#By: Tarajunky#AutoColor.scar#Description: Autodetects Varrock Road Color on Minimap
findfallyroadcolor#function FindFallyRoadColor: Integer;#By: Tarajunky#AutoColor.scar#Description: Autodetects Falador Road Color on Minimap
findlumbyroadcolor#function FindLumbyRoadColor: Integer;#By: ZephyrsFury#AutoColor.scar#Description: Autodetects Lumbridge Road Colour on the minimap.
findrockcolor#function FindRockColor: Integer;#By: Tarajunky#AutoColor.scar#Description: Autodetecs Rock (Gray) Color on Minimap
findstonecolor#function FindStoneColor: Integer;#By: Tarajunky#AutoColor.scar#Description: Autodetecs Stone (Mine Rock) Color on Minimap
finddirtroadcolor#function FindDirtRoadColor: Integer;#By: ZephyrsFury#AutoColor.scar#Description: Autodetects Dirt Road Color on Minimap (Lummy-Draynor Road Colour).
findbridgecolor#function FindBridgeColor: Integer;#By: Tarajunky#AutoColor.scar#Description: Autodetects "Striped" Bridge Color on Minimap
findladdercolor#function FindLadderColor: Integer;#By: Tarajunky#AutoColor.scar#Description: Autodetects Ladder Color on Minimap
findsandcolor#function FindSandColor: Integer;#By: Tarajunky#AutoColor.scar#Description: Autodetects Sand Color on Minimap
autocolorthis#function AutoColorThis(Bitmap, MaxTol, X1, Y1, X2, Y2: Integer): Integer;#By: Sumilion#AutoColor.scar#Description: Returns exact color of a bmp with tol found on the
screen.
####
solvesandwich#function SolveSandWich: Boolean;#by: nielsie95#Sandwich.scar#Description: Solves the sandwich lady random
mazrotpoint#Procedure MazRotPoint(Var P: TPoint);#by: Wizzup?#Maze.scar#Description: Get's map angle using walls, and fixes the given point, to prevent inaccuracy in the walking.
findmazedoor#function FindMazeDoor(var x, y: Integer; MaxDistFromCenter: Integer): Boolean;#by: Sumilion#Maze.scar#Description: Finds the Maze door on the main screen.
touchshrine#function TouchShrine: Boolean;#by: Sumilion#Maze.scar#Description: Touches the shrine at the end of the maze.
getstartposition#function GetStartPosition: Integer;#by: Sumilion#Maze.scar#Description: Returns where we started in the maze.
loadmazepaths#procedure LoadMazePaths;#by: Sumilion#Maze.scar#Description: Loads the paths we can walk.
walkmazepath#procedure WalkMazePath(MazeIndex: Integer);#by: Sumilion#Maze.scar#Description: Follows the paths from the maze.
solvemaze#function SolveMaze: Boolean;#by: Sumilion#Maze.scar#Description: Main maze solving routine.
findbox#function FindBox: Boolean;#by: WT-Fakawi#Box.scar#Description: Returns True if Box is found;
gamblenewbox#function GambleNewBox: Boolean;#by: WT-Fakawi#Box.scar#Description: A random box clicker. Will try to solve the box ONCE, by a random click @ any of the three answers.
THIS IS NOT A BOXSOLVER, JUST A BOXCLICKER!
getboxside#function GetBoxSide: Integer;#by: pups#Box.scar#Description: Gets Box side and returns Bitmap
getquestion#function GetQuestion(var num: Integer; var shape: String): Integer;#by: pups#Box.scar#Description: Returns number and type.
openbox#function OpenBox: Boolean;#by: pups fixed by Cheesehunk.#Box.scar#Description: Opens the box.
solvebox#function SolveBox: Boolean;#by: pups#Box.scar#Description: Solves the Box!
forestercenter#function ForesterCenter(var x, y: Integer): Boolean;#by: Sumilion#Forester.scar#Description: Returns position of the center.
forester_gettask#function forester_GetTask: Integer;#by: Sumilion#Forester.scar#Description: Reads what kind of pheasant SRL needs to search for.
findpheasant#function FindPheasant(var px, py: Integer; TailSize: Integer): Boolean;#by: Sky Scripter#Forester.scar#Description: Attempts to Find a pheasant with Tail Size given i.e.
1, 2, 3, and 4.
bringrawpheasant#procedure BringRawPheasant;#by: Sumilion#Forester.scar#Description: Brings the raw pheasant to the forester.
leaveforester#function LeaveForester: Boolean;#by: Sumilion#Forester.scar#Description: Leaves the random through the portal.
solveforester#function SolveForester: Boolean;#by: Sumilion and SKy Scripter.#Forester.scar#Description: Main solving procedure.
loadnpcarray#procedure LoadNPCArray;#By: Wizzup and Nielsie95#ChatRandoms.scar#Description: Loads all the randomnames.
chatwait#procedure ChatWait;#By: Nielsie95#ChatRandoms.scar#Description: Waits while there's Please Wait in the chatbox.
clickcontinue#function ClickContinue(Click, Wait: Boolean): Boolean;#By: Nielsie95#ChatRandoms.scar#Description: Returns true if ClickToContinue was found.
aretalking#procedure AreTalking;#By: Wizzup#ChatRandoms.scar#Description: Checks if we're talking.
gettalkingnpcname#function GetTalkingNPCName: string;#By: Nielsie95#ChatRandoms.scar#Description: Returns the talking NPC.
npcplayername#function NPCPlayerName(Name: string): string;#By: Nielsie95#ChatRandoms.scar#Description: Removes the unreconizeable NPC characters from the name.
getnpcevent#function GetNPCEvent: string;#By: Nielsie95#ChatRandoms.scar#Description: Checks if the talking NPC is a random.
solvechatrandom#function SolveChatRandom: Boolean;#By: Nielsie95#ChatRandoms.scar#Description: Solves a random when there's found one inchat.
####
findmollydoor#Function FindMollyDoor(Var Pos: TPoint): Boolean;#by: Wizzup?#Molly.scar#Description: Finds the Door in Molly Random Event.
findmollymachine#Function FindMollyMachine(Var Pos: TPoint): Boolean;#by: Wizzup?#Molly.scar#Description: Finds the Operating Machine in Molly Random Event.
findmollyhair#Function FindMollyHair(Var HairP: TPoint; Colors: TIntegerArray): Boolean;#by: Wizzup?#Molly.scar#Description: Finds molly's hair on the mainscreen, used in solving.
findmollyhairms#Function FindMollyHairMS(Var HairP: TPoint; Colors: TIntegerArray): Boolean;#by: Wizzup?#Molly.scar#Description: Finds molly's hair on the mainscreen, used to talk to
her.
mollyhaircolors: tintegerarray#Function MollyHairColors: TIntegerArray;#by: Wizzup?#Molly.scar#Description: Get's all the colors in molly's hair using the ChatBox.
mollyhandle#Function MollyHandle(dir: Integer): Boolean;#by: Wizzup?#Molly.scar#Description: Uses the handle and moves the crosshair in the direction.
getcrosspos: tpointarray#Function GetCrossPos: TPointArray;#by: Wizzup?#Molly.scar#Description: Get's the TPointArray of the Cross.
getdir#Function GetDir(Mol: TPoint; CrossTPA: TPointArray): Integer;#by: Wizzup?#Molly.scar#Description: Get the direction in which the crosshair needs to be moved. Returns -1 if you
molly is standing on the crosshair.
mollyclosebutton#Function MollyCloseButton(Click: Boolean): Boolean;#by: Wizzup?#Molly.scar#Description: Returns true if the solving screen is found. If click is true, it closes the
screen.
solvemolly: boolean#Function SolveMolly: Boolean;#by: Wizzup?#Molly.scar#Description: Solves the Evil Twin Event!
loadfroginfo#procedure LoadFrogInfo;#by: Sumilion#Frog.scar#Description: Loads information needed to solve the frog cave.
detectfrogcave#function DetectFrogCave: Boolean;#by: Sumilion#Frog.scar#Description: Returns true if the frog cave is found.
solvefrogcave#function SolveFrogCave: Boolean;#by: Sumilion#Frog.scar#Description: Solves the frog cave.
solvefrog#function SolveFrog: Boolean;#by: Wizzup?, WT-Fakawi and Yakman/Ron.#Frog.scar#Description: Attempts to Find and kiss the FrogQueen.
####
nosignobstruction#function NoSignObstruction: Boolean;#by: Sumilion#Demon.scar#Description: Checks if the signs are fully visible.
demoncenter#function DemonCenter: Boolean;#by: Wizzup?#Demon.scar#Description: Walks to the center of the random.
identifysigns#procedure IdentifySigns(var JogIndex, StarIndex, SitIndex, PushIndex: Integer);#by: Sumilion#Demon.scar#Description: Gets the actions on the signs.
demon_gettask#function demon_GetTask: string;#by: Nielsie95#Demon.scar#Description: Reads from Damien what we should do.
performtask#function PerformTask(TaskIndex: Integer): Boolean;#by: Sumilion#Demon.scar#Description: Performs the correct workout.
solvedemon#function SolveDemon: Boolean;#by: Sumilion#Demon.scar#Description: Main solving procedure.
middleofevilbobisland#procedure MiddleOfEvilBobIsland;#by: Markus#EvilBob.Scar#Description: Walks to the middle of the Evil Bob island
findbobsservant#function FindBobsServant: Boolean;#by: MastaRaymond#EvilBob.Scar#Description: Finds Evil Bob's servant
talktobobsservant#procedure TalkToBobsServant;#by: Markus#EvilBob.Scar#Description: Talks to the servant until the text Fish here is in the corner, takes a screenie
filterbobpointsfast#function FilterBobPointsFast(points: tpointarray): TPoint;#by: Markus#EvilBob.Scar#Description: Filters the points, only used to filter the tail of the scared cat
getstatue#function GetStatue(ratio: extended): integer;#by: Markus, ratios by Ruler#EvilBob.Scar#Description: Returns the statue
walktostatue#function WalkToStatue(statue: integer): Boolean;#by: Markus#EvilBob.Scar#Description: Walks to the statue
filtertpa#function FilterTPA(midx, midy, dist: integer; points: TPointArray): TPointarray;#by: Markus#EvilBob.Scar#Description: Filters points by max dist of MidX and MidY
removepointsinbox#function RemovePointsInBox(points: TPointArray; box: TBox): TPointArray;#by: Markus#EvilBob.Scar#Description: Removes all points in tpa 'points' in a box specified
by 'box'
pickupfishingnet#function PickupFishingNet: Boolean;#by: Markus#EvilBob.Scar#Description: Used in Evil Bob solver. Picks up an fishing net
fishathing#function FishAThing: Boolean;#by: Markus#EvilBob.Scar#Description: Fishes a Fishlike thing
uncookbobfish#function UncookBobFish: Boolean;#by: Markus#EvilBob.Scar#Description: Uncooks a fishlike thing
givebobdafish#function GiveBobDaFish: Boolean;#by: Markus#EvilBob.Scar#Description: Gives a raw fishlike thing to Evil Bob
leavebobsisland#function LeaveBobsIsland: Boolean;#by: Markus#EvilBob.Scar#Description: Leaves evil bobs island
fishingnetininv#function FishingNetInInv: Boolean;#by: Markus#EvilBob.Scar#Description: Used in Evil Bob solver to detect if we got a fishing net in our inventory. Uses bitmap masks,
slow but working.
canleavebobsisland#function CanLeaveBobsIsland : boolean;#by: Markus#EvilBob.Scar#Description: Returns true if the random is solved but we are still trying to solve (misclick failsafe)
solveevilbob#function SolveEvilBob: Boolean;#by: Markus#EvilBob.Scar#Description: Solves the Evil Bob island Random
quizitembox#Function QuizItemBox(Index: Integer): TBox;#by: Wizzup?#Quiz.scar#Description: Returns a TBox of the Quiz Item Slow defined by Index.
loadquizarray#Procedure LoadQuizArray;#by: Wizzup?#Quiz.scar#Description: Loads all the data.
getquizobjectinfo#Function GetQuizObjectInfo(Index: Integer): QuizObj;#by: Wizzup?#Quiz.scar#Description: Get's the data of a QuizObj, once.
getquizobjectinfoaverage#Function GetQuizObjectInfoAverage(Index, Times: Integer): QuizObj;#by: Wizzup?#Quiz.scar#Description: Get's the average data of a QuizObj
quizobjstats#Procedure QuizObjStats(Obj: QuizObj);#by: Wizzup?#Quiz.scar#Description: WriteLn's a QuizObj's data.
getquizitem#Function GetQuizItem(Index: Integer): QuizObj;#by: Wizzup?#Quiz.scar#Description: Identifies a Quiz Item.
solvequizquestion#Procedure SolveQuizQuestion;#by: Wizzup?#Quiz.scar#Description: Solves one question of the quiz.
solvequiz: boolean#Function SolveQuiz: Boolean;#by: Wizzup?#Quiz.scar#Description: Solves the quiz random and returns true if solved.
findquiz: boolean#Function FindQuiz: Boolean;#by: Wizzup?#Quiz.scar#Description: Solves the quiz random and returns true if solved.
inquizrandom#function InQuizRandom : Boolean;#by: SkyScripter and Nielsie95#Quiz.scar#Description: Returns true if the quiz random is found.
talktorand#function TalkToRand: Boolean;#by: Stupid3ooo#Common.scar#Description: Handles talking with NPC. Keeps clicking until no further ClickToContinue.
clicktocontinue#function ClickToContinue: Boolean;#by: Masquerader#Common.scar#Description: Handles 'Click to Continue'. Results True if found & handled.
takescreen#procedure TakeScreen(reason: String);#by: Mutant Squirrle edit yakman#Common.scar#Description: Takes a screenshot if the global Screenshots is true, Adds +TimeRunning+ to
the path, so no screenshots will overwrite each other. Adds '.bmp' to the end, will not crash the script if it goes wrong.
srlrandomsreport#procedure SRLRandomsReport;#by: Starblaster100#AntiRandoms.scar#Description: Displays Randoms Report.
findmod#function FindMod: Boolean;#by: Stupid3ooo#AntiRandoms.scar#Description: Results True if a mod is found, then it waits 10-20 mins and logs back in
findfight#function FindFight: Boolean;#by: Stupid3ooo#AntiRandoms.scar#Description: Results True if in Fight
inconvo#function InConvo: Boolean;#by: WT-Fakawi#AntiRandoms.scar#Description: checks for presence of black separator line indicating a random is talking to us.
dwarfitem#procedure DwarfItem;#by: Sumilion#AntiRandoms.scar#Description: Drops Items left by Dwarf
findlamp#function FindLamp(skill: String): Boolean;#by: Pups, Starblaster100 and PriSoner fixed by Lee Lok Hin#AntiRandoms.scar#Description: handles Genie. Results True if lamp found
and handled. skill: Skill to use with lamp eg. 'strength', 'attack', etc.
finddead#function FindDead: Boolean;#by: Stupid3ooo and Cazax#AntiRandoms.scar#Description: Checks for text "Ow dear you are dead". Switches player if Reincarnate = True.
inblack#function InBlack: Boolean;#by: WT-Fakawi#AntiRandoms.scar#Description: Checks for the existence of 4 blackdots in MM indicating a random event has occured. Checks MMpixels
Upper N-E-S-W USE WITH CARE: DONT USE IN DUNGEONS I.E. MININGGUILD.
nogametab#function NoGameTab: Boolean;#by: WT-Fakawi modified by ZephyrsFury#AntiRandoms.scar#Description: Checks for missing GameTabs.
intarraymatch#function IntArrayMatch(Ar1, Ar2: TIntegerArray): Boolean;#by: Nielsie95#AntiRandoms.scar#Description: Returns True if Ar1 is the same as Ar2.
percentblackmm#function PercentBlackMM: Integer;#by: Nielsie95 And Wizzup?#AntiRandoms.scar#Description: The percentage of the minimap which is black (colour 0 with tol 1).
getmusic#function GetMusic: string;#by: Nielsie95#AntiRandoms.scar#Description: Get the music in the area according to gametab 13.
nogametablocs#function NoGameTabLocs: Boolean;#by: Nielsie95 And Wizzup?#AntiRandoms.scar#Description: Checks for missing gametabs to detect and solve randoms.
solvetalkingrandom#function SolveTalkingRandom(RawMenuText: String): Boolean;#By: SRL Developers Team.#AntiRandoms.scar#Description: Talking Random Handler. Called by
FindTalkingRandom. (FindTalk)
solvenontalkingrandoms#Function SolveNonTalkingRandoms;#By: Nielsie95 and Wizzup?#AntiRandoms.scar#Description: Solves Non Talking Randoms.
chooseoptiongetmenutext#function ChooseOptionGetMenuText(var RawMenuText: String; x, y: Integer; txt: String): Boolean;#By: Stupid3ooo, modded by
WT-Fakawi.#AntiRandoms.scar#Description: Finds Popup menu, then clicks on it, returns text next to txt
findtalk#function FindTalk: Boolean;#by: MastaRaymond and little bit of help from Wizzup?#AntiRandoms.scar#Description: Searches screen for NickName and handles ALL Talking Randoms.
findinventoryrandoms#function FindInventoryRandoms: Boolean;#by: The SRL Developers Team!#AntiRandoms.scar#Description: Searches for the common Inventory randoms: Lamp and Box.
findnoninventoryrandoms#function FindNonInventoryRandoms: Boolean;#by: The SRL Developers Team!... all time sexiness by Mutant#AntiRandoms.scar#Description: Searches for the common
NON-Inventory randoms: Wont switch to GameTab(4)!
findnormalrandoms#function FindNormalRandoms: Boolean;#by: The SRL Developers Team!... all time sexiness by Mutant#AntiRandoms.scar#Description: Calls the 'normal' random checks.
ftwait#procedure FTWait(Time: Integer);#By: WT-Fakawi#AntiRandoms.scar#Description: Performs Wait and FindTalk. Time is multiple of 250 msec, so FTWait(4) waits approx 1 sec and
performs 4 FindTalks;
leo_waitforscreen#procedure Leo_WaitForScreen;#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Waits for a gravestone/coffin screen.
leo_tocenter#procedure Leo_ToCenter;#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Walks to the center of the screen.
leo_fixinv#function Leo_FixInv: Boolean;#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Makes sure there is enough room to get all the coffins.
leo_talktoleo#function Leo_TalkToLeo: Boolean;#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Finds Leo and handles the talking.
leo_grabcoffins#procedure Leo_GrabCoffins;#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Grabs all coffins from the screen.
leo_clicknearestgrave#function Leo_ClickNearestGrave(cx, cy: Integer): Boolean;#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Puts the coffin inside the grave.
leo_followgrave#procedure Leo_FollowGrave(var x, y: Integer);#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Follows the grave while we're walking to it.
leo_burycoffins#function Leo_BuryCoffins: Boolean;#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Finds the coffins, identifies, and puts them in the right grave.
solveleo#function SolveLeo: Boolean;#By: Nielsie95 and SKy Scripter#Leo.scar#Description: Solves the Leo random.
p_scanpillar#function p_ScanPillar(var x, y: Integer): Boolean;#by: SKy Scripter#Pinball.scar#Description: Scans for the pinball pillar
p_getscore#function p_GetScore: string;#by: wizzup?#Pinball.scar#Description: reads the pinball text and returns it.
solvepinball#function SolvePinball: Boolean;#by: SKy Scripter fixed by wizzup?#Pinball.scar#Description: Attempts to solve the Pinball random.
pillory_openlock#procedure Pillory_OpenLock;#by: Nielsie95#Pillory.scar#Description: Opens the lockscreen for the Pillory Random.
pillory_getbrown#function Pillory_GetBrown(x1, y1, x2, y2: Integer): TPointArray;#by: Nielsie95#Pillory.scar#Description: Returns the brown color of the lock in a certain area.
pillory_detectlock#function Pillory_DetectLock: Integer;#by: Nielsie95#Pillory.scar#Description: Returns the shape of the lock. (0: Rombus; 1: Triangle; 2: Square; 3:Circle; -1:
Failed)
pillory_openlocks#function Pillory_OpenLocks: Boolean;#by: Nielsie95#Pillory.scar#Description: Finds the matching key and opens the lock.
solvepillory#function SolvePillory: Boolean;#by: Nielsie95#Pillory.scar#Description: Solved the Pillory random.
