You mean ctrl-clicking the mob in the world?
Anyways, just use the normal loot event LOOT_OPENED and check for IsControlKeyDown(), which when pressed/depressed triggers
MODIFIER_STATE_CHANGED.
To prevent default auto-looting, use the ctrl key as the modifier to avoid autolooting.
Something like this perhaps:
Lua Code:
local Frame = CreateFrame('Frame')
Frame:RegisterEvent('LOOT_OPENED')
Frame:SetScript('OnEvent', function(self, event, arg1, arg2)
if(event == 'MODIFIER_STATE_CHANGED') then
if((arg1 == 'LCTRL' or arg1 == 'RCTRL') and not arg2) then
-- loot everything
arg1 = true
self:UnregisterEvent(event)
else
return
end
end
if(arg1 and not IsControlKeyDown()) then
LootFrame_InitAutoLootTable(LootFrame)
LootFrame:SetScript('OnUpdate', LootFrame_OnUpdate)
LootFrame.AutoLootDelay = LOOTFRAME_AUTOLOOT_DELAY
else
LootFrame.AutoLootDelay = 0
LootFrame.AutoLootTable = nil
self:RegisterEvent('MODIFIER_STATE_CHANGED')
end
LootFrame.page = 1
LootFrame_Show(LootFrame)
if(not LootFrame:IsShown()) then
CloseLoot(not arg1 or IsControlKeyDown())
end
end)