thats not all of my code, thats the part that I found had the problem. after that comes the main loop, the main loop was running fine. and everything before it just makes players and dim arrays (I used alot of arrays because I use them in functions along with in the main loop.
Randomize timer()
if check display mode(800,600,16) = 1 then set display mode 800,600,16
`load the presents page
load bitmap "bmp/present.bmp"
wait 5000
`dim arrays
dim AreaTypeArray$(1)
AreaTypeArray$(0) = "Grass"
AreaTypeArray$(1) = "Rocky"
`player arrays
`this is used all over
dim NumofPlayers(0) : NumofPlayers(0) = 15 : NumofPlayers = 15
dim PlayerWon(0)
dim xSpeed#(NumofPlayers)
dim ySpeed#(NumofPlayers)
dim zSpeed#(NumofPlayers)
dim friction#(NumofPlayers)
dim movedist#(NumofPlayers)
dim PlayerDead(NumofPlayers)
dim target(NumofPlayers)
dim falling(numofplayers)
`energy info
`this is used to determen how many energys (NumofPlayers(0)/PlayerDevideNum(0))
dim PlayerDevideNum(0) : PlayerDevideNum(0) = 3
dim NumofEnergy(0) : NumofEnergy(0) = int(NumofPlayers/PlayerDevideNum(0)) : NumofEnergy = int(NumofPlayers/PlayerDevideNum(0))
dim xEnergyLoc#(NumofEnergy)
dim zEnergyLoc#(NumofEnergy)
dim yEnergyLoc#(NumofEnergy)
dim EnergyDead(NumofEnergy)
`energy removal time
dim LastEnergyLoss(NumofPlayers)
`amount of energy and players left in play
dim totnumenergy(0)
dim totnumplayers(0)
`count them
count_players_energy()
`eyecandy arrays
dim NumofEye(0) : NumofEye(0) = 20 : NumofEye = 20
dim EyeType(NumofEye)
`life
dim energy(Numofplayers)
`gravity
dim gravity#(0) : gravity#(0)=0.1
`---------------------------------
`setup the inatial settings/matrix
`---------------------------------
`get random area
CurrentAreaType$ = AreaTypeArray$(rnd(1))
Settings(CurrentAreaType$)
MakeArena(500,500,15,"Arena_"+CurrentAreaType$+str$(rnd(3)+1))
`--------------
`player loading
`--------------
position camera 250,400,250
for id = 1 to NumofPlayers(0)
`make a hidden player object
make object cube id,3
xpos# = rnd(460)+20
zpos# = rnd(460)+20
ypos# = get_ground_height(xpos#,zpos#)
position object id,xpos#,ypos#,zpos#
yrotate object id,rnd(360)
`set player varables
friction#(id)=0.97
moveDist#(id)=0.065
xSpeed#(id)=0
zSpeed#(id)=0
energy(id) = 25 + rnd(10)
`set the last time that energy was taken to now
LastEnergyLoss(id) = timer()
`load the 'real' player object
load object "x/hovercraft1/hovercraft"+str$(rnd(2)+1)+".x",id +NumofPlayers(0)
scale object id + NumofPlayers(0),200,200,200
glue object to limb id + NumofPlayers,id,0
hide limb id,0
make object collision box id,-3,0,-3,3,4,3,0
`give them a target'
new_target(id,0)
next id
`--------------
`energy loading
`--------------
randomize timer()
for id = 100 to NumofEnergy(0) + 99
load object "x/energy1/energy.x",id
xEnergyLoc#(id-99) = rnd(400)+50
zEnergyLoc#(id-99) = rnd(400)+50
yEnergyLoc#(id-99) = get_ground_height(xEnergyLoc#(id-99),zEnergyLoc#(id-99))
repos_energy(id-99)
next id
`-----------------
`eyecandy loading
`-----------------
for id = 200 to NumofEye(0) + 199
if rnd(1) = 0
load object "x/eyecandy/arrow.x",id
position object id,rnd(500),(rnd(1)*5)+matrix position y(1),rnd(500)
EyeType(id-199) = 1
else
load object "x/eyecandy/diamond.x",id
ghost object on id
position object id,rnd(500),rnd(20)+matrix position y(1),rnd(500)
EyeType(id-199) = 2
endif
next id
`-----------------
`load radar and energy bar images
`load sound effects
`-----------------
load image "bmp/radar1.bmp",2
load image "bmp/energybar1.bmp",3
load image "bmp/circle_orange.bmp",4
load image "bmp/circle_orange_s.bmp",5
load image "bmp/circle_red.bmp",6
load image "bmp/circle_blue.bmp",7
load image "bmp/energybar2.bmp",8
`sounds
load 3dsound "snd/energy_pickup.wav",1
load 3dsound "snd/hover_pulse.wav",2 : set sound volume 2,100 : loop sound 2
load 3dsound "snd/lose_energy.wav",3
load sound "snd/earcandy1.mp3",4
load sound "snd/earcandy2.mp3",5
`put some back ground music in
change_background()
`---------
`MAIN LOOP
`---------
King of the asked question