Automation
Caffeine comes with a standard Automation plugin for botting.
Common
These are common objects that are used in multiple Automation settings.
Vendor
Caffeine will automatically repair or purchase food/water from a vendor object in your profile based on user settings.
Automation.Common.Vendor:New(vendor_model) : VendorObject
Blackspot
Caffeine will automatically avoid blackspots.
Automation.Common.Blackspot:New(blackspot_model) : BlackspotObject
Hotspot
Hotspots are places that Caffeine will use to search for enemies.
Automation.Common.Hotspot:New(hotspot_model) : HotspotObject
ObjectiveGroup
ObjectiveGroups allow developers to group objectives inside certain conditions.
Automation.Common.ObjectiveGroup:New(objective_group_model) : ObjectiveGroupObject
Quest
These are objects that are used specifically for Quest automation.
Profile
Profiles are what the Automation plugin uses to run.
Automation.Quest.Profile:New(quest_profile) : QuestProfileObject
PickUp
PickUp objects tell the bot to pick up a quest.
Automation.Quest.PickUp:New(pickup_model) : PickUpObject
TurnIn
TurnIn objects tell the bot to turn in a quest.
Automation.Quest.TurnIn:New(turnin_model) : TurnInObject
Objective
Objective objects tell the bot to complete an objective.
Automation.Qyest.Objective:New(objective_model) : ObjectiveObject
There are numerous objective models based on the Type of objective. First, we will go over the common fields, then go into the type-specific fields.
Common
QuestName
The name of the quest.
Types:
String?
QuestId
The ID of the quest the objective is for.
Types:
String, number
ObjectiveId
This ID of the specific quest objective. For single objective quests, this is typically 1.
Defaults to 1 if not entered.
Types:
String, number
Type
The objective type. All of the below types are possible.
Types:
String
X, Y, Z, Map
The coordinates and MapID of the objective. If not entered, the bot will search for the objective within render range. It is recommended to add these just in case a user stops the profile mid-way and wants to start from elsewhere in the world.
Map defaults to player’s current map.
Types:
String?, number?
IgnoreCombat
Tells the bot not to defend itself for this objective.
Sets
Caffeine.IgnoreCombatto true for rotations to utilize.Types:
boolean?
ClickMob
Hotspots
A Caffeine list of HotspotObjects where the bot can find targets.
Types:
List[HotSpotObjects]?
MobId
A mob ID or table of mob IDs to search for.
Types:
String, number, table[String], table[number]
ClickDist
The distance from which you can click the target.
Defaults to 3 meters.
Types:
String?, number?
ClickObject
Hotspots
A Caffeine list of HotspotObjects where the bot can find targets.
Types:
List[HotSpotObjects]?
ObjectId
An object ID or table of object IDs to search for.
Types:
String, number, table[String], table[number]
ClickDist
The distance from which you can click the target.
Defaults to 3 meters.
Types:
String?, number?
ExploreArea
X, Y, and Z are required for ExploreArea.
FollowUnit
FollowName
The name of the unit to follow.
Types:
String?
FollowId
The ID of the unit to follow.
Types:
String, number
FollowDistance
How far away from the unit you should be, at most.
Defaults to 8 meters.
Types:
String?, number?
GossipSelect
Gossipname
The name of the unit to speak with.
Types:
String?
GossipType
The type of unit to speak with.
Accepts “unit” or “object”. Defaults to “unit”
Types:
String?
GossipId
The ID of the unit to speak with.
Types:
String?, number?
GossipOption
The ID to select. Accepts a single ID or a table of IDs to search for.
Will attempt to search for Quest gossips if nothing listed.
Types:
String?, number?, table[String]?, table[number]?
KillMob
Hotspots
A Caffeine list of HotspotObjects where the bot can find targets.
Types:
List[HotSpotObjects]?
MobId
A mob ID or table of mob IDs to search for.
Types:
String, number, table[String], table[number]
UseItemNear
TargetId
The Id of the unit or object to use the item near.
Types:
String, number
ItemId
The ID of the item to use.
Types:
String, number
ItemDistance
How far away from the target you can use the item.
Defaults to 3 meters.
Types:
String?, number?