You need to update all bullets, not just one here:
if fire = 1
SetSpritePosition(bullet[0],GetSpriteX(bullet[0]),GetSpriteY(bullet[0])-4)
endif
Also you need to store each new bullet correctly here:
//Create Bullet
Function CreateBullet()
bullet[0] = CreateSprite(0)
SetSpriteSize(bullet[0],1,4)
SetSpritePosition(bullet[0],GetSpriteXByOffset(Player)-0.5,GetSpriteYByOffset(Player)-5)
EndFunction
Like this:
//Create Bullet
Function CreateBullet()
spr = CreateSprite(0)
SetSpriteSize(spr,1,4)
SetSpritePosition(spr, GetSpriteXByOffset(Player)-0.5,GetSpriteYByOffset(Player)-5)
bullet.insert(spr)
EndFunction
for i=0 to bullet.length
SetSpritePosition(bullet[i],GetSpriteX(bullet[i]),GetSpriteY(bullet[i])-4)
if GetSpriteY(bullet[i]) < -5
fire = 0
DeleteSprite(bullet[i])
bullet.remove(i)
dec i
endif
next
EDIT: Updated with more detail
Using AppGameKit V2 Tier 1