Hi, I am a noob at scripting and I'm struggling to create a secure action button so I can use something along the lines of UseContainerItem or UseItemByName. I also would like to use this button via a Keybind in the Key Bindings options.
I got some code which I tried to use on my keybind resulting in a popup saying that I'm trying to use a protected function:
Code:
function UseItem()
local a
local b
local s = 0
while s <= 4 do
local c = 1
local n = GetContainerNumSlots(s)
while c <= n and n > 0 do
local r = GetContainerItemLink(s, c)
if r then
local x = string.find(r, "%[") +1;
local y = string.find(r, "%]") -1;
local z = string.sub(r, x, y)
if useitemtable[z] then a = nil UseContainerItem(s, c) c = n s = 5
elseif questitemtable[z] then
if not a then a = s b = c
end
end
end
c = c + 1
end
s = s + 1
end
if a then UseContainerItem(a, b)
end
end
I think this will just use the first item it finds in the inventory that is in the set called useitemtable, if there is none it will use questitemtable. I just don't really understand how the button frame works at all, I think I have to use "item" type and the ["bag", "slot"] attribute in the button frame, but I have no idea how to actually use the button with a keybind or how exactly the button frame would look. I know I could just do a macro with /use, but there are roughly 20-30 items on each list so that just won't fit.