The big problem I've found is that if you had too many variables in the item_randomopt_group.txt, nothing was detected after a certain amount.
To solve this with the random value, I run it via a script.
if (killedrid == .@mobid[.@m]) {
setarray .@shoes$[0],RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
setarray .@shoes2$[0],RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION,RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE,RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER;
setarray .@shoes3$[0],RDMOPT_VAR_MAXHPPERCENT,RDMOPT_VAR_MAXSPPERCENT,RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING,RDMOPT_RACE_IGNORE_DEF_PERCENT_UNDEAD,RDMOPT_RACE_IGNORE_DEF_PERCENT_ANIMAL,RDMOPT_RACE_IGNORE_DEF_PERCENT_PLANT,RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT,RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS,RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL,RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN,RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL,RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON,RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING,RDMOPT_RACE_IGNORE_MDEF_PERCENT_UNDEAD,RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANIMAL,RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLANT,RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT,RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS,RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL,RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN,RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL,RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON;
setarray .@shoes4$[0],RDMOPT_CLASS_IGNORE_DEF_PERCENT_NORMAL,RDMOPT_CLASS_IGNORE_DEF_PERCENT_BOSS,RDMOPT_CLASS_IGNORE_MDEF_PERCENT_NORMAL,RDMOPT_CLASS_IGNORE_MDEF_PERCENT_BOSS,RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER;
setarray .@OptID[0],.@shoes$[.@i],.@shoes2$[.@i2];
setarray .@OptVal[0],1+rand(0,2),1+rand(0,9);
setarray .@OptParam[0],0;
makeitem3 2404,1,.@map$,.@x,.@y,0,0,0,0,0,0,0,.@OptID,.@OptVal,.@OptParam;
end;