any idea about error?

BlitzMax Forums/BlitzMax Beginners Area/any idea about error?

JohnK(Posted 2007) [#1]
This is my code:
'=============INITIALIZATION SECTION=============== 
 SuperStrict
 Framework brl.max2d
  
   Import brl.bmploader
   Import brl.jpgloader
   Import sas.spritebehaviors  
   Import brl.math
   
   '==========Основа Игры============
   SeedRnd MilliSecs()
   Const Window_Width:Int=800,Window_Height:Int=600
   AppTitle="Spacer"
   Graphics (Window_Width,Window_Height,32,60) 
   HideMouse()
   AutoMidHandle True		
   Global World:GameWorld=GameWorld.Create(Window_Width,Window_Height)		 
   World.ToggleShowFPS() 			
   'World.SetClientSize(Window_Width,Window_Height)
	 
  '________________Игровые Листы__________________
  Global EnemyLooserList:TList=CreateList()
  Global PulaList:TList=CreateList()
  Global ExpList:TList=CreateList()
  Global MothBullet:TList=CreateList()
  Global BombersList:TList=CreateList()			
  'Global Damage_List:TList=CreateList()
  Global Attackers_List:TList=CreateList()
 
 			   
   '================|000_ПАРАМЕТРЫ_000|=================
   Parameters.CohesionWeight=55						  ' установка параметров для реалистичности ИИ
   Parameters.WanderWeight=90
   Parameters.SeparationWeight=45
   Parameters.AlignmentWeight=30
   Parameters.EvadeWeight=150
   Parameters.ArriveWeight=100
  
   Rem
   Parameters.CohesionWeight=55						  ' установка параметров для реалистичности ИИ
   Parameters.WanderWeight=90
   Parameters.SeparationWeight=65
   Parameters.AlignmentWeight=30
   Parameters.EvadeWeight=150
   Parameters.FollowPathWeight=10
   Parameters.ArriveWeight=100
   End Rem
   

   'World.ToggleRenderCollisionRadius
   	     ' Включение отображения ФПС
 			 '  Делаем автоцентровку изображений
   
    '++++++++++++++++Splash Screen++++++++++++++
  'Incbin "images\main.png"
  'Incbin "images\end.png"
  'Global Splash_Screen:TImage=LoadImage("incbin::images\main.png",FILTEREDIMAGE)
  'Global End_Scr:TImage=LoadImage("incbin::images\end.png",FilterEDIMAGE)
  
   
   '=========Images Section===============
     Incbin "images\enemy.png"						   ' тут изображения
     Incbin "images\bomber.png"			    ' включаются в .ехе
     Incbin "images\stars1.jpg"	
     Incbin "images\player2.png"
     Incbin "images\pula.png"
     Incbin "images\explos2.bmp"
	 Incbin "images\1.bmp"
	 Incbin "images\mothership.png"
	 Incbin "images\mothership_bullet.png"
	 Incbin "images\turret.png"
	 Incbin "images\shield.png"
	' Incbin "images\mini_explos.bmp"
	 
	 '===========Вся Медиа Проекта Здесь===============
   Global PlayerShield:TImage=LoadImage("Incbin::images\shield.png")
   Global EnemyLooserImage:TImage = LoadImage ("incbin::images\enemy.png")
   Global EnemyBomberImage:TImage=LoadImage("incbin::images\bomber.png")
   Global Stars:TImage=LoadImage("incbin::images\stars1.jpg")
   Global ExplImage2:TImage=LoadAnimImage ("incbin::images\explos2.bmp",128,128,0,20)
   Global ExplImage:TImage=LoadAnimImage ("incbin::images\1.bmp",128,128,0,20)
   Global MotherShip_Image:TImage=LoadImage("incbin::images\mothership.png")
   'Global Damage_Image:TImage=LoadAnimImage("incbin::images\Mini_Explos.bmp",128,128,0,24)
   Global AttackBullet_IMG:TImage=LoadImage ("incbin::images\mothership_bullet.png")
   Global Pula_IMG:TImage=LoadImage ("incbin::images\pula.png")
   Global MOTHPULA_IMG:TImage=LoadImage ("incbin::images\mothership_bullet.png")
   Global Player_IMG:TImage=LoadImage("incbin::images\player2.png")
   Global Turret:TImage=LoadImage("incbin::images\turret.png")
   
	
   Type Pula								  ' Тип Пуля, и все что с ней связано)))
	 Field x#,y#,xspd#,yspd#,dir:Int
	 Field entity:TImage=Pula_IMG
	 Field List:TList=PulaList
	 Field Alpha#=1
    Function create(x#,y#,xspd#,yspd#,dir#)
		Local Unit:Pula=New Pula
		Local spd:Int=8
		Unit.x = x
		Unit.y = y
		Unit.dir = dir
		Unit.Xspd = Cos(dir)*spd+Xspd												
		Unit.Yspd =  Sin(dir)*spd+YSpd
		ListAddLast (Unit.List,Unit)
	 End Function
	 Method update()
		   x:+Xspd
		   alpha:-0.015
		   Y:+Yspd
		   If X<0 Or X>Window_Width Or Y<0 Or Y>Window_Height Or alpha<=0Then List.Remove(Self)
		   SetAlpha alpha
		   SetScale 0.5,0.5
		   SetRotation dir
	       DrawImage entity,x,y
		   SetRotation 0
		   SetScale 1,1
		   SetAlpha 1
	 End Method
 End Type
   
   Type MothPula								  ' Тип Пуля, и все что с ней связано)))
	 Field x#,y#,xspd#,yspd#,dir:Int
	 Field entity:TImage=MOTHPULA_IMG
	 Field Alpha#=1
	 Field List:TList=MothBullet
    Function create(x#,y#,xspd#,yspd#,dir#)
		Local Unit:MothPula=New MothPula
		Local spd:Int=8
		Unit.x = x
		Unit.y = y
		Unit.dir = dir
		Unit.Xspd = Cos(dir)*spd+Xspd												
		Unit.Yspd =  Sin(dir)*spd+YSpd
		ListAddLast (Unit.List,Unit)
	 End Function
	 Method update()
		   Alpha:-0.01
		   x:+Xspd
		   Y:+Yspd
		   If X<0 Or X>Window_Width Or Y<0 Or Y>Window_Height Or Alpha<=0 Then List.Remove(Self)
		   SetAlpha alpha
		   SetScale 0.4,0.4
		   SetHandle 0,5
		   SetRotation dir
	       DrawImage entity,x,y
		   SetRotation 0
		   SetHandle 0,0
		   SetScale 1,1
		   SetAlpha 1
	 End Method
 End Type
  	 
   Type AttackBullet								  ' Тип Пуля, и все что с ней связано)))
	 Field life:Int
	 Field x#,y#,xspd#,yspd#,dir#
	 Field entity:TImage=AttackBullet_IMG
	 Field List:TList=Attackers_List
    Function create(x#,y#,xspd#,yspd#,dir#)
		Local Unit:AttackBullet=New AttackBullet
		Local spd:Int=8
		Unit.x = x
		Unit.y = y
		Unit.dir = dir
		Unit.Xspd = Cos(dir)*spd+Xspd												
		Unit.Yspd =  Sin(dir)*spd+YSpd
		Unit.life=30
		ListAddLast (Unit.List,Unit)
	 End Function
	 Method update()
		   x:+Xspd
		   Y:+Yspd
		   life:-1
		   If X<0 Or X>Window_Width Or Y<0 Or Y>Window_Height Or life=0 Then List.Remove(Self)
		   SetScale 0.4,0.2
		   SetRotation dir
	       DrawImage entity,x,y
		   SetRotation 0
		   SetScale 1,1
	 End Method
 End Type
  
   Type Explosion
	Field x#,y#,frame%
	Field Image:TImage
	Field Alpha#=1
	Function Create(x#,y#,Image:Timage)
		Local c:Explosion=New Explosion
		c.x=x
		c.y=y
		c.frame=0
		c.Image=Image
		ListAddLast (ExpList,c)
   End Function
	Method update(MAX_FRAME:Int)
		If frame<=MAX_FRAME And alpha>=0
			SetAlpha alpha
			SetScale 0.5,0.5
			DrawImage Image,x,y,frame
			SetScale 1,1
			SetAlpha 1
	    Else
		    ListRemove(ExpList,Self)
		End If
		frame:+1
		alpha:-0.01
	End Method
	
  End Type
  
  
   Rem
   Type Damage
	Field x#,y#,Frame:Int,Image:TImage,List:TList
	Field angle#
	Function Create(x#,y#,angle#,Image:timage,List:TList)
	Local C:Damage=New Damage
	C.angle=angle
	C.Image=Image
	C.List=List
	C.x=x
	C.y=y
	ListAddLast (List,C)
	End Function
	Method update(MaxFrame:Int)
	  If Frame<=MaxFrame 
		 
		 SetRotation angle
		 SetScale 0.5,0.6
		 DrawImage Image,x,y,frame
		 SetScale 1,1
		 SetRotation 0
		
	  Else 
	  List.Remove(Self)
	  End If
	  frame:+1
	 
	End Method
End Type
End Rem

   	 '  Создание игрока и мишени дя ботов
  ' //////////////////////// Искусственный Интеллект ///////////////////////////  
	Global  Point:Sprite=New Sprite
	Global  Shield_Active:Int=0
    Global  Player1:Player=New Player
    Global  Num_LooserEnemies:Int=100
    Global  Num_Bombers:Int=5
	' ************MotherShip***************
	Global  MotherShip:Sprite=Sprite.CreateForSteering(MotherShip_Image,World,CreateVector(80,80),0,CreateVector(1,1),6,1,1,0.05,0.5)
    Global MotherShipLife:Int=100
	 MotherShip.GetSteering().WanderOn()
	 MotherShip.GetSteering().EvadeOn()
	 MotherShip.AddEvadeTarget(Point)
	 MotherShip.SetWorldWrap(True)
     World.AddVehicle(MotherShip)
	 '\\\\\\\\\\\\\\\\Turret\\\\\\\\\\\\\\\\
	 Global TurretGun:Sprite=Sprite.CreateForSteering(Turret,World,MotherShip.GetPosition(),0,CreateVector(0,0),1,0,0,1,0.45)
	 World.AddVehicle(TurretGun)
	 '\\\\\\\\\\\\\\\\Others\\\\\\\\\\\
	 Create_AI()
	
	  	 ' ======== Дела Плейрные =============
	 Type Player
		Field x#=Window_Width/2,y#=Window_Height/2,dir#,frict#=0.03,maxspd#=4.0,accel#=0.09,xspd#,yspd#
		Field turnfrict#=0.9,turnmax#=2.0,turnaccel#=2.0,spdvect#,turnspd#
		Field Life:Int=100
		Field entity:TImage=Player_IMG
		  
		Method Update()
				 If KeyDown(KEY_UP)							' Манипулирование векторами и переменными для 
				       		XSpd:+Cos(dir)*accel					  ' достижения движения, для игрока
							YSpd:+Sin(dir)*accel
						
				EndIf
																										 
				If KeyDown(KEY_DOWN)
					        XSpd:-Cos (dir) * accel
							YSpd:- Sin (dir) * accel
				End If
				
				spdvect=Sqr(xspd*xspd+yspd*yspd)	  ' вычисление длины вектора скорости по т. Пифагора
				
				If spdvect>0											 
					   xspd:-(xspd/spdvect)*frict
					   yspd:-(yspd/spdvect)*frict
				End If
				
				If spdvect>maxspd
					   xspd:+(xspd/spdvect)*(maxspd-spdvect)
					   yspd:+(yspd/spdvect)*(maxspd-spdvect)
				End If
				
				x:+xspd
				y:+yspd
			
				
														   ' Ну это ясно, как день =)
				SetRotation dir
				DrawImage entity,x,y
				SetRotation 0
			
				If KeyDown(Key_Left)
					Turnspd:-Turnaccel
				End If
				
				If KeyDown(Key_Right)
					turnspd:+TurnAccel
				End If
				
				If MouseDown(1) Or  KeyDown(KEY_SPACE) And Time<MilliSecs() Then
				    Pula.create(x,y,xspd,yspd,dir)
				    time=MilliSecs()+100
				EndIf
				
			    If turnspd>turnmax  turnspd=turnmax
				If turnspd<-turnmax turnspd=-turnmax
				
				dir:+turnspd
				If dir<0 dir:+360
				If dir>360 dir:-360
				
				If turnspd>turnfrict turnspd:-turnfrict
				If turnspd<-turnfrict turnspd:+turnfrict
				
				If turnspd<turnfrict And turnspd>-turnfrict Then  turnspd=0
				
			
            
			   
				Point.SetPosition(x,y)
				
	            If x>Window_Width Then x=0							   ' Буржуи называют это Wrapping'ом
				If x<0 Then x=Window_Width
				If y>Window_Height Then y=0
				If y<0 Then y=Window_Height
				
	End Method
End Type


Type Shield
   Function Active_true(x#,y#,angle#)
		If Shield_Active=1
			 SetScale 1,1.45
			 SetRotation angle
			 DrawImage PlayerShield,x,y
			 SetRotation 0
			 SetScale 1,1
		End If
	End Function
End Type


  ' ----------------Таймеры ---------------------	
	Global MothTime:Int=MilliSecs()
    Global time:Int=MilliSecs()
	Global AttTime:Int=MilliSecs()
	Global ReLife:Int=MilliSecs()
	Global ReLife2:Int=MilliSecs()
	Global Mult#=1 
	Global ExtraTime:Int
	Global ShieldTime:Int
	Global ShieldPauseTime:Int=1000
	
	' =========== Main Cycle ==========
	While Not KeyHit(KEY_ESCAPE)							
    Cls
	DrawImage Stars,450,370		   ' отрисовка заднего фона
   
	Player1.update()
    World.Update(Delta.time()) 
	
	  If ShieldPauseTime>300 
                       If MouseDown(2) 
                         ShieldTime=500 
                         ShieldPauseTime=0
                       EndIf
              EndIf

               If ShieldTime>0
                        ShieldTime:-1
                        Shield_Active=1
               Else
               ShieldPauseTime:+1
               Shield_Active=0
			   
	  EndIf
	  
	Shield.Active_true(Player1.x,Player1.y,Player1.dir)		  
  
  DrawText "Player Life:"+Player1.Life,660,10
  DrawText "Mothership Life:"+MotherShipLife,640,22
  DrawText "Num of Loosers:"+EnemyLooserList.Count(),640,34
  DrawText "Num of Attackers:"+BombersList.Count(),640,46
  Rem 
	If Player1.Life<=0 Then 
	Notify "You Die! And i'm cry..."
	End
	EndIf
  End Rem
  
	If MotherShipLife<=0 Then 
	Notify "You Won! Well Done!"
	End
	EndIf
  
  If MotherShipLife<= 50 Then 
	   For Local k:Sprite = EachIn EnemyLooserList
	     	 k.GetSteering().EvadeOff()
		     k.ClearEvadeTargets()
	    	 k.GetSteering().ArriveOn(MotherShip)
	    Next
  EndIf
   
    Local Dlina#=Sqr((MotherShip.GetX()-Player1.x)^2+(Mothership.GetY()-Player1.y)^2)
	
	If dlina<=250
	    ExtraTime=50
	Else 
	    ExtraTime=400
	EndIf
	

  UpdateMothership()
  Fill_OUT()
 

   
 
    
 '  	World.update(Delta.time())
    World.render()	 
    World_Update()
	
'	 For Local boom:Damage=EachIn Damage_List
'		boom.update(18)
'	 Next
		
  Flip	   ' 	 Рендер изображений
  
  delta.update()
  
  Wend
  End
 
  Function UpdateMothership()
	 
	 If MotherShipLife<= 50 Then 
	        Mult=7
		 For Local k:Sprite = EachIn EnemyLooserList
		     k.GetSteering().EvadeOff()
	     	 k.ClearEvadeTargets()
		     k.GetSteering().ArriveOn(MotherShip)
	    Next
	 EndIf
	  If MotherShipLife<=70 Then Mult=4
	  If MotherShipLife<=40 Then Mult=10
	  If MotherShipLife<=20 Then Mult=15
	  If MotherShipLife<=10 Then Mult=25
	
	Rem 
	 If (MothTime+ExtraTime)<MilliSecs()
		MothPula.create(MotherShip.GetX(),MotherShip.GetY(),MotherShip.GetSpeed(),MotherShip.GetSpeed(),Rnd(0,90))
	    MothPula.create(MotherShip.GetX(),MotherShip.GetY(),MotherShip.GetSpeed(),MotherShip.GetSpeed(),Rnd(90,180))
	    MothPula.create(MotherShip.GetX(),MotherShip.GetY(),MotherShip.GetSpeed(),MotherShip.GetSpeed(),Rnd(180,270))
	    MothPula.create(MotherShip.GetX(),MotherShip.GetY(),MotherShip.GetSpeed(),MotherShip.GetSpeed(),Rnd(270,360))
		MothTime=MilliSecs() 
	End If 
End Rem 

	 TurretGun.SetPosition(MotherShip.GetX(),MotherShip.GetY())
     TurretGun.RotateHeadingToFacePosition(Point.GetPosition())
	 If (MothTime+ExtraTime)<MilliSecs()  
	         MothPula.create(TurretGun.GetX(),TurretGun.GetY(),0,0,-TurretGun.GetHeading())
	         MothTime=MilliSecs() 
	 EndIf 
	 

  
 End Function
  
  Function Fill_OUT()
If  Relife+(100*mult)<MilliSecs()
    If Num_LooserEnemies<20
		 For Local g:Int=1 To 1
	 	  Local enemylooserg:Sprite=Sprite.CreateForSteering(EnemyLooserImage,world,MotherShip.GetPosition(),0,createvector(1,1),1,7,5,5,0.6)
		  enemylooserg.GetSteering().CohesionOn()					   ' Создание и присвоение ИИ норм поведения
		  enemylooserg.Setworldwrap(True)								   
		  enemylooserg.GetSteering().AlignmentOn()	
		  enemylooserg.GetSteering().WanderOn()
		  enemylooserg.TurnSmoothingOn()
		  enemylooserg.AddEvadeTarget(MotherShip)	
		  enemylooserg.GetSteering().SeparationOn()
		  enemylooserg.AddEvadeTarget(Point)
          enemylooserg.GetSteering().EvadeOn()
		  enemylooserg.SetCollisionRadius(6)
		  World.AddVehicle(enemylooserg)
		  Num_LooserEnemies:+1                                    ' Добавление к миру 	
		  ListAddLast (EnemyLooserList,Enemylooserg)
         Next
 EndIf
 ReLife=MilliSecs()
 EndIf 

If ReLife2+(200*Mult)<MilliSecs()
   If Num_Bombers<5 
	  For  Local q:Int=1 To 1
		   Local Enemybomberq:Sprite=Sprite.CreateForSteering(EnemyBomberImage,World,MotherShip.GetPosition(),0,createvector(1,1),1,4,4,4,0.5)
		   enemybomberq.ApplyAcceleration(1000,-enemybomberq.GetHeading())
		   enemybomberq.SetWorldWrap(True)
	       enemybomberq.GetSteering().SeparationOn()
	       Enemybomberq.SetCollisionRadius(4)
		   enemybomberq.GetSteering().ArriveOn(Point)
		   World.AddVehicle(enemybomberq)
		   num_Bombers:+1
	       ListAddLast(BombersList,Enemybomberq)
	 Next
  End If
 ReLife2=MilliSecs()
 EndIf
End Function

  Function World_Update()
	
	 For Local vzriv:Explosion=EachIn ExpList
		 vzriv.update(18)
	Next
	
	For Local Pulka:Pula=EachIn PulaList
	     Pulka.update()		
		 If ImagesCollide2(Pulka.Entity,Pulka.x,Pulka.y,0,Pulka.dir,0.1,0.1,MotherShip.GetImage(),MotherShip.GetX(),MotherShip.GetY(),0,-MotherShip.GetHeading(),MotherShip.GetScaleX(),MotherShip.GetScaleY())
			 Explosion.Create(Pulka.x,Pulka.y,ExplImage)
			' Damage.Create(Pulka.X,Pulka.y,Pulka.dir,Damage_Image,Damage_List)
			 PulaList.Remove(Pulka)
			 MotherShipLife:-1
		 End If
   Next



' Тут происходит контроль количества врагов 

	
	  For Local a:Sprite = EachIn EnemyLooserList
		    For Local b:Pula = EachIn PulaList
		           If ImagesCollide(b.entity,b.x,b.y,0,a.GetImage(),a.GetX(),a.GetY(),0)	 
			       PulaList.Remove(b)
			       EnemyLooserList.Remove(a)
			       Explosion.Create(a.GetX(),a.GetY(),ExplImage)	
				   World.RemoveVehicle(a)
				   Num_LooserEnemies:-1
			      EndIf
			 Next
	  Next
	
		
 For  Local C:Sprite=EachIn BombersList
     For Local A:Pula=EachIn PulaList
		    If ImagesCollide(A.entity,A.x,A.y,0,C.GetImage(),C.GetX(),C.GetY(),0)
			       PulaList.Remove(A)				
			       Explosion.Create(C.GetX(),C.GetY(),ExplImage)
				   BombersList.Remove(C)
			       World.RemoveVehicle(C)				
				   Num_Bombers:-1
		    EndIf
	Next
 Next
 
  If AttTime+300<MilliSecs()
  
    For Local C:Sprite=EachIn BombersList
   	   Local Lenght#=Sqr((C.GetX()-Player1.x)^2+(C.GetY()-Player1.y)^2) 
	         If Lenght<200
	             C.TurnSmoothingOn()
	             C.RotateHeadingToFacePosition(Point.GetPosition())
	             AttackBullet.create(C.GetX(),C.GetY(),0,0,-C.GetHeading())
	          EndIf
			If lenght<=100
				
			End If
   Next
   
   AttTime=MilliSecs()
   
 EndIf
 
 For Local G:AttackBullet=EachIn Attackers_List
		g.update()
		If ImagesCollide(g.entity,g.x,g.y,0,player1.entity,player1.x,player1.y,0)
			 Explosion.Create(Player1.x,Player1.y,ExplImage2)
			 attackers_List.Remove(g)		
			 If Shield_Active=0 Player1.Life:-1
		End If
   Next
   
    For Local MthPula:MothPula=EachIn MothBullet
	   
	   MthPULA.update()
	
       If ImagesCollide(MTHPULA.Entity,MTHPULA.X,MTHPULA.Y,0,Player1.Entity,Player1.x,Player1.y,0)
			MothBullet.Remove(MTHPULA)
			Explosion.Create(Point.Getx(),Point.Gety(),ExplImage2)
			If Shield_Active=0 Then Player1.Life:-1
	    End If
  Next
  	 TurretGun.Draw()
  
 End Function

  Function Create_AI()
' ----------------------Лузеры-----------------------
' 	Возня с ИИ , а вернее, его настройка	 ' Тут создается определенный тип ИИ
     For Local i:Int=1 To Num_LooserEnemies
	 	  Local enemylooseri:Sprite=Sprite.CreateForSteering(EnemyLooserImage,world,createvector(Rnd( Window_Width),Rnd(Window_Height)),0,createvector(1,1),1,7,5,5,0.6)
		  enemylooseri.GetSteering().CohesionOn()					   ' Создание и присвоение ИИ норм поведения
		  enemylooseri.Setworldwrap(True)								   
		  enemylooseri.GetSteering().AlignmentOn()	
		  enemylooseri.GetSteering().WanderOn()
		  enemylooseri.AddEvadeTarget(MotherShip)	
		  enemylooseri.GetSteering().SeparationOn()
		  enemylooseri.AddEvadeTarget(Point)
          enemylooseri.GetSteering().EvadeOn()
		  enemylooseri.SetCollisionRadius(6)
		  World.AddVehicle(enemylooseri)		' Добавление к миру 	
		  ListAddLast (EnemyLooserList,Enemylooseri)
 Next	

	   ' Тип ИИ, который будут гонять за плеером
   '-----------------------------Atackers-------------------------
   For  Local l:Int=1 To Num_Bombers
		Local Enemybomberl:Sprite=Sprite.CreateForSteering(EnemyBomberImage,World,CreateVector(Rnd(Window_Width,Window_Height)),0,createvector(1,1),1,6,4,6,0.5)
		   enemybomberl.SetWorldWrap(True)
	       enemybomberl.GetSteering().SeparationOn()
	       Enemybomberl.SetCollisionRadius(10)
		   enemybomberl.GetSteering().ArriveOn(Point)
		   World.AddVehicle(enemybomberl)
	      ListAddLast(BombersList,Enemybomberl)
   Next

End Function

But sometimes there an error : Unhandled Exception:Attempt to access field or method of Null object . In this function World.Update(Delta.time()). Who now, why, please help.


tonyg(Posted 2007) [#2]
Without the code? Probably not.
World.update() doesn't exist? World doesn't exist?
Delta doesn't exist? time() doesn't exist or return anything?
Check all these exist. Check the return from delta.time() and make sure it is correct.


JohnK(Posted 2007) [#3]
[quote]Without the code? Probably not.
World.update() doesn't exist? World doesn't exist?
Delta doesn't exist? time() doesn't exist or return anything?
Check all these exist. Check the return from delta.time() and make sure it is correct.
[quote] But how?


tonyg(Posted 2007) [#4]
I am guessing that 'delta.time() is returning the time from either a function called 'Delta' or is a method of object variable 'delta'.
So..
local temptime:float=delta.time()  ' Assuming delta.time returns a float.
if temptime
     world.update(temptime)
else notify
   "Variable not returned from delta.time"
endif

as an example
I'm guessing that 'World' and 'Delta' are something to do with sas.spritebehaviors mod.


JohnK(Posted 2007) [#5]
thanks!


JohnK(Posted 2007) [#6]
The Error is no go on. And i dont se message "Variable not returned from delta.time" ....this is no work(((


Brucey(Posted 2007) [#7]
In the example code, Delta is not defined at all.

Perhaps it is Null by the time World.Update() tries to use it - in which case the error is valid.


JohnK(Posted 2007) [#8]
If a define new varible with delta type, the error is still excsist.


tonyg(Posted 2007) [#9]
... but you still haven't told us what 'delta' is supposed to be? What object type or is it an imported 'type' itself?
If so, from where and what does the time() function/method return?

<edit> From checking sas.spritebehaviours 'delta' is a type where it states :

Type Delta
'
'-----------------------------------------------------
' This type is Fully global. Which means you'll always
' refere to it as Delta.Start() , Delta.Time(),
' Delta.Update()
'
' You shouldn't create instances of this type!
' DeltaTime is same for all your objects!
Global DeltaTime:Double
Global TimeDelay%

'Run this once before your main loop
'If you don't there will be a jump in deltatime
Function Start() TimeDelay = MilliSecs(); End Function



You don't seem to have a delta.start?


Brucey(Posted 2007) [#10]
Ahhh.. I see... Delta is a Type, and time is a Function of it...

Quite possible something in either time() or World.Update() is Null then, I suppose.


This is like that "What am I, animal, vegetable or mineral?" game :-)


JohnK(Posted 2007) [#11]
THANKS!!!! IT Works!!! I'm happy))) Thanks Tonyg!


JohnK(Posted 2007) [#12]
Oh....no Error is steel here((((


tonyg(Posted 2007) [#13]
... so what made you think it was fixed?
Write a small test program that we can run which shows the error or supply the media.


JohnK(Posted 2007) [#14]
This is archive with media: http://johnk.3dn.ru/Images.rar


tonyg(Posted 2007) [#15]
The only error I get is because you
	DrawImage Stars,450,370		  

when the incbin for stars seems to be edited.


JohnK(Posted 2007) [#16]
If i dont use incbin, the error is no go on. I think that error in Fill_Out() Function...But where? I dont know...


tonyg(Posted 2007) [#17]
This runs for me



JohnK(Posted 2007) [#18]
Strange......The error is steel here......If i will attack a MotherShip, sometimes error pop up. Tonyg try to attack everything, may be you will see error too.


tonyg(Posted 2007) [#19]
Arrrrgggghhhhhhhh. You could have mentioned that in the first place.
I am not debugging your entire game for you. This ***new*** error can only have started in the past 30 minutes so you haven't really had too much time debugging it yourself yet... have you?


JohnK(Posted 2007) [#20]
ok....if you cant help i will try my self...Simple this error everywhere where i use spritebehaviors mod((((


tonyg(Posted 2007) [#21]
That's right... try yourself first.Put a few debuglog statements into the function you think is failing.


JohnK(Posted 2007) [#22]
Ok, will try)))


JohnK(Posted 2007) [#23]
Yes! I did it)