Re: Feature: Macrosupport for the new AdvLoot system
Posted: Sat Dec 26, 2015 10:36 pm
I tried, good luck :)
Need to talk about MacroQuest to other MacroQuest users?
https://mq64.org/phpBB3/
Code: Select all
[15:20:05 2015] 1 item(s): Plain-Looking Scroll given to you. It has been removed from your Shared Loot List.
[15:20:10 2015] 1 item(s): Diamond given to you. It has been removed from your Shared Loot List.
[15:20:10 2015] --You have looted a Diamond.--
Code: Select all
[FINEST 15:20:01.465] $1055-${If[${Group.MasterLooter.ID}==${Me.ID},TRUE,FALSE]} -> TRUE
[FINEST 15:20:04.481] $1056-${AdvLoot.SCount} -> 5
[FINEST 15:20:04.491] $1057-${AdvLoot.SList[5].Name} -> Decaying Zombie Flesh
[FINEST 15:20:04.501] $1058-${AdvLoot.SList[5].ID};${AdvLoot.SList[5].NoDrop};${AdvLoot.SList[5].StackSize};${AdvLoot.SList[5].No} -> 102668;TRUE;1;TRUE
[FINEST 15:20:04.511] $1059-${AdvLoot.SList[4].Name} -> Plain-Looking Scroll
[FINEST 15:20:04.521] $1060-${AdvLoot.SList[4].ID};${AdvLoot.SList[4].NoDrop};${AdvLoot.SList[4].StackSize};${AdvLoot.SList[4].No} -> 81180;TRUE;1;FALSE
[INFO 15:20:04.530] CMD: /advloot shared "Plain-Looking Scroll" no
[FINEST 15:20:05.042] $1061-${AdvLoot.SList[3].Name} -> Diamond
[FINEST 15:20:05.052] $1062-${AdvLoot.SList[3].ID};${AdvLoot.SList[3].NoDrop};${AdvLoot.SList[3].StackSize};${AdvLoot.SList[3].No} -> 10037;FALSE;1;FALSE
[FINEST 15:20:05.074] $1063-${FindItem[=Diamond].Lore} -> FALSE
[INFO 15:20:05.074] CMD: /advloot shared "Diamond" giveto XXXXXXX
[FINEST 15:20:05.586] $1064-${AdvLoot.SList[2].Name} -> Decaying Zombie Flesh
[FINEST 15:20:05.596] $1065-${AdvLoot.SList[2].ID};${AdvLoot.SList[2].NoDrop};${AdvLoot.SList[2].StackSize};${AdvLoot.SList[2].No} -> 102668;TRUE;1;TRUE
[FINEST 15:20:05.606] $1066-${AdvLoot.SList[1].Name} -> Decaying Zombie Flesh
[FINEST 15:20:05.616] $1067-${AdvLoot.SList[1].ID};${AdvLoot.SList[1].NoDrop};${AdvLoot.SList[1].StackSize};${AdvLoot.SList[1].No} -> 102668;TRUE;1;TRUE
[INFO 15:20:05.616] CMD: /advloot shared set "enable free grab"
Code: Select all
[FINEST 15:20:06.582] $1068-${If[${Group.MasterLooter.ID}==${Me.ID},TRUE,FALSE]} -> TRUE
[FINEST 15:20:09.594] $1069-${AdvLoot.SCount} -> 4
[FINEST 15:20:09.604] $1070-${AdvLoot.SList[4].Name} -> Diamond
[FINEST 15:20:09.615] $1071-${AdvLoot.SList[4].ID};${AdvLoot.SList[4].NoDrop};${AdvLoot.SList[4].StackSize};${AdvLoot.SList[4].No} -> 10037;FALSE;1;FALSE
[FINEST 15:20:09.628] $1072-${FindItem[=Diamond].Lore} -> FALSE
[INFO 15:20:09.628] CMD: /advloot shared "Diamond" giveto XXXXXXX
Code: Select all
if (pAdvLoot && pAdvLoot->pCLootList && pAdvLoot->pCLootList->pLootItem && pAdvLoot->pCLootList->ListSize >= index) {
DWORD addr = (DWORD)pAdvLoot->pCLootList->pLootItem;
pitem = (PLOOTITEM)(addr + (sizeof(LOOTITEM)*index));//leave/giveto
Code: Select all
Sub LootStuff
/declare prevcount int local 0
/declare thecount int local 0
/declare l int local
/if (${Bool[${Group}]}==TRUE) {
/if (${Group.MasterLooter.ID}==${Me.ID}) {
/if (${AdvLoot.SCount}>0 && ${AdvLoot.SWantCount}>0) {
/echo looting
/varset prevcount ${AdvLoot.SCount}
/advloot shared set ${Me.Name}
/delay 30 ${AdvLoot.SCount}!=${prevcount}
}
|still more stuff in list?
:morestuffinsloot
/if (${AdvLoot.SCount}>0) {
/varset thecount ${AdvLoot.SCount}
/echo going to roll through ${thecount} items in shared list
/for l 1 to ${thecount}
/if (${AdvLoot.SList[${l}].No}==TRUE || ${AdvLoot.SList[${l}].Never}==TRUE) {
/echo [${l}] leaving ${AdvLoot.SList[${l}]} on corpse we dont want that crap
/varset prevcount ${AdvLoot.SCount}
/advloot shared "${AdvLoot.SList[${l}]}" leave
/delay 30 ${AdvLoot.SCount}!=${prevcount}
/if (${AdvLoot.SCount}) {
/echo there is more stuff in the slist im looping up
/goto :morestuffinsloot
}
}
/next l
}
/delay 30 ${AdvLoot.PCount}==0
/if (${AdvLoot.SCount}>0) {
/beep
/echo you have unfiltered SLoot to attend to...
}
/if (${AdvLoot.PCount}>0) {
/beep
/echo you have unfiltered PLoot to attend to...
}
}
} else {
|loot personal stuff?
|if needed it's not exactly hard to add with the new command available:
|/advloot personal blah blah
}
/return