IF_EQUAL no_new_item,1;
GOTO no_new_item;
IF_EQUAL free_item,free_item.MAX;
END;
IF_NEQUAL free_item,1;
SKIP 1;
RULE i_item1=cur_item+new_amount;
IF_NEQUAL free_item,2;
SKIP 1;
RULE i_item2=cur_item+new_amount;
IF_NEQUAL free_item,3;
SKIP 1;
...
no_new_item:
SET no_new_item,0;
IF (tot_amount>20) {SET newstring,1;SET info_str,no_setitem_str;GOTO update_inv;}
SET MY.INVISIBLE,1;
PLAY_SOUND collect_snd,0.3;
RULE weight=weight+new_amount*new_weight;
update_inv:
IF_EQUAL LAYERS.3,inventory_ovr;
CALL update_inv;