28.02.2014, 09:50
Quite possibly because you set the spawn location to the exact location of the pickup. This results in the player picking it up and the code to be executed again. You may want to use a function to slightly offset the spawn position. A variation of GetXYInFrontOfPlayer should work.