User Tools

Site Tools


macros_commands

Macro Commands

Creating Variables

To create variables you must use the following syntax:

VariableName := DefaultValue

Example:

HP:=Self.Health()

MagicNumber:=3529

Using Variables

You can use the variables in many places of the BBot, to use a variable use this syntax:

!VariableName!

Self.Say(!HP!)

SecondMagicNumber:=!MagicNumber!

Variables can be used in the FullCheck and some other features of the BBot.

Internals

Exit() Stop the macro execution

Label(Name) Go to a Label

GoLabel(Name) Go to a Label

Math

VarAdd(Name, Value) Increase the variable by a given value

VarSub(Name, Value) Decrease the variable by a given value

VarMult(Name, Value) Multiplies the variable by the given value

VarDiv(Name, Value) Divides the variable by the given value

VarMod(Name, Value) Returns the modulos remainder of the Variable by the Value

Add(A, B) Return A + B

Sub(A, B) Return A - B

Mult(A, B) Return A * B

Div(A, B) Return A / B (integer)

Mod(A, B) Return A % B (modulos remainder)

Cooldown variables

Cooldown.Create(CooldownName, Delay) Create a cooldown named CooldownName with Delay

Cooldown.Clear(CooldownName) Clear a cooldown named CooldownName

Cooldown.Rest(CooldownName) How many miliseconds Cooldown will be still active (or return 0)

Cooldown.Blocked(CooldownName) Verifies if there is an active Cooldown named CooldownName

Cooldown.UnBlocked(CooldownName) Verifies if there is not an active Cooldown named CooldownName

Player State

Self.Health() Absolute player health

Self.Health%() Percent player health

Self.HealthMax() Absolute max player health

Self.Mana() Absolute player mana

Self.Mana%() Percent player mana

Self.ManaMax() Absolute max player mana

Self.StaminaMins() The player stamina minutes

Self.Stamina%() The percent of the player stamina

Self.Soul() The soul of the player

Self.Experience() The experience of the player

Self.ExpToNextLevel() The experience left to the next level

Self.Level() The current player level

Self.Level%() The current percent of the player level

Self.Attacking() Is the player attacking → :True | :False

Self.MagicLevel() The player magic level

Self.MagicLevel%() The player magic level percent

Self.Capacity() The player capacity

Self.X() The player global position X

Self.Y() The player global position Y

Self.Z() The player global position Z

Self.Mount() The player mount id

Self.Balance() The player current balance gathered from NPC Trade window

Self.Direction() The player direction → :North | :East | :South | :West | :NorthEast | :SouthEast | :SouthWest | :NorthWest

Player Status

Status.Poison() The player poison status → :True | :False

Status.Fire() The player burning status → :True | :False

Status.Energy() The player electrified status → :True | :False

Status.Drunk() The player good drunk status → :True | :False

Status.ManaShield() The player mana shield status → :True | :False

Status.Paralysis() The player paralysis status → :True | :False

Status.Haste() The player haste status → :True | :False

Status.Battle() The player in battle status → :True | :False

Status.Underwater() The player under water status → :True | :False

Status.Freezing() The player freezing status → :True | :False

Status.Dazzled() The player dazzled status → :True | :False

Status.Cursed() The player cursed status → :True | :False

Status.Buff() The player strengthened or buffered status → :True | :False

Status.PZBlock() The player PZ block (cannot logout, enter pz) status → :True | :False

Status.InPZ() The player inside protection zone status → :True | :False

Status.NoLight() The player no light status → :True | :False

Status.Bleeding() The player bleeding status → :True | :False

Status.Invisible() The player invisible status → :True | :False

Player Inventory

Self.Inventory.Helmet() The player Helmet slot item id

Self.Inventory.Amulet() The player Amulet slot item id

Self.Inventory.Backpack() The player Backpack slot item id

Self.Inventory.Armor() The player Armor slot item id

Self.Inventory.RightHand() The player Right Hand (→) slot item id

