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 [2013/09/12 07:32]
megano0body [Creating Variables]
macros_commands [2021/11/15 16:43] (current)
Line 1: Line 1:
 +
 ====== Macro Commands ====== ====== Macro Commands ======
  
Line 17: Line 18:
 You can use the variables in many places of the BBot, to use a variable use this syntax: You can use the variables in many places of the BBot, to use a variable use this syntax:
  
-!VariableName!+**!**//VariableName//**!**
  
-Teste:=!HP!+Self.Say(**!**//HP//**!** or shorthand **!**//HP//)
  
-MyMagicNumber:=!MagicNumber!+SecondMagicNumber:=**!**//MagicNumber//**!** 
 +ThirdMagicNumber:=**!**//MagicNumber//
  
 Variables can be used in the FullCheck and some other features of the BBot. Variables can be used in the FullCheck and some other features of the BBot.
 ===== Internals ===== ===== Internals =====
- 
  
 **Exit**//()// Stop the macro execution **Exit**//()// Stop the macro execution
Line 31: Line 32:
 **Label**//(Name)// Go to a Label **Label**//(Name)// Go to a Label
  
-**VarAdd**//(Name, Value)// Increase the variable value by given value+**GoLabel**//(Name)// Go to Label
  
-**Inc**//(Name, Value)// Increase the variable value by a given value+**Comment**//()// No-op
  
-**VarSub**//(Name, Value)// Decrease the variable value by a given value+**VarSet**//(Name, Value)// Set the variable to given value
  
-**Dec**//(Name, Value)// Decrease the variable value by given value+**VarGet**//(Name)// Return the INT value of variable by its name (only for numeric variables!!)
  
-**VarMult**//(Name, Value)// Multiplies the variable value by the given value+**HasVar**//(VarName)// If a variable exists
  
-**Mult**//(Name, Value)// Multiplies the variable value by the given value+**GenWikiDoc**//()// Generates the Macro Documentation in the BBot.Macros.Documentation.txt file
  
-**VarDiv**//(Name, Value)// Divides the variable value by the given value+===== Math =====
  
-**Div**//(Name, Value)// Divides the variable value by the given value+**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 **VarMod**//(Name, Value)// Returns the modulos remainder of the Variable by the Value
  
-**Mod**//(NameValue)// 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**//(AB)// Return A % B (modulos remainder
 + 
 +**Smallest**//(A, B, C...)// Return smallest of all the parameters 
 + 
 +**Greatest**//(A, B, C...)// Return greatest of all the parameters 
 + 
 +===== String ===== 
 + 
 +**Str.Set**//(StrVariableName, StrValue)// Set variable name to STR value 
 + 
 +**Str.Copy**//(StrInputVariable, StrOutputVariable)// Copy a Input variable into a Output variable 
 + 
 +**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) 
 + 
 +**Str.Equals**//(StrA, StrB)// Check if two strings are equals 
 + 
 +**Str.EqualsSensitive**//(StrA, StrB)// Check if two strings are equals (sensitive) 
 + 
 +**Str.Regex**//(PatternVariableName, SubjectVariableName)// Check SubjectVariable content matches to PatternVariable content regex, outputs to !Str.MatchSucced, !Str.MatchFailed, !Str.Match.0, !Str.Match.1 [..] !Str.Match.9 
 + 
 +**Str.Upper**//(StrVariableName)// Makes a string variable uppercase 
 + 
 +**Str.Lower**//(StrVariableName)// Makes a string variable lowercase 
 + 
 +**Str.Reverse**//(StrVariableName)// Reverses a string variable 
 + 
 +**Str.ToHex8**//(OutHex8, Int8)// Convert a number to Hex8 string representation 
 + 
 +**Str.ToHex16**//(OutHex16, Int16)// Convert a number to Hex16 string representation 
 + 
 +**Str.ToHex32**//(OutHex32, Int32)// Convert a number to Hex32 string representation 
 + 
 +===== 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 
 + 
 +**When.Cast**//(WhenName)// Cast a when event 
 + 
 +**When.UnWatch**//()// Unwatches for all the When event 
 + 
 +**When.AnyMessage**//(WhenLabel, MessagePattern)// Add a When listener for all kinds of messages (avoid: bad performance) 
 + 
 +**When.Say**//(WhenLabel, MessagePattern)// Add a When listener for Say messages, when the current character says something 
 + 
 +**When.Yell**//(WhenLabel, MessagePattern)// Add a When listener for Yell messages, when the current character says something 
 + 
 +**When.SystemMessage**//(WhenLabel, MessagePattern)// Add a When listener for System kind of messages 
 + 
 +**When.PlayerMessage**//(WhenLabel, MessagePattern)// Add a When listener for Player kind of messages 
 + 
 +**When.PrivateMessage**//(WhenLabel, MessagePattern)// Add a When listener for Private kind of messages
  
