@Technoken because script will stop the script when detected blacklist items, hence the player will not drop anything even if they have other non-blacklisted items with them.
@Erio-chan you can try this. Not the ideal way, but should be workable.
- script nightmaremode -1,{
OnInit:
.blacklist$ = "501,502,503,504,505";
end;
OnPCDieEvent:
if (countitem(7773) >= 1) end;
if (BaseLevel < 40) end;
//if ( strcharinfo(3) != "moc_fild12" ) end; // set your map
//if ( pkpoints < 100 ) end; // decide on the pk points
getinventorylist;
.@size = (@inventorylist_count-1);
for ( .@i = .@size; .@i >= 0; .@i--) {
if (compare(","+.blacklist$+",", ","+@inventorylist_id[.@i]+",")) {
deletearray @inventorylist_id[.@i],1;
deletearray @inventorylist_amount[.@i],1;
deletearray @inventorylist_identify[.@i],1;
deletearray @inventorylist_refine[.@i],1;
deletearray @inventorylist_attribute[.@i],1;
deletearray @inventorylist_card1[.@i],1;
deletearray @inventorylist_card2[.@i],1;
deletearray @inventorylist_card3[.@i],1;
deletearray @inventorylist_card4[.@i],1;
.@size--;
}
}
if (.@size > 0) {
.@r = rand(.@size);
delitem2 @inventorylist_id[.@r], @inventorylist_amount[.@r], @inventorylist_identify[.@r], @inventorylist_refine[.@r], @inventorylist_attribute[.@r], @inventorylist_card1[.@r], @inventorylist_card2[.@r], @inventorylist_card3[.@r], @inventorylist_card4[.@r];
getmapxy .@map$, .@x, .@y, 0;
makeitem2 @inventorylist_id[.@r], @inventorylist_amount[.@r], .@map$, .@x, .@y, @inventorylist_identify[.@r], @inventorylist_refine[.@r], @inventorylist_attribute[.@r], @inventorylist_card1[.@r], @inventorylist_card2[.@r], @inventorylist_card3[.@r], @inventorylist_card4[.@r];
}
end;
}