Meine Programme haben den gleichen Fehler, Hilfe :(

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

kog

Betreff: Meine Programme haben den gleichen Fehler, Hilfe :(

BeitragSa, Jan 21, 2006 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, ich weiss das ist mein erster Thread
Aber seid trozdem nicht so brutal Wink

So hier kommt meine frage:
Alle meine Programme haben immer den gleichen fehler, Je länger sie laufen, desto länger haben sie sich zu beenden und Windows wird immer langsamer Sad

Weiss jemand voran das liegen könnte? Am PC nicht, weil anderes Codes gehen auch....

P.S.: Ja die Rechtschreibe fehler sind so eine sache, aber auf die kommt es ja nicht an, in meiner Frage Wink
 

E. Urbach

ehemals "Basicprogger"

BeitragSa, Jan 21, 2006 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
ich versteh zwar deine Frage nicht, aber meinst du vielleicht die CPU-Auslastung, wenn 2 Programme gleichzeitig laufen?
Das liegt an DirectX.
Das kann man durch den Vollbildmodus verhindern.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

kog

BeitragSa, Jan 21, 2006 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann ich verstehen, das du meine Frage nicht verstehst ^^

Naja, versuche es nochmal:
Wenn ich ein Programm schreibe, mit einem Menü (Benutze den Menü aufbau von CS2D)
und das programm einige minuten laufen lasse und es dann beenden will, braucht es ca. 40 sekunden bis es sich beendet hat und die CPU Auslastung steigt auch mehr und mehr.

es wäre nicht so schlau wenn ich den Code hier poste, weil es wird der Dedicated Server für CS2Dn
 

E. Urbach

ehemals "Basicprogger"

BeitragSa, Jan 21, 2006 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

braucht es ca. 40 sekunden bis es sich beendet hat und die CPU Auslastung steigt auch mehr und mehr.

na dann liegts am Code Rolling Eyes
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

BtbN

BeitragSa, Jan 21, 2006 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Klingt, als ob du irgendwas in der Hauptschleife immer wieder lädst.
Schau mal nach, ob du vieleicht die Bilder jedes mal in der Hauptschleife neu lädst.

SoNenTyp

BeitragSa, Jan 21, 2006 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast doch sicher eine Function oder so etwas die du Aufrufst um das Programm zu beenden.

z.b.Code: [AUSKLAPPEN]
Function Beenden
end ;Ja ich weis das da noch mehr rein gehört ;)
end Function


Diesen Code kannst du doch sicher ohne bedenken Posten.
Gruss Der Typ.

User posted image

kog

BeitragSa, Jan 21, 2006 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
[syntax="bb"];Variabeln
Global version$="0.0.0.1"
Dim men_in$(75)
Global font_norm
Global mx,my,ms,mz,mh,md,mh2,md2,mh3,md3,keydelete,keydeletedown,keydeletelast
Global key
Global men_sel
Global men=0
Global uptime,lastuptime,sek,min,std,day
Dim console$(10)
Dim consolecol(10)
Global message=0,messagetxt$
Global ip$,player_ip$,player_port,udp,server_name$,server_pw$="test"
Graphics 640,480,32,2
AppTitle("Dedicated Server CS2Dn - v"+version$)

;Types
;Player
Type player
Field id ;unique Player ID
Field name$ ;Player Name
Field ip ;IP (NOT dotted)
Field port ;Port
Field timeout ;Timeout (ms)
Field ping ;Ping
Field h ;Sprite Handle
Field team ;Team (0=Spectator, 1=T, 2=CT)
Field look ;Player Look
Field vip ;is a VIP?
Field x#,y# ;Position
Field dir ;Direction
Field health ;Health Points
Field armor ;Armor Points
Field money ;Geld
Field kognid
Field tile_x,tile_y,tile_mode,tile_timer,tile_entity ;Tile Data
Field step_timer, step_wet# ;Step Data
Field frags ;Frags
Field deads ;Deads
Field weaponmode ;Waffenmodus (0=normal, 1=zoom1, 2=zoom2)
Field shoot ;Shoot?
Field shoottimer ;Time to next Shoot
Field action ;current Action (0=none, 1=Reload, 2=Plant, 3=Defuse)
Field actionstart ;Timer for Action Start
Field actiontotal ;Timer for Action Total
Field radio ;Radio Timer
Field spray ;Spray Timer
Field reload ;Reload Timer
Field accuracy# ;Weapon accuracy
Field forcedeath ;Tod erzwingen
Field roundlived ;Runde in der der Spieler gespawnt wurde
Field fowhide ;Hidden by Fog of War?
Field fowalpha# ;Fow Alpha
Field mission ;Dieser Spieler bekommt Bombe/VIP
Field moved ;Diese Runde schon bewegt?
Field gameadmin ;Is a Game Admin?

Field udp_move ;Move Timer (Bewegungen seit letztem Senden)
Field udp_mlx ;Move Last X (X Position beim letzten Senden)
Field udp_mly ;Move Last Y (Y Position beim letzten Senden)
Field udp_walk ;Move Walk? (Walk-Mode?)
Field udp_dir ;Dir Timer (Richtungsänderungen seit l. Senden)
;Field udp_interpx ;Interp. X Pos
;Field udp_interpy ;Interp. Y Pos
;Field udp_interpmode ;Interp. Movemode
Field udp_pinged ;P2P Pinged?
Field udp_pingtimer ;P2P Pingtimer

Field equipment_h ;Equipment Handle
Field slot ;Active Slot
Field weapon_h ;Weapon Handle
Field sweapon[14] ;Weapon ID's
Field sammo[14] ;Weapon Ammo dabei
Field sammoin[14] ;Weapon Ammo in Waffe
Field shadow_h ;Schatten Handle

Field g_last ;Lastgren Timer
Field g_he
Field g_flash
Field g_flare
Field g_smoke

Field legs_h ;Legs Handle
Field legs_frame ;Legs Frame
Field legs_dir ;Legs Dir
Field legs_lastmove ;Legs letzte Bewegung
Field legs_lastspeed ;Legs letzte Geschwindigkeit
Field legs_timer ;Legs Animations Timer
Field legs_mlx ;Legs letztes X
Field legs_mly ;Legs letztes Y

Field orderd ;Geordnet?
Field orderval ;Order Value

Field sv_lastping ;Lastping für Pingtimeout
Field sv_givemoney ;Give Money on Roundstart

End Type

Global cursorms,cursor,con_in$


Function get_ip$()
ipstream=OpenTCPStream("kogn.cs2dn.ch",80)
WriteLine ipstream, "GET http://kogn.cs2dn.ch/kogn_ip.php"
ip$=ReadLine(ipstream)
CloseTCPStream(ipstream)
Return ip$
End Function

Function menu()
;Einstellungen
ms=MilliSecs()
mx=MouseX()
my=MouseY()
mz=MouseZSpeed()
mh=MouseHit(1)
md=MouseDown(1)
mh2=MouseHit(2)
md2=MouseDown(2)
mh3=MouseHit(3)
md3=MouseDown(3)
key=GetKey()
keydelete=KeyHit(14)
keydeletedown=KeyDown(14)
SetBuffer BackBuffer()
Cls
font_norm=LoadFont("Arial",15)
SetFont font_norm

If ms-cursorms>299 Then
cursorms=ms
cursor=1-cursor
End If

Select men
Case 0
Color 255,255,255
Text 120,10,"Dedicated Server CS2Dn"
If men_button(10,100,"Starten") Then
men_in$(1)=get_ip$()+":36963"
con_add_line("Starting Server...")
con_add_line("Adding Server to Masterserver...")
If set_server("36963") Then set_udp("36963")
server_name$="Dedicated Server Test"
set_men(2)
End If

Case 2
get_udp()
uptime=MilliSecs()
If lastuptime=0 Then lastuptime=MilliSecs()
If uptime-lastuptime>999 Then
sek=sek+1
lastuptime=MilliSecs()
End If
If sek>59 Then
min=min+1
sek=sek-60
End If
If min>59 Then
std=std+1
min=min-60
End If
If std>24 Then
day=day+1
std=std-24
End If
men_in$(2)=day+":"+std+":"+min+":"+sek
men_in$(3)=server_name$
men_input(10,100,150,"Address:",1,0)
men_input(10,150,150,"Uptime:",2,0)
men_input(300,100,200,"Servername:",3,0)

;Console
;Input
If key>31 And StringWidth(con_in$)<(100) Then con_in$=con_in$+Chr(key)
;Delete
If keydelete=1 Or (keydeletedown=1 And (ms-keydeletelast>70)) Then
If Len(con_in$)>0 Then
keydeletedown=0:keydeletelast=ms
If keydelete=1 Then keydelete=0:keydeletelast=ms+500
con_in$=LSet(con_in$, Len(con_in$)-1)
EndIf
EndIf
Text 10,200,"Console:"
Rect 9,215,620,170,0
Rect 9,(215+170)+2,620,17,0
Text 10,(215+170)+2,con_in$
If cursor Then Rect (9+StringWidth(con_in$))+1,(215+170)+4,1,13,1
For k=0 To 10
Select consolecol(k)
Case 0 Color 255,255,255
Case 1 Color 255,0,0
Case 2 Color 0,255,0
Default Color 255,255,255
End Select
Text 10,217+k*15,console$(k)
Next

If men_button(10,460,"Quit") Then window_add_msg("Are you sure?")

Default
Text 0,0,"Invalid MenuID!"
End Select

If message Then
Color 0,0,0
Rect 150,150,300,200,1
Color 255,255,255
Rect 150,150,300,200,0
Color 255,0,0
If message=1 Then Text 280,165,"Quit" Else Text 280,165,"Error"
Color 255,255,255
Line 150,190,449,190
Text 170,205,messagetxt$
If message=1 Then
If men_button(300,330,"Quit") Then
del_server()
CloseUDPStream(udp)
End
End If
If men_button(250,330,"Cancel") Then
message=0
End If
Else
If men_button(3150,330,"OK") Then message=0
End If
End If


;Keys
If KeyHit(1) Then window_add_msg("Are you sure?") ;ESC : Beenden
If KeyHit(60) Then SaveBuffer(BackBuffer(),"screenshots/dedicated"+ms+".bmp") ;F2 : Screenshot

;Speedbegrenzung
While MilliSecs()-ms<25
Delay 1
Wend

Flip
End Function

Function set_server(port)
set=OpenTCPStream("kogn.cs2dn.ch",80)
If set=0 Then con_add_line("Can't Added Server to Masterserver!",1):Return 0
WriteLine set, "GET ******"
status=ReadLine(set)
CloseTCPStream(set)
Select status
Case 1 con_add_line("Server Added to Masterserver! ("+ip$+":"+port+")",2)
Case 0 con_add_line("Can't Added Server to Masterserver!",1)
Default con_add_line("Can't Added Server to Masterserver!",1)
End Select
Return status
End Function

Function del_server()
set=OpenTCPStream("kogn.cs2dn.ch",80)
If set=0 Then Return 0
WriteLine set, "GET *******"
ReadLine(set)
CloseTCPStream(set)
End Function

;UDP
Function set_udp(port)
Local status
udp=CreateUDPStream("36963")
If udp Then
status=1
Else
status=0
End If
Return status
End Function

Function get_udp()
While RecvUDPMsg(udp)
If ReadAvail(udp) Then
player_ip$=UDPMsgIP(udp)
player_port=UDPMsgPort(udp)
msgid=ReadByte(udp)
Select msgid
Case 250
typ=ReadByte(udp)
Select typ
Case 0 ;Info Request
con_add_line("Server Info Request from "+DottedIP(player_ip$)+":"+player_port)
WriteByte(udp),250
WriteByte(udp),1
WriteLine(udp),""
If Len(server_pw$)>0 Then pw=1 Else pw=0
WriteByte(udp),pw
WriteLine(udp),"de_dust2"
WriteByte(udp),0
WriteByte(udp),4
WriteByte(udp),1
WriteByte(udp),0
WriteLine(udp),server_name$
SendUDPMsg(udp, player_ip$, player_port)

Case 2
val1$=ReadLine(udp)
val2$=ReadLine(udp)

WriteByte(udp),250
WriteByte(udp),3

If (val1$=server_pw$ And 0<4) Then
typ3=player_add(val2$, 0, player_ip$, player_ip$, -1, 0)
WriteByte(udp),1 ;OK Byte
WriteByte(udp),typ3 ;New Player ID
WriteInt(udp),player_ip$ ;New Player IP
WriteInt(udp),player_port ;New Player Port
WriteLine(udp),"0.0.9.9" ;Server Game Version
WriteLine(udp),"" ;Server Map Code
WriteLine(udp),"de_dust2" ;Server Map Name
WriteByte(udp),0 ;Server ID
WriteLine(udp),server_name$ ;Server Name
WriteByte(udp),4 ;Server Maxplayers
WriteByte(udp),1 ;Server Fog of War
WriteByte(udp),0 ;Server Warmode
WriteByte(udp),15
WriteByte(udp),2
WriteByte(udp),4 ;Freezetime
WriteByte(udp),0
WriteByte(udp),0 ;Server RoundTime Sec
WriteByte(udp),0 ;Server RountTime Min
WriteByte(udp),1
WriteShort(udp),0 ;Server Score T
WriteShort(udp),0 ;Server Score CT
WriteByte(udp),0 ;Server Winrow T
WriteByte(udp),0 ;Server Winrow CT
WriteInt(udp),0 ;Server Bombtimer
WriteByte(udp),0 ;Server Round Session
SendUDPMsg(udp, player_ip$, player_port)
Else
If val1$<>server_pw$ Then
WriteByte(udp),2
SendUDPMsg(udp, player_ip$, player_port)
ElseIf 4=4 Then
WriteByte(udp),3
SendUDPMsg(udp, player_ip$, player_port)
End If
End If

Case 4
val1$=ReadLine(udp)
typ3=ReadByte(udp)
con_add_line(val1$+" connected!",2)
For player.player=Each player
If player\id<>typ3 Then
End If
Next
End Select

End Select
End If
Wend
End Function[/syntax]

das ist das menü Wink bin nicht gerade einer der Besten BB coder

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Jan 21, 2006 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
bin nicht gerade einer der Besten BB coder

das fängt beim Code einrücken schon an!
Wink
ich hab das mal in mühevoller Handarbeit für dich gemacht!
Code: [AUSKLAPPEN]
Global version$ = "0.0.0.1"
Dim men_in$ (75)
Global font_norm
Global mx,my,ms,mz,mh,md,mh2,md2,mh3,md3,keydelete,keydeletedown,keydeletelast
Global key
Global men_sel
Global men = 0
Global uptime,lastuptime,sek,min,std,day
Dim console$ (10)
Dim consolecol (10)
Global message = 0 ,messagetxt$
Global ip$,player_ip$,player_port,udp,server_name$,server_pw$ = "test"
Graphics 640 ,480,32,2
AppTitle ("Dedicated Server CS2Dn - v" + version$)
;Types
;Player

Type player
    Field id ;unique Player ID
    Field name$ ;Player Name
    Field ip ;IP (NOT dotted)
    Field port ;Port
    Field timeout ;Timeout (ms)
    Field ping ;Ping
    Field h ;Sprite Handle
    Field team ;Team (0=Spectator, 1=T, 2=CT)
    Field look ;Player Look
    Field vip ;is a VIP?
    Field x#,y# ;Position
    Field dir ;Direction
    Field health ;Health Points
    Field armor ;Armor Points
    Field money ;Geld
    Field kognid
    Field tile_x,tile_y,tile_mode,tile_timer,tile_entity ;Tile Data
    Field step_timer, step_wet# ;Step Data
    Field frags ;Frags
    Field deads ;Deads
    Field weaponmode ;Waffenmodus (0=normal, 1=zoom1, 2=zoom2)
    Field shoot ;Shoot?
    Field shoottimer ;Time to next Shoot
    Field action ;current Action (0=none, 1=Reload, 2=Plant, 3=Defuse)
    Field actionstart ;Timer for Action Start
    Field actiontotal ;Timer for Action Total
    Field radio ;Radio Timer
    Field spray ;Spray Timer
    Field reload ;Reload Timer
    Field accuracy# ;Weapon accuracy
    Field forcedeath ;Tod erzwingen
    Field roundlived ;Runde in der der Spieler gespawnt wurde
    Field fowhide ;Hidden by Fog of War?
    Field fowalpha# ;Fow Alpha
    Field mission ;Dieser Spieler bekommt Bombe/VIP
    Field moved ;Diese Runde schon bewegt?
    Field gameadmin ;Is a Game Admin?
    Field udp_move ;Move Timer (Bewegungen seit letztem Senden)
    Field udp_mlx ;Move Last X (X Position beim letzten Senden)
    Field udp_mly ;Move Last Y (Y Position beim letzten Senden)
    Field udp_walk ;Move Walk? (Walk-Mode?)
    Field udp_dir ;Dir Timer (Richtungsänderungen seit l. Senden)
    ;Field udp_interpx ;Interp. X Pos
    ;Field udp_interpy ;Interp. Y Pos
    ;Field udp_interpmode ;Interp. Movemode
    Field udp_pinged ;P2P Pinged?
    Field udp_pingtimer ;P2P Pingtimer
    Field equipment_h ;Equipment Handle
    Field slot ;Active Slot
    Field weapon_h ;Weapon Handle
    Field sweapon[14] ;Weapon ID's
    Field sammo[14] ;Weapon Ammo dabei
    Field sammoin[14] ;Weapon Ammo in Waffe
    Field shadow_h ;Schatten Handle
    Field g_last ;Lastgren Timer
    Field g_he
    Field g_flash
    Field g_flare
    Field g_smoke
    Field legs_h ;Legs Handle
    Field legs_frame ;Legs Frame
    Field legs_dir ;Legs Dir
    Field legs_lastmove ;Legs letzte Bewegung
    Field legs_lastspeed ;Legs letzte Geschwindigkeit
    Field legs_timer ;Legs Animations Timer
    Field legs_mlx ;Legs letztes X
    Field legs_mly ;Legs letztes Y
    Field orderd ;Geordnet?
    Field orderval ;Order Value
    Field sv_lastping ;Lastping für Pingtimeout
    Field sv_givemoney ;Give Money on Roundstart
End Type
Global cursorms,cursor,con_in$

Function get_ip$ ()
    ipstream = OpenTCPStream ("kogn.cs2dn.ch",80)
    WriteLine ipstream, "GET <http://kogn.cs2dn.ch/kogn_ip.php>
    ip$ = ReadLine (ipstream)
    CloseTCPStream (ipstream)
    Return ip$
End Function

Function menu ()
    ;Einstellungen
    ms = MilliSecs ()
    mx = MouseX ()
    my = MouseY ()
    mz = MouseZSpeed ()
    mh = MouseHit (1)
    md = MouseDown (1)
    mh2 = MouseHit (2)
    md2 = MouseDown (2)
    mh3 = MouseHit (3)
    md3 = MouseDown (3)
    key = GetKey ()
    keydelete = KeyHit (14)
    keydeletedown = KeyDown (14)
    SetBuffer BackBuffer ()
    Cls
    font_norm = LoadFont ("Arial",15)
    SetFont font_norm
    If ms - cursorms > 299 Then
        cursorms = ms
        cursor = 1 - cursor
    End If
   
    Select men
     
     Case 0
        Color 255 ,255,255
        Text 120 ,10,"Dedicated Server CS2Dn"
        If men_button (10 ,100,"Starten") Then
            men_in$ (1) = get_ip$ () + ":36963"
            con_add_line ("Starting Server...")
            con_add_line ("Adding Server to Masterserver...")
            If set_server ("36963") Then set_udp ("36963")
            server_name$ = "Dedicated Server Test"
            set_men (2)
        End If
     Case 2
        get_udp ()
        uptime = MilliSecs ()
        If lastuptime = 0 Then lastuptime = MilliSecs ()
        If uptime - lastuptime > 999 Then
            sek = sek + 1
            lastuptime = MilliSecs ()
        End If
        If sek > 59 Then
            min = min + 1
            sek = sek - 60
        End If
        If min > 59 Then
            std = std + 1
            min = min - 60
        End If
        If std > 24 Then
            day = day + 1
            std = std - 24
        End If
        men_in$ (2) = day + ":" + std + ":" + min + ":" + sek
        men_in$ (3) = server_name$
        men_input (10 ,100,150,"Address:",1,0)
        men_input (10 ,150,150,"Uptime:",2,0)
        men_input (300 ,100,200,"Servername:",3,0)
        ;Console
        ;Input
        If key > 31 And StringWidth (con_in$) < (100) Then con_in$ = con_in$ + Chr (key)
        ;Delete
        If keydelete = 1 Or (keydeletedown = 1 And (ms - keydeletelast > 70) ) Then
            If Len (con_in$) > 0 Then
                keydeletedown = 0 : keydeletelast = ms
                If keydelete = 1 Then keydelete = 0 : keydeletelast = ms + 500
                con_in$ = LSet (con_in$, Len (con_in$) - 1)
            EndIf
        EndIf
        Text 10 ,200,"Console:"
        Rect 9 ,215,620,170,0
        Rect 9 , (215 + 170) + 2 ,620,17,0
        Text 10 , (215 + 170) + 2 ,con_in$
        If cursor Then Rect (9 + StringWidth (con_in$) ) + 1 , (215 + 170) + 4 ,1,13,1
       
        For k = 0 To 10
           
            Select consolecol (k)
             
             Case 0 Color 255 ,255,255
             Case 1 Color 255 ,0,0
             Case 2 Color 0 ,255,0
             Default Color 255 ,255,255
            End Select
           
            Text 10 ,217 + k * 15 ,console$ (k)
        Next
       
        If men_button (10 ,460,"Quit") Then window_add_msg ("Are you sure?")
     Default
        Text 0 ,0,"Invalid MenuID!"
    End Select
   
    If message Then
        Color 0 ,0,0
        Rect 150 ,150,300,200,1
        Color 255 ,255,255
        Rect 150 ,150,300,200,0
        Color 255 ,0,0
        If message = 1 Then Text 280 ,165,"Qu Else Text 280 ,165,"Error"
        Color 255 ,255,255
        Line 150 ,190,449,190
        Text 170 ,205,messagetxt$
        If message = 1 Then
            If men_button (300 ,330,"Quit") Then
                del_server ()
                CloseUDPStream (udp)
                End
            End If
            If men_button (250 ,330,"Cancel") Then
                message = 0
            End If
         Else
            If men_button (3150 ,330,"OK") Then message = 0
        End If
    End If
    ;Keys
    If KeyHit (1) Then window_add_msg ("Are you sure?") ;ESC : Beenden
    If KeyHit (60) Then SaveBuffer (BackBuffer () ,"screenshots/dedicated" + ms + ".bmp") ;F2 : Screenshot
    ;Speedbegrenzung
   
    While MilliSecs () - ms < 25
        Delay 1
    Wend
   
    Flip
End Function

Function set_server (port)
    set = OpenTCPStream ("kogn.cs2dn.ch",80)
    If set = 0 Then con_add_line ("Can't Added Server to Masterserver!",1) : Return 0
    WriteLine set, "GET ******"
    status = ReadLine (set)
    CloseTCPStream (set)
   
    Select status
     
     Case 1 con_add_line ("Server Added to Masterserver! (" + ip$ + ":" + port + ")",2)
     Case 0 con_add_line ("Can't Added Server to Masterserver!",1)
     Default con_add_line ("Can't Added Server to Masterserver!",1)
    End Select
   
    Return status
End Function

Function del_server ()
    set = OpenTCPStream ("kogn.cs2dn.ch",80)
    If set = 0 Then Return 0
    WriteLine set, "GET *******"
    ReadLine (set)
    CloseTCPStream (set)
End Function

;UDP

Function set_udp (port)
    Local status
    udp = CreateUDPStream ("36963")
    If udp Then
        status = 1
     Else
        status = 0
    End If
    Return status
End Function

Function get_udp ()
   
    While RecvUDPMsg (udp)
        If ReadAvail (udp) Then
            player_ip$ = UDPMsgIP (udp)
            player_port = UDPMsgPort (udp)
            msgid = ReadByte (udp)
           
            Select msgid
             
             Case 250
                typ = ReadByte (udp)
               
                Select typ
                 
                 Case 0 ;Info Request
                    con_add_line ("Server Info Request from " + DottedIP (player_ip$) + ":" + player_port)
                    WriteByte (udp) ,250
                    WriteByte (udp) ,1
                    WriteLine (udp) ,""
                    If Len (server_pw$) > 0 Then Else pw = 0
                    WriteByte (udp) ,pw
                    WriteLine (udp) ,"de_dust2"
                    WriteByte (udp) ,0
                    WriteByte (udp) ,4
                    WriteByte (udp) ,1
                    WriteByte (udp) ,0
                    WriteLine (udp) ,server_name$
                    SendUDPMsg (udp, player_ip$, player_port)
                 Case 2
                    val1$ = ReadLine (udp)
                    val2$ = ReadLine (udp)
                    WriteByte (udp) ,250
                    WriteByte (udp) ,3
                    If (val1$ = server_pw$ And 0 < 4) Then
                        typ3 = player_add (val2$, 0, player_ip$, player_ip$, - 1, 0)
                        WriteByte (udp) ,1 ;OK Byte
                        WriteByte (udp) ,typ3 ;New Player ID
                        WriteInt (udp) ,player_ip$ ;New Player IP
                        WriteInt (udp) ,player_port ;New Player Port
                        WriteLine (udp) ,"0.0.9.9" ;Server Game Version
                        WriteLine (udp) ,"" ;Server Map Code
                        WriteLine (udp) ,"de_dust2" ;Server Map Name
                        WriteByte (udp) ,0 ;Server ID
                        WriteLine (udp) ,server_name$ ;Server Name
                        WriteByte (udp) ,4 ;Server Maxplayers
                        WriteByte (udp) ,1 ;Server Fog of War
                        WriteByte (udp) ,0 ;Server Warmode
                        WriteByte (udp) ,15
                        WriteByte (udp) ,2
                        WriteByte (udp) ,4 ;Freezetime
                        WriteByte (udp) ,0
                        WriteByte (udp) ,0 ;Server RoundTime Sec
                        WriteByte (udp) ,0 ;Server RountTime Min
                        WriteByte (udp) ,1
                        WriteShort (udp) ,0 ;Server Score T
                        WriteShort (udp) ,0 ;Server Score CT
                        WriteByte (udp) ,0 ;Server Winrow T
                        WriteByte (udp) ,0 ;Server Winrow CT
                        WriteInt (udp) ,0 ;Server Bombtimer
                        WriteByte (udp) ,0 ;Server Round Session
                        SendUDPMsg (udp, player_ip$, player_port)
                     Else
                        If val1$ <> server_pw$ Then
                            WriteByte (udp) ,2
                            SendUDPMsg (udp, player_ip$, player_port)
                         ElseIf 4 = 4 Then
                            WriteByte (udp) ,3
                            SendUDPMsg (udp, player_ip$, player_port)
                        End If
                    End If
                 Case 4
                    val1$ = ReadLine (udp)
                    typ3 = ReadByte (udp)
                    con_add_line (val1$ + " connected!",2)
                   
                    For player.player = Each player
                        If player\id <> typ3 Then
                        End If
                    Next
                   
                End Select
               
            End Select
           
        End If
    Wend
   
End Function

[BB2D | BB3D | BB+]

kog

BeitragSa, Jan 21, 2006 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo thx..
Für was gibt es den BB-Code syntax wenn er ned geht?

kog

BeitragSa, Jan 21, 2006 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir jetzt mal die BlitzPlus demo gezoggen, und denn Code dort ausprobiert und dabei kam raus, das egal wie lange ich das programm laufen lasse, es beendet sofort

EDIT
Illegale aktionen sind untersagt!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group