Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Author
Message
No budget games
20
Years of Service
User Offline
Joined: 26th Feb 2004
Location:
Posted: 27th Jul 2004 05:44
for i=10000 to 10009
if object exist(i)=1
Distance=Sqrt((camera position x() - object position x(i))^2 + (0 - 0)^2 + (camera position z() - object position z(i)))
if Distance < 60

1#=camera position x()-object position x(i) : 2#=camera position z()-object position z(i) : 3#=camera angle y()
angle#=atanfull(1#,2#)-3#


if angle#<-180.0
angle#=angle#+360.0
else
if angle#>180.0 then angle#=angle#-360.0
endif

circle newxvalue(70,angle#,(distance-(Distance*2))), newzvalue(70,angle#,Distance),1

endif
endif
next i
endfunction
why when running this code from the codebase fps tutorial do i get this error (variable 1# is not valid at line 687) here is the rest of the code(i am running it in db pro but it uses none of the removed commands)`make a simple start screen
` main start screen:
` put the name of the game in the empty quotation marks
start_menu:
cls
start$ = "press s to start"
pong$ = "escape from dd-9)"
fade = 0
repeat
set text size 40
set text to bold
ink rgb(255,255,255),0
center text 300,200,pong$
set text size 15
set text to normal
if fade = 0 then fadedir = 1
if fade = 255 then fadedir = 0
if fadedir = 1 then fade = fade + 5
if fadedir = 0 then fade = fade - 5
ink rgb(fade,fade,fade),0
center text 300,350,start$
sync

until scancode() = 31

`menu goes here
`put the words that you want to be chosen in the quotation marks
`(make sure that you have them in the right spots)
cls
main_menu:
ink rgb(255,255,255),0
text 20,120,"New"
text 20,160,"load"
text 20,200,""
text 20,240,""
text 20,280,""
repeat
if (((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 110) and (mousey() <=130))) then ink rgb(255,255,0),0 : text 20,120,"New"
if (((mousex() < 10) or (mousex() > 100)) or ((mousey() < 110) or (mousey() >130))) then ink rgb(255,255,255),0 : text 20,120,"New"
if ((((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 110) and (mousey() <=130))) and (mouseclick()=1)) then goto subroutine
if (((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 150) and (mousey() <=170))) then ink rgb(255,255,0),0 : text 20,160,""
if (((mousex() < 10) or (mousex() > 100)) or ((mousey() < 150) or (mousey() >170))) then ink rgb(255,255,255),0 : text 20,160,""
if ((((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 150) and (mousey() <=170))) and (mouseclick()=1)) then end
if (((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 190) and (mousey() <=210))) then ink rgb(255,255,0),0 : text 20,200,""
if (((mousex() < 10) or (mousex() > 100)) or ((mousey() < 190) or (mousey() >210))) then ink rgb(255,255,255),0 : text 20,200,""
if ((((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 190) and (mousey() <=210))) and (mouseclick()=1)) then end
if (((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 230) and (mousey() <=250))) then ink rgb(255,255,0),0 : text 20,240,""
if (((mousex() < 10) or (mousex() > 100)) or ((mousey() < 230) or (mousey() >250))) then ink rgb(255,255,255),0 : text 20,240,""
if ((((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 230) and (mousey() <=250))) and (mouseclick()=1)) then end
if (((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 270) and (mousey() <=290))) then ink rgb(255,255,0),0 : text 20,280,""
if (((mousex() < 10) or (mousex() > 100)) or ((mousey() < 270) or (mousey() >290))) then ink rgb(255,255,255),0 : text 20,280,""
if ((((mousex() >= 10) and (mousex() <= 100)) and ((mousey() >= 270) and (mousey() <=290))) and (mouseclick()=1)) then end
until false

`this is where you load the objects and/or make the objects
subroutine:
Fog on
Fog distance 3000
Fog color RGB(128,128,128)
Color Backdrop RGB(128,128,128)

`music put in your own track number
Load MUSIC "music\track1.mp3",1
Play music 1

Rem make matrix
Make matrix 1,10000,10000,20,20

Rem texture matrix
Load image "tex\wall_m_28.bmp",1
Prepare matrix texture 1,1,1,1
Fill matrix 1,0,1

rem Make Gun
Make object cylinder 1,2
Make object cylinder 100,2
XRotate Object 100,90
XRotate Object 1,90
Fix object pivot 1
Fix object pivot 100
Scale Object 100,100,100,500
Scale object 1,100,100,500
position object 100,-1,-7,15
position object 1,1,-7,15
Lock object on 1
Lock object on 100

rem make HUD
Make object Plain 200,1,1
position object 200,-2.7,1.9,4
Lock object on 200
ghost object on 200

Make object Plain 201,1,1
position object 201,2.7,1.9,4
Lock object on 201
ghost object on 201

`make the aimer
autocam off
hide mouse
make object plain 99,2,2
load image "tex\cross.bmp",3
texture object 99,3
set object 99,1,0,1 :`set the object transparency. If this doesn't work will, use the "ghost on" command.
position object 99,0,0,25
fix object pivot 99
lock object on 99


rem fire texture
Load Image "tex\lava1.bmp",2

rem Make Bullet
Make Object Sphere 2,2
texture object 2,2
Hide Object 2

rem Make EnemyBullet
Make Object Sphere 102,2
texture object 102,2
Hide Object 102

rem Make Explosion
Make Object Sphere 30,20
texture object 30,2
ghost object on 30
Hide Object 30
Make Object Sphere 31,20
texture object 31,2
ghost object on 31
Hide Object 31

rem Make Enemy Explosion
Make Object Sphere 130,20
texture object 130,2
ghost object on 130
Hide Object 130
Make Object Sphere 131,20
texture object 131,2
ghost object on 131
Hide Object 131

rem load particles
For x = 0 to 10
Make object plain x+10,5,5
Texture object x+10,2
Set object x+10,1,0,0
Ghost object on x+10
Hide object x+10
Next x

rem load Enemyparticles
Load Image "tex\slime2.bmp",2
For x =100 to 110
Make object plain x+10,5,5
Texture object x+10,2
Set object x+10,1,0,0
Ghost object on x+10
Hide object x+10
Next x

rem intialize particle counter
Pn=10
MPn=110

rem load sounds

Load 3Dsound "sound\missle.wav",2
Load 3Dsound "sound\explosion.wav",102
Load 3Dsound "sound\explosion.wav",3
Load 3Dsound "sound\gunshot1.wav",103

rem create decorative objects
load image "tex\rock1.bmp",300
t=300
For x = 1 to 9
For z = 1 to 9
Make object cube t,100
Scale object t,100,600,100
y = get ground height(1,x*1000,z*1000)
position object t,x*1000,y+275,z*1000
texture object t,300
scale object texture t,1,-6
inc t
next z
next x

`this is from the 3d monster hunt tutorial change this to your liking
`up to this point I have made
Rem Load Target
Load object "mod\H-Alien Mutant-Idle.x",3
Append Object "mod\H-Alien Mutant-Move.x",3,25
Yrotate object 3,180
Fix Object Pivot 3
Loop Object 3
mX# = 5000
mZ# = 5000
mY# = Get Ground Height(1,5000,5000)

X# = 5500
Y# = Get Ground Height(1,5500,5500)
Z# = 5500
MonsterScore=0
PlayerScore=0
Gosub PlaceMonster
Gosub PlacePlayer

Rem Main loop
Do

set cursor 550,20
print "MScore: ",MonsterScore
set cursor 550,40
print "PScore: ",PlayerScore
print total object frames(3)
oldcAY# = cAY#
oldcAX# = cAX#

oldX#=X#
oldY#=Y#
oldZ#=Z#

cAY# = WrapValue(cAY#+MousemoveX()*0.2)
cAX# = WrapValue(cAX#+MousemoveY()*0.2)
caZ# = Camera angle Z()

Rem Control input for camera
If Upkey()=1
XTest# = Newxvalue(X#,cAY#,7)
ZTest# = Newzvalue(Z#,cAY#,7)
If XTest#>0 and XTest#<10000 and ZTest#>0 and ZTest#<10000
X#=XTest#
Z#=ZTest#
Endif
Endif

If Downkey()=1
XTest# = Newxvalue(X#,Wrapvalue(cAY#-180),7)
ZTest# = Newzvalue(Z#,Wrapvalue(cAY#-180),7)
If XTest#>0 and XTest#<10000 and ZTest#>0 and ZTest#<10000
X#=XTest#
Z#=ZTest#
Endif
Endif

If Leftkey()=1
XTest# = Newxvalue(X#,Wrapvalue(cAY#-90),7)
ZTest# = Newzvalue(Z#,Wrapvalue(cAY#-90),7)
If XTest#>0 and XTest#<10000 and ZTest#>0 and ZTest#<10000
X#=XTest#
Z#=ZTest#
Endif
Endif

If Rightkey()=1
XTest# = Newxvalue(X#,Wrapvalue(cAY#+90),7)
ZTest# = Newzvalue(Z#,Wrapvalue(cAY#+90),7)
If XTest#>0 and XTest#<10000 and ZTest#>0 and ZTest#<10000
X#=XTest#
Z#=ZTest#
Endif
Endif

Rem Rotate camera
cTestX#=WrapValue(cAX#-180)
if cTestX# > 225 then cAX#=45
if cTestX# < 135 then cAX#=315

YRotate camera CurveAngle(cAY#,oldcAY#,24)
XRotate camera CurveAngle(cAX#,oldcAX#,24)
Y# = Get ground height(1,X#,Z#)+35

rem collision detection
if DecoCollide(X#,Y#,Z#) = 1
X#=oldX#
Y#=oldY#
Z#=oldZ#
Endif


Rem Position Camera

Position Camera X#,Y#,Z#

Rem Position Listener
Position Listener X#,Y#,Z#
Rotate Listener 0,cAY#,0



Rem Shoot bullet
if Mouseclick()=1 and Explode =0
if BulletLife=0 or BulletLife<50
Position object 2,X#,Y#-7,Z#
Set object to camera orientation 2
BulletLife =120
show object 2
Loop sound 2
Endif
Endif


If BulletLife > 0 then Gosub ShootBullet
If MonsterBulletLife > 0 then Gosub MonsterShootBullet

If Explode > 0 then Gosub ExplodeRocket
If MonsterExplode > 0
Gosub MonsterExplodeRocket
else
Gosub MonsterAI
Endif


Rem make radar
ink rgb(0,0,255),rgb(0,0,0)
PRX#=X#/200
PRZ#=50-(Z#/200)
Circle PRX#,PRZ#,1
ink rgb(255,0,0),rgb(0,0,0)
MRX#=mX#/200
MRZ#=50-(mZ#/200)
Circle MRX#,MRZ#,1
Get image 200,0,0,50,50
set current bitmap 0
texture object 200,200
ink rgb(255,128,128),rgb(0,0,0)

Rem Refresh Screen
Sync
Loop

Rem check for collision with wall decorations
Function DecoCollide(X#,Y#,Z#)

for u = 1 to 9
for v = 1 to 9
if X#>u*1000-60
if X#<u*1000+60
if Z#>v*1000-60
if Z#<v*1000+60
if Y# < Get ground height(1,u*1000,v*1000)+575
Collide=1
Exitfunction Collide
endif
endif
endif
endif
endif
next v
next u
Collide=0

Endfunction Collide

Rem Shoot player bullet
ShootBullet:
Dec BulletLife
Move object 2,24

bX#=Object position X(2)
bY#=Object position Y(2)
bZ#=Object position Z(2)

inc Pn
if Pn=21 then Pn=10
Scale object Pn,100,100,100
Position object Pn,bX#,bY#,bZ#
point object Pn,X#,Y#,Z#
Zrotate object Pn,rnd(180)
Show object Pn
for x = 1 to 10
scale object int((Wrapvalue((Pn-9+x)*36))/36)+10,100+x*25,100+x*25,100+x*25
set cursor 10,10
next x

if bY# < Get Ground height(1,bX#,bZ#) then BulletLife=0
Position sound 2,bX#,bY#,bZ#
set cursor 10,10
if Sqrt((mX# - bX#)^2 + (mY#+25 - bY#)^2 + (mZ# - bZ#)^2) <20
Gosub PlaceMonster
inc PlayerScore
MonsterBulletLife = 1
BulletLife=0
endif

if DecoCollide(bX#,bY#,bZ#) = 1 then BulletLife = 0

if BulletLife = 0
Hide object 2
stop sound 2
for x=10 to 20
hide object x
next x
Explode = 20
endif
Return

Rem Explode bullet
ExplodeRocket:
Position object 30,bX#,bY#,bZ#
Show object 30
Position object 31,bX#,bY#,bZ#
Show object 31
EScale=20*(30-Explode)
Scale object 30,EScale,EScale,EScale
Yrotate object 30,WrapValue(Explode*37)
Scale object 31,EScale/1.5,EScale/1.5,EScale/1.5
Yrotate object 31,WrapValue(359-Explode*37)
Dec Explode
If Explode = 0 then hide object 30: Hide object 31
If Explode=18
position sound 3,bX#,bY#,bZ#
play sound 3
endif
If Explode < 15 then position sound 3,X#,Y#,Z#
Return

Rem Explode monster bullet
MonsterExplodeRocket:
Position object 130,MbX#,MbY#,MbZ#
Show object 130
Position object 131,MbX#,MbY#,MbZ#
Show object 131
EScale=20*(30-MonsterExplode)
Scale object 130,EScale,EScale,EScale
Yrotate object 130,WrapValue(MonsterExplode*37)
Scale object 131,EScale/1.5,EScale/1.5,EScale/1.5
Yrotate object 131,WrapValue(359-MonsterExplode*37)
Dec MonsterExplode
If MonsterExplode = 0 then hide object 130: Hide object 131
If MonsterExplode=18
position sound 103,X#,Y#,Z#
play sound 103
endif
If MonsterExplode < 15 then position sound 103,X#,Y#,Z#
Return

Rem Simple AI for guided monster misile
MonsterAI:
Point object 3,X#,Y#,Z#
If AvoidDeco >0
mA# = Object Angle Y(3)
Dec AvoidDeco
Yrotate object 3,WrapValue(mA#+AvoidDeco*60)
endif

Rem Position Monster at new location
Position Object 3,mX#,mY#,mZ#

Rem check distance from player
PDist=Sqrt((mX# - X#)^2 + (mY#+25 - Y#)^2 + (mZ# - Z#)^2)

Rem If the player is within range shoot bullet
if PDist<1500
if MonsterBulletLife=0 or MonsterBulletLife < 500-Pdist/10
Point object 3,X#,Y#-25,Z#
If BulletAvoidDeco > 0
CornerAim = Rnd(1)
mA# = object angle Y(3)
if CornerAim = 0 then Yrotate Object 3,WrapValue(mA#+BulletAvoidDeco*10)
if CornerAim = 1 then Yrotate Object 3,WrapValue(mA#+BulletAvoidDeco*-16)
Dec BulletAvoidDeco
Endif

If ShootUp > 0
mA# = object angle X(3)
XRotate Object 3,WrapValue(mA#+ShootUp*-8)
Dec ShootUp
Endif

Position object 102,mX#,mY#+25,mZ#
Set object to object orientation 102,3
MonsterBulletLife =500
show object 102
Loop sound 102

Rem Play idle animation
Loop Object 3,0,20
Endif
Endif
if PDist>1000
Rem Store old location
OldmX# = mX#
OldmZ# = mZ#
OldmY# = mY#

Rem Play walking animation
Loop Object 3,21,46

Rem Move monster
Move Object 3,7

Rem Get new position
mX# = Object Position X(3)
mZ# = Object Position Z(3)
mY# = Get Ground Height(1,mX#,mZ#)

Rem Check for Decoration collision
If DecoCollide(mX#,mY#,mZ#) = 1 and AvoidDeco = 0
mX# = OldmX#
mZ# = OldmZ#
mY# = OldmY#
AvoidDeco = 3
Endif

Endif
Return

Radar()
Rem Shoot enemy bullet
MonsterShootBullet:
Dec MonsterBulletLife
Move object 102,12

MbX#=Object position X(102)
MbY#=Object position Y(102)
MbZ#=Object position Z(102)

inc MPn
if MPn=121 then MPn=110
Scale object MPn,100,100,100
Position object MPn,MbX#,MbY#,MbZ#
Position sound 102,MbX#,MbY#,MbZ#
point object MPn,X#,Y#,Z#
Zrotate object MPn,rnd(180)
Show object MPn
for x = 1 to 10
scale object int((Wrapvalue((MPn-9+x)*36))/36)+110,100+x*25,100+x*25,100+x*25
next x

if MbY# < Get Ground height(1,MbX#,MbZ#)
MonsterBulletLife=0
ShootUp=3
endif

Pdist=Sqrt((X# - MbX#)^2 + (Y#+25 - MbY#)^2 + (Z# - MbZ#)^2)
if Pdist<50
GoSub PlacePlayer
MonsterBulletLife = 0
inc MonsterScore
endif
Rem guided missile
if Pdist <500+PlayerScore*100 and Pdist>250 then Point object 102,X#,Y#,Z#
if Pdist < 100 then point object 102,X#,Y#,Z#

if DecoCollide(MbX#,MbY#,MbZ#) = 1
MonsterBulletLife = 0
BulletAvoidDeco = BulletAvoidDeco + 2
Endif

if MonsterBulletLife = 0
Hide object 102
stop sound 102
for x=110 to 120
hide object x
next x
MonsterExplode = 20
endif
Return

PlaceMonster:

mX#=X#
mY#=Y#
mZ#=Z#

While Sqrt((X# - MX#)^2 + (Y#+25 - MY#)^2 + (Z# - MZ#)^2)<1000

mX#=rnd(10000)
mZ#=rnd(10000)
mY#= get ground height(1,mX#,mZ#)
If DecoCollide(mX#,mY#,mZ#) = 1
mX#=X#
mY#=Y#
mZ#=Z#
endif
EndWhile

Position object 3,mX#,mY#,mZ#

Return

PlacePlayer:

X#=mX#
Y#=mY#
Z#=mZ#

While Sqrt((X# - mX#)^2 + (Y#+25 - mY#)^2 + (Z# - mZ#)^2)<1000

X#=rnd(10000)
Z#=rnd(10000)
Y#= get ground height(1,X#,Z#)
If DecoCollide(X#,Y#,Z#) = 1
X#=mX#
Y#=mY#
Z#=mZ#
endif

EndWhile

Position camera X#,Y#,Z#
Point camera mX#,mY#,mZ#

Return
autocam off

for i=10000 to 10009
make object cube i, 1.0
position object i, rnd(120)-60, 0, rnd(120)-60
next i

Rem Make Hud
Make object Plain 200,1.21,1.21 : position object 200,-2.5,1.7,4
Lock object on 200 : color object 200,rgb(0,244,0)
ghost object on 200

Angle=0
do
if upkey() then move camera 0.2
if downkey() then move camera -0.2

if leftkey() then Angle=wrapvalue(angle-1)
if rightkey() then Angle=wrapvalue(angle+1)
if Angle < 0 then inc Angle, 360

yrotate camera Angle

Radar()

sync
loop


function Radar()

ink rgb(0,255,0),0
circle 70,70,1
circle 70,70,20
circle 70,70,30
circle 70,70,40
circle 70,70,50
circle 70,70,60

ink rgb(255,0,0),0

for i=10000 to 10009
if object exist(i)=1
Distance=Sqrt((camera position x() - object position x(i))^2 + (0 - 0)^2 + (camera position z() - object position z(i)))
if Distance < 60

1#=camera position x()-object position x(i) : 2#=camera position z()-object position z(i) : 3#=camera angle y()
angle#=atanfull(1#,2#)-3#


if angle#<-180.0
angle#=angle#+360.0
else
if angle#>180.0 then angle#=angle#-360.0
endif

circle newxvalue(70,angle#,(distance-(Distance*2))), newzvalue(70,angle#,Distance),1

endif
endif
next i
endfunction

http://www.geocities.com/nobudgetfilmproductions2003/vince.jpg
No budget games
20
Years of Service
User Offline
Joined: 26th Feb 2004
Location:
Posted: 27th Jul 2004 05:58
oh yeh why do i get the error (variable 1# not valid at line 687) this is dbc code and im running it in db pro but it uses none of the removed commands

YOUR A BIT RUBBISH ARENT YOU
the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 28th Jul 2004 00:43
1# is not a valid variable name in dbpro. Change it to a valid name. In dbpro variable names need to start with a letter not a number.

can i scream
Yart
20
Years of Service
User Offline
Joined: 23rd Jun 2004
Location: Turkey Sandwich
Posted: 28th Jul 2004 01:06
uhh... what was the question? i just see code and nothing with it so I have no clue what that is for or what you're trying to get across to us

Pie!
the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 28th Jul 2004 03:15 Edited at: 28th Jul 2004 03:15
Proberly should have mentioned that

Put your code between [ code ] [ /code ] tags or in the code box under the message box. If you don't do that your code not only takes up a lot of screen space but loses any indentaion. A lot of people will be put off by a big screen full of un-indented code, even if it is just a simple problem.

can i scream
JokerZ
AGK Silver Backer
20
Years of Service
User Offline
Joined: 2nd Jul 2004
Location: Perth, Western Australia
Posted: 28th Jul 2004 11:07 Edited at: 28th Jul 2004 11:10
the_winch wrote:
Quote: "A lot of people will be put off by a big screen full of un-indented code"


What we are supposed to indent our code?

Some style guidelines would probably be pretty useful for people new to programming. Maybe we can get a stickied topic started for this? It could cover some useful topics such as formatting code, naming variables, commenting etc.

Or maybe just clean up one of the stickied topics and start adding this sort of info.

Everything happens for a reason

Login to post a reply

Server time is: 2024-09-22 18:20:34
Your offset time is: 2024-09-22 18:20:34