-===== Player state =====+**When.NPCMessage**//(WhenLabel, MessagePattern)// Add a When listener for NPC kind of messages
  
 +===== Player State =====
  
 **Self.Health**//()// Absolute player health **Self.Health**//()// Absolute player health
Line 80: Line 156:
 **Self.Level%**//()// The current percent of the player level **Self.Level%**//()// The current percent of the player level
  
-**Self.Attacking**//()// Is the player attacking (ReturnsYes=1; No=0)+**Self.Attacking**//()// Is the player attacking -> :True | :False
  
 **Self.MagicLevel**//()// The player magic level **Self.MagicLevel**//()// The player magic level
Line 96: Line 172:
 **Self.Mount**//()// The player mount id **Self.Mount**//()// The player mount id
  
-===== Player Status =====+**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 (ReturnsYes=1; No=0)+**Status.Poison**//()// The player poison status -> :True | :False
  
-**Status.Fire**//()// The player burning status (ReturnsYes=1; No=0)+**Status.Fire**//()// The player burning status -> :True | :False
  
-**Status.Energy**//()// The player electrified status (ReturnsYes=1; No=0)+**Status.Energy**//()// The player electrified status -> :True | :False
  
-**Status.Drunk**//()// The player good drunk status (ReturnsYes=1; No=0)+**Status.Drunk**//()// The player good drunk status -> :True | :False
  
-**Status.ManaShield**//()// The player mana shield status (ReturnsYes=1; No=0)+**Status.ManaShield**//()// The player mana shield status -> :True | :False
  
-**Status.Paralysis**//()// The player paralysis status (ReturnsYes=1; No=0)+**Status.Paralysis**//()// The player paralysis status -> :True | :False
  
-**Status.Haste**//()// The player haste status (ReturnsYes=1; No=0)+**Status.Haste**//()// The player haste status -> :True | :False
  
-**Status.Battle**//()// The player in battle status (ReturnsYes=1; No=0)+**Status.Battle**//()// The player in battle status -> :True | :False
  
-**Status.Underwater**//()// The player under water status (ReturnsYes=1; No=0)+**Status.Underwater**//()// The player under water status -> :True | :False
  
-**Status.Freezing**//()// The player freezing status (ReturnsYes=1; No=0)+**Status.Freezing**//()// The player freezing status -> :True | :False
  
-**Status.Dazzled**//()// The player dazzled status (ReturnsYes=1; No=0)+**Status.Dazzled**//()// The player dazzled status -> :True | :False
  
-**Status.Cursed**//()// The player cursed status (ReturnsYes=1; No=0)+**Status.Cursed**//()// The player cursed status -> :True | :False
  
-**Status.Buff**//()// The player strengthened or buffered status (ReturnsYes=1; No=0)+**Status.Buff**//()// The player strengthened or buffered status -> :True | :False
  
-**Status.PZBlock**//()// The player PZ block (cannot logout, enter pz) status (ReturnsYes=1; No=0)+**Status.PZBlock**//()// The player PZ block (cannot logout, enter pz) status -> :True | :False
  
-**Status.InPZ**//()// The player inside protection zone status (ReturnsYes=1; No=0)+**Status.InPZ**//()// The player inside protection zone status -> :True | :False
  
-**Status.NoLight**//()// The player no light status (ReturnsYes=1; No=0)+**Status.NoLight**//()// The player no light status -> :True | :False
  
-**Status.Bleeding**//()// The player bleeding status (ReturnsYes=1; No=0)+**Status.Bleeding**//()// The player bleeding status -> :True | :False
  
-**Status.Invisible**//()// The player invisible status (ReturnsYes=1; No=0)+**Status.Invisible**//()// The player invisible status -> :True | :False
  
-===== Player Inventory IDs =====+===== Player Inventory =====
  
 **Self.Inventory.Helmet**//()// The player Helmet slot item id **Self.Inventory.Helmet**//()// The player Helmet slot item id
Line 156: Line 235:
  
 **Self.Inventory.Ammunition**//()// The player Ammunition slot item id **Self.Inventory.Ammunition**//()// The player Ammunition slot item id
- 
-===== Player Inventory Counts ===== 
  
 **Self.Inventory.Helmet.Count**//()// The player Helmet slot item count **Self.Inventory.Helmet.Count**//()// The player Helmet slot item count