Self.Inventory.LeftHand() The player Left Hand (←) slot item id

Self.Inventory.Legs() The player Legs slot item id

Self.Inventory.Boots() The player Boots slot item id

Self.Inventory.Ring() The player Ring slot item id

Self.Inventory.Ammunition() The player Ammunition slot item id

Self.Inventory.Helmet.Count() The player Helmet slot item count

Self.Inventory.Amulet.Count() The player Amulet slot item count

Self.Inventory.Backpack.Count() The player Backpack slot item count

Self.Inventory.Armor.Count() The player Armor slot item count

Self.Inventory.RightHand.Count() The player Right Hand (→) slot item count

Self.Inventory.LeftHand.Count() The player Left Hand (←) slot item count

Self.Inventory.Legs.Count() The player Legs slot item count

Self.Inventory.Boots.Count() The player Boots slot item count

Self.Inventory.Ring.Count() The player Ring slot item count

Self.Inventory.Ammunition.Count() The player Ammunition slot item count

Self.Inventory.ID(Slot) Get the ID of a inventory slot. Slots: Helmet, Head, Amulet, Backpack, Armor, RightHand, Right, LeftHand, Left, Legs, Boots, Ring, Ammunition, Ammo

Self.Inventory.Count(Slot) Get the count of a inventory slot. Slots: Helmet, Head, Amulet, Backpack, Armor, RightHand, Right, LeftHand, Left, Legs, Boots, Ring, Ammunition, Ammo

Self.Inventory.UseOn(Slot, UseID) Use a item into a slot (e.g: enchant item). Slots: Helmet, Head, Amulet, Backpack, Armor, RightHand, Right, LeftHand, Left, Legs, Boots, Ring, Ammunition, Ammo

Player Skills

Self.Skill.Fist() The current First skill level

Self.Skill.Club() The current Club skill level

Self.Skill.Axe() The current Axe skill level

Self.Skill.Sword() The current Sword skill level

Self.Skill.Distance() The current Distance skill level

Self.Skill.Shielding() The current Shielding skill level

Self.Skill.Fishing() The current Fishing skill level

Self.Skill.Fist%() The current First skill percent

Self.Skill.Club%() The current Club skill percent

Self.Skill.Axe%() The current Axe skill percent

Self.Skill.Sword%() The current Sword skill percent

Self.Skill.Distance%() The current Distance skill percent

Self.Skill.Shielding%() The current Shielding skill percent

Self.Skill.Fishing%() The current Fishing skill percent

Player Actions

Self.Say(Text) Say a text in the default channel

Self.Whisper(Text) Whisper a text in the default channel

Self.Yell(Text) Yell a text in the game

Self.PrivateMessage(ToPlayer, Text) Send a private message to a player

Self.Stop() Stop current action

Self.PositionIn(X1, Y1, Z1, X2, Y2, Z2) Check if the player is in a position box → :True | :False

Self.MoveTo(X, Y, Z) Walk to a position

Self.MoveN() Step one sqm to the north

Self.StepNorth() Step one sqm to the north

Self.MoveS() Step one sqm to the south

Self.StepSouth() Step one sqm to the south

Self.MoveE() Step one sqm to the east

Self.StepEast() Step one sqm to the east

Self.MoveW() Step one sqm to the west

Self.StepWest() Step one sqm to the west

Self.MoveNE() Step one sqm to the north east

Self.StepNorthEast() Step one sqm to the north east

Self.MoveNW() Step one sqm to the north west

Self.StepNorthWest() Step one sqm to the north west

Self.MoveSE() Step one sqm to the south east

Self.StepSouthEast() Step one sqm to the south east

Self.MoveSW() Step one sqm to the south west

Self.StepSouthWest() Step one sqm to the south west

Self.Logout() Logout the player as soon as possible (stop cavebot and wait for logout unblock)

Self.TurnN() Turn the player to the north

Self.TurnNorth() Turn the player to the north

Self.TurnS() Turn the player to the south

Self.TurnSouth() Turn the player to the south

