Skip to content

Lua API

azcguy edited this page May 19, 2024 · 8 revisions

Useful links

https://wotlk.evowow.com/?currencies

https://warcraft.wiki.gg/wiki/BagID

https://warcraft.wiki.gg/wiki/InventorySlotID

Actual 3.3.5 WOW API https://web.archive.org/web/20100105205926/http://wowprogramming.com/docs/api_categories

WOW Events https://web.archive.org/web/20100515175758/http://wowprogramming.com/docs/events

Bot Object

The { LEVEL_CHANGED } mark which callback is invoked when the value changes (due to query or report)

bot.name = "Bot" 
bot.race = "HUMAN" -- filename
bot.class = "PALADIN" -- filename
bot.level = 1 -- { LEVEL_CHANGED } int 
bot.expLeft = 0.0 -- { EXPERIENCE_CHANGED } pct exp left to advance level, float 0.0-1.0 
bot.zone = "Unknown" --  { ZONE_CHANGED } last known bot zone
bot.talents = {
    dualSpecUnlocked = false, -- { SPEC_DATA_CHANGED }
    activeSpec = 1, -- int 1-2 -- { SPEC_DATA_CHANGED }
    specs = {
        { -- spec 1
            primary = 1, -- { SPEC_DATA_CHANGED } index of the "primary talent tab" i.e. Balance 
            tabs = {
                {
                    points = 0 -- { SPEC_DATA_CHANGED } points invested 
                },
                {
                    points = 0 -- { SPEC_DATA_CHANGED }
                },
                {
                    points = 0 -- { SPEC_DATA_CHANGED }
                }
            }	
        },
        { -- spec 2
            primary = 1,-- { SPEC_DATA_CHANGED }
            tabs = {
                {
                    points = 0 -- { SPEC_DATA_CHANGED } points invested 
                },
                {
                    points = 0 -- { SPEC_DATA_CHANGED }
                },
                {
                    points = 0 -- { SPEC_DATA_CHANGED }
                }
            }
        }
    }
}
bot.currency = {
	copper = 0,
	silver = 0,
	gold = 0,
	honor = 0,
	other = { -- table is expanded when bot learns about new currencies, access by currency ID
		121 = 0 -- Alterac Valley Mark of Honor
		341 = 7 -- Emblem of Frost
	}
}
bot.items = { -- currently equipped gear by slotId
	{}, -- 1
	{}, -- 2
	{}, -- 3
	{
		count = 1, -- { EQUIP_SLOT_CHANGED }
		link = "|cffffffff|Hitem:38:0:0:0:0:0:0:0:1|h[Recruit's Shirt]|h|r", -- { EQUIP_SLOT_CHANGED }
	}, -- and so on until slot 19
}
bot.bags = {
	1 = { -- default bag with 16 slots
		count = 0 -- how many items inside
		max = 16  -- how many items it fits
		link = nil -- default bag no link
		contents = {
			{
				count = 0 -- item count i.e. 10 arrows
				link  = "|cffffffff|Hitem:38:0:0:0:0:0:0:0:1|h[Recruit's Shirt]|h|r" -- item link
			},
			{} -- and so on
		}
	}
	2 = {
		count = 0 -- how many items inside
		max = 20
		link = "|cff1eff00|Hitem:41599:0:0:0:0:0:0:0:0\124h[Frostweave Bag]\124h\124r" -- link of the bag itself
		contents = {
			{
				count = 0 -- item count i.e. 10 arrows
				link  = "|cffffffff|Hitem:38:0:0:0:0:0:0:0:1|h[Recruit's Shirt]|h|r" -- item link
			},
			{} -- and so on
		}
	} -- and so on
}
bot.bank = { -- same as bags but for bank, 7 bags max
}

Clone this wiki locally