Fehlermeldung - Finde das Problem nicht

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Baschdi

Betreff: Fehlermeldung - Finde das Problem nicht

BeitragMi, Jul 02, 2008 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiert das Spiel einfach mal aus
wenn ihr am Anfang startet latscht einfach direkt gegen die Felsen (einfach pfeil-hoch-taste gedrückt halten), der Player dreht sich von selbst, doch kurz bevor er fertig ist mit drehen kommt dieFehlermeldung und ich weiß nicht warum.
Bitte schaut es euch an - Danke

mfg baschdi

ah ja der link natürlich...
Code: [AUSKLAPPEN]

http://www.file-upload.net/download-952169/GTA.exe.html
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

BtbN

BeitragMi, Jul 02, 2008 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich lade doch nicht eine wildfremde exe aus dem Netz, um sie mal eben so auszuführen, und mir anzugucken, was sie mit meinem PC anstellt. Code oder vergiss es.

Baschdi

BeitragMi, Jul 02, 2008 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
ok

das könnte zwar igrendein code sein....aber wenn es dir hilft....
naja is jedenfalls kein virus oder so.,...


Code: [AUSKLAPPEN]


;Konstante
Const width=800
Const height=width*0.75
Const tile=32
;Auflösung
Graphics width,height,0,2
SetBuffer BackBuffer()
;Allgemein
Global gfx$="gfx\"
Global sfx$="sfx\"
Global xback,yback,proz=0
;Map
Global mapX=64,mapY=64
Dim map(mapX,mapY)
Dim status(mapX,mapY)
Global tileset=LoadAnimImage(gfx$+"tileset.bmp",tile,tile,0,71);:MidHandle tileset
;Player
Global x#=width/2,y#=height/2,xTile,yTile,xDraw,yDraw
Global DisX1#,DisY1#,DisX2#,DisY2#
Global winkel,turn,Wmas=1,Wmax=359
Global Xeck1#,Yeck1#,Xeck2#,Yeck2#
Global live=100
Global player=LoadImage(gfx$+"player.bmp"):MidHandle player
Dim ImaPlayer(Wmax)
For i=0 To Wmax: ImaPlayer(i)=CopyImage(player) : RotateImage ImaPlayer(i),i*Wmas : Next
;Bullet
Global bullet=LoadAnimImage(gfx$+"bullet.bmp",15,15,0,4):MidHandle bullet
Dim ImaBullet(Wmax)
For i=0 To Wmax: ImaBullet(i)=CopyImage(bullet) : RotateImage ImaBullet(i),i*Wmas : Next
Type bullet
Field x,y,xx,yy,typ,winkel,speed,leb,team,att
End Type
;Enemy
Global enemy=LoadAnimImage(gfx$+"enemy.bmp",tile,tile,0,4);:MidHandle enemy
Dim ImaEnemy(Wmax)
;For i=0 To Wmax: ImaEnemy(i)=CopyImage(enemy) : RotateImage ImaEnemy(i),i*Wmas : Next
Type enemy
Field x#,y#,xDraw,yDraw,xTile,yTile,typ,winkel,speed,live,buf,dauer,xWEG,yWEG
Field FightStep,uPfad,gesch,xEnd,yEnd,xZ,yZ,entf#,reich,got,radius,sinus#
End Type
;Pathfinding
Global PfadBank=CreateBank(2),Bsize
Global mapwidth=mapX,mapheight=mapY,fightstep,schalter
Dim MapData$(50),Fighter(72)
Dim sqrmap(50,50),nodemap(0,0),dirx(7),diry(7),dirz(7)
For i=0 To 7:Read dirx(i):Read diry(i):Read dirz(i):Next
Type node
Field parent.node,cost,x,y
End Type
Type open
Field node.node
End Type
Type path
Field node.node
End Type
Data 0,-1,0,  -1,0,0,  1,0,0,  0,1,0
Data -1,-1,1,  1,-1,1,  -1,1,1,  1,1,1
;Hauptschleife
LoadMap("test")
;NewEnemy(32*10,32*10,0,0)
NewEnemy(32*11,32*10,0,0)
;NewEnemy(32*11,32*11,0,2)
Repeat
Cls
   UpdateMap()
   UpdatePlayer()
   UpdateBullet()
   UpdateEnemy()