Self.TurnE() Turn the player to the east

Self.TurnEast() Turn the player to the east

Self.TurnW() Turn the player to the west

Self.TurnWest() Turn the player to the west

Self.ReOpenBackpacks() Closes and open the player backpacks

Self.ToggleMinimizeBackpack(Index) Toggle a backpack minimize state

Self.SayInChannel(ChannelID, Words) Send a message to a channel ID

Self.ToggleMount() Toggle the player mount

Self.Backpacks.UseOn(UseID, UseOn) Use a item on a item inside your backpack

Self.OpenBackpacks() Return the number of open backpacks

Player Inventory Equip

Self.Equip.Helmet(ID) Equip a item on the Helmet slot

Self.Equip.Amulet(ID) Equip a item on the Amulet slot

Self.Equip.Backpack(ID) Equip a item on the Backpack slot

Self.Equip.Armor(ID) Equip a item on the Armor slot

Self.Equip.RightHand(ID) Equip a item on the Right Hand (→) slot

Self.Equip.LeftHand(ID) Equip a item on the Left Hand (←) slot

Self.Equip.Legs(ID) Equip a item on the Legs slot

Self.Equip.Boots(ID) Equip a item on the Boots slot

Self.Equip.Ring(ID) Equip a item on the Ring slot

Self.Equip.Ammo(ID) Equip a item on the Ammunition slot

Self.Equip(Slot, ID) Equip a item into slot. Slots: Helmet, Head, Amulet, Backpack, Armor, RightHand, Right, LeftHand, Left, Legs, Boots, Ring, Ammunition, Ammo

Player Inventory UnEquip

Self.UnEquip.Helmet(ToContainer) Unequip the Helmet slot and put the item on the given container index

Self.UnEquip.Amulet(ToContainer) Unequip the Amulet slot and put the item on the given container index

Self.UnEquip.Backpack(ToContainer) Unequip the Backpack and put the item on the given container index

Self.UnEquip.Armor(ToContainer) Unequip the Armor slot and put the item on the given container index

Self.UnEquip.RightHand(ToContainer) Unequip the Right Hand (→) slot and put the item on the given container index

Self.UnEquip.LeftHand(ToContainer) Unequip the Left Hand (←) slot and put the item on the given container index

Self.UnEquip.Legs(ToContainer) Unequip the Legs slot and put the item on the given container index

Self.UnEquip.Boots(ToContainer) Unequip the Boots slot and put the item on the given container index

Self.UnEquip.Ring(ToContainer) Unequip the Ring slot and put the item on the given container index

Self.UnEquip.Ammo(ToContainer) Unequip the Ammunition slot and put the item on the given container index

Self.UnEquip(Slot, ToContainer) Unequip a item a container index. Slots: Helmet, Head, Amulet, Backpack, Armor, RightHand, Right, LeftHand, Left, Legs, Boots, Ring, Ammunition, Ammo

Player Drop Equip

Self.Drop.Helmet(X, Y, Z) Drop a item on the Helmet to the ground

Self.Drop.Amulet(X, Y, Z) Drop a item on the Amulet to the ground

Self.Drop.Backpack(X, Y, Z) Drop a item on the Backpack to the ground

Self.Drop.Armor(X, Y, Z) Drop a item on the Armor to the ground

Self.Drop.RightHand(X, Y, Z) Drop a item on the RightHand (→) to the ground

Self.Drop.LeftHand(X, Y, Z) Drop a item on the LeftHand (←) to the ground

Self.Drop.Legs(X, Y, Z) Drop a item on the Legs to the ground

Self.Drop.Boots(X, Y, Z) Drop a item on the Boots to the ground

Self.Drop.Ring(X, Y, Z) Drop a item on the Ring to the ground

Self.Drop.Ammo(X, Y, Z) Drop a item on the Ammo to the ground

Player Pickup Equip

Self.PickUp.Helmet(ID, X, Y, Z, Range) Pickup a item from the ground to the Helmet slot

