UN FINISHED WORK WORK IN PROGRESS MITE BE OK IF YOU INTERESTED IN MAKING AN AR GAME FOR ANDROID,APPLE
MOD EDIT
// set window properties
SetWindowTitle( "AR kpac" )
SetWindowSize( 1024, 768, 0 )
// set display properties
SetVirtualResolution( 1024, 768 )
SetOrientationAllowed( 1, 1, 1, 1 )
SetScissor(0,0,0,0)
SetClearColor( 101,120,154 )
SetGenerateMipmaps( 1 )
UseNewDefaultFonts(1)
SetPrintSize(40)
permission$ = "WriteExternal"
if ( CheckPermission( permission$ ) <= 0 )
RequestPermission( permission$ )
while( CheckPermission( permission$ ) = 1 )
Sync()
endwhile
endif
permission$ = "Camera"
if ( CheckPermission( permission$ ) <= 0 )
RequestPermission( permission$ )
while( CheckPermission( permission$ ) = 1 )
Sync()
endwhile
endif
// camera range from 0.1 meters to 40 meters
SetCameraRange( 1, 0.1, 100 )
SetAmbientColor( 128,128,128 )
SetSunColor( 255,255,255 )
global test
dim bricks[1000]
dim x_pos[1000] as float
dim y_pos[1000] as float
dim z_pos[1000] as float
dim drones[1000]
dim drone_time[1000]
dim drone_move[1000]
dim drone_turn[100,100]
dim drone_maker[100,100]
dim drone_test_under[1000]
dim rings[1000]
dim drone_skin[1000]
global music
global me
global keep
global brick
global pivot
global test_front
global test_under
global jump
global Move
global move_time#
global arrow
global rings_amount
global drone_amount
global pick_up
move_time#=0
global ball
global dropping=0
for i = 101 to 150
CreateObjectPlane( i, 1,1 )
SetObjectCollisionMode(i,0)
SetObjectRotation( i, 90,0,0 )
FixObjectPivot( i )
SetObjectVisible( i, 0 )
SetObjectColor( i, 255,255,255,128 ) // 50% transparent
SetObjectTransparency( i, 1 )
next i
AddVirtualButton(90,100,300,200)
AddVirtualButton(91,300,300,200)
AddVirtualButton(92,100,500,200)
AddVirtualButton(93,300,500,200)
AddVirtualButton(94,100,100,200)
AddVirtualButton(95,300,100,200)
AddVirtualButton(96,100,700,200)
AddVirtualButton(97,300,700,200)
AddVirtualButton(98,1024-200,500,200)
AddVirtualButton(99,1024-200,700,200)
setVirtualButtontext(90,"rotate x+")
setVirtualButtontext(91,"rotate x-")
setVirtualButtontext(92,"rotate z+")
setVirtualButtontext(93,"rotate z-")
setVirtualButtontext(94,"rotate y+")
setVirtualButtontext(95,"rotate y-")
setVirtualButtontext(96,"turn left")
setVirtualButtontext(97,"turn right")
setVirtualButtontext(98,"jump")
setVirtualButtontext(99,"move")
SetCameraRotation(1,0,0,0)
setcameraposition(1,0,1,-4)
AddVirtualButton( 1, 100,465,200 )
AddVirtualButton( 2, 100,665,200 )
SetVirtualButtonText( 1, "level +" )
SetVirtualButtonText( 2, "level -" )
AddVirtualButton( 4, 924,665,200 )
SetVirtualButtonText( 4, "Hide" )
AddVirtualButton( 5, 305,465,200 )
AddVirtualButton( 6, 305,665,200 )
SetVirtualButtonText( 5, "Light +" )
SetVirtualButtonText( 6, "Light -" )
AddVirtualButton( 9, 300,70,200 )
SetVirtualButtonText( 9, "zoom -" )
AddVirtualButton( 10, 100,70,200 )
SetVirtualButtonText( 10, "zoom +" )
AddVirtualButton( 11, 1024/2,10,200 )
SetVirtualButtonText( 11, "menu" )
function ShowHUD( show as integer,show2 as integer )
SetVirtualButtonVisible( 1, show )
SetVirtualButtonVisible( 2, show )
SetVirtualButtonVisible( 4, show )
SetVirtualButtonVisible( 5, show )
SetVirtualButtonVisible( 6, show )
SetVirtualButtonVisible( 9, show )
SetVirtualButtonVisible( 10, show )
SetVirtualButtonVisible( 11, show2 )
SetVirtualButtonVisible( 90, show2 )
SetVirtualButtonVisible( 91, show2 )
SetVirtualButtonVisible( 92, show2 )
SetVirtualButtonVisible( 93, show2 )
SetVirtualButtonVisible( 94, show2 )
SetVirtualButtonVisible( 95, show2 )
SetVirtualButtonVisible( 96, show2 )
SetVirtualButtonVisible( 97, show2 )
SetVirtualButtonVisible( 98, show2 )
SetVirtualButtonVisible( 99, show2 )
SetVirtualButtonActive( 1, show )
SetVirtualButtonActive( 2, show )
SetVirtualButtonActive( 4, show )
SetVirtualButtonActive( 5, show )
SetVirtualButtonActive( 6, show )
SetVirtualButtonActive( 9, show )
SetVirtualButtonActive( 10, show )
SetVirtualButtonActive( 11, show2 )
SetVirtualButtonActive( 90, show2 )
SetVirtualButtonActive( 91, show2 )
SetVirtualButtonActive( 92, show2 )
SetVirtualButtonActive( 93, show2 )
SetVirtualButtonActive( 94, show2 )
SetVirtualButtonActive( 95, show2 )
SetVirtualButtonActive( 96, show2 )
SetVirtualButtonActive( 97, show2 )
SetVirtualButtonActive( 98, show2 )
SetVirtualButtonActive( 99, show2 )
endfunction
// initialize AR, if possible
ARSetup()
while( ARGetStatus() = 1 )
// wait while user is being prompted to install ARCore
Sync()
endwhile
AnchorID as integer = 0
ShowPlanes as integer = 1
ambientScale# = 1.0
ShowHUD( 1,0 )
SetCameraRotation(1,0,0,0)
setcameraposition(1,0,0.3,-2)
global lev=1
global play_game=0
level1()
global object_hit11
do
// get light estimation
ambient = ARGetLightEstimate() * 255 * ambientScale#
SetAmbientColor( ambient,ambient,ambient )
if ( GetPointerReleased() and ShowPlanes = 1 )
numHits = ARHitTest( GetPointerX(), GetPointerY() )
if ( numHits > 0 )
if ( AnchorID > 0 ) then ARDeleteAnchor( AnchorID )
AnchorID = ARCreateAnchorFromHitTest( 1 )
keep=AnchorID
ARFixObjectToAnchor( pivot, AnchorID)
else
// if the user didn't tap on any planes then hide the object
endif
// clean up some internal resources
ARHitTestFinish()
endif
// place the buttons at the edge of the screen
// needs to be done regularly in case orientation changes
SetVirtualButtonPosition( 1, GetScreenBoundsLeft()+105, GetScreenBoundsBottom()-310 )
SetVirtualButtonPosition( 2, GetScreenBoundsLeft()+105, GetScreenBoundsBottom()-105 )
SetVirtualButtonPosition( 4, GetScreenBoundsRight()-105, GetScreenBoundsBottom()-105 )
SetVirtualButtonPosition( 5, GetScreenBoundsLeft()+310, GetScreenBoundsBottom()-310 )
SetVirtualButtonPosition( 6, GetScreenBoundsLeft()+310, GetScreenBoundsBottom()-105 )
// detect button presses if they are visible
if ( ShowPlanes = 1 )
if ( GetVirtualButtonPressed(1) )
if lev<10
for t=1 to 1000
if GetObjectExists(bricks[t]):deleteobject(bricks[t]) : endif
if GetObjectExists( rings[t] )=1:deleteobject( rings[t] ) : endif
if GetObjectExists( drones[t])=1:deleteobject( drones[t]) : endif
if GetObjectExists( drone_test_under[t])=1:deleteobject( drone_test_under[t]) : endif
x_pos[t] =0
y_pos[t] =0
z_pos[t] =0
drone_time[t]=0
drone_move[t]=0
next
for t=1 to 100
for q=1 to 100
drone_turn[t,q]=0
drone_maker[t,q]=0
next
next
if GetObjectExists(me)=1:deleteobject(me):endif
if GetObjectExists( pivot)=1:deleteobject(pivot):endif
if GetObjectExists( test_front)=1:deleteobject(test_front):endif
if GetObjectExists( test_under)=1:deleteobject(test_under):endif
if GetObjectExists( ball)=1:deleteobject(ball):endif
if GetObjectExists( arrow)=1:deleteobject(arrow):endif
win=0
brick=0
jump=0
Move=0
move_time#=0
lev=lev+1
IF lev=11 then lev=1
select lev
case 1:level1():endcase
case 2:level2():endcase
case 3:level3():endcase
case 4:level4():endcase
case 5:level5():endcase
case 6:level6():endcase
case 7:level7():endcase
case 8:level8():endcase
case 9:level9():endcase
case 10:level10():endcase
endselect
ARFixObjectToAnchor( pivot, keep)
endif
endif
if ( GetVirtualButtonPressed(2) )
if lev>1
for t=1 to 1000
if GetObjectExists(bricks[t]):deleteobject(bricks[t]) : endif
if GetObjectExists( rings[t] )=1:deleteobject( rings[t] ) : endif
if GetObjectExists( drones[t])=1:deleteobject( drones[t]) : endif
if GetObjectExists( drone_test_under[t])=1:deleteobject( drone_test_under[t]) : endif
x_pos[t] =0
y_pos[t] =0
z_pos[t] =0
drone_time[t]=0
drone_move[t]=0
next
for t=1 to 100
for q=1 to 100
drone_turn[t,q]=0
drone_maker[t,q]=0
next
next
if GetObjectExists(me)=1:deleteobject(me):endif
if GetObjectExists( pivot)=1:deleteobject(pivot):endif
if GetObjectExists( test_front)=1:deleteobject(test_front):endif
if GetObjectExists( test_under)=1:deleteobject(test_under):endif
if GetObjectExists( ball)=1:deleteobject(ball):endif
if GetObjectExists( arrow)=1:deleteobject(arrow):endif
brick=0
jump=0
Move=0
move_time#=0
lev=lev-1
win=0
select lev
case 1:level1():endcase
case 2:level2():endcase
case 3:level3():endcase
case 4:level4():endcase
case 5:level5():endcase
case 6:level6():endcase
case 7:level7():endcase
case 8:level8():endcase
case 9:level9():endcase
case 10:level10():endcase
endselect
ARFixObjectToAnchor( pivot, keep)
endif
endif
if ( GetVirtualButtonPressed(9) )
MoveObjectLocalZ(pivot,-0.08)
endif
if ( GetVirtualButtonPressed(10) )
MoveObjectLocalZ(pivot,0.08)
endif
if ( GetVirtualButtonReleased(4)=1 and play_game=0)
ShowPlanes = 1 - ShowPlanes
ShowHUD( 0,1 )
play_game=1
endif
if ( GetVirtualButtonPressed(5) )
inc ambientScale#, 0.1
endif
if ( GetVirtualButtonPressed(6) )
dec ambientScale#, 0.1
endif
else
if ( GetVirtualButtonReleased(11)=1 and play_game=1 )
ShowPlanes = 1 - ShowPlanes
ShowHUD( 1,0 )
play_game=0
endif
endif
for i = 101 to 150
SetObjectVisible( i, 0 )
next i
// show detected planes
if ( ShowPlanes )
numPlanes = ARGetPlanes(0)
// this demo stops at 50 planes, but there is no internal limit
if numPlanes > 50 then numPlanes = 50
for i = 1 to numPlanes
SetObjectPosition( i+100, ARGetPlaneX(i), ARGetPlaneY(i), ARGetPlaneZ(i) )
SetObjectRotation( i+100, ARGetPlaneAngleX(i), ARGetPlaneAngleY(i), ARGetPlaneAngleZ(i) )
SetObjectScale( i+100, ARGetPlaneSizeX(i), 1, ARGetPlaneSizeZ(i) )
SetObjectVisible( i+100, 1 )
next i
ARGetPlanesFinish()
endif
////*********************************************************************************************************************************************************
////*********************************************************************************************************************************************************
////*********************************************************************************************************************************************************
////*********************************************************************************************************************************************************
////*********************************************************************************************************************************************************
////*********************************************************************************************************************************************************
////*********************************************************************************************************************************************************
////*********************************************************************************************************************************************************
////*********************************************************************************************************************************************************
ARDrawBackground()
if play_game=1
game_on()
endif
Sync()
loop
function game_on()
if GetVirtualButtonState(98)=1 and move_time#=0 and move=0
move_time#=10
jump=1
endif
if jump=0
if move=0 and GetVirtualButtonState(99)=1 and move_time#=0
move=1
move_time#=10
endif
if move_time#>0 and move=1
move_time#=move_time#-1
MoveObjectLocalZ(me,0.008)
RotateObjectLocalX(ball,9)
if move_time#=0
move=0
endif
endif
if move=0 and GetVirtualButtonState(97)=1 and move_time#=0
move_time#=10
move=10
endif
if move=0 and GetVirtualButtonState(96)=1 and move_time#=0
move_time#=10
move=11
endif
if (move=10)
move_time#=move_time#-1
if move_time#=0:move=0:endif
RotateObjectLocalY(me,9)
endif
if (move=11)
move_time#=move_time#-1
if move_time#=0:move=0:endif
RotateObjectLocalY(me,-9)
endif
if (move=5)
move_time#=move_time#-1
if move_time#=0
move=6
move_time#=10
endif
RotateObjectLocalx(me,9)
endif
if (move=6)
move_time#=move_time#-1
if move_time#=0
move=0
endif
MoveObjectLocalZ(me,0.008)
endif
if move=0
x#=GetObjectWorldX(me)
y#=GetObjectWorldy(me)
z#=GetObjectWorldz(me)
x1#=GetObjectWorldX(test_under)
y1#=GetObjectWorldy(test_under)
z1#=GetObjectWorldz(test_under)
object_hit1=ObjectRayCast(0,x#,y#,z#,x1#,y1#,z1#)
hit_front=0
hit_under=0
for t=1 to brick
if object_hit1=bricks[t] then hit_under=t
next
if hit_front>0 and move_time#=0 and move=0
RotateobjectLocalX(me,-90)
endif
if hit_under=0 and move_time#=0 and move=0
move_time#=10
move=5
endif
endif
x2#=GetObjectWorldX(test_front)
y2#=GetObjectWorldy(test_front)
z2#=GetObjectWorldz(test_front)
object_hit2=ObjectRayCast(0,x#,y#,z#,x2#,y2#,z2#)
for t=1 to brick
if object_hit2=bricks[t] then hit_front=t
next
if hit_front>0 and move_time#=0 and move=0
RotateobjectLocalX(me,-90)
endif
endif
for p=1 to rings_amount
if GetObjectExists(rings[p])=1
x#=GetObjectWorldX(me)
y#=GetObjectWorldy(me)
z#=GetObjectWorldz(me)
x1#=GetObjectWorldX(rings[p])
y1#=GetObjectWorldy(rings[p])
z1#=GetObjectWorldz(rings[p])
if x#>x1#-0.04 and x#<x1#+0.04
if y#>y1#-0.04 and y#<y1#+0.04
if z#>z1#-0.04 and z#<z1#+0.04
if GetObjectVisible(rings[p])=1
setObjectVisible(rings[p],0)
pick_up=pick_up+1
endif
endif
endif
endif
RotateObjectLocalY(rings[p],1)
endif
next
move_drones()
if GetVirtualButtonState(90)=1 :RotateObjectLocalx(pivot,1):endif
if GetVirtualButtonState(91)=1 :RotateObjectLocalx(pivot,-1):endif
if GetVirtualButtonState(92)=1 :RotateObjectLocalz(pivot,1):endif
if GetVirtualButtonState(93)=1 :RotateObjectLocalz(pivot,-1):endif
if GetVirtualButtonState(94)=1 :RotateObjectLocaly(pivot,1):endif
if GetVirtualButtonState(95)=1 :RotateObjectLocaly(pivot,-1):endif
if jump=1
Jump1()
endif
if jump=2
drop()
endif
print (hit_under)
print (hit_front)
print (brick)
print(pick_up)
if pick_up=rings_amount
if hit_under =101 and lev=1 :win=1: endif
if hit_under =77 and lev=2 :win=1: endif
if hit_under =97 and lev=3 :win=1: endif
if hit_under =149 and lev=4 :win=1: endif
if hit_under =101 and lev=5 :win=1: endif
if hit_under =101 and lev=6 :win=1: endif
if hit_under =95 and lev=7 :win=1: endif
if hit_under =146 and lev=8 :win=1: endif
if hit_under =135 and lev=9 :win=1: endif
if hit_under =185 and lev=10 :win=1: endif
endif
if win=1
if lev<10
for t=1 to 1000
if GetObjectExists(bricks[t]):deleteobject(bricks[t]) : endif
if GetObjectExists( rings[t] )=1:deleteobject( rings[t] ) : endif
if GetObjectExists( drones[t])=1:deleteobject( drones[t]) : endif
if GetObjectExists( drone_test_under[t])=1:deleteobject( drone_test_under[t]) : endif
x_pos[t] =0
y_pos[t] =0
z_pos[t] =0
drone_time[t]=0
drone_move[t]=0
next
for t=1 to 100
for q=1 to 100
drone_turn[t,q]=0
drone_maker[t,q]=0
next
next
if GetObjectExists(me)=1:deleteobject(me):endif
if GetObjectExists( pivot)=1:deleteobject(pivot):endif
if GetObjectExists( test_front)=1:deleteobject(test_front):endif
if GetObjectExists( test_under)=1:deleteobject(test_under):endif
if GetObjectExists( ball)=1:deleteobject(ball):endif
if GetObjectExists( arrow)=1:deleteobject(arrow):endif
win=0
brick=0
jump=0
Move=0
move_time#=0
lev=lev+1
select lev
case 1:level1():endcase
case 2:level2():endcase
case 3:level3():endcase
case 4:level4():endcase
case 5:level5():endcase
case 6:level6():endcase
case 7:level7():endcase
case 8:level8():endcase
case 9:level9():endcase
case 10:level10():endcase
endselect
ARFixObjectToAnchor( pivot, keep)
endif
endif
endfunction
function move_drones()
for q=1 to drone_amount
if GetObjectExists(drones[q])=1
MoveObjectLocalZ(drones[q],0.008)
RotateObjectLocalX(drone_skin[q],9)
x#=GetObjectWorldX(me)
y#=GetObjectWorldy(me)
z#=GetObjectWorldz(me)
x1#=GetObjectWorldX(drones[q])
y1#=GetObjectWorldy(drones[q])
z1#=GetObjectWorldz(drones[q])
if x#>x1#-0.04 and x#<x1#+0.04
if y#>y1#-0.04 and y#<y1#+0.04
if z#>z1#-0.04 and z#<z1#+0.04
reset_me()
endif
endif
endif
drone_time[q]=drone_time[q]+1
if drone_time[q]=10
drone_time[q]=0
x#=GetObjectWorldX(drones[q])
y#=GetObjectWorldy(drones[q])
z#=GetObjectWorldz(drones[q])
x1#=GetObjectWorldX(drone_test_under[q])
y1#=GetObjectWorldy(drone_test_under[q])
z1#=GetObjectWorldz(drone_test_under[q])
object_hit11=ObjectRayCast(0,x#,y#,z#,x1#,y1#,z1#)
if object_hit11=bricks[drone_maker[q,drone_move[q]]]
select drone_turn[q,drone_move[q]]
case 1: RotateObjectLocalX(drones[q],-90): drone_move[q]=drone_move[q]+1 : endcase
case 2: RotateObjectLocalY(drones[q],-90): drone_move[q]=drone_move[q]+1 : endcase
case 3: RotateObjectLocaly(drones[q],90) : drone_move[q]=drone_move[q]+1 : endcase
case 4: RotateObjectLocalx(drones[Q],90) : drone_move[Q]=drone_move[Q]+1:endcase
case 5: RotateObjectLocalY(drones[Q ],180) : drone_move[Q]=drone_move[Q]+1:endcase
endselect
if lev=1
if drone_move[1]=7 then drone_move[1]=1
if drone_move[2]=5 then drone_move[2]=1
if drone_move[3]=7 then drone_move[3]=1
endif
if lev=2
if drone_move[1]=5 then drone_move[1]=1
if drone_move[2]=5 then drone_move[2]=1
if drone_move[3]=5 then drone_move[3]=1
endif
if lev=3
if drone_move[1]=5 then drone_move[1]=1
if drone_move[2]=5 then drone_move[2]=1
if drone_move[3]=5 then drone_move[3]=1
if drone_move[4]=5 then drone_move[4]=1
endif
if lev=4
if drone_move[1]=5 then drone_move[1]=1
if drone_move[2]=5 then drone_move[2]=1
if drone_move[3]=5 then drone_move[3]=1
if drone_move[4]=5 then drone_move[4]=1
if drone_move[5]=5 then drone_move[5]=1
endif
if lev=5
if drone_move[1]=5 then drone_move[1]=1
if drone_move[2]=5 then drone_move[2]=1
if drone_move[3]=5 then drone_move[3]=1
if drone_move[4]=5 then drone_move[4]=1
endif
if lev=6
if drone_move[1]=5 then drone_move[1]=1
if drone_move[2]=5 then drone_move[2]=1
if drone_move[3]=5 then drone_move[3]=1
if drone_move[4]=5 then drone_move[4]=1
endif
if lev=7
if drone_move[1]=7 then drone_move[1]=1
if drone_move[2]=7 then drone_move[2]=1
if drone_move[3]=5 then drone_move[3]=1
endif
if lev=8
if drone_move[1]=5 then drone_move[1]=1
if drone_move[2]=5 then drone_move[2]=1
if drone_move[3]=5 then drone_move[3]=1
if drone_move[4]=5 then drone_move[4]=1
if drone_move[5]=5 then drone_move[5]=1
if drone_move[6]=5 then drone_move[6]=1
endif
if lev=9
if drone_move[1]=5 then drone_move[1]=1
if drone_move[2]=7 then drone_move[2]=1
if drone_move[3]=7 then drone_move[3]=1
if drone_move[4]=5 then drone_move[4]=1
endif
if lev=10
if drone_move[1]=11 then drone_move[1]=1
if drone_move[2]=11 then drone_move[2]=1
if drone_move[3]=11 then drone_move[3]=1
if drone_move[4]=11 then drone_move[4]=1
if drone_move[5]=11 then drone_move[5]=1
if drone_move[6]=11 then drone_move[6]=1
if drone_move[7]=11 then drone_move[7]=1
if drone_move[8]=11 then drone_move[8]=1
endif
endif
endif
endif
next
endfunction
function Jump1()
move_time#=move_time#-1
if move_time#>0
MoveObjectLocalz(me,0.02)
MoveObjectLocaly(me,0.05)
endif
x#=GetObjectWorldX(me)
y#=GetObjectWorldy(me)
z#=GetObjectWorldz(me)
x1#=GetObjectWorldX(test_front)
y1#=GetObjectWorldy(test_front)
z1#=GetObjectWorldz(test_front)
object_hit2=ObjectRayCast(0,x#,y#,z#,x1#,y1#,z1#)
if object_hit2<>0:MoveObjectLocalz(me,-0.02):endif
if move_time#=0
jump=2
move_time#=10
endif
endfunction
function reset_me()
FixObjectToObject(me,0)
setobjectposition(me,0,0,0)
setobjectrotation(me,0,0,0)
select lev
case 1
FixObjectToObject(me,bricks[99])
MoveObjectLocalY(me,0.08)
endcase
case 2
FixObjectToObject(me,bricks[75])
MoveObjectLocalY(me,0.08)
endcase
case 3
FixObjectToObject(me,bricks[102])
MoveObjectLocalY(me,0.08)
endcase
case 4
FixObjectToObject(me,bricks[145])
MoveObjectLocalY(me,0.08)
endcase
case 5
FixObjectToObject(me,bricks[97])
MoveObjectLocalY(me,0.08)
endcase
case 6
FixObjectToObject(me,bricks[97])
MoveObjectLocalY(me,0.08)
endcase
case 7
FixObjectToObject(me,bricks[93])
MoveObjectLocalY(me,0.08)
RotateObjectLocalY(me,180)
endcase
case 8
FixObjectToObject(me,bricks[148])
MoveObjectLocalY(me,0.08)
RotateObjectLocalY(me,180)
endcase
endselect
dropping=0
jump=0
move_time#=0
move=0
endfunction
function drop()
MoveObjectLocaly(me,-0.04)
dropping=dropping+1
if dropping=100
reset_me()
endif
for t=1 to brick
if jump>0
x#=GetObjectWorldX(test_under)
y#=GetObjectWorldy(test_under)
z#=GetObjectWorldz(test_under)
x1#=GetObjectWorldX(bricks[t])
y1#=GetObjectWorldy(bricks[t])
z1#=GetObjectWorldz(bricks[t])
if x#>x1#-0.04 and x#<x1#+0.04
if y#>y1#-0.04 and y#<y1#+0.04
if z#>z1#-0.04 and z#<z1#+0.04
FixObjectToObject(me,0)
setobjectposition(me,0,0,0)
FixObjectToObject(me,bricks[t])
MoveObjectLocalY(me,0.08)
jump=0
move_time#=0
move=0
dropping=0
endif
endif
endif
endif
next
endfunction
function level1()
if GetMusicExists(music)eleteMusic(music):endif
music=LoadMusic("\media\music\music1.mp3")
pick_up=0
texture_1=LoadImage("\media\textures\lev1.jpg") /// bricks
texture_2=LoadImage("\media\textures\tex2.png") /// my balll
texture_4=LoadImage("\media\textures\tex3.png") // bad guy
brick=0
opentoread(1,"\media\data\Level1.data")
repeat
brick=brick+1
get1=ReadInteger(1)
get2=ReadInteger(1)
get3=ReadInteger(1)
bricks[brick]=CreateObjectBox(0.08,0.08,0.08)
setobjectposition(bricks[brick],0.08*GET1/10,0.08*GET2/10,0.08*GET3/10)
setObjectImage(bricks[brick],texture_1,0)
x_pos[BRICK]=GET1
y_pos[BRICK]=GET2
z_pos[BRICK]=GET3
until FileEOF(1)
CloseFile(1)
pivot=createobjectsphere(0.001,32,32)
SetObjectCollisionMode(pivot,0)
for t=1 to brick
FixObjectToObject(bricks[t],pivot)
MoveObjectLocalX(bricks[t],-0.08*3)
MoveObjectLocalz(bricks[t],-0.08*14)
MoveObjectLocaly(bricks[t],-0.08*4)
next
me=createobjectsphere(0.01,32,32)
FixObjectToObject(me,bricks[99])
MoveObjectLocalY(me,0.08)
test_front=createobjectbox(0.08,0.08,0.08)
test_under=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(test_front,me)
FixObjectToObject(test_under,me)
MoveObjectLocalY(test_under,-0.08)
MoveObjectLocalz(test_front,0.08)
SetObjectCollisionMode(test_front,0)
SetObjectCollisionMode(test_under,0)
SetObjectCollisionMode(me,0)
SetObjectVisible(test_front,0)
SetObjectVisible(test_under,0)
loadimage(200,"\media\textures\ball.png")
loadimage(201,"\media\textures\Arrow.png")
arrow=CreateObjectplane(0.1,0.2)
RotateObjectGlobalX(arrow,90)
FixObjectToObject(arrow,me)
FixObjectPivot(arrow)
SetObjectCollisionMode(arrow,0)
setobjectimage(arrow,201,0)
MoveObjectLocalY(arrow,0.08)
SetObjectAlphaMask(arrow,1)
ball=CreateObjectSphere(0.1,32,32)
FixObjectToObject(ball,me)
SetObjectCollisionMode(ball,0)
setobjectimage(ball,200,0)
rings[1]=loadobject("\media\models\ring.obj")
setobjectscale(rings[1],0.04,0.04,0.04)
FixObjectToObject(rings[1],bricks[1])
MoveObjectLocalY(rings[1],0.08)
SetObjectCollisionMode(rings[1],0)
rings[2]=loadobject("\media\models\ring.obj")
setobjectscale(rings[2],0.04,0.04,0.04)
FixObjectToObject(rings[2],bricks[31])
MoveObjectLocalY(rings[2],0.08)
SetObjectCollisionMode(rings[2],0)
rings[3]=loadobject("\media\models\ring.obj")
setobjectscale(rings[3],0.04,0.04,0.04)
FixObjectToObject(rings[3],bricks[13])
MoveObjectLocalY(rings[3],0.08)
SetObjectCollisionMode(rings[3],0)
rings[4]=loadobject("\media\models\ring.obj")
setobjectscale(rings[4],0.04,0.04,0.04)
FixObjectToObject(rings[4],bricks[19])
MoveObjectLocalY(rings[4],0.08)
SetObjectCollisionMode(rings[4],0)
rings[5]=loadobject("\media\models\ring.obj")
setobjectscale(rings[5],0.04,0.04,0.04)
FixObjectToObject(rings[5],bricks[37])
MoveObjectLocalY(rings[5],0.08)
SetObjectCollisionMode(rings[5],0)
rings[6]=loadobject("\media\models\ring.obj")
setobjectscale(rings[6],0.04,0.04,0.04)
FixObjectToObject(rings[6],bricks[43])
MoveObjectLocalY(rings[6],0.08)
SetObjectCollisionMode(rings[6],0)
rings[7]=loadobject("\media\models\ring.obj")
setobjectscale(rings[7],0.04,0.04,0.04)
FixObjectToObject(rings[7],bricks[54])
MoveObjectLocalY(rings[7],0.08)
SetObjectCollisionMode(rings[7],0)
rings[8]=loadobject("\media\models\ring.obj")
setobjectscale(rings[8],0.04,0.04,0.04)
FixObjectToObject(rings[8],bricks[49])
MoveObjectLocalY(rings[8],0.08)
SetObjectCollisionMode(rings[8],0)
rings[9]=loadobject("\media\models\ring.obj")
setobjectscale(rings[9],0.04,0.04,0.04)
FixObjectToObject(rings[9],bricks[79])
MoveObjectLocalY(rings[9],0.08)
SetObjectCollisionMode(rings[9],0)
rings[10]=loadobject("\media\models\ring.obj")
setobjectscale(rings[10],0.04,0.04,0.04)
FixObjectToObject(rings[10],bricks[67])
MoveObjectLocalY(rings[10],0.08)
SetObjectCollisionMode(rings[10],0)
rings[11]=loadobject("\media\models\ring.obj")
setobjectscale(rings[11],0.04,0.04,0.04)
FixObjectToObject(rings[11],bricks[85])
MoveObjectLocalY(rings[11],0.08)
SetObjectCollisionMode(rings[11],0)
rings[12]=loadobject("\media\models\ring.obj")
setobjectscale(rings[12],0.04,0.04,0.04)
FixObjectToObject(rings[12],bricks[61])
MoveObjectLocalY(rings[12],0.08)
SetObjectCollisionMode(rings[12],0)
rings_amount=12
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
drones[1]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[1],bricks[31])
MoveObjectLocalY(drones[1],0.08)
drone_test_under[1]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[1],drones[1])
MoveObjectLocalY(drone_test_under[1],-0.08)
SetObjectCollisionMode(drone_test_under[1],0)
SetObjectCollisionMode(drones[1],0)
SetObjectVisible(drone_test_under[1],0)
drone_time[1]=0
drone_move[1]=1
drone_turn[1,1]=1//rotatex -90
drone_turn[1,2]=2//rotatey -90
drone_turn[1,3]=2//rotatey -90
drone_turn[1,4]=1//rotatex -90
drone_turn[1,5]=2
drone_turn[1,6]=2
drone_maker[1,1]=26
drone_maker[1,2]=19
drone_maker[1,3]=13
drone_maker[1,4]=8
drone_maker[1,5]=1
drone_maker[1,6]=31
drones[2]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[2],bricks[55])
MoveObjectLocalY(drones[2],0.08)
drone_test_under[2]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[2],drones[2])
MoveObjectLocalY(drone_test_under[2],-0.08)
SetObjectCollisionMode(drone_test_under[2],0)
SetObjectCollisionMode(drones[2],0)
SetObjectVisible(drone_test_under[2],0)
drone_time[2]=0
drone_move[2]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[2,1]=2
drone_turn[2,2]=2
drone_turn[2,3]=2
drone_turn[2,4]=2
drone_turn[2,5]=2
drone_maker[2,1]=49
drone_maker[2,2]=43
drone_maker[2,3]=37
drone_maker[2,4]=55
drones[3]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[3],bricks[79])
RotateObjectLocaly(drones[3],180)
MoveObjectLocalY(drones[3],0.08)
drone_test_under[3]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[3],drones[3])
MoveObjectLocalY(drone_test_under[3],-0.08)
SetObjectCollisionMode(drone_test_under[3],0)
SetObjectCollisionMode(drones[3],0)
SetObjectVisible(drone_test_under[3],0)
drone_time[3]=0
drone_move[3]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[3,1]=1
drone_turn[3,2]=3
drone_turn[3,3]=3
drone_turn[3,4]=1
drone_turn[3,5]=3
drone_turn[3,6]=3
drone_maker[3,1]=74
drone_maker[3,2]=67
drone_maker[3,3]=61
drone_maker[3,4]=92
drone_maker[3,5]=85
drone_maker[3,6]=79
drone_amount=3
for t=1 to 100
if GetObjectExists(drone_skin[t])=1:deleteobject(drone_skin[t]):endif
next
loadimage(202,"\media\textures\ball2.png")
for t=1 to 3
SetObjectVisible(drone_test_under[t],0)
drone_skin[t]=createobjectsphere(0.1,32,32)
FixObjectToObject(drone_skin[t],drones[t])
setobjectimage(drone_skin[t],202,0)
SetObjectCollisionMode(drone_skin[t],0)
next
PlayMusic(music,1)
SetObjectVisible(pivot,0)
endfunction
function level2()
if GetMusicExists(music)eleteMusic(music):endif
music=LoadMusic("\media\music\music2.mp3")
pick_up=0
texture_1=LoadImage("\media\textures\tex1.png") /// bricks
texture_2=LoadImage("\media\textures\tex2.png") /// my balll
texture_4=LoadImage("\media\textures\tex3.png") // bad guy
brick=0
opentoread(1,"\media\data\Level2.data")
repeat
brick=brick+1
get1=ReadInteger(1)
get2=ReadInteger(1)
get3=ReadInteger(1)
bricks[brick]=CreateObjectBox(0.08,0.08,0.08)
setobjectposition(bricks[brick],0.08*GET1/10,0.08*GET2/10,0.08*GET3/10)
setObjectImage(bricks[brick],texture_1,0)
x_pos[BRICK]=GET1
y_pos[BRICK]=GET2
z_pos[BRICK]=GET3
until FileEOF(1)
CloseFile(1)
pivot=createobjectsphere(0.001,32,32)
SetObjectCollisionMode(pivot,0)
for t=1 to brick
FixObjectToObject(bricks[t],pivot)
MoveObjectLocalX(bricks[t],-0.08*3)
MoveObjectLocalz(bricks[t],-0.08*14)
MoveObjectLocaly(bricks[t],-0.08*4)
next
me=createobjectsphere(0.01,32,32)
FixObjectToObject(me,bricks[75])
MoveObjectLocalY(me,0.08)
test_front=createobjectbox(0.08,0.08,0.08)
test_under=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(test_front,me)
FixObjectToObject(test_under,me)
MoveObjectLocalY(test_under,-0.08)
MoveObjectLocalz(test_front,0.08)
SetObjectCollisionMode(test_front,0)
SetObjectCollisionMode(test_under,0)
SetObjectCollisionMode(me,0)
SetObjectVisible(test_front,0)
SetObjectVisible(test_under,0)
loadimage(200,"\media\textures\ball.png")
loadimage(201,"\media\textures\Arrow.png")
arrow=CreateObjectplane(0.1,0.2)
RotateObjectGlobalX(arrow,90)
FixObjectToObject(arrow,me)
FixObjectPivot(arrow)
SetObjectCollisionMode(arrow,0)
setobjectimage(arrow,201,0)
MoveObjectLocalY(arrow,0.08)
SetObjectAlphaMask(arrow,1)
ball=CreateObjectSphere(0.1,32,32)
FixObjectToObject(ball,me)
SetObjectCollisionMode(ball,0)
setobjectimage(ball,200,0)
rings[1]=loadobject("\media\models\ring.obj")
setobjectscale(rings[1],0.04,0.04,0.04)
FixObjectToObject(rings[1],bricks[19])
MoveObjectLocalY(rings[1],0.08)
SetObjectCollisionMode(rings[1],0)
rings[2]=loadobject("\media\models\ring.obj")
setobjectscale(rings[2],0.04,0.04,0.04)
FixObjectToObject(rings[2],bricks[13])
MoveObjectLocalY(rings[2],0.08)
SetObjectCollisionMode(rings[2],0)
rings[3]=loadobject("\media\models\ring.obj")
setobjectscale(rings[3],0.04,0.04,0.04)
FixObjectToObject(rings[3],bricks[7])
MoveObjectLocalY(rings[3],0.08)
SetObjectCollisionMode(rings[3],0)
rings[4]=loadobject("\media\models\ring.obj")
setobjectscale(rings[4],0.04,0.04,0.04)
FixObjectToObject(rings[4],bricks[1])
MoveObjectLocalY(rings[4],0.08)
SetObjectCollisionMode(rings[4],0)
rings[5]=loadobject("\media\models\ring.obj")
setobjectscale(rings[5],0.04,0.04,0.04)
FixObjectToObject(rings[5],bricks[25])
MoveObjectLocalY(rings[5],0.08)
SetObjectCollisionMode(rings[5],0)
rings[6]=loadobject("\media\models\ring.obj")
setobjectscale(rings[6],0.04,0.04,0.04)
FixObjectToObject(rings[6],bricks[31])
MoveObjectLocalY(rings[6],0.08)
SetObjectCollisionMode(rings[6],0)
rings[7]=loadobject("\media\models\ring.obj")
setobjectscale(rings[7],0.04,0.04,0.04)
FixObjectToObject(rings[7],bricks[37])
MoveObjectLocalY(rings[7],0.08)
SetObjectCollisionMode(rings[7],0)
rings[8]=loadobject("\media\models\ring.obj")
setobjectscale(rings[8],0.04,0.04,0.04)
FixObjectToObject(rings[8],bricks[43])
MoveObjectLocalY(rings[8],0.08)
SetObjectCollisionMode(rings[8],0)
rings[9]=loadobject("\media\models\ring.obj")
setobjectscale(rings[9],0.04,0.04,0.04)
FixObjectToObject(rings[9],bricks[67])
MoveObjectLocalY(rings[9],0.08)
SetObjectCollisionMode(rings[9],0)
rings[10]=loadobject("\media\models\ring.obj")
setobjectscale(rings[10],0.04,0.04,0.04)
FixObjectToObject(rings[10],bricks[61])
MoveObjectLocalY(rings[10],0.08)
SetObjectCollisionMode(rings[10],0)
rings[11]=loadobject("\media\models\ring.obj")
setobjectscale(rings[11],0.04,0.04,0.04)
FixObjectToObject(rings[11],bricks[55])
MoveObjectLocalY(rings[11],0.08)
SetObjectCollisionMode(rings[11],0)
rings[12]=loadobject("\media\models\ring.obj")
setobjectscale(rings[12],0.04,0.04,0.04)
FixObjectToObject(rings[12],bricks[49])
MoveObjectLocalY(rings[12],0.08)
SetObjectCollisionMode(rings[12],0)
rings_amount=12
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
drones[1]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[1],bricks[19])
MoveObjectLocalY(drones[1],0.08)
drone_test_under[1]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[1],drones[1])
MoveObjectLocalY(drone_test_under[1],-0.08)
SetObjectCollisionMode(drone_test_under[1],0)
SetObjectCollisionMode(drones[1],0)
drone_time[1]=0
drone_move[1]=1
drone_turn[1,1]=2//rotatex -90
drone_turn[1,2]=2//rotatey -90
drone_turn[1,3]=2//rotatey -90
drone_turn[1,4]=2//rotatex -90
drone_maker[1,1]=13
drone_maker[1,2]=7
drone_maker[1,3]=1
drone_maker[1,4]=19
drones[2]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[2],bricks[25])
MoveObjectLocalY(drones[2],0.08)
drone_test_under[2]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[2],drones[2])
MoveObjectLocalY(drone_test_under[2],-0.08)
SetObjectCollisionMode(drone_test_under[2],0)
SetObjectCollisionMode(drones[2],0)
drone_time[2]=0
drone_move[2]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[2,1]=3
drone_turn[2,2]=3
drone_turn[2,3]=3
drone_turn[2,4]=3
drone_maker[2,1]=31
drone_maker[2,2]=37
drone_maker[2,3]=43
drone_maker[2,4]=25
drones[3]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[3],bricks[67])
MoveObjectLocalY(drones[3],0.08)
drone_test_under[3]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[3],drones[3])
MoveObjectLocalY(drone_test_under[3],-0.08)
SetObjectCollisionMode(drone_test_under[3],0)
SetObjectCollisionMode(drones[3],0)
drone_time[3]=0
drone_move[3]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[3,1]=2
drone_turn[3,2]=2
drone_turn[3,3]=2
drone_turn[3,4]=2
drone_maker[3,1]=61
drone_maker[3,2]=55
drone_maker[3,3]=49
drone_maker[3,4]=67
drone_amount=3
for t=1 to 100
if GetObjectExists(drone_skin[t])=1:deleteobject(drone_skin[t]):endif
next
loadimage(202,"\media\textures\ball2.png")
for t=1 to drone_amount
SetObjectVisible(drone_test_under[t],0)
drone_skin[t]=createobjectsphere(0.1,32,32)
FixObjectToObject(drone_skin[t],drones[t])
setobjectimage(drone_skin[t],202,0)
SetObjectCollisionMode(drone_skin[t],0)
next
PlayMusic(music,1)
SetObjectVisible(pivot,0)
endfunction
function level3()
if GetMusicExists(music)eleteMusic(music):endif
music=LoadMusic("\media\music\music3.mp3")
pick_up=0
texture_1=LoadImage("\media\textures\tex1.png") /// bricks
texture_2=LoadImage("\media\textures\tex2.png") /// my balll
texture_4=LoadImage("\media\textures\tex3.png") // bad guy
brick=0
opentoread(1,"\media\data\Level3.data")
repeat
brick=brick+1
get1=ReadInteger(1)
get2=ReadInteger(1)
get3=ReadInteger(1)
bricks[brick]=CreateObjectBox(0.08,0.08,0.08)
setobjectposition(bricks[brick],0.08*GET1/10,0.08*GET2/10,0.08*GET3/10)
setObjectImage(bricks[brick],texture_1,0)
x_pos[BRICK]=GET1
y_pos[BRICK]=GET2
z_pos[BRICK]=GET3
until FileEOF(1)
CloseFile(1)
pivot=createobjectsphere(0.1,32,32)
SetObjectCollisionMode(pivot,0)
for t=1 to brick
FixObjectToObject(bricks[t],pivot)
MoveObjectLocalX(bricks[t],-0.08*3)
MoveObjectLocalz(bricks[t],-0.08*4)
MoveObjectLocaly(bricks[t],0.08*7)
next
me=createobjectsphere(0.01,32,32)
FixObjectToObject(me,bricks[102])
MoveObjectLocalY(me,0.08)
test_front=createobjectbox(0.08,0.08,0.08)
test_under=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(test_front,me)
FixObjectToObject(test_under,me)
MoveObjectLocalY(test_under,-0.08)
MoveObjectLocalz(test_front,0.08)
SetObjectCollisionMode(test_front,0)
SetObjectCollisionMode(test_under,0)
SetObjectCollisionMode(me,0)
SetObjectVisible(test_front,0)
SetObjectVisible(test_under,0)
loadimage(200,"\media\textures\ball.png")
loadimage(201,"\media\textures\Arrow.png")
arrow=CreateObjectplane(0.1,0.2)
RotateObjectGlobalX(arrow,90)
FixObjectToObject(arrow,me)
FixObjectPivot(arrow)
SetObjectCollisionMode(arrow,0)
setobjectimage(arrow,201,0)
MoveObjectLocalY(arrow,0.08)
SetObjectAlphaMask(arrow,1)
ball=CreateObjectSphere(0.1,32,32)
FixObjectToObject(ball,me)
SetObjectCollisionMode(ball,0)
setobjectimage(ball,200,0)
rings[1]=loadobject("\media\models\ring.obj")
setobjectscale(rings[1],0.04,0.04,0.04)
FixObjectToObject(rings[1],bricks[19])
MoveObjectLocalY(rings[1],0.08)
SetObjectCollisionMode(rings[1],0)
rings[2]=loadobject("\media\models\ring.obj")
setobjectscale(rings[2],0.04,0.04,0.04)
FixObjectToObject(rings[2],bricks[13])
MoveObjectLocalY(rings[2],0.08)
SetObjectCollisionMode(rings[2],0)
rings[3]=loadobject("\media\models\ring.obj")
setobjectscale(rings[3],0.04,0.04,0.04)
FixObjectToObject(rings[3],bricks[7])
MoveObjectLocalY(rings[3],0.08)
SetObjectCollisionMode(rings[3],0)
rings[4]=loadobject("\media\models\ring.obj")
setobjectscale(rings[4],0.04,0.04,0.04)
FixObjectToObject(rings[4],bricks[1])
MoveObjectLocalY(rings[4],0.08)
SetObjectCollisionMode(rings[4],0)
rings[5]=loadobject("\media\models\ring.obj")
setobjectscale(rings[5],0.04,0.04,0.04)
FixObjectToObject(rings[5],bricks[25])
MoveObjectLocalY(rings[5],0.08)
SetObjectCollisionMode(rings[5],0)
rings[6]=loadobject("\media\models\ring.obj")
setobjectscale(rings[6],0.04,0.04,0.04)
FixObjectToObject(rings[6],bricks[31])
MoveObjectLocalY(rings[6],0.08)
SetObjectCollisionMode(rings[6],0)
rings[7]=loadobject("\media\models\ring.obj")
setobjectscale(rings[7],0.04,0.04,0.04)
FixObjectToObject(rings[7],bricks[37])
MoveObjectLocalY(rings[7],0.08)
SetObjectCollisionMode(rings[7],0)
rings[8]=loadobject("\media\models\ring.obj")
setobjectscale(rings[8],0.04,0.04,0.04)
FixObjectToObject(rings[8],bricks[43])
MoveObjectLocalY(rings[8],0.08)
SetObjectCollisionMode(rings[8],0)
rings[9]=loadobject("\media\models\ring.obj")
setobjectscale(rings[9],0.04,0.04,0.04)
FixObjectToObject(rings[9],bricks[67])
MoveObjectLocalY(rings[9],0.08)
SetObjectCollisionMode(rings[9],0)
rings[10]=loadobject("\media\models\ring.obj")
setobjectscale(rings[10],0.04,0.04,0.04)
FixObjectToObject(rings[10],bricks[61])
MoveObjectLocalY(rings[10],0.08)
SetObjectCollisionMode(rings[10],0)
rings[11]=loadobject("\media\models\ring.obj")
setobjectscale(rings[11],0.04,0.04,0.04)
FixObjectToObject(rings[11],bricks[55])
MoveObjectLocalY(rings[11],0.08)
SetObjectCollisionMode(rings[11],0)
rings[12]=loadobject("\media\models\ring.obj")
setobjectscale(rings[12],0.04,0.04,0.04)
FixObjectToObject(rings[12],bricks[49])
MoveObjectLocalY(rings[12],0.08)
SetObjectCollisionMode(rings[12],0)
rings[13]=loadobject("\media\models\ring.obj")
setobjectscale(rings[13],0.04,0.04,0.04)
FixObjectToObject(rings[13],bricks[73])
MoveObjectLocalY(rings[13],0.08)
SetObjectCollisionMode(rings[13],0)
rings[14]=loadobject("\media\models\ring.obj")
setobjectscale(rings[14],0.04,0.04,0.04)
FixObjectToObject(rings[14],bricks[91])
MoveObjectLocalY(rings[14],0.08)
SetObjectCollisionMode(rings[14],0)
rings[15]=loadobject("\media\models\ring.obj")
setobjectscale(rings[15],0.04,0.04,0.04)
FixObjectToObject(rings[15],bricks[85])
MoveObjectLocalY(rings[15],0.08)
SetObjectCollisionMode(rings[15],0)
rings[16]=loadobject("\media\models\ring.obj")
setobjectscale(rings[16],0.04,0.04,0.04)
FixObjectToObject(rings[16],bricks[79])
MoveObjectLocalY(rings[16],0.08)
SetObjectCollisionMode(rings[16],0)
rings_amount=16
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
drones[1]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[1],bricks[73])
MoveObjectLocalY(drones[1],0.08)
drone_test_under[1]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[1],drones[1])
MoveObjectLocalY(drone_test_under[1],-0.08)
SetObjectCollisionMode(drone_test_under[1],0)
SetObjectCollisionMode(drones[1],0)
drone_time[1]=0
drone_move[1]=1
drone_turn[1,1]=3//rotatex -90
drone_turn[1,2]=3//rotatey -90
drone_turn[1,3]=3//rotatey -90
drone_turn[1,4]=3//rotatex -90
drone_maker[1,1]=91
drone_maker[1,2]=85
drone_maker[1,3]=79
drone_maker[1,4]=73
drones[2]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[2],bricks[55])
MoveObjectLocalY(drones[2],0.08)
drone_test_under[2]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[2],drones[2])
MoveObjectLocalY(drone_test_under[2],-0.08)
SetObjectCollisionMode(drone_test_under[2],0)
SetObjectCollisionMode(drones[2],0)
drone_time[2]=0
drone_move[2]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[2,1]=2
drone_turn[2,2]=2
drone_turn[2,3]=2
drone_turn[2,4]=2
drone_maker[2,1]=61
drone_maker[2,2]=67
drone_maker[2,3]=49
drone_maker[2,4]=55
drones[3]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[3],bricks[25])
MoveObjectLocalY(drones[3],0.08)
drone_test_under[3]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[3],drones[3])
MoveObjectLocalY(drone_test_under[3],-0.08)
SetObjectCollisionMode(drone_test_under[3],0)
SetObjectCollisionMode(drones[3],0)
drone_time[3]=0
drone_move[3]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[3,1]=3
drone_turn[3,2]=3
drone_turn[3,3]=3
drone_turn[3,4]=3
drone_maker[3,1]=43
drone_maker[3,2]=37
drone_maker[3,3]=31
drone_maker[3,4]=25
drones[4]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[4],bricks[7])
MoveObjectLocalY(drones[4],0.08)
drone_test_under[4]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[4],drones[4])
MoveObjectLocalY(drone_test_under[4],-0.08)
SetObjectCollisionMode(drone_test_under[4],0)
SetObjectCollisionMode(drones[4],0)
drone_time[4]=0
drone_move[4]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[4,1]=2
drone_turn[4,2]=2
drone_turn[4,3]=2
drone_turn[4,4]=2
drone_maker[4,1]=13
drone_maker[4,2]=19
drone_maker[4,3]=1
drone_maker[4,4]=7
drone_amount=4
for t=1 to 100
if GetObjectExists(drone_skin[t])=1:deleteobject(drone_skin[t]):endif
next
loadimage(202,"\media\textures\ball2.png")
for t=1 to drone_amount
SetObjectVisible(drone_test_under[t],0)
drone_skin[t]=createobjectsphere(0.1,32,32)
FixObjectToObject(drone_skin[t],drones[t])
setobjectimage(drone_skin[t],202,0)
SetObjectCollisionMode(drone_skin[t],0)
next
PlayMusic(music,1)
SetObjectVisible(pivot,0)
endfunction
function level4()
if GetMusicExists(music)eleteMusic(music):endif
music=LoadMusic("\media\music\music4.mp3")
pick_up=0
texture_1=LoadImage("\media\textures\tex1.png") /// bricks
texture_2=LoadImage("\media\textures\tex2.png") /// my balll
texture_4=LoadImage("\media\textures\tex3.png") // bad guy
brick=0
opentoread(1,"\media\data\Level4.data")
repeat
brick=brick+1
get1=ReadInteger(1)
get2=ReadInteger(1)
get3=ReadInteger(1)
bricks[brick]=CreateObjectBox(0.08,0.08,0.08)
setobjectposition(bricks[brick],0.08*GET1/10,0.08*GET2/10,0.08*GET3/10)
setObjectImage(bricks[brick],texture_1,0)
x_pos[BRICK]=GET1
y_pos[BRICK]=GET2
z_pos[BRICK]=GET3
until FileEOF(1)
CloseFile(1)
pivot=createobjectsphere(0.1,32,32)
SetObjectCollisionMode(pivot,0)
for t=1 to brick
FixObjectToObject(bricks[t],pivot)
MoveObjectLocalX(bricks[t],-0.08*3)
MoveObjectLocalz(bricks[t],-0.08*4)
MoveObjectLocaly(bricks[t],-0.08*3)
next
me=createobjectsphere(0.01,32,32)
FixObjectToObject(me,bricks[145])
MoveObjectLocalY(me,0.08)
test_front=createobjectbox(0.08,0.08,0.08)
test_under=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(test_front,me)
FixObjectToObject(test_under,me)
MoveObjectLocalY(test_under,-0.08)
MoveObjectLocalz(test_front,0.08)
SetObjectCollisionMode(test_front,0)
SetObjectCollisionMode(test_under,0)
SetObjectCollisionMode(me,0)
SetObjectVisible(test_front,0)
SetObjectVisible(test_under,0)
loadimage(200,"\media\textures\ball.png")
loadimage(201,"\media\textures\Arrow.png")
arrow=CreateObjectplane(0.1,0.2)
RotateObjectGlobalX(arrow,90)
FixObjectToObject(arrow,me)
FixObjectPivot(arrow)
SetObjectCollisionMode(arrow,0)
setobjectimage(arrow,201,0)
MoveObjectLocalY(arrow,0.08)
SetObjectAlphaMask(arrow,1)
ball=CreateObjectSphere(0.1,32,32)
FixObjectToObject(ball,me)
SetObjectCollisionMode(ball,0)
setobjectimage(ball,200,0)
rings[1]=loadobject("\media\models\ring.obj")
setobjectscale(rings[1],0.04,0.04,0.04)
FixObjectToObject(rings[1],bricks[19])
MoveObjectLocalY(rings[1],0.08)
SetObjectCollisionMode(rings[1],0)
rings[2]=loadobject("\media\models\ring.obj")
setobjectscale(rings[2],0.04,0.04,0.04)
FixObjectToObject(rings[2],bricks[13])
MoveObjectLocalY(rings[2],0.08)
SetObjectCollisionMode(rings[2],0)
rings[3]=loadobject("\media\models\ring.obj")
setobjectscale(rings[3],0.04,0.04,0.04)
FixObjectToObject(rings[3],bricks[7])
MoveObjectLocalY(rings[3],0.08)
SetObjectCollisionMode(rings[3],0)
rings[4]=loadobject("\media\models\ring.obj")
setobjectscale(rings[4],0.04,0.04,0.04)
FixObjectToObject(rings[4],bricks[1])
MoveObjectLocalY(rings[4],0.08)
SetObjectCollisionMode(rings[4],0)
rings[5]=loadobject("\media\models\ring.obj")
setobjectscale(rings[5],0.04,0.04,0.04)
FixObjectToObject(rings[5],bricks[109])
MoveObjectLocalY(rings[5],0.08)
SetObjectCollisionMode(rings[5],0)
rings[6]=loadobject("\media\models\ring.obj")
setobjectscale(rings[6],0.04,0.04,0.04)
FixObjectToObject(rings[6],bricks[103])
MoveObjectLocalY(rings[6],0.08)
SetObjectCollisionMode(rings[6],0)
rings[7]=loadobject("\media\models\ring.obj")
setobjectscale(rings[7],0.04,0.04,0.04)
FixObjectToObject(rings[7],bricks[97])
MoveObjectLocalY(rings[7],0.08)
SetObjectCollisionMode(rings[7],0)
rings[8]=loadobject("\media\models\ring.obj")
setobjectscale(rings[8],0.04,0.04,0.04)
FixObjectToObject(rings[8],bricks[115])
MoveObjectLocalY(rings[8],0.08)
SetObjectCollisionMode(rings[8],0)
rings[9]=loadobject("\media\models\ring.obj")
setobjectscale(rings[9],0.04,0.04,0.04)
FixObjectToObject(rings[9],bricks[67])
MoveObjectLocalY(rings[9],0.08)
SetObjectCollisionMode(rings[9],0)
rings[10]=loadobject("\media\models\ring.obj")
setobjectscale(rings[10],0.04,0.04,0.04)
FixObjectToObject(rings[10],bricks[61])
MoveObjectLocalY(rings[10],0.08)
SetObjectCollisionMode(rings[10],0)
rings[11]=loadobject("\media\models\ring.obj")
setobjectscale(rings[11],0.04,0.04,0.04)
FixObjectToObject(rings[11],bricks[55])
MoveObjectLocalY(rings[11],0.08)
SetObjectCollisionMode(rings[11],0)
rings[12]=loadobject("\media\models\ring.obj")
setobjectscale(rings[12],0.04,0.04,0.04)
FixObjectToObject(rings[12],bricks[49])
MoveObjectLocalY(rings[12],0.08)
SetObjectCollisionMode(rings[12],0)
rings[13]=loadobject("\media\models\ring.obj")
setobjectscale(rings[13],0.04,0.04,0.04)
FixObjectToObject(rings[13],bricks[73])
MoveObjectLocalY(rings[13],0.08)
SetObjectCollisionMode(rings[13],0)
rings[14]=loadobject("\media\models\ring.obj")
setobjectscale(rings[14],0.04,0.04,0.04)
FixObjectToObject(rings[14],bricks[91])
MoveObjectLocalY(rings[14],0.08)
SetObjectCollisionMode(rings[14],0)
rings[15]=loadobject("\media\models\ring.obj")
setobjectscale(rings[15],0.04,0.04,0.04)
FixObjectToObject(rings[15],bricks[85])
MoveObjectLocalY(rings[15],0.08)
SetObjectCollisionMode(rings[15],0)
rings[16]=loadobject("\media\models\ring.obj")
setobjectscale(rings[16],0.04,0.04,0.04)
FixObjectToObject(rings[16],bricks[79])
MoveObjectLocalY(rings[16],0.08)
SetObjectCollisionMode(rings[16],0)
rings[17]=loadobject("\media\models\ring.obj")
setobjectscale(rings[17],0.04,0.04,0.04)
FixObjectToObject(rings[17],bricks[139])
MoveObjectLocalY(rings[17],0.08)
SetObjectCollisionMode(rings[17],0)
rings[18]=loadobject("\media\models\ring.obj")
setobjectscale(rings[18],0.04,0.04,0.04)
FixObjectToObject(rings[18],bricks[121])
MoveObjectLocalY(rings[18],0.08)
SetObjectCollisionMode(rings[18],0)
rings[19]=loadobject("\media\models\ring.obj")
setobjectscale(rings[19],0.04,0.04,0.04)
FixObjectToObject(rings[19],bricks[127])
MoveObjectLocalY(rings[19],0.08)
SetObjectCollisionMode(rings[19],0)
rings[20]=loadobject("\media\models\ring.obj")
setobjectscale(rings[20],0.04,0.04,0.04)
FixObjectToObject(rings[20],bricks[133])
MoveObjectLocalY(rings[20],0.08)
SetObjectCollisionMode(rings[20],0)
rings_amount=20
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
drones[1]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[1],bricks[73])
MoveObjectLocalY(drones[1],0.08)
drone_test_under[1]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[1],drones[1])
MoveObjectLocalY(drone_test_under[1],-0.08)
SetObjectCollisionMode(drone_test_under[1],0)
SetObjectCollisionMode(drones[1],0)
drone_time[1]=0
drone_move[1]=1
drone_turn[1,1]=3//rotatex -90
drone_turn[1,2]=3//rotatey -90
drone_turn[1,3]=3//rotatey -90
drone_turn[1,4]=3//rotatex -90
drone_maker[1,1]=91
drone_maker[1,2]=85
drone_maker[1,3]=79
drone_maker[1,4]=73
drones[2]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[2],bricks[7])
MoveObjectLocalY(drones[2],0.08)
drone_test_under[2]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[2],drones[2])
MoveObjectLocalY(drone_test_under[2],-0.08)
SetObjectCollisionMode(drone_test_under[2],0)
SetObjectCollisionMode(drones[4],0)
drone_time[2]=0
drone_move[2]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[2,1]=2
drone_turn[2,2]=2
drone_turn[2,3]=2
drone_turn[2,4]=2
drone_maker[2,1]=13
drone_maker[2,2]=19
drone_maker[2,3]=1
drone_maker[2,4]=7
drones[3]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[3],bricks[109])
MoveObjectLocalY(drones[3],0.08)
drone_test_under[3]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[3],drones[3])
MoveObjectLocalY(drone_test_under[3],-0.08)
SetObjectCollisionMode(drone_test_under[3],0)
SetObjectCollisionMode(drones[3],0)
drone_time[3]=0
drone_move[3]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[3,1]=2
drone_turn[3,2]=2
drone_turn[3,3]=2
drone_turn[3,4]=2
drone_maker[3,1]=103
drone_maker[3,2]=97
drone_maker[3,3]=115
drone_maker[3,4]=109
drones[4]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[4],bricks[49])
MoveObjectLocalY(drones[4],0.08)
drone_test_under[4]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[4],drones[4])
MoveObjectLocalY(drone_test_under[4],-0.08)
SetObjectCollisionMode(drone_test_under[4],0)
SetObjectCollisionMode(drones[4],0)
drone_time[4]=0
drone_move[4]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[4,1]=2
drone_turn[4,2]=2
drone_turn[4,3]=2
drone_turn[4,4]=2
drone_maker[4,1]=55
drone_maker[4,2]=61
drone_maker[4,3]=67
drone_maker[4,4]=49
drones[5]=createobjectsphere(0.01,32,32)
FixObjectToObject(drones[5],bricks[139])
MoveObjectLocalY(drones[5],0.08)
drone_test_under[5]=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(drone_test_under[5],drones[5])
MoveObjectLocalY(drone_test_under[5],-0.08)
SetObjectCollisionMode(drone_test_under[5],0)
SetObjectCollisionMode(drones[5],0)
drone_time[5]=0
drone_move[5]=1
//1//rotatex -90
//2//rotatey -90
drone_turn[5,1]=2
drone_turn[5,2]=2
drone_turn[5,3]=2
drone_turn[5,4]=2
drone_maker[5,1]=121
drone_maker[5,2]=127
drone_maker[5,3]=133
drone_maker[5,4]=139
drone_amount=5
for t=1 to 100
if GetObjectExists(drone_skin[t])=1:deleteobject(drone_skin[t]):endif
next
loadimage(202,"\media\textures\ball2.png")
for t=1 to drone_amount
SetObjectVisible(drone_test_under[t],0)
drone_skin[t]=createobjectsphere(0.1,32,32)
FixObjectToObject(drone_skin[t],drones[t])
setobjectimage(drone_skin[t],202,0)
SetObjectCollisionMode(drone_skin[t],0)
next
PlayMusic(music,1)
SetObjectVisible(pivot,0)
endfunction
function level5()
if GetMusicExists(music)eleteMusic(music):endif
music=LoadMusic("\media\music\music5.mp3")
pick_up=0
texture_1=LoadImage("\media\textures\tex1.png") /// bricks
texture_2=LoadImage("\media\textures\tex2.png") /// my balll
texture_4=LoadImage("\media\textures\tex3.png") // bad guy
brick=0
opentoread(1,"\media\data\Level5.data")
repeat
brick=brick+1
get1=ReadInteger(1)
get2=ReadInteger(1)
get3=ReadInteger(1)
bricks[brick]=CreateObjectBox(0.08,0.08,0.08)
setobjectposition(bricks[brick],0.08*GET1/10,0.08*GET2/10,0.08*GET3/10)
setObjectImage(bricks[brick],texture_1,0)
x_pos[BRICK]=GET1
y_pos[BRICK]=GET2
z_pos[BRICK]=GET3
until FileEOF(1)
CloseFile(1)
pivot=createobjectsphere(0.1,32,32)
SetObjectCollisionMode(pivot,0)
for t=1 to brick
FixObjectToObject(bricks[t],pivot)
//MoveObjectLocalX(bricks[t],0.08*1)
MoveObjectLocalz(bricks[t],0.08*2)
MoveObjectLocaly(bricks[t],0.08*3)
next
me=createobjectsphere(0.01,32,32)
FixObjectToObject(me,bricks[97])
MoveObjectLocalY(me,0.08)
test_front=createobjectbox(0.08,0.08,0.08)
test_under=createobjectbox(0.08,0.08,0.08)
FixObjectToObject(test_front,me)
FixObjectToObject(test_under,me)
MoveObjectLocalY(test_under,-0.08)
MoveObjectLocalz(test_front,0.08)
SetObjectCollisionMode(test_front,0)
SetObjectCollisionMode(test_under,0)
SetObjectCollisionMode(me,0)
SetObjectVisible(test_front,0)
SetObjectVisible(test_under,0)
loadimage(200,"\media\textures\ball.png")
loadimage(201,"\media\textures\Arrow.png")
arrow=CreateObjectplane(0.1,0.2)
RotateObjectGlobalX(arrow,90)
FixObjectToObject(arrow,me)
FixObjectPivot(arrow)
SetObjectCollisionMode(arrow,0)
setobjectimage(arrow,201,0)
MoveObjectLocalY(arrow,0.08)
SetObjectAlphaMask(arrow,1)
ball=CreateObjectSphere(0.1,32,32)
FixObjectToObject(ball,me)
SetObjectCollisionMode(ball,0)
setobjectimage(ball,200,0)
rings[1]=loadobject("\media\models\ring.obj")
setobjectscale(rings[1],0.04,0.04,0.04)
FixObjectToObject(rings[1],bricks[49])
MoveObjectLocalz(rings[1],0.08)
SetObjectCollisionMode(rings[1],0)
rings[2]=loadobject("\media\models\ring.obj")
setobjectscale(rings[2],0.04,0.04,0.04)
FixObjectToObject(rings[2],bricks[55])
MoveObjectLocalz(rings[2],0.08)
SetObjectCollisionMode(rings[2],0)
rings[3]=loadobject("\media\models\ring.obj")
setobjectscale(rings[3],0.04,0.04,0.04)
FixObjectToObject(rings[3],bricks[61])
MoveObjectLocalz(rings[3],0.08)
SetObjectCollisionMode(rings[3],0)
rings[4]=loadobject("\media\models\ring.obj")
setobjectscale(rings[4],0.04,0.04,0.04)
FixObjectToObject(rings[4],bricks[67])
MoveObjectLocalz(rings[4],0.08)
SetObjectCollisionMode(rings[4],0)
rings[5]=loadobject("\media\models\ring.obj")
setobjectscale(rings[5],0.04,0.04,0.04)
FixObjectToObject(rings[5],bricks[73])
MoveObjectLocalz(rings[5], -0.08)
SetObjectCollisionMode(rings[5],0)
rings[6]=loadobject("\media\models\ring.obj")
setobjectscale(rings[6],0.04,0.04,0.04)
FixObjectToObject(rings[6],bricks[79])
MoveObjectLocalz(rings[6],-0.08)
SetObjectCollisionMode(rings[6],0)
rings[7]=loadobject("\media\models\ring.obj")
setobjectscale(rings[7],0.04,0.04,0.04)
FixObjectToObject(rings[7],bricks[85])
MoveObjectLocalz(rings[7],-0.08)
SetObjectCollisionMode(rings[7],0)