you could have
all_items_acquired = 0;
and then when a item is picked up do-
all_items_acquired = all_items_acquired + 1;
2nd item-
all_items_acquired = all_items_acquired + 1;
3rd item-
all_items_acquired = all_items_acquired + 1;
then you could do-
if(all_items_acquired == 3)
{
//place the non_buyable perk trigs here
//when true, triggers should auto trigger therefor giving the player each of the perks without going up to the perk machines
revive_trig = getent("w.e the revive trig is called(can be found in _zombiemode_perks. probs zm_perks in bo3)", "targetname")
revive trig waittill ("trigger", player);
//then same for other trigs
}
something like that. should be fairly easy
add a wait 2; or something between each trig. otherwise itll try and give all perks at same time and probs crash