yeah heres some code:
`******** Initialise Loop Speed ******************
Init_Game() : FPS = timerCreate(0)
Game_Time as float : TimerStart(FPS)
phy start
`Game_Time is the varible used to sync all movements
`you must times all movements by this varible
`***************************************************
` move into the media directory
set dir "media"
` load the level and make a static mesh for it
`load object "universe.dbo", 1
`set object light 1, 0
`phy make rigid body static mesh 1
rem Load scene
set dir "Scene"
load object "levelbank\testlevel\universe.dbo",1
scale object 1,200,200,200 : phy make rigid body static mesh 1
set dir ".."
` load our skybox
`load object "skybox2.x", 2
`set object light 2, 0
`set object texture 2, 3, 1
`scale object 2, 30000, 30000, 30000
` come out of the media directory
set dir ".."
` create our box controller
make object box 3, 20, 50, 20
phy make box character controller 3, 434, 42, -517, 10, 35, 10, 1, 10.5, 45.0
hide object 3
autocam off
global Mov_Speed_P1# = 200.00
`Start Main Game loop
do
text 100,100,str$(screen FPS())
` Call timerUpdateTime() every cycle and game_time
timerUpdateTime() : Game_time = TimerGetFactor(FPS)
`*************************************************
`if spacekey()= 1 and object exist(10) = 0
`for n = 10 to 2000
`make object cube n,5
`next n
`endif
` rotate and position the camera based on the box controller
position camera object position x ( 3 ), object position y ( 3 ) + 20, object position z ( 3 )
rotate camera camera angle x ( 0 ), object angle y ( 3 ), object angle z ( 3 )
OldCamAngleY# = CameraAngleY#
OldCamAngleX# = CameraAngleX#
CameraAngleY# = wrapvalue ( CameraAngleY# + mousemovex ( ) *0.1)
CameraAngleX# = wrapvalue ( CameraAngleX# + mousemovey ( ) *0.1)
`yrotate object 3, curveangle ( CameraAngleY#, OldCamAngleY#, 24 )
`xrotate object 3, curveangle ( CameraAngleX#, OldCamAngleX#, 24 )
yrotate object 3, curveangle ( CameraAngleY#, OldCamAngleY#, 22*Game_Time )
xrotate camera 0, curveangle ( CameraAngleX#, OldCamAngleX#, 22*Game_Time )
` react to key presses and move the controller
key = 0
if upkey() and leftkey() or upkey() and rightkey() or downkey() and rightkey() or downkey() and leftkey()
Mov_Speed_P1# = 150
else
Mov_Speed_P1# = 200
endif
text 200,200,str$(Mov_Speed_P1#)
if upkey()
key = 1
phy set character controller displacement 3, 0.0, 0.0
phy move character controller 3, Mov_Speed_P1#*Game_Time
text 400,200,str$(Mov_Speed_P1#)
endif
if downkey ( )
key = 1
phy set character controller displacement 3, 0.0, 0.0
phy move character controller 3, -Mov_Speed_P1#*Game_Time
text 300,200,str$(Mov_Speed_P1#)
endif
if leftkey()
key = 1
phy set character controller displacement 3, 0.0,0.0
CameraAngleY# = wrapvalue( CameraAngleY# - 90 )
yrotate object 3, CameraAngleY#
phy move character controller 3, Mov_Speed_P1#*Game_Time
CameraAngleY# = wrapvalue( CameraAngleY# + 90 )
yrotate object 3, CameraAngleY#
endif
if rightkey()
key = 1
phy set character controller displacement 3, 0.0, 0.0
CameraAngleY# = wrapvalue( CameraAngleY# + 90 )
yrotate object 3, CameraAngleY#
phy move character controller 3, Mov_Speed_P1#*Game_Time
CameraAngleY# = wrapvalue( CameraAngleY# - 90 )
yrotate object 3, CameraAngleY#
endif
if spacekey()
key = 1
phy set character controller displacement 3, -180, 0.0
phy move character controller 3, Mov_Speed_P1#*Game_Time
`For some reason you must counteract the movement to stop the player from moving forwards
`as well as up - Queite strange!
phy move character controller 3, -Mov_Speed_P1#*Game_Time
endif
if key = 0 or key = 1
phy set character controller displacement 3, 0.0, 90.0
phy move character controller 3,-10.0*Game_Time
phy move character controller 3,10.0*Game_Time
endif
`**************
phy update `**
sync `**
loop `**
`**************
function Init_Game()
` Initialise the Timer Functionality for the Frame Rate
TimerInit(80)
endfunction
Intel Pentiuim D 3.4 Prossesor - P5W DH Deluxe Dual Graphics Motherboard - 512MB ATI X1600 Graphics Card - 2GB 5400 DDR2 RAM - 320GB Harddrive - www.bristlebusters.com