Macros

The goal of this page is to provide an overview and list of commands related to the RoM Macro System. Eventually this should be tied to the Addons section once the full API documentation is posted.
A lot of this is reposted from different pieces on the forums. Please feel free to help contribute to this, and organize it better. I'll be likely just dumping to this as I parse threads.
Basic Macro Commands
Command Name 	Description 	Example
/s 	Say Chat 	/s What's up everyone!
/z 	Zone Chat 	/z What's up everyone!
/g 	Guild chat 	/g What's up everyone!
/w "player name" 	whisper 	/w Tromos What's up?
/cast "skill name"	Casting A skill (Case Sensitive, and allows spaces) 	/cast Assassins Rage
/use "item name" 	Use an item by name. Can be used to equip items as well. 	/use Major First Aid Potion
/wait 	Will wait for a specific amount of time between commands.	/wait 1 (waits 1 second)/cast Villainy/wait 1/cast Villainy/wait 1/cast Villainy/wait 1
Text strings can use color via the |c and |r modifiers. However, colored font will not appear in public chat channels. Generally this is only used for UI, and messages that are not displayed in public. For example:
:cffFF0000Hello rthere cff0000FFworld!
::will yield:
:Hello there world!
Modifier syntax:
;|cAArrGGbbText
:AA: alpha level (ff=opaque, 00=transparent)
:rrGGbb: RGB Hex triplet for desired color
:Text: your message
;|r
:resets any current color modifiers
Unit Types
Unit 	Description
"target"	Your current target
"player"	Yourself
"party1"	Party Member 1
"party2"	Party Member 2
"party3"	Party Member 3
"party4"	Party Member 4
"party5"	Party Member 5
"party6"	Party Member 6
Commands that need documentation
Command Name 	Description 	Example 	Result
CancelPendingItem 	 	 	
CancelPlayerBuff 	Cancels a buff (numbers are right from left.. so 1 would be the furthest right) 	/script CancelPlayerBuff(1); 	
CheckHonorPartyState 	 	 	
ClearTitleInfo 	 	 	
Debug 	 	 	
DebugGetButton 	 	 	
DebugGetFont 	 	 	
DebugGetNumber 	 	 	
DebugGetString 	 	 	
DebugMessageFrame 	 	 	
EquipItem 	Equips or Unequips an item. First int is the equip slot of char (1-17), second int is from the backpack (61-120). If only one int is passed, it will remove the item from the equip slot.	/script EquipItem (17,81); 	Equips the item in bagslot 81 to offhand
EquipPendingItem 	 	 	
GetActionCooldown 	Returns action's cooldown 	/script DEFAULT_CHAT_FRAME:AddMessage("Cooldown of action 1 is: " .. GetActionCooldown(1)); 	Cooldown of action 1 is: 10
GetActionInfo(Slot) 	Gives File Reference for Action 	/script SendChatMessage(GetActionInfo(3), "say"); 	Output: interface/icons/skill_ran6-3.dds
GetActionUsable(Slot) 	Checks if action is ready for use. 	/script if (GetActionUsable(3)) then SendChatMessage("Whatever is Ready!", "say"); else SendChatMessage("Whatever is down :(", "say"); end 	
GetActionWearable(Slot) 	Checks if item is equiped 	/script if(GetActionWearable(9)) then DEFAULT_CHAT_FRAME:AddMessage("I'm wearing this item"); else DEFAULT_CHAT_FRAME:AddMessage("I'm not"); end 	
GetBulletinBoardContent 	 	 	
GetBulletinBoardHeaderInfo 	 	 	
GetBulletinBoardNumItems 	 	 	
GetBulletinBoardNumRewards 	 	 	
GetBulletinBoardRewardInfo 	 	 	
GetBulletinBoardRewardMoney 	 	 	
GetCurrentTitle 	 	 	
GetCusomizeTitle 	 	 	
GetDisableTitleHide 	 	 	
GetEquipBySlot 	 	 	
GetEquipItemCooldown 	 	 	
GetEquipItemShown 	 	 	
GetEquipSlotInfo 	 	 	
GetGoodEvilTypeColor 	 	 	
GetInventoryItemCount 	 	 	
GetInventoryItemDurable 	Gets the current and max. durability for the item and it's name and two other values. 	
 curD, maxD, itemName, curDfull, maxDfull = GetInventoryItemDurable("player",index);
