User Tools

Site Tools


macros_commands

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
macros_commands [2011/06/06 23:30]
noen [Creatures]
macros_commands [2021/11/15 16:43] (current)
Line 1: Line 1:
-====== Macros Commands ====== 
  
-**Getting your current position** +====== Macro Commands ======
-In the Macro Screen press [Position] button.+
  
-===== Map =====+===== Creating Variables =====
  
-**Map.HasID**(//ID, X, Y, Z//) returns 1 if the position has the ID.+To create variables you must use the following syntax:
  
-**Map.UseOn**(//ID, OnID, X, Y, Z, Range//) use one item on the ground ( samples: key in a door, fire bug in the silk wall ).+**VariableName** := //DefaultValue//
  
-**Map.Use**(//ID, X, Y, Z, Range//) use a item in the ground ( samplesdoor, ladder ).+Example:
  
-**Map.Thrown**(//ID, Count, X, Y, Z//) drops an item on the ground.+**HP**:=//Self.Health()//
  
-**Map.PickUp**(//ID, Count, Container, X, Y, Z//) pick up an item on the ground.+**MagicNumber**:=//3529//
  
-===== NPC =====+===== Using Variables =====
  
-**NPC.Buy**(//ID, Count, IgnoreCap//) buy X (count) items of IDIgnoreCap is NPC propertie (1 to ignore, 0 to not ignore).+You can use the variables in many places of the BBotto use variable use this syntax:
  
-**NPC.BuyInBP**(//ID, Count, IgnoreCap//) NPC.Buy but buy items inside backpacks.+**!**//VariableName//**!**
  
-**NPC.Sell**(//ID, Count//) sell a item, if the count is -1 then you sell all the items from your backpacks.+Self.Say(**!**//HP//**!** or shorthand **!**//HP//)
  
-**NPC.Say**(//Text//) send a message in the NPC channel.+SecondMagicNumber:=**!**//MagicNumber//**!** 
 +ThirdMagicNumber:=**!**//MagicNumber//
  
-===== VIP =====+Variables can be used in the FullCheck and some other features of the BBot. 
 +===== Internals =====
  
-**Vip.Online**(//Name//) returns 1 if the friend is online+**Exit**//()// Stop the macro execution
  
-===== Hotkeys =====+**Label**//(Name)// Go to a Label
  
-**Hotkey.Use**(//ID//) use item (sample: food)+**GoLabel**//(Name)// Go to Label
  
-===== Misc =====+**Comment**//()// No-op
  
-**Misc.Alert**(**Message**start a alarm with a custom message.+**VarSet**//(Name, Value)// Set the variable to given value
  
-**Misc.ShootCount**(//InLastSeconds//) return the count of shoot missiles in you (sample: you received 5 sudden deaths in the last 2 seconds, if you use Misc.ShootCount(3) it will return 5)+**VarGet**//(Name)// Return the INT value of a variable by its name (only for numeric variables!!)
  
-**Misc.AttackersCount**(//InLastSeconds//) return the count of attacks received.+**HasVar**//(VarName)// If a variable exists
  
-**Misc.HPLose**(//InLastSeconds//) returns the losen hp in the last seconds.+**GenWikiDoc**//()// Generates the Macro Documentation in the BBot.Macros.Documentation.txt file
  
-**Misc.LoadUrl**(//Url//) load a URL (advanced)+===== Math =====
  
-**Misc.LogFile**(//FileText//) append a text to the file.+**VarAdd**//(NameValue)// Increase the variable by a given value
  
-**Misc.HPGain**(//InLastSeconds//) returns the gained hp in the last seconds.+**VarSub**//(Name, Value)// Decrease the variable by a given value
  
-**Misc.HPDelta**(//InLastSeconds//) returns the delta of gained/losen hp in the last seconds.+**VarMult**//(Name, Value)// Multiplies the variable by the given value
  
-**Misc.HPHitsBigger**(//InLastSecondsBiggerThan//) returns the number of hits with damage higher than the BiggerThan.+**VarDiv**//(NameValue)// Divides the variable by the given value
  
-**Misc.StandTime** returns the time you are in the same sqm.+**VarMod**//(Name, Value)// Returns the modulos remainder of the Variable by the Value
  
-**Misc.ItemCount**(//ItemName//) returns the item count (the item count is the one in hotkey messagesYou are using one of xx health potions).+**Add**//(AB)// Return A + B
  
-**Misc.ItemCountEx**(//Item ID//) returns the item count (the item count is the one in hotkey messagesYou are using one of xx health potions).+**Sub**//(AB)// Return A - B
  
-**BBot.TogglePause** activate/desactivate the BBot.+**Mult**//(A, B)// Return A * B
  
-**BBot.ToggleVisible** show/hide the BBot.+**Div**//(A, B)// Return A / B (integer)
  
-**BBot.ToggleStats** show/hide Statistics.+**Mod**//(A, B)// Return A % B (modulos remainder)
  
-**BBot.LevelSpyReset** turns back to your floor.+**Smallest**//(A, B, C...)// Return smallest of all the parameters
  
-**BBot.LevelSpyUp** looks one floor up.+**Greatest**//(A, B, C...)// Return greatest of all the parameters
  
-**BBot.LevelSpyDown** looks one floor down.+===== String =====
  
-**Misc.SystemTime.Hour** returns system's clock hour.+**Str.Set**//(StrVariableName, StrValue)// Set variable name to STR value
  
-**Misc.SystemTime.Minute** returns system's clock minute.+**Str.Copy**//(StrInputVariable, StrOutputVariable)// Copy a Input variable into a Output variable
  
-**Misc.SystemTime.Second** returns system's clock second.+**Str.VarEquals**//(StrVariableNameA, StrVariableNameB)// Check if two STR variables are equals (non-sensitive)
  
 +**Str.VarEqualsSensitive**//(StrVariableNameA, StrVariableNameB)// Check if two STR variables are equals (sensitive)
  
-===== HUD =====+**Str.Equals**//(StrA, StrB)// Check if two strings are equals
  
-**HUD.Display**(//Text//) display a HUD Text in the center of the screen.+**Str.EqualsSensitive**//(StrA, StrB)// Check if two strings are equals (sensitive)
  
-**HUD.Setup**(//Xpos of the text (1->Left2->Center or 3->Right//)Ypos of the text (1->Top2->Middle or 3->Bottom)red colorblue color, green color).+**Str.Regex**//(PatternVariableNameSubjectVariableName)// Check SubjectVariable content matches to PatternVariable content regexoutputs to !Str.MatchSucced!Str.MatchFailed!Str.Match.0!Str.Match.1 [..] !Str.Match.9
  
-===== Cavebot =====+**Str.Upper**//(StrVariableName)// Makes a string variable uppercase
  
-**CaveBot.GoStart** makes the cavebot reset to the start of the script.+**Str.Lower**//(StrVariableName)// Makes a string variable lowercase
  
-**CaveBot.GoLabel**(//Label//) makes the cavebot jump to label inside the waypoint.+**Str.Reverse**//(StrVariableName)// Reverses string variable
  
-===== Macro =====+**Str.ToHex8**//(OutHex8, Int8)// Convert a number to Hex8 string representation
  
-**Macro.Wait**(//Delay//) sleep the macro for time.+**Str.ToHex16**//(OutHex16, Int16)// Convert number to Hex16 string representation
  
-===== Self.Skill =====+**Str.ToHex32**//(OutHex32, Int32)// Convert a number to Hex32 string representation
  
-**Self.Skill.Fist**+===== Cooldown variables =====
  
-**Self.Skill.Club**+**Cooldown.Create**//(CooldownName, Delay)// Create a cooldown named CooldownName with Delay
  
-**Self.Skill.Axe**+**Cooldown.Clear**//(CooldownName)// Clear a cooldown named CooldownName
  
-**Self.Skill.Sword**+**Cooldown.Rest**//(CooldownName)// How many miliseconds Cooldown will be still active (or return 0)
  
-**Self.Skill.Distance**+**Cooldown.Blocked**//(CooldownName)// Verifies if there is an active Cooldown named CooldownName
  
-**Self.Skill.Shielding**+**Cooldown.UnBlocked**//(CooldownName)// Verifies if there is not an active Cooldown named CooldownName
  
-**Self.Skill.Fishing**+**When.Cast**//(WhenName)// Cast a when event
  
-returns the respective skill level.+**When.UnWatch**//()// Unwatches for all the When event
  
-===== Self.Skill% =====+**When.AnyMessage**//(WhenLabel, MessagePattern)// Add a When listener for all kinds of messages (avoid: bad performance)
  
-**Self.Skill.Fist%**+**When.Say**//(WhenLabel, MessagePattern)// Add a When listener for Say messages, when the current character says something
  
-**Self.Skill.Club%**+**When.Yell**//(WhenLabel, MessagePattern)// Add a When listener for Yell messages, when the current character says something
  
-**Self.Skill.Axe%**+**When.SystemMessage**//(WhenLabel, MessagePattern)// Add a When listener for System kind of messages
  
-**Self.Skill.Sword%**+**When.PlayerMessage**//(WhenLabel, MessagePattern)// Add a When listener for Player kind of messages
  
-**Self.Skill.Distance%**+**When.PrivateMessage**//(WhenLabel, MessagePattern)// Add a When listener for Private kind of messages
  
-**Self.Skill.Shielding%**+**When.NPCMessage**//(WhenLabel, MessagePattern)// Add a When listener for NPC kind of messages
  
-**Self.Skill.Fishing%**+===== Player State =====
  
-returns the percent of the respective skill.+**Self.Health**//()// Absolute player health
  
-===== Self.MagicLevel =====+**Self.Health%**//()// Percent player health
  
-**Self.MagicLevel** returns the magic level.+**Self.HealthMax**//()// Absolute max player health
  
-===== Self.MagicLevel% =====+**Self.Mana**//()// Absolute player mana
  
-**Self.MagicLevel%** returns the percent of your magic level.+**Self.Mana%**//()// Percent player mana
  
-===== Self.Inventory =====+**Self.ManaMax**//()// Absolute max player mana
  
-**Self.Inventory.RightHand** //ID//+**Self.StaminaMins**//()// The player stamina minutes
  
-**Self.Inventory.LeftHand** //ID//+**Self.Stamina%**//()// The percent of the player stamina
  
-**Self.Inventory.Legs** //ID//+**Self.Soul**//()// The soul of the player
  
-**Self.Inventory.Boots** //ID//+**Self.Experience**//()// The experience of the player
  
-**Self.Inventory.Ring** //ID//+**Self.ExpToNextLevel**//()// The experience left to the next level
  
-**Self.Inventory.Ammunition** //ID//+**Self.Level**//()// The current player level
  
-**Self.Inventory.Helmet** //ID//+**Self.Level%**//()// The current percent of the player level
  
-**Self.Inventory.Amulet** //ID//+**Self.Attacking**//()// Is the player attacking -> :True | :False
  
-**Self.Inventory.Backpack** //ID//+**Self.MagicLevel**//()// The player magic level
  
-**Self.Inventory.Armor** //ID//+**Self.MagicLevel%**//()// The player magic level percent
  
-returns 1 if your inventory item has the same ID.+**Self.Capacity**//()// The player capacity
  
-===== Status =====+**Self.X**//()// The player global position X
  
-**Status.ManaShield** returns 1 if Magic/Mana shield is actived.+**Self.Y**//()// The player global position Y
  
-**Status.Paralysis** returns 1 if you are Paralyzed.+**Self.Z**//()// The player global position Z
  
-**Status.Haste** returns 1 if you are Hasted.+**Self.Mount**//()// The player mount id
  
-**Status.Battle** returns 1 if you are with Battle (normal swords).+**Self.Balance**//()// The player current balance gathered from NPC Trade window
  
-**Status.Underwater** returns 1 if you are Underwater.+**Self.Direction**//()// The player direction -> :North | :East | :South | :West | :NorthEast | :SouthEast | :SouthWest | :NorthWest
  
-**Status.Freezing** returns 1 if you are Freezing.+===== Player Status =====
  
-**Status.Dazzled** returns 1 if you are Dazzled.+**Status.Poison**//()// The player poison status -> :True | :False
  
-**Status.Cursed** returns 1 if you are Cursed.+**Status.Fire**//()// The player burning status -> :True | :False
  
-**Status.Buff** returns 1 if you are Party Buffed.+**Status.Energy**//()// The player electrified status -> :True | :False
  
-**Status.PZBlock** returns 1 if you are with Battle (red swords).+**Status.Drunk**//()// The player good drunk status -> :True | :False
  
-**Status.InPZ** returns 1 if you are inside protection zone.+**Status.ManaShield**//()// The player mana shield status -> :True | :False
  
-**Status.NoLight** returns 1 if you are without any light.+**Status.Paralysis**//()// The player paralysis status -> :True | :False
  
-**Status.Poison** returns 1 if you are Poisoned.+**Status.Haste**//()// The player haste status -> :True | :False
  
-**Status.Fire** returns 1 if you are Burning.+**Status.Battle**//()// The player in battle status -> :True | :False
  
-**Status.Energy** returns 1 if you are Energy.+**Status.Underwater**//()// The player under water status -> :True | :False
  
-**Status.Drunk** returns 1 if you are Drunked.+**Status.Freezing**//()// The player freezing status -> :True | :False
  
-===== Self.UnEquip =====+**Status.Dazzled**//()// The player dazzled status -> :True | :False
  
-**Self.UnEquip.Legs**(//To Container//)+**Status.Cursed**//()// The player cursed status -> :True | :False
  
-**Self.UnEquip.Boots**(//To Container//)+**Status.Buff**//()// The player strengthened or buffered status -> :True | :False
  
-**Self.UnEquip.Ring**(//To Container//)+**Status.PZBlock**//()// The player PZ block (cannot logout, enter pzstatus -> :True | :False
  
-**Self.UnEquip.Ammo**(//To Container//)+**Status.InPZ**//()// The player inside protection zone status -> :True | :False
  
-**Self.UnEquip.Helmet**(//To Container//)+**Status.NoLight**//()// The player no light status -> :True | :False
  
-**Self.UnEquip.Amulet**(//To Container//)+**Status.Bleeding**//()// The player bleeding status -> :True | :False
  
-**Self.UnEquip.Backpack**(//To Container//)+**Status.Invisible**//()// The player invisible status -> :True | :False
  
-**Self.UnEquip.Armor**(//To Container//)+===== Player Inventory =====
  
-**Self.UnEquip.RightHand**(//To Container//)+**Self.Inventory.Helmet**//()// The player Helmet slot item id
  
-**Self.UnEquip.LeftHand**(//To Container//)+**Self.Inventory.Amulet**//()// The player Amulet slot item id
  
-puts your inventory item in a container (0 is your main container).+**Self.Inventory.Backpack**//()// The player Backpack slot item id
  
-===== Self.Equip =====+**Self.Inventory.Armor**//()// The player Armor slot item id
  
-**Self.Equip.Legs**(//ID//)+**Self.Inventory.RightHand**//()// The player Right Hand (->slot item id
  
-**Self.Equip.Boots**(//ID//)+**Self.Inventory.LeftHand**//()// The player Left Hand (<-slot item id
  
-**Self.Equip.Ring**(//ID//)+**Self.Inventory.Legs**//()// The player Legs slot item id
  
-**Self.Equip.Ammo**(//ID//)+**Self.Inventory.Boots**//()// The player Boots slot item id
  
-**Self.Equip.Helmet**(//ID//)+**Self.Inventory.Ring**//()// The player Ring slot item id
  
-**Self.Equip.Amulet**(//ID//)+**Self.Inventory.Ammunition**//()// The player Ammunition slot item id
  
-**Self.Equip.Backpack**(//ID//)+**Self.Inventory.Helmet.Count**//()// The player Helmet slot item count
  
-**Self.Equip.Armor**(//ID//)+**Self.Inventory.Amulet.Count**//()// The player Amulet slot item count
  
-**Self.Equip.RightHand**(//ID//)+**Self.Inventory.Backpack.Count**//()// The player Backpack slot item count
  
-**Self.Equip.LeftHand**(//ID//)+**Self.Inventory.Armor.Count**//()// The player Armor slot item count
  
-puts a item of your containers in your inventory.+**Self.Inventory.RightHand.Count**//()// The player Right Hand (->) slot item count
  
-===== Self.Turn =====+**Self.Inventory.LeftHand.Count**//()// The player Left Hand (<-) slot item count
  
-Self.TurnNE, Self.TurnNW, Self.TurnSE and Self.TurnSW do nothing.+**Self.Inventory.Legs.Count**//()// The player Legs slot item count
  
-**Self.TurnN** turns your character to the North.+**Self.Inventory.Boots.Count**//()// The player Boots slot item count
  
-**Self.TurnS** turns your character to the South.+**Self.Inventory.Ring.Count**//()// The player Ring slot item count
  
-**Self.TurnE** turns your character to the East.+**Self.Inventory.Ammunition.Count**//()// The player Ammunition slot item count
  
-**Self.TurnW** turns your character to the West.+**Self.Inventory.ID**//(Slot)// Get the ID of a inventory slotSlots: Helmet, Head, Amulet, Backpack, Armor, RightHand, Right, LeftHand, Left, Legs, Boots, Ring, Ammunition, Ammo
  
-===== Self.Moves =====+**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.MoveTo**(//XY, Z//) moves your character to the position.+**Self.Inventory.UseOn**//(SlotUseID)// 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
  
-**Self.MoveN** moves your character one sqm to the north.+===== Player Skills =====
  
-**Self.MoveS** moves your character one sqm to the south.+**Self.Skill.Fist**//()// The current First skill level
  
-**Self.MoveE** moves your character one sqm to the east.+**Self.Skill.Club**//()// The current Club skill level
  
-**Self.MoveW** moves your character one sqm to the west.+**Self.Skill.Axe**//()// The current Axe skill level
  
-**Self.MoveNE** moves your character one sqm to the north-east.+**Self.Skill.Sword**//()// The current Sword skill level
  
-**Self.MoveNW** moves your character one sqm to the north-west.+**Self.Skill.Distance**//()// The current Distance skill level
  
-**Self.MoveSE** moves your character one sqm to the south-east.+**Self.Skill.Shielding**//()// The current Shielding skill level
  
-**Self.MoveSW** moves your character one sqm to the south-west.+**Self.Skill.Fishing**//()// The current Fishing skill level
  
-===== Self Actions =====+**Self.Skill.Fist%**//()// The current First skill percent
  
-**Self.Stop** stops the attacking/following /walking.+**Self.Skill.Club%**//()// The current Club skill percent
  
-**Self.Say**(//Text//) sends a message.+**Self.Skill.Axe%**//()// The current Axe skill percent
  
-**Self.Logout** makes your character logout only when no battle sign.+**Self.Skill.Sword%**//()// The current Sword skill percent
  
-**Self.AvoidFront** makes your character avoid waves from the target creature.+**Self.Skill.Distance%**//()// The current Distance skill percent
  
-**Self.AvoidBackboard** makes your character run from the target creature.+**Self.Skill.Shielding%**//()// The current Shielding skill percent
  
-**Self.Yell**(//Text//) yell a message.+**Self.Skill.Fishing%**//()// The current Fishing skill percent
  
-**Self.PositionIn**(//X1, Y1, Z1, X2, Y2, Z2//) returns 1 if your character is in the position square.+===== Player Actions =====
  
-===== Self.Properties =====+**Self.Say**//(Text)// Say a text in the default channel
  
-**Self.Health** returns your HP.+**Self.Whisper**//(Text)// Whisper a text in the default channel
  
-**Self.Health%** returns your HP in percent.+**Self.Yell**//(Text)// Yell a text in the game
  
-**Self.HealthMax** returns your HP max.+**Self.PrivateMessage**//(ToPlayer, Text)// Send a private message to a player
  
-**Self.Mana** returns your Mana.+**Self.Stop**//()// Stop current action
  
-**Self.Mana%** returns your Mana in percent.+**Self.PositionIn**//(X1, Y1, Z1, X2, Y2, Z2)// Check if the player is in a position box -> :True | :False
  
-**Self.ManaMax** returns your ManaMax.+**Self.MoveTo**//(X, Y, Z)// Walk to a position
  
-**Self.StaminaMins** returns the stamina left in minutes.+**Self.MoveN**//()// Step one sqm to the north
  
-**Self.Stamina%** returns the stamina left in percents.+**Self.StepNorth**//()// Step one sqm to the north
  
-**Self.Capacity** returns your capacity.+**Self.MoveS**//()// Step one sqm to the south
  
-**Self.Soul** returns your soul.+**Self.StepSouth**//()// Step one sqm to the south
  
-**Self.Experience** returns your experience.+**Self.MoveE**//()// Step one sqm to the east
  
-**Self.ExpToNextLevel** returns the experience to the next level.+**Self.StepEast**//()// Step one sqm to the east
  
-**Self.X** returns your X position.+**Self.MoveW**//()// Step one sqm to the west
  
-**Self.Y** returns your Y position.+**Self.StepWest**//()// Step one sqm to the west
  
-**Self.Z** returns your Z position.+**Self.MoveNE**//()// Step one sqm to the north east
  
-**Self.Level** returns your Level.+**Self.StepNorthEast**//()// Step one sqm to the north east
  
-**Self.Level%** returns your Level percent.+**Self.MoveNW**//()// Step one sqm to the north west
  
-**Self.Attacking** returns 1 if your char is attacking.+**Self.StepNorthWest**//()// Step one sqm to the north west
  
-===== Creatures =====+**Self.MoveSE**//()// Step one sqm to the south east
  
-**Creatures.Beside** returns the number of creatures beside (distance <=1).+**Self.StepSouthEast**//()// Step one sqm to the south east
  
-**Creatures.OnScreen** returns the number of the creatures in your screen.+**Self.MoveSW**//()// Step one sqm to the south west
  
-**Creatures.ByRange**(//Range//) returns the number of creatures in a range.+**Self.StepSouthWest**//()// Step one sqm to the south west
  
-**Creatures.Killed**(//Name//) returns the number of creatures killed by name.+**Self.Logout**//()// Logout the player as soon as possible (stop cavebot and wait for logout unblock)
  
-**Creatures.PlayersOnScreen** returns the number of players on screen.+**Self.TurnN**//()// Turn the player to the north
  
-**Creatures.TaskKilled**(//Name//) returns the number of creatures killed by name. You can use this with Full Check to complete tasks.+**Self.TurnNorth**//()// Turn the player to the north
  
-===== Target =====+**Self.TurnS**//()// Turn the player to the south
  
-**Target.ByName**(//Name//) targets a creature with the name.+**Self.TurnSouth**//()// Turn the player to the south
  
-**Target.Foe** targets the creature you are attacking.+**Self.TurnE**//()// Turn the player to the east
  
-**Target.Self** targets yourself.+**Self.TurnEast**//()// Turn the player to the east
  
-**Target.Health** returns the target hp (in %).+**Self.TurnW**//()// Turn the player to the west
  
-**Target.Speed** returns the target speed.+**Self.TurnWest**//()// Turn the player to the west
  
-**Target.Distance** returns the target distance to your char.+**Self.ReOpenBackpacks**//()// Closes and open the player backpacks
  
-**Target.NameIn**(//Name, Na..//) returns 1 if the name of the Target is in the list.+**Self.ToggleMinimizeBackpack**//(Index)// Toggle a backpack minimize state
  
-**Target.Shoot**(//Ammo//) shoot item in the target (sample: ID '3155' shoots a sudden death in the Target).+**Self.SayInChannel**//(ChannelID, Words)// Send message to a channel ID
  
-===== Variables =====+**Self.ToggleMount**//()// Toggle the player mount
  
-**VarSet**(//Name//) creates variable, its value is the next line of the macro.+**Self.Backpacks.UseOn**//(UseID, UseOn)// Use item on a item inside your backpack
  
-**VarSetEx**(Name, Valuesets a value for the variable.+**Self.OpenBackpacks**//()// Return the number of open backpacks
  
-**VarDiv**(Name, Value) divides the variable by the value (x / value).+===== Player Inventory Equip =====
  
-**VarMult**(Name, Valuemultiplies the variable by the value (x * value).+**Self.Equip.Helmet**//(ID)// Equip a item on the Helmet slot
  
-**VarAdd**(Name, Valueadds to the variable the value (x + value).+**Self.Equip.Amulet**//(ID)// Equip a item on the Amulet slot
  
-**VarSub**(NameValuesubstract the value from the variable (- value).+**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**//(SlotID)// 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.SellAll**//(ID)// Sell item to the Trade, requires the Trade open before using the macro (by saying Hi,Trade) 
 + 
 +**NPC.Sell**//(ID, Count)// 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 
 + 
 +**Map.Find**//(ID, X, Y, Z, Range, OnlyTopItem?)// Find a item by ID in a range, outputs to !Found.X, !Found.Y and !Found.Z, also returns  -> :True | :False 
 + 
 +**Map.UseOn.Equip**//(UseID, X, Y, Z, OnSlot)// Use a item from the map on an equipament -> :True | :False 
 + 
 +===== 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 
 + 
 +**CaveBot.NoKill**//(enabled)// Start or stop a NoKill state 
 + 
 +**Killer.Start**//()// Start the Killer 
 + 
 +**Killer.Stop**//()// Stop the Killer 
 + 
 +**OpenCorpses.Pause**//()// Pause the Open Corpses feature 
 + 
 +**OpenCorpses.UnPause**//()// Unpause the Open Corpses feature 
 + 
 +**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 
 + 
 +**Misc.SystemTime.Tick**//()// Returns the system TICK 
 + 
 +**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 
 + 
 +**Misc.SendPacket**//(Buffer)// Send a packet to the server, make sure you know what the hell youre doing 
 + 
 +===== Container Functions ===== 
 + 
 +**Containers.TotalOpen**//()// Number of Open Containers 
 + 
 +**Container.Name**//(ContainerIndex, NameVar)// Sets NameVar to ContainerIndex container name 
 + 
 +**Container.IsOpen**//(ContainerIndex)// Return if the container is open  -> :True | :False 
 + 
 +**Container.Capacity**//(ContainerIndex)// Return the capacity of a container 
 + 
 +**Container.Items**//(ContainerIndex)// Return the amount of items in a container 
 + 
 +**Container.Icon**//(ContainerIndex)// Return the IconID of a container 
 + 
 +**Container.IsCorpse**//(ContainerIndex)// Return if the container is a corpse  -> :True | :False 
 + 
 +**Container.IsDepot**//(ContainerIndex)// Return if the container is a depot  -> :True | :False 
 + 
 +**Container.Item.ID**//(ContainerIndex, SlotIndex)// Return item id at a container/slot 
 + 
 +**Container.Item.Count**//(ContainerIndex, SlotIndex)// Return item id at a container/slot 
 + 
 +**Container.Find**//(ItemID)// Find a item in the containers, output to !Found.Succeed, !Found.Container and !Found.Slot  -> :True | :False 
 + 
 +**Container.Item.Use**//(ContainerIndex, SlotIndex)// Use the item at a container/slot 
 + 
 +**Container.Item.UseOn**//(ContainerIndex, SlotIndex, UseOnId)// Use an item in this container/slot 
 + 
 +**Container.Item.Move**//(FromContainer, FromSlot, ToContainer, Count)// Move a item from a container to another 
 + 
 +**Container.Item.MoveToPos**//(FromContainer, FromSlot, X, Y, Z, Count)// Move a item from a container to a position
  
-**VarMod**(Name, Value) mod (x mod value) gives the remainder from dividing. Eg: 5 mod 3 = 2; 5 mod 2 = 1. 
  
macros_commands.1307403021.txt.gz · Last modified: 2021/11/15 16:43 (external edit)