[UDP] Host krigt immer mehr Punkte

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ToeB

Betreff: [UDP] Host krigt immer mehr Punkte

BeitragFr, Apr 11, 2008 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab für mein Online Spiel mir gedacht, wenn einer einen abschießt dann bekommt er Punkte, also wenn der dann tot ist. Dazu Speichere ich immer in einer Variable beim Host wer von wem als letzdes abgetroffen wurde (pTemp). Dann prüf ich in einner seperaten Schleife, ob die Lebn <= 0 sind und giebe dann dem der als letzes getroffen hat einen Punkt. Das Funzt auch alles bei den Clienten, nur der Host krigt immer mehr, okay ist ganz gut wenn man selber Host ist aber warum ist das so ? Ich geb euch mal den ausschnittt meines Codes, weil der Ganze einfach zu lang wär ^^

Code: [AUSKLAPPEN]
For i = 1 To p_anz
      If Server = 1
         If acc(i) Then
            For g.g = Each g
               If g\Del = 1         
                  If ImageRectCollide(Explo_r,g\x-50-ScrollX,g\y-50-ScrollY,0,x(i)-7-ScrollX,y(i)-7-ScrollY,15,15)
                     Lebn(i) = Lebn(i) - 50
                     pTemp(i) = g\ID
                  EndIf                     
               EndIf 
            Next
            For s.s = Each s
               If s\Del = 0
                  If i = 1 Then
                     If s\ID <> 1 And RectsOverlap(s\x-3-ScrollX,s\y-3-ScrollY,6,6,393,293,15,15) Then
                        Select s\typ
                        Case 1
                           Lebn(1) = Lebn(1) - 10
                        Case 2
                           Lebn(1) = Lebn(1) - 2
                        Case 3
                           Lebn(1) = Lebn(1) - 3
                        End Select
                        pTemp(1) = s\ID
                        s\Del = 1
                     EndIf                
                  Else
                     If s\ID <> i And RectsOverlap(s\x-3-ScrollX,s\y-3-ScrollY,6,6,x(i)-7-ScrollX,y(i)-7-ScrollY,15,15)
                        Select s\typ
                        Case 1
                           Lebn(i) = Lebn(i) - 10
                        Case 2
                           Lebn(i) = Lebn(i) - 2
                        Case 3
                           Lebn(i) = Lebn(i) - 3
                        End Select                  
                        pTemp(i)=s\ID
                        s\Del = 1
                     EndIf
                  EndIf 
               EndIf
            Next
         EndIf
      Else
         If acc(i) Then
            For s.s = Each s
               If i <> ID
                  If s\ID <> i Then
                      If s\ID <> i And RectsOverlap(s\x-3-ScrollX,s\y-3-ScrollY,6,6,x(i)-7-ScrollX,y(i)-7-ScrollY,15,15)
                        s\Del = 1
                     EndIf
                  EndIf
               Else
                  If s\ID <> ID And RectsOverlap(s\x-3-ScrollX,s\y-3-ScrollY,6,6,393,293,15,15)
                     s\Del = 1
                  EndIf
               EndIf
            Next
         EndIf
      EndIf   
   Next
   If Server = 1
      For i = 1 To p_anz
         If acc(i) And Lebn(i) <= 0 And tot(i) = 0 Then
            tot(i) = 1
            If i <> pTemp(i) Then Punkte(pTemp(i)) = Punkte(pTemp(i)) + 1
         EndIf
      Next
   EndIf



Ich hoffe ihr könnt mir Helfen...

mfg Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group