Self.PickUp.Amulet(ID, X, Y, Z, Range) Pickup a item from the ground to the Amulet slot

Self.PickUp.Backpack(ID, X, Y, Z, Range) Pickup a item from the ground to the Backpack slot

Self.PickUp.Armor(ID, X, Y, Z, Range) Pickup a item from the ground to the Armor slot

Self.PickUp.RightHand(ID, X, Y, Z, Range) Pickup a item from the ground to the RightHand slot

Self.PickUp.LeftHand(ID, X, Y, Z, Range) Pickup a item from the ground to the LeftHand slot

Self.PickUp.Legs(ID, X, Y, Z, Range) Pickup a item from the ground to the Legs slot

Self.PickUp.Boots(ID, X, Y, Z, Range) Pickup a item from the ground to the Boots slot

Self.PickUp.Ring(ID, X, Y, Z, Range) Pickup a item from the ground to the Ring slot

Self.PickUp.Ammo(ID, X, Y, Z, Range) Pickup a item from the ground to the Ammo slot

Party

Party.Status(ID) Return the party status for given creature id → :None | :Invited | :Inviting | :Member | :Leader | :OtherParty

Party.IsShared() Return if the party is sharing exp

Party.CanShared() Return if the party is sharing exp

Party.Invite(ID) Invite given ID party

Party.Inviting(ID) Return if given creature ID is inviting you to party

Party.Revoke(ID) Revoke party invitation for given ID

Party.Join(Leader) Join party of given leader creature id

Party.PassLeader(Leader) Pass the leadership to a new given leader id

Party.Leave() Leave the current party

Party.ToggleShared() Enable or disable party shared exp

NPC Trading

NPC.Buy(ID, Count, IgnoreCap) Buy a item on the Trade, requires the Trade open before using the macro (by saying Hi,Trade)

NPC.BuyInBP(ID, Count, IgnoreCap) Buy a item in a backpack from the Trade, requires the Trade open before using the macro (by saying Hi,Trade)

NPC.Sell(ID, Count(-1 is all)) Sell item to the Trade, requires the Trade open before using the macro (by saying Hi,Trade)

NPC.Say(Text) Say a text in the special NPC channel

NPC.Trade.Money() The player current money gathered from NPC Trade window

Working with Maps

Map.UseOn(ID, OnID, X, Y, Z, Range) Use a item on the Map (shovel) → :True | :False

Map.Use(ID, X, Y, Z, Range) Use a item from the Map (Ports) → :True | :False

Map.HasID(ID, X, Y, Z) Check if a map position has a item → :True | :False

Map.Thrown(ID, Count, X, Y, Z) Thrown a item on the map from your backpacks → :True | :False

Map.PickUp(ID, Count, ContainerTo, X, Y, Z) Pick a item from the map → :True | :False

Map.PickUpEx(ID, Count, ContainerTo, X, Y, Z, Range) Pick a item from the map in a range → :True | :False

Map.ItemsOnTile(X, Y, Z) Return the number of items on given SQM

Map.Item.ID(X, Y, Z, Index) Return item ID on given SQM and Index

Map.Item.Count(X, Y, Z, Index) Return item Count on given SQM and Index

Map.ItemOnTop.ID(X, Y, Z) Return item ID on given SQM top index

Map.ItemOnTop.Count(X, Y, Z) Return item Count on given SQM top index

Map.CreatureOnTop.ID(X, Y, Z) Return creature ID on given SQM top index

Working with Creatures

Creature.ByName(Name) Gather a ID from the first creature with the name given found

Creature.Attacking() Gather the ID from the creature being attacked

Creature.Target() Gather the ID from the creature being attacked

Creature.Self() Gather the ID from the player

Creature.Health(ID) Returns the health percent of the creature with the given ID

Creature.IsAlive(ID) Returns creature is alive

Creature.Speed(ID) Returns the absolute speed value of the creature with the given ID

Creature.DistanceToSelf(ID) Calculate the distance from the creature with the given ID to the player

