If any part of it does not make sense, just post here and I or someone will break it down for you mate.
Ive added some more remarks to this example in case thats all that was required.
rem ----------------------------------------------------------------------------
rem "loading" / "progress" / "construction" bars example
rem indi
rem dbp 5.5
rem friday 20th august 2004
rem ----------------------------------------------------------------------------
REM TEMP SETUP
sync on : sync rate 60
set text size 13 : set text font "arial"
backdrop on
REM DECLARE A LOAD BAR TYPE
type LoadBar
name$ as string
x1 as integer
y1 as integer
x2 as integer
y2 as integer
bdr as integer
width as integer
height as integer
length as integer
endtype
REM DECLARE A LOADBAR ARRAY FOR USE WITH THE TYPE
dim LoadBar(1) as LoadBar
REM DEFINE THE LOADBAR DETAILS
LoadBar(1).height = 8
LoadBar(1).width = 256
LoadBar(1).x1 = 10
LoadBar(1).y1 = 30
LoadBar(1).x2 = LoadBar(1).x1 + LoadBar(1).width
LoadBar(1).y2 = LoadBar(1).y1 + LoadBar(1).height
LoadBar(1).bdr = 1
LoadBar(1).name$ = "Loading Data Stream 1"
LoadBar(1).length = 0
REM LOAD A CUBE FOR EACH ITERATION
REM UPDATE THE LOADING WITH A SYNC
for i = 1 to 25
LoadBar(1).length = i*10
make object cube i,1
rotate object i,i*10,i*10,i*10
Display_LoadBar(1)
rem this is just a visual wait but not required for higher poly models
wait 500
sync
next i
REM HOLD THE PROGRAM HERE UNTIL THE USER EXITS
text 1,1,"press esscape to exit"
sync
suspend for key
REM THE ABOVE BIT IS WHERE YOU WOULD PLACE YOUR MAIN LOOP PERHAPS
REM CLEANUP
undim LoadBar(1)
end
REM PLACE THIS FUNCTION AFTER YOUR END COMMAND
function Display_LoadBar(Num)
box LoadBar(Num).x1,LoadBar(Num).y1,LoadBar(Num).x2,LoadBar(Num).y2,rgb(192,192,192),rgb(92,92,92),rgb(192,192,192),rgb(92,92,92)
ink rgb(32,32,32),1
box LoadBar(Num).x1+LoadBar(Num).bdr,LoadBar(Num).y1+LoadBar(Num).bdr,LoadBar(Num).x2-LoadBar(Num).bdr,LoadBar(Num).y2-LoadBar(Num).bdr
if LoadBar(Num).length > LoadBar(Num).width
box LoadBar(Num).x1+LoadBar(Num).bdr+1,LoadBar(Num).y1+LoadBar(Num).bdr+1,LoadBar(Num).x1+LoadBar(Num).width-LoadBar(Num).bdr-1,LoadBar(Num).y2-LoadBar(Num).bdr-1,rgb(255,255,0),rgb(255,255,0),rgb(0,255,0),rgb(0,255,0)
else
box LoadBar(Num).x1+LoadBar(Num).bdr+1,LoadBar(Num).y1+LoadBar(Num).bdr+1,LoadBar(Num).x1+LoadBar(Num).length-1,LoadBar(Num).y2-LoadBar(Num).bdr-1,rgb(255,255,0),rgb(255,255,0),rgb(0,255,0),rgb(0,255,0)
endif
ink rgb(255,255,55),1
text LoadBar(Num).x1+LoadBar(Num).bdr+2,LoadBar(Num).y1 + LoadBar(Num).height+2,LoadBar(Num).name$
endfunction