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.

Newcomers DBPro Corner / small prob with midtime menu code

Author
Message
gothboy 101
20
Years of Service
User Offline
Joined: 31st May 2004
Location: Watonga, ok, usa
Posted: 13th Aug 2004 05:40
having a problem positioning the data

load image "wewerr.jpg", 1
data "items",0
data "save",0
data "character",0
data "quit"
`Number of submenus
numSubMenus=5

`Where the sub menu names will be stored
dim mainMenu$(numSubMenus)
`Where the item names will be stored
dim subMenu$(numSubMenus,20)
`Where the amount of item will be stored
dim subMenuQuantity(numSubMenus,20)
`Where the amount of items in the sub menu will be stored
dim subMenuAmount(numSubMenus)

`Read in data
for x=1 to numSubMenus
read mainMenu$(x)
read subMenuAmount(x)
for y=1 to subMenuAmount(x)
read subMenu$(x,y)
subMenuQuantity(x,y)=rnd(10)+1
next y
next x

sync on

do
`Background
ink rgb(0,0,0),0
box 0,0,639,479
paste image 1, 0,20

`Loop through sub menus
for x=1 to numSubMenus
`If the mouse is hovering it
if mousex()>40 and mousex()<40+text width(mainMenu$(x)) and mousey()>40+20*x and mousey()<40+20*x+text height(mainMenu$(x))
ink rgb(0,200,0),0
`If the mouse is clicked then switch menus to that one
if mouseclick()=1 then currentMenu=x
else
ink rgb(100,100,100),0
endif
`Print main menu text
text 40,40+20*x,mainMenu$(x)
next x

`Reset the 'cursor' for printing the text to the top of the list
listInc=0
`Loop through items
for x=1 to subMenuAmount(currentMenu)
`If the amount is more than 0
if subMenuQuantity(currentMenu,x)>0
`Move the 'cursor' for printing the text down, so we don't get overlapping text
inc listInc
`If mouse is hovering it
if mousex()>270 and mousex()<270+text width(subMenu$(currentMenu,x)) and mousey()>40+20*listInc and mousey()<40+20*listInc+text height(subMenu$(currentMenu,x))
ink rgb(255,255,0),0
`If the mouse is clicked and the time has passed from the last item click
if mouseclick()=1 and timer()-clickTimer>200
`Decriment the number of items
subMenuQuantity(currentMenu,x)=subMenuQuantity(currentMenu,x)-1
`Reset timer
clickTimer=timer()
endif
else
ink rgb(100,100,100),0
endif
`Print item name
text 270,40+20*listInc,subMenu$(currentMenu,x)
`Print item quantity
text 500,40+20*listInc,str$(subMenuQuantity(currentMenu,x))
endif
next x

REM HERE'S WHAT I'VE CHANGED -------------------------------------
if currentMenu=1
`Do right menu graphics
if "items" then ink rgb(120,142,200),0
text 270,55,"ITEM"
text 500,55,"QUANTITY"
EndIf

if currentMenu=2
`Do right menu graphics
if "save" then ink rgb(120,102,200),0
text 250,250, "Save a new game?"

if keystate(31) = 1
filename$ = "currentsave.save"
if file exist (filename$) = 1 then delete file filename$
open to write 1, filename$
savadata1# = object position x(1)
savadata2# = object position y(1)
savadata3# = object position z(1)
write float 1,savadata1#
write float 1,savadata2#
write float 1,savadata3#
close file 1
endif

endIf

if currentMenu=4 then end
sync
cls
loop


Dragonseige

Login to post a reply

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