The scripts work because of a trigger event in the loot corpse function:
https://github.com/EQEmu/Server/blob...rpse.cpp#L1173
By the time you get to this point..there's not much you can do without a recode..especially since there's no conditional on the call.
Ideally, you would want to not send the packet for any item they can't use.
Code Ref:
https://github.com/EQEmu/Server/blob...rpse.cpp#L1015
You could add something like this:
Code:
if(client && item) {
if (item->ReqLevel && (item->ReqLevel > client->GetLevel()))
continue;
ItemInst* inst = database.CreateItem(item, item_data->charges, item_data->aug_1, item_data->aug_2, item_data->aug_3, item_data->aug_4, item_data->aug_5, item_data->aug_6, item_data->attuned);
That would eliminate lower levels from seeing the item on the corpse..but, not disturb the actual corpse looting process.