Line 179: Line 256:
 **Self.Inventory.Ammunition.Count**//()// The player Ammunition slot item count **Self.Inventory.Ammunition.Count**//()// The player Ammunition slot item count
  
-===== Player Skill Levels =====+**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.Skill.Fist; **//()// The current First skill level+**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
  
-**Self.Skill.Club; **//()// The current Club skill level+===== Player Skills =====
  
-**Self.Skill.Axe; **//()// The current Axe skill level+**Self.Skill.Fist**//()// The current First skill level
  
-**Self.Skill.Sword; **//()// The current Sword skill level+**Self.Skill.Club**//()// The current Club skill level
  
-**Self.Skill.Distance; **//()// The current Distance skill level+**Self.Skill.Axe**//()// The current Axe skill level
  
-**Self.Skill.Shielding; **//()// The current Shielding skill level+**Self.Skill.Sword**//()// The current Sword skill level
  
-**Self.Skill.Fishing; **//()// The current Fishing skill level+**Self.Skill.Distance**//()// The current Distance skill level
  
-===== Player Skill Percents =====+**Self.Skill.Shielding**//()// The current Shielding skill level
  
-**Self.Skill.Fist%; **//()// The current First skill percent+**Self.Skill.Fishing**//()// The current Fishing skill level
  
-**Self.Skill.Club%**//()// The current Club skill percent+**Self.Skill.Fist%**//()// The current First skill percent
  
-**Self.Skill.Axe%**//()// The current Axe skill percent+**Self.Skill.Club%**//()// The current Club skill percent
  
-**Self.Skill.Sword%**//()// The current Sword skill percent+**Self.Skill.Axe%**//()// The current Axe skill percent
  
-**Self.Skill.Distance%**//()// The current Distance skill percent+**Self.Skill.Sword%**//()// The current Sword skill percent
  
-**Self.Skill.Shielding%**//()// The current Shielding skill percent+**Self.Skill.Distance%**//()// The current Distance skill percent
  
-**Self.Skill.Fishing%**//()// The current Fishing skill percent+**Self.Skill.Shielding%**//()// The current Shielding skill percent
  
-===== Vip ===== +**Self.Skill.Fishing%**//()// The current Fishing skill percent
- +
-**Vip.Online**//(Name)// (Disabled since Tibia 962)The Online status of a friend (Returns: Yes=1; No=0)+
  
 ===== Player Actions ===== ===== Player Actions =====
  
 **Self.Say**//(Text)// Say a text in the default channel **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.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.Stop**//()// Stop current action
  
-**Self.PositionIn**//(X1, Y1, Z1, X2, Y2, Z2)// Check if the player is in a position box (ReturnsYes=1; No=0)+**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.MoveTo**//(X, Y, Z)// Walk to a position
Line 279: Line 359:
  
 **Self.ReOpenBackpacks**//()// Closes and open the player backpacks **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.SayInChannel**//(ChannelID, Words)// Send a message to a channel ID
Line 286: Line 368:
 **Self.Backpacks.UseOn**//(UseID, UseOn)// Use a item on a item inside your backpack **Self.Backpacks.UseOn**//(UseID, UseOn)// Use a item on a item inside your backpack
  
-===== Player Inventory Equip =====+**Self.OpenBackpacks**//()// Return the number of open backpacks
  
 +===== Player Inventory Equip =====
  
 **Self.Equip.Helmet**//(ID)// Equip a item on the Helmet slot **Self.Equip.Helmet**//(ID)// Equip a item on the Helmet slot
Line 308: Line 391:
  
 **Self.Equip.Ammo**//(ID)// Equip a item on the Ammunition 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 ===== ===== Player Inventory UnEquip =====
Line 331: Line 416:
 **Self.UnEquip.Ammo**//(ToContainer)// Unequip the Ammunition 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
  
-===== NPC Trading =====+**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.Buy**//(ID, Count, IgnoreCap)// Buy a item on the Trade, requires the Trade open before using the macro (by saying Hi,Trade)
Line 338: Line 490:
 **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.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.SellAll**//(ID)// Sell item to the Traderequires 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.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 ===== ===== Working with Maps =====
  
 +**Map.UseOn**//(ID, OnID, X, Y, Z, Range)// Use a item on the Map (shovel) -> :True | :False
  
-**Map.UseOn**//(ID, OnID, X, Y, Z, Range)// Use a item on the Map (shovel(ReturnsYes=1; No=0)+**Map.Use**//(ID, X, Y, Z, Range)// Use a item from the Map (Ports-> :True | :False
  