Creature.NameIn(ID, Name,Na..) Verify if the creature from the given ID name is in the list → :True | :False

Creature.ShootOn(ID, Ammo) Shoot a item on the creature (potions, runes and other items)

Creature.X(ID) Global position X from the creature

Creature.Y(ID) Global position Y from the creature

Creature.Z(ID) Global position Z from the creature

Creature.IsPlayer(ID) Check if a creature is a player → :True | :False

Creature.IsNPC(ID) Check if a creature is NPC or a Monster → :True | :False

Creature.GroupCount(ID) Returns the number of the group that the player is in (guild or party)

Creature.SquareVisible(ID) Check if a creature has a square

Creature.SquareRed(ID) Return the RED color of the creature square

Creature.SquareGreen(ID) Return the GREEN color of the creature square

Creature.SquareBlue(ID) Return the BLUE color of the creature square

Creature.Attack(ID) Attack a creature

Creature.Follow(ID) Follow a creature

Creature.KeepDistance(ID, Distance) Keep a certain distance from a creature

Creature.KeepDiagonal(ID) Keeps on the diagonal of a creature

Creature.Iterator(VariableName) Initialize a creature iterator variable

Creature.Next(CreatureIterator, NextLabel) Iterates to NextLabel if CreatureIterator has new valid creature state

Creature Statistics

Creatures.Beside() Count the number of creatures in a 1 sqm range

Creatures.OnScreen() Count the number of creatures in the screen

Creatures.OnScreenParty() Count the number of creatures in the screen in party

Creatures.ByRange(Range) Count the number of creatures in a sqm range

Creatures.ByRangeParty(Range) Count the number of creatures in a sqm range in party

Creatures.Killed(Name) Count the number of creatures killed with a certain name

Creatures.PlayersOnScreen() Count the number of players on the screen

Creatures.TaskKilled(Name) Counts the number of task kills from a certain creature (BOT count, not absolute count)

Creatures.PlayersOnRange(Range) Counts the number of players in a sqm range

Creatures.ByName(Name) Counts the number of creatures with a certain name

Creatures.NPCOnScreen() Counts the number of NPC or Monsters in the screen

Creatures.ByRangeName(Range, Name) Counts the number of creatures with a certain name within a range

Creatures.ByNameBeside(Name) Counts the number of creatures with a certain name with a 1 sqm distance

Misc Functions

Misc.ShootCount(InLastSeconds) Return the number of magic shoot effects in a certain number of seconds

Misc.AttackersCount(InLastSeconds) Return the number of creatures that attacked the player in a certain number of seconds

Misc.HPLose(InLastSeconds) Return the number of HP loose in a certain number of seconds

Misc.HPGain(InLastSeconds) Return the number of HP gained in a certain number of seconds

Misc.HPDelta(InLastSeconds) Return the number of HP delta in a certain number of seconds

Misc.ManaDelta(InLastSeconds) Return the number of MANA delta in a certain number of seconds

Misc.HPHitsBigger(InLastSeconds, BiggerThan) Counts the number of hits that was bigger than a given value in a certain number of seconds

Misc.StandTime() Returns in seconds the time that the player dont walk

Misc.ItemCount(ItemName) Return the number of items from the hotkey message: You are using the…

Misc.Alert(Message) Start a sound alarm with a message

Misc.LoadUrl(Url) Load a URL

Misc.LogFile(File, Text) Log a message in a text file

Misc.ItemCountEx(ItemID) Count the number of items with a ID on the open backpacks

HUD.Display(Text) Displays a HUD message on game screen

HUD.Setup(HAlign, VAlign, R, B, G) Set how the HUD message from the macro is shown in the game screen. HAligns = :HLeft | :HCenter | :HRight; VAligns = :VTop | :VMiddle | :VBottom

HUD.Print(HAlign, VAlign, R, B, G, Expire, Text) Show a HUD in the game screen with specific settings. HAligns = :HLeft | :HCenter | :HRight; VAligns = :VTop | :VMiddle | :VBottom