Flip
Until KeyHit(1)
End
;Function LoadMap(nam$)
Function LoadMap(nam$)
   file=OpenFile("Map\"+nam$+".mfg")   
      For tx=0 To mapX
      For ty=0 To mapY
         map(tx,ty)=ReadInt(file)      
      Next
      Next       
   CloseFile file
End Function
;Function UpdateMap()
Function UpdateMap()
   For tx=0 To mapX
   For ty=0 To mapY
      If map(tx,ty)>1 Then status(tx,ty)=1
      DrawImage tileset,tx*tile-xback,ty*tile-yback,map(tx,ty)
   Next
   Next
End Function
;Function UpdatePlayer()
Function UpdatePlayer()
      ;Anzeigen
      DrawImage ImaPlayer(winkel),xDraw,yDraw
      ;Koordinaten
      xTile=x/tile:yTile=y/tile
      xDraw=x-xback:yDraw=y-yback
      ;Ecken
      Xeck1=(x+DisX1):Yeck1=(y+DisY1)
      Xeck2=(x+DisX2):Yeck2=(y+DisY2)   
      Xeck1=Floor(Xeck1/tile):Yeck1=Floor(Yeck1/tile)
      Xeck2=Floor(Xeck2/tile):Yeck2=Floor(Yeck2/tile)            
      ;Bewegen
      If KeyDown(205) Then winkel=winkel+3
      If KeyDown(203) Then winkel=winkel-3
      If winkel>Wmax Then winkel=0
      If winkel<0 Then winkel=Wmax
      ;Kasten
      Color 255,255,255
      Rect 0,0,800,45,1
      Color 0,0,0
      Text 0,0,"X"+x+"Y"+y+"Tx"+xTile+"Ty"+yTile+"Dx"+xDraw+"Dy"+yDraw+"/"+Xeck1+"/"+Yeck1+"/"+xeck2+"/"+Yeck2+"/"+winkel*Wmas
      Text 0,15,""+DisX1+"/"+DisY1+"//"+DisX2+"/"+DisY2
      Text 0,30,""+Floor(Xeck1/tile)+"/"+Floor(Yeck1/tile)+"//"+Floor(Xeck2/tile)+"/"+Floor(Yeck2/tile)   
      ;Sliden
      If KeyDown(200) Then:
         ;oben rechts
         DisX1=(Cos((winkel*Wmas)-45)*20); (+2)
         DisY1=(Sin((winkel*Wmas)-45)*20)   
         ;unten rechts
         DisX2=(Cos((winkel*Wmas)+45)*19)
         DisY2=(Sin((winkel*Wmas)+45)*19)
         
         If status(Xeck1,Yeck1)=0 And status(Xeck2,Yeck2)=0 Then:
            x = x + Cos(winkel*Wmas)*2
            y = y + Sin(winkel*Wmas)*2   
            xback = xback + Cos(winkel*Wmas)*2
            yback = yback + Sin(winkel*Wmas)*2                     
            turn=0      
         ElseIf status(Xeck1,Yeck1)=1 And status(Xeck2,Yeck2)=1 Then:
               If turn=0 Then turn=Rnd(1,2) 
             Select turn               
             Case 2
                winkel=winkel+2;links
             Case 1
                winkel=winkel-2;rechts
             End Select 
         ElseIf status(Xeck1,Yeck1)=1 Then:   
            winkel=winkel+2
         ElseIf status(Xeck2,Yeck2)=1 Then:
            winkel=winkel-2
         EndIf 
         If winkel>Wmax Then winkel=0
         If winkel<0 Then winkel=Wmax
      ElseIf KeyDown(208)   Then:
         ;oben links
         DisX1=(Cos((winkel*Wmas)-135)*21); (+2)
         DisY1=(Sin((winkel*Wmas)-135)*21)                     
         ;unten links
         DisX2=(Cos(135+(winkel*Wmas))*20)
         DisY2=(Sin(135+(winkel*Wmas))*20)   
         
         If status(Xeck1,Yeck1)=0 And status(Xeck2,Yeck2)=0 Then:
            x = x - Cos(winkel*Wmas)*2
            y = y - Sin(winkel*Wmas)*2
            xback = xback - Cos(winkel*Wmas)*2
            yback = yback - Sin(winkel*Wmas)*2         
            turn=0      
         ElseIf status(Xeck1,Yeck1)=1 And status(Xeck2,Yeck2)=1 Then:
               If turn=0 Then turn=Rnd(1,2) 
             Select turn               
             Case 2
                winkel=winkel+2;links
             Case 1
                winkel=winkel-2;rechts
             End Select 
         ElseIf status(Xeck1,Yeck1)=1 Then:   
            winkel=winkel-2
         ElseIf status(Xeck2,Yeck2)=1 Then:
            winkel=winkel+2
         EndIf 
         If winkel>Wmax Then winkel=0
         If winkel<0 Then winkel=Wmax
      EndIf    
      ;Schuss
      If KeyHit(57) Then:
         b.bullet=New bullet
         b\xx=x
         b\yy=y
         b\speed=5
         b\typ=0
         b\winkel=winkel
         b\leb=(b\typ*5)+100
         b\team=0
         b\att=5
      EndIf
End Function
;Function UpdateBullet()
Function UpdateBullet()
   For b.bullet=Each bullet
   ;Anzeigen
   DrawImage ImaBullet(b\winkel),b\x,b\y,b\typ
   ;Koordinaten
   b\x=b\xx-xback
   b\y=b\yy-yback
   ;Bewegen
   b\xx=b\xx+Cos(b\winkel*Wmas)*b\speed
   b\yy=b\yy+Sin(b\winkel*Wmas)*b\speed
   ;Kollision
   If status(b\xx/tile,b\yy/tile)=1 Then b\leb=-2
   If b\team=0 Then: ; human
      For e.enemy=Each enemy
         If ImagesCollide(bullet,b\x,b\y,b\typ,enemy,e\xDraw,e\yDraw,e\typ)=1 Then b\leb=0:e\live=e\live-b\att
      Next
   ElseIf b\team=1 Then: ; com
      If ImagesCollide(bullet,b\x,b\y,b\typ,player,xDraw,yDraw,0)=1 Then b\leb=0:live=live-b\att
   EndIf
   ;Ende
   If b\xx/tile<1 Or b\yy/tile<1 Or b\yy/tile>63 Or b\xx/tile>63 Then b\leb=0
   b\leb=b\leb-1
   If b\leb<0 Then Delete b   
   Next
End Function
;Function NewEnemy()
Function NewEnemy(xd,yd,w,t)
   e.enemy=New enemy
   e\x=xd
   e\y=yd
   e\winkel=w
   e\typ=t
   e\live=25
   e\gesch=1
   e\xZ=e\x
   e\yZ=e\y
   e\xEnd=e\x
   e\yEnd=e\y
   e\uPfad=CreateBank(2)
   e\reich=6
   e\dauer=15
   e\radius=2
End Function
;Function UpdateEnemy()
Function UpdateEnemy()
   For e.enemy=Each enemy
      ;Anzeigen
      DrawImage Enemy,e\xDraw,e\yDraw,e\typ
      ;Koordinaten
      e\xTile=e\x/tile:e\yTile=e\y/tile
      e\xDraw=e\x-xback:e\yDraw=e\y-yback
      e\xWEG=e\x+16:e\yWEG=e\y+16
      ;Zielsuche
      e\entf=Sqr((Abs(e\xWEG-x)^2) + (Abs(e\yWEG-y)^2) )
      If e\entf<=e\reich*tile And e\got=0 Then:
         e\got=1
         e\xEnd=xTile*tile
         e\yEnd=yTile*tile
         Pathfinding(e\x/tile,e\y/tile,e\xEnd/tile,e\yEnd/tile):e\FightStep=PfadSpliner()
         Bsize=BankSize(PfadBank)
         ResizeBank(e\uPfad,Bsize)
         CopyBank PfadBank, 0, e\uPfad, 0, Bsize          
      EndIf
      ;Pathfinding
      Select e\typ
      Case 0 ; Angreifer
         If e\fightstep<0 Then e\fightstep=0
         If e\fightstep<1 Then: e\xEnd=e\xZ:e\yEnd=e\yZ;e\xZ=e\xEnd:e\yZ=e\yEnd
         ElseIf e\fightstep>0 Then:
            e\xZ=(PeekShort(e\uPfad,e\FightStep))
            e\yZ=(PeekShort(e\uPfad,e\FightStep+2))   
         EndIf
         If e\x=e\xZ And e\y=e\yZ And e\fightstep>0 Then e\fightstep=e\fightstep-44                  
   
      Case 1 ; Attentäter
         If e\fightstep<0 Then e\fightstep=0
         If e\fightstep<1 Then: e\xZ=e\xEnd:e\yZ=e\yEnd
         ElseIf e\fightstep>0 Then:
            e\xZ=(PeekShort(e\uPfad,e\FightStep))
            e\yZ=(PeekShort(e\uPfad,e\FightStep+2))   
         EndIf
         If e\x=e\xZ And e\y=e\yZ And e\fightstep>0 Then e\fightstep=e\fightstep-44                           
      Case 2
         e\xZ=e\x
         e\yZ=e\y
         e\xEnd=e\x
         e\yEnd=e\y
      End Select
      If e\xEnd=e\x And e\yEnd=e\y And e\got=1 Then e\got=0   
         ;Oben -Rechts laufen
         If e\xZ > e\x And e\yZ < e\y Then: e\x=e\x+e\gesch : e\y=e\y-e\gesch ;: e\winkel=315
         ;Unten-Rechts laufen
         ElseIf e\xZ > e\x And e\yZ > e\y Then: e\x=e\x+e\gesch : e\y=e\y+e\gesch ;: e\winkel=45
         ;Unten-Links  laufen
         ElseIf e\xZ < e\x And e\yZ > e\y Then: e\x=e\x-e\gesch : e\y=e\y+e\gesch ;: e\winkel=135
         ;Oben -Links  laufen
         ElseIf e\xZ < e\x And e\yZ < e\y Then: e\x=e\x-e\gesch : e\y=e\y-e\gesch ;: e\winkel=225                            
         ;Oben   laufe
         ElseIf e\yZ < e\y Then: e\y=e\y-e\gesch ;: e\winkel=270         
         ;Unten  laufen
         ElseIf e\yZ > e\y Then: e\y=e\y+e\gesch ;: e\winkel=90         
         ;Rechts laufen
         ElseIf e\xZ > e\x Then: e\x=e\x+e\gesch ;: e\winkel=0         
         ;Links  laufen
         ElseIf e\xZ < e\x Then: e\x=e\x-e\gesch ;: e\winkel=180         
         EndIf
      ;Angriff
         ;Text e\xDraw,e\yDraw,""+e\live
         Text e\xDraw,e\yDraw+15,""+e\entf
      If e\entf<e\radius*tile Then e\buf=e\buf+1
      If e\buf>e\dauer And e\entf<e\radius*tile Then: e\buf=0
         b.bullet=New bullet
         b\xx=e\xWEG
         b\yy=e\yWEG
         b\speed=5
         b\typ=0
         b\winkel=e\winkel
         b\leb=(b\typ*5)+100
         b\team=1   
         b\att=5               
      EndIf

         If x<=e\xWEG And y<=e\yWEG Then: ;oben links
            e\sinus=((e\yWEG-y)/(e\entf))
            e\winkel=ASin(e\sinus)+180
         ElseIf x<=e\xWEG And y>e\yWEG Then: ;unten links
            e\sinus=((e\xWEG-x)/(e\entf))
            e\winkel=ASin(e\sinus)+90
            
         ElseIf x>e\xWEG And y<=e\yWEG Then: ;oben rechts
            e\sinus=((x-e\xWEG)/(e\entf))
            e\winkel=ASin(e\sinus)+270
         ElseIf x>e\xWEG And y>e\yWEG Then: ;unten rechts
            e\sinus=((y-e\yWEG)/(e\entf))
            e\winkel=ASin(e\sinus)
         EndIf             
   Next
End Function
;Function Pathfinding(startx,starty,endx,endy)
Function Pathfinding(startx,starty,endx,endy)
  Delete Each node
  Delete Each open
  Delete Each path
  Dim nodemap(mapwidth,mapheight)
  If startx=endx And starty=endy Then Return

  node.node=New node
  node\x=startx
  node\y=starty
  open.open=New open
  open\node=node
  nodemap(startx,starty)=1

  .again2
  node=Null
  cost=2147483647
  For open=Each open
    delta=sqrmap(Abs(open\node\x-endx),Abs(open\node\y-endy))
    If open\node\cost+delta<cost Then
      cost=open\node\cost+delta
      node=open\node
      tempopen.open=open
    EndIf
  Next
  If node=Null Then Return
  Delete tempopen

  For i=0 To 7
    xx=node\x+dirx(i)
    yy=node\y+diry(i)
    If xx=>0 And yy=>0 And xx<=mapwidth And yy<=mapheight Then
      If map(xx,yy)=0 And nodemap(xx,yy)=0 Then
        If dirz(i)=1 Then
          If status(xx,node\y)=1 And map(node\x,yy)=1 Then Goto jump2
        EndIf
        tempnode.node=New node
        tempnode\parent=node
        tempnode\cost=node\cost+1+dirz(i)
        tempnode\x=xx
        tempnode\y=yy
        open.open=New open
        open\node=tempnode
        nodemap(xx,yy)=1
        If xx=endx And yy=endy Then finish=1:Exit
        .jump2
      EndIf
    EndIf
  Next
  If finish=0 Then Goto again2

  While tempnode\parent<>Null
    path.path=New path
    path\node=tempnode
    tempnode=tempnode\parent
  Wend
  path.path=New path
  path\node=tempnode
End Function
;Function PfadSpliner()
Function PfadSpliner()
FreeBank(PfadBank):PfadBank=CreateBank(4)
    Color 200,0,0
    For path.path=Each path
      If path=Last path Then Exit
      tmp.path=Before path
      If tmp=Null Then
        x0=path\node\x
        y0=path\node\y
      Else
        x0=tmp\node\x
        y0=tmp\node\y
      EndIf
      x1=path\node\x
      y1=path\node\y
      tmp.path=After path
      x2=tmp\node\x
      y2=tmp\node\y
      tmp.path=After tmp
      If tmp=Null Then
        x3=x2
        y3=y2
      Else
        x3=tmp\node\x
        y3=tmp\node\y
      EndIf
      Spline(X0,Y0,X1,Y1,X2,Y2,X3,Y3)
   Next
Return BankSize(PfadBank)-4
End Function
;Function Spline(x1,y1,x2,y2,x3,y3,x4,y4)
Function Spline(x1,y1,x2,y2,x3,y3,x4,y4)
Ras=32
x1=x1*Ras:y1=y1*Ras
x2=x2*Ras:y2=y2*Ras
x3=x3*Ras:y3=y3*Ras
x4=x4*Ras:y4=y4*Ras
For u#=0 To 1.1 Step .1
    u2#=u#*u#
    u3#=u#*u#*u#
    f1#=-0.5*u3#+1.0*u2#-0.5*u#
    f2#= 1.5*u3#-2.5*u2#+1.0
    f3#=-1.5*u3#+2.0*u2#+0.5*u#
    f4#= 0.5*u3#-0.5*u2#
    xx=x1*f1#+x2*f2#+x3*f3#+x4*f4#
    yy=y1*f1#+y2*f2#+y3*f3#+y4*f4#
   If ax<>xx Or ay<>yy Then
   Pos=BankSize(PfadBank):ResizeBank(PfadBank,Pos+4)
   PokeShort(PfadBank,Pos,xx)
   PokeShort(PfadBank,Pos+2,yy)
   EndIf    
   ax=xx:ay=yy
Next
End Function

The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

Silver_Knee

BeitragMi, Jul 02, 2008 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
nachdem ich avg drüberlaufen hab lassen (und in der statuszeile diverse bb files und bmps gesehen hab) bin ich mal das Risiko eingegangen sie zu öffnen. Es ist tatsächlich ein komplettes spiel. Mein Tipp lade es als .rar/.zip hoch. Das schafft weniger misstrauen, da diese Dateien dem PC keinen schaden zufügen können.

Xeres

Moderator

BeitragMi, Jul 02, 2008 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir kommt da kein Fehler (welcher überhaupt?), kann rumlaufen und mich drehen und feuern ohne das da was passiert.
Benutz das Debug Fenster von BB und sach' die Zeile an, die bei dem Fehler markiert wird.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Baschdi

BeitragMi, Jul 02, 2008 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
einafch von anfang an pfeil hoch taste gedrückt halten...dann läuft er gegen den fels , dreht sich und der fehler "Array index out of bounds" kommt in der Zeile
Code: [AUSKLAPPEN]

delta=sqrmap(Abs(open\node\x-endx),Abs(open\node\y-endy))
(pathfinding)


@ silver_kneee
ok, werds mir merken...
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

Silver_Knee

BeitragMi, Jul 02, 2008 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal: Klasse idee Quadradwurzeln zwischenzuspeichern. Du solltest allerdings noch eine Abfrage dort einrichten ob Abs(open\node\x-endx)<=50 und Abs(open\node\y-endy)<=50 Denn dein Dim geht nur von 0-50


Der fehler erscheint erst wenn mein weit genug vom Spawnpunkt weg ist damit man den Array ausreitzt

Baschdi

BeitragMi, Jul 02, 2008 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
oh maaaan klar.....daran hab ich gar nicht gedacht...vielen vielen dank! ich glaube es geht jetzt...also ich habe das eingebaut und zusätzlich bei den Globals anstatt dim(50), dim(64) gemacht und jetzt kommt kein fehler mehr
DANKE

aber jetzt stockt es bei den automatischen drehungen immer...woher kommt das jetzt plötzlich?



mfg baschdi
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

Xeres

Moderator

BeitragMi, Jul 02, 2008 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Du verwendest die Winkel Variable einerseits um positionen/was-auch-immer zu berechnen, aber dabei wird der Winkel u.U. gleich wieder verändert. Ich würde die Änderungen die sich in einem Durchlauf aufsummieren erst am ende in "Winkel" zurückschreiben; und das ganze mit Mod realisieren, da größere Winkel als 359 Grad nicht zwangsweise = 0 sein müssen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Silver_Knee

BeitragMi, Jul 02, 2008 23:22
Antworten mit Zitat
Benutzer-Profile anzeigen
außerddem verschiebs du mit 50->64 das problem. Deine maximale entfernung wird dann eben 64 sein ohne dass der fehler auftritt. Ich dachte da an ein If ....<=50 then distance=array_dingens(x,y) else distance=Sqr(....) dann würdes du bei großen Entfernung manuell berechnen und bei kleineren auf die ferige liste zurückgreifen.

Baschdi

BeitragDo, Jul 03, 2008 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
?
kannst du mir das mit dem
Code: [AUSKLAPPEN]

   If Abs(open\node\x-endx)<=50 And Abs(open\node\y-endy)<=50 Then distance=array_dingens(x,y)
   Else: distance=Sqr(....)


genauer erklären, weil ich blick nicht wirklich was das nützen soll... (woher kommt das distance)

Danke
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

BtbN

BeitragDo, Jul 03, 2008 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Nirgendwoher, du rechnest es aus.

Baschdi

BeitragFr, Jul 04, 2008 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
hm...das verstehe ich nicht, aber ich will eigentlich wissen warum das Programm jetzt stockt...wie kann ich das wieder verhinder?
Es stockt nur wenn der player gegen einen Fels fährt und der andere Spieler in der Nähe ist...wie kann man das ändern?

danke
_____________________________________________________________________________________


ok das problem mit dem laggen war:

immer wenn ich gegen die wand gefahren bin war für ne zeitlang meine koos auf einem Tile das belegt war (mr. fels)drum hat er ewig nach einem weg gesucht und das hat ihn überlastet...danke für all eure posts !!!

mfg baschdi
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group