-**Map.Use**//(ID, X, Y, Z, Range)// Use a item from the Map (Ports) (ReturnsYes=1; No=0)+**Map.HasID**//(ID, X, Y, Z)// Check if a map position has a item -> :True | :False
  
-**Map.HasID**//(ID, X, Y, Z)// Check if a map position has a item (ReturnsYes=1; No=0)+**Map.Thrown**//(ID, Count, X, Y, Z)// Thrown item on the map from your backpacks -> :True | :False
  
-**Map.Thrown**//(ID, Count, X, Y, Z)// Thrown a item on the map from your backpacks (ReturnsYes=1; No=0)+**Map.PickUp**//(ID, Count, ContainerTo, X, Y, Z)// Pick a item from the map -> :True | :False
  
-**Map.PickUp**//(ID, Count, ContainerTo, X, Y, Z)// Pick a item from the map (ReturnsYes=1; No=0)+**Map.PickUpEx**//(ID, Count, ContainerTo, X, Y, Z, Range)// Pick a item from the map in a range -> :True | :False
  
-**Map.PickUpEx**//(ID, Count, ContainerTo, X, Y, Z, Range)// Pick a item from the map in a range (Returns: Yes=1; No=0)+**Map.ItemsOnTile**//(X, Y, Z)// Return the number of items on given SQM
  
-===== Working with Creatures =====+**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.ByName**//(Name)// Gather a ID from the first creature with the name given found
Line 369: Line 539:
  
 **Creature.Health**//(ID)// Returns the health percent of the creature with the given ID **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.Speed**//(ID)// Returns the absolute speed value of the creature with the given ID
  
-**Creature.DistanceToSelf**//(Calculate the distance from the creature with the given ID to the player)// 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 (ReturnsYes=1; No=0)+**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.ShootOn**//(ID, Ammo)// Shoot a item on the creature (potions, runes and other items)
Line 384: Line 556:
 **Creature.Z**//(ID)// Global position Z from the creature **Creature.Z**//(ID)// Global position Z from the creature
  
-**Creature.IsPlayer**//(ID)// Check if a creature is a player (ReturnsYes=1; No=0)+**Creature.IsPlayer**//(ID)// Check if a creature is a player -> :True | :False
  
-**Creature.IsNPC**//(ID)// Check if a creature is NPC or a Monster (ReturnsYes=1; No=0)+**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.GroupCount**//(ID)// Returns the number of the group that the player is in (guild or party)
Line 406: Line 578:
 **Creature.KeepDiagonal**//(ID)// Keeps on the diagonal of a creature **Creature.KeepDiagonal**//(ID)// Keeps on the diagonal of a creature
  
-===== Creature Statistics =====+**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.Beside**//()// Count the number of creatures in a 1 sqm range
  
 **Creatures.OnScreen**//()// Count the number of creatures in the screen **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.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.Killed**//(Name)// Count the number of creatures killed with a certain name
Line 427: Line 606:
 **Creatures.NPCOnScreen**//()// Counts the number of NPC or Monsters in the screen **Creatures.NPCOnScreen**//()// Counts the number of NPC or Monsters in the screen
  
-===== Misc functions =====+**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.ShootCount**//(InLastSeconds)// Return the number of magic shoot effects in a certain number of seconds
Line 458: Line 640:
 **HUD.Display**//(Text)// Displays a HUD message on game screen **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+**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+**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.Start**//()// Starts the Cavebot
Line 471: Line 653:
  
 **CaveBot.GoStart**//()// Makes the Cavebot go to the first waypoint item **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.Start**//()// Start the Killer
  
 **Killer.Stop**//()// Stop 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 **Bot.Pause**//()// Toggle the BBot pause
Line 501: Line 689:
  
 **Misc.SystemTime.Second**//()// Returns the system SECOND **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.KeyDown**//(VirtualKeyCode)// Check if a Key is down in tibia
Line 515: Line 705:
  
 **Protectors.Disable**//(Name)// Disable a protector by its name **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.Enable**//(Name)// Enable a protector by its name
 +
 +**Protectors.UnPause**//(Name)// Enable a protector by its name
  
 **Protectors.DisableAll**//()// Disable all the Protectors **Protectors.DisableAll**//()// Disable all the Protectors
 +
 +**Protectors.PauseAll**//()// Disable all the Protectors
  
 **Protectors.EnableAll**//()// Enable 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.SendKey**//(VirtualKeyCode)// Send a key to the Tibia
Line 531: Line 737:
  
 **Tibia.Close**//()// Close the Tibia process **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
  
  
macros_commands.1378971131.txt.gz · Last modified: 2021/11/15 16:43 (external edit)