Cavebot.Start() Starts the Cavebot

Cavebot.Stop() Stops the Cavebot

Cavebot.Reset() Resets the Cavebot

CaveBot.GoLabel(Label) Makes the Cavebot go to a waypoint label

CaveBot.GoStart() Makes the Cavebot go to the first waypoint item

Killer.Start() Start the Killer

Killer.Stop() Stop the Killer

Bot.Pause() Toggle the BBot pause

BBot.TogglePause() Toggle the BBot pause

Bot.LoadSettings(Name) Load a settings configuration file

BBot.ToggleVisible() Toggles the BBot main window visible

BBot.ToggleStats() Shows the BBot statistics on the game screen (HUD and Informations)

BBot.LevelSpyReset() Reset the Level Spy

BBot.LevelSpyUp() Makes the Level Spy go up one floor

BBot.LevelSpyDown() Makes the Level Spy go down one floor

Macro.Wait(Delay) Pause the macro and the entire bot for a delay in miliseconds

Hotkey.Use(ID) Use a Tibia item with a hotkey (e.g Gold Coin)

Misc.SystemTime.Hour() Returns the system HOUR

Misc.SystemTime.Minute() Returns the system MINUTE

Misc.SystemTime.Second() Returns the system SECOND

Tibia.KeyDown(VirtualKeyCode) Check if a Key is down in tibia

Tibia.IsKeyDown(VirtualKeyCode) Check if a Key is down in tibia

Trainers.Stop() Stop the Trainers

Trainers.Start() Start the Trainers

Misc.Random(Min, Max) Generate a random number in a range

Trainers.ClearTrainers() Clear the Trainers training creatures

Protectors.Disable(Name) Disable a protector by its name

Protectors.Pause(Name) Disable a protector by its name

Protectors.Enable(Name) Enable a protector by its name

Protectors.UnPause(Name) Enable a protector by its name

Protectors.DisableAll() Disable all the Protectors

Protectors.PauseAll() Disable all the Protectors

Protectors.EnableAll() Enable all the Protectors

Protectors.UnPauseAll() Enable all the Protectors

ReUser.Pause(Name) Pause a ReUser by its name. Current ReUser names: Magic Shield, Anti Paralysis, Invisible, Cure Poison, Cure Bleeding, Cure Curse, Cure Eletrification, Cure Burning, Intense Recovery, Recovery, Protector, Strong Haste, Swift Foot, Charge, Haste, Blood Rage, Sharpshooter, Ultimate Light, Great Light, Light, Soft Boots, Ring, Left Hand, Right Hand, Amulet, Ammunition

ReUser.UnPause(Name) Unpause a ReUser by its name

ReUser.PauseAll() Pause all the ReUsers

ReUser.UnPauseAll() Unpause all the ReUsers

Tibia.SendKey(VirtualKeyCode) Send a key to the Tibia

Tibia.SendText(Text) Send a text to the Tibia

Tibia.Screenshot() Takes a Tibia Screenshot

Tibia.StealthScreenshot() Clean up the HUD and take a Tibia Screenshot

Tibia.Close() Close the Tibia process

Tibia.Ping() Retrieve aproximate Tibia connection ping

Tibia.WindowWidth() Retrieve the Tibia window width

Tibia.WindowHeight() Retrieve the Tibia window height

ReconnectManager.LoadProfile(ProfileName) Load a Reconnect Manager profile

ReconnectManager.TerminateTask() Terminate the current Reconnect Manager task and start the process to go to the next task

Macro.Run(MacroName) Execute a macro by name

Debug.Click(X, Y) Debug a mouse click

Debug.ClickEx(X, Y) Debug a mouse click

Debug.Log(Message) Log a message to Macro Debugger

Misc.Click(X, Y) Send a mouse click

Misc.ClickEx(X, Y) Send a mouse click

macros_commands.txt · Last modified: 2017/08/20 12:31 by megano0body