Po co to wszystko dajesz do funkcji skoro to tylko jedne linijki B_GiveInvItems ??
Funkcji void używaj jak się powtarza spora część kodu, żeby nie wypisywać wszystkiego za każdym razem.
Jak dajesz dużo kodu to używaj znacznika [ code ]

Masz błędy bo masz niepozamykane klamry gdzieniegdzie