да , ты прав) через регистрирование события получилось проще) только вот это событие не сработало, но зато подошло "LOOT_OPENED"


local b = 'GreedButton'
local c = 'RollButton'
local d = 'GroupLootFrame'
local frame = CreateFrame("FRAME")

local function a(s,e)
for i=1,4 do
local e=tostring(i)
if _G[d..e]:IsShown() then
if _G[d..e..c]:IsEnabled() then
_G[d..e..c]:Click()
else
_G[d..e..b]:Click()
end
StaticPopup1Button1:Click()
end
end
end
frame:SetScript('OnEvent',a)
frame:RegisterEvent('LOOT_OPENED')

- - - Updated - - -

хотя вероятно, это срабатывает только когда сам игрок лут открывает, а не кто-то другой) но мне сложно проверять