"player" means equipped items, don't know what for use it on the bags.	
GetInventoryItemInvalid 	 	 	
GetInventoryItemQuality 	 	 	
GetInventoryItemTexture 	 	 	
GetInventoryItemType 	 	 	
GetInventorySlotInfo 	 	 	
GetItemQualityColor 	 	 	
GetPartyBuff 	 	 	
GetPetActionInfo 	 	 	
GetPlayerAbility 	 	 	
GetPlayerBuff 	 	 	
GetPlayerBuffLeftTime 	 	 	
GetPlayerBuffTexture 	 	 	
GetPlayerCurrentSkillValue 	 	 	
GetPlayerGoodEvil 	 	 	
GetPlayerHonorPoint 	 	 	
GetPlayerMaxSkillValue 	 	 	
GetPlayerResistance 	 	 	
GetPlayerSkilled 	 	 	
GetRoleIntroduce 	 	 	
GetTargetBuff 	 	 	
GetTargetBuffTexture 	 	 	
GetTargetHateList 	 	 	
GetTitleCount 	 	 	
GetTitleInfoByIndex 	 	 	
HasAction 	 	 	
MaintainInterface 	 	 	
MaintainInterface1Title 	 	 	
NotifyBulletinBoard 	 	 	
PickupAction(Slot) 	Moves the action from the given actionbar slot, as if the player dragged it off. 	 	
PickupEquipmentItem 	 	 	
SendChatMessage(Message String, Channel)	Sends a message to a channel 	/script SendChatMessage(UnitName("target").." is level "..UnitLevel("target"), "say"); 	Says "Target Name" is level "Targets Level" ex. [Karmy is level 1]
SetDisableTitleHide 	 	 	
SetEquipItemShown 	 	 	
SetRoleIntroduce 	 	 	
SetTitleRequest 	 	 	
StoreBuyItem(Slot, Quantity) 	Buy item(s) from merchant. (Merchant window must be open) 	/script StoreBuyItem(3, 50); 	Buys 50 of the 3rd item on the merchant
TargetHateListRequest 	 	 	
TargetIsAH 	 	 	
TargetIsDecomposes 	 	 	
TargetIsLottery 	 	 	
TargetIsTransmits 	 	 	
UnitBuff 	 	 	
UnitBuffLeftTime 	 	 	
UnitCanAttack 	 	 	
UnitChangeHealth 	 	 	
UnitClass 	 	 	
UnitClassToken 	 	 	
UnitDebuff 	 	 	
UnitDebuffLeftTime 	 	 	
UnitDistance 	 	 	
UnitExists 	 	 	
UnitGUID 	 	 	
UnitHealth 	 	 	
UnitInParty 	 	 	
UnitInRaid 	 	 	
UnitIsDeadOrGhost 	 	 	
UnitIsMasterLooter 	 	 	
UnitIsPlayer 	 	 	
UnitIsRaidAssistant 	 	 	
UnitIsRaidLeader 	 	 	
UnitIsRaidMainAttacker 	 	 	
UnitIsRaidMainTank 	 	 	
UnitIsUnit 	 	 	
UnitLevel(Unit) 	Returns Unit Level 	/script SendChatMessage(UnitLevel("party1"), "say"); 	Will say the first member in your party's level.
UnitMana 	 	 	
UnitManaType 	 	 	
UnitMaster 	 	 	
UnitMaxHealth 	 	 	
UnitMaxMana 	 	 	
UnitMaxSkill 	 	 	
UnitName(Unit) 	Returns Unit Name 	/script SendChatMessage(UnitName("target"), "say"); 	Says your targets name in say
UnitPKState 	 	 	
UnitQuestMsg 	 	 	
UnitRaidIndex 	 	 	
UnitRaidState 	 	 	
UnitSex 	Returns 1 when unit is a female and 0 when unit is male. NOTE: If unit is not a player(but, for example, NPC), it will always return 0. 	/script if(UnitSex("target")==0) then DEFAULT_CHAT_FRAME:AddMessage("Target is male!"); else DEFAULT_CHAT_FRAME:AddMessage("Target is female! Rawr!"); end	Target is female! Rawr!
UnitSkill 	 	 	
UnitSkillType 	 	 	
UnitTitle 	 	 	
UnitWorld 	 	 	
UpdateTitleInfo 	 	 	
UseAction(X) 	Will use the item/spell in the action bar (Replace the X by 1-80) 	
/script UseAction (1) 	
UseEquipmentItem 	 	 	
UsePetAction 	 	 	
Category:Addons