Mini-Chat

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

Zwische

Betreff: Mini-Chat

BeitragMo, Dez 22, 2003 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie der Titel schon sagt, ein einfacher Chat über DirectPlay.

Code: [AUSKLAPPEN]
;######################################### INIT #####################################

;define
Const W% = 640,H% = 480
Const MSGMAX% = 70
Global nettype% = 0,netdata$ = "",netfrom% = 0,netname$ = ""
Global msg$ = ""
Type chatter
   Field id%
   Field name$
End Type
Global my.chatter

;screen
AppTitle "Mini-Chat"
Graphics W,H,0,2
SetBuffer BackBuffer()

;start
Fade(0,255)
ausgabe = StartNetGame()
Fade(255,0)
If ausgabe <> 0 Then
   my.chatter = New chatter
   my\name = InputLetters("Your Name: ",3,8)
   my\id = CreateNetPlayer(my\name)
   Locate 0,20
Else
   RuntimeError "No Connection!"
EndIf

;######################################### MAIN #####################################

Repeat

   ;input/send
   key = GetKey()
   If key >= 32 And key <= 126 And Len(msg) < MSGMAX Then msg = msg+Chr(key)
   If KeyHit(14) And Len(msg) > 0 Then msg = Left(msg,Len(msg)-1)
   If KeyHit(28) And msg <> "" Then SendNetMsg 1,msg,my\id,0,1 : Print my\name+": "+msg : msg = ""

   ;receive
   While RecvNetMsg() = 1
      nettype = NetMsgType()
      netdata = NetMsgData()
      netfrom = NetMsgFrom()
      netname = NetPlayerName(netfrom)
      If nettype = 1 Then
         Print netname+": "+netdata
      ElseIf nettype = 100 Then
         other.chatter = New chatter
         other\id = netfrom
         other\name = netname
         Print ">>> "+other\name+" has joined <<<"
      ElseIf nettype = 101 Or nettype = 102 Then
         For leaving.chatter = Each chatter
            If leaving\id = netfrom Then
               Print ">>> "+leaving\name+" has left <<<"
               Delete leaving.chatter
            EndIf
         Next
      EndIf
   Wend

   ;output
   Color 70,70,70
    Rect 0,0,640,18
   Color 255,255,255
    Line 0,18,W,18
    Text 2,2,"SEND: "+msg

Flip
Until KeyHit(1)
Fade(0,255)
End

;######################################### FUNC #####################################

Function InputLetters$(infotxt$,min%,max%)
   Local key%,txt$
   Repeat
   Cls
      key = GetKey()
      If (Len(txt) < max) And ((key >= 65 And key <= 90) Or (key >= 97 And key <= 122)) Then txt = txt+Chr(key)
      If KeyHit(14) And Len(txt) > 0 Then txt = Left(txt,Len(txt)-1)
      If KeyHit(28) Then
         If Len(txt) >= min Then
            Exit
         Else
            Text 0,0,"Number of letters must be >= "+min+" and <= "+max : Flip
            FlushKeys() : WaitKey() : FlushKeys()
         EndIf
      EndIf
      Text 0,0,infotxt+""+txt
   Flip
   Forever
   Return txt
End Function
Function Fade(von%,nach%)
   If von < nach Then
      For i = von To nach Step 5
         ClsColor i,i,i : Cls : Flip
      Next
   ElseIf von > nach Then
      For i = von To nach Step -5
         ClsColor i,i,i : Cls : Flip
      Next
   EndIf
End Function
www.bitbybit-creations.net

Shadow of the night

BeitragDi, Dez 23, 2003 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Effekt mit dem Weissen Bildschirm am Anfang und am Schluss find ich gut. Was muss ich eigentlich für ne IP eingeben wenn jemand keine feste IP hat? Wie kann ich die rausfinden?

Bin nicht der beste in Sachen Netzwerk. Embarassed

MfG Shadow of the Night
User posted image

Toby

Betreff: Super Chat

BeitragDi, Dez 23, 2003 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
FInd ihn auch super!!! (Hab' ihn zwar nicht über Netzwerk getestet aber allein ging's)
Super fände ich noch Smilies,natürlich nur wenn man den chat ausbauen will. Laughing Laughing Laughing Laughing
Member of
Terra Multimedia
 

BurningSoul

BeitragSo, Dez 28, 2003 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
um seine eigene IP rauszufinden
öffnet man ne Dosbox, und tippt
ipconfig

da steht die dann mit bei ....

sagst Du deinem Kollegen, mit dem Du chatten willst,
er soll das selbe tun ,Dir zb über icq oder so übermitteln, und ihr könnt loschatten ...

naja okay, da kann man auch direkt über icq chatten *fg
 

CodeMaster

BeitragSo, Dez 28, 2003 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Und die Leute, die nen Router haben, gehen einfach auf folgende Seite: www.wasistmeineip.de Smile
Dies ist ein Text, der an jeden Beitrag von dir angehängt werden kann. Es besteht eine Limit von 500 Buchstaben.

Zuletzt bearbeitet von CodeMaster am Mo Apr 01, Parse error: syntax error, unexpected ';' in htdocs\viewtopic.php on line 102
 

OJay

BeitragSo, Dez 28, 2003 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]



ich fass' es nicht, das sich jemand mit solch einem simplen php script brüstet... Rolling Eyes
 

walski

Ehemaliger Admin

BeitragSo, Dez 28, 2003 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ojay, Fresse halten, solche Seiten sind manchma verdammt nützlich und was ist so schlimm daran, dass einer andren kostenlos nen netten Dienst zur Verfügung stellt! Und frag mal wieviel Prozent der Internet User Webspace haben und frag dann ma wieviele PHP von denen können und dann auch noch ne TLD haben um schnell zu der Seite zu gelangen und nicht über members.tripod.de/dhfsd/rejthg/ip.php

walski
buh!

Shadow of the night

BeitragSo, Dez 28, 2003 22:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke an BurningSoul und CodeMaster

MfG Shadow of the Night
User posted image
 

feider

ehemals "Decelion"

BeitragMo, Dez 29, 2003 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ich finde den chat gut gemacht
er hat mir kürzlich bei meiner kleinen netzwerkparty gute dienste geleistet![img]
(bugmeldung: wenn man zuviel schreibt, dann wird der bildschirm kurz schwarzund der chat stürzt ab...
Ist zumindest bei mir so)[/img]
 

lettorTrepuS

BeitragMo, Dez 29, 2003 20:25
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Toby

Betreff: Kein Bild im Chat??WArum??

BeitragMo, Jan 05, 2004 23:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
hab' mal für an dem Chatbeispiel oben ein Bischen weitergebastelt. Aber ich kann keine kleinen Videos und Bilder einfügen. Bei mir kommt immer diese "Memory Acces Violation" Ich hab' den Pfad 30x überprüft! Mach ich was falsch??
Oder geht sowas in der Art von programmen nicht?? (Sounds funktionieren doch auch)

Als ich eine Schrift festlegen wollte, hatte er den befahl einfach ignoriert Crying or Very sad Kann's sein dass bei Print die generell missachtet werden??
Member of
Terra Multimedia
 

OJay

BeitragMo, Jan 05, 2004 23:30
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist (wie der name vermuten lässt), ein ARCHIV. zum fragen stellen, nutze bitte eines der anderen foren weiter oben.
und wenn du dann deine frage stellst, poste bitte deinen quellcode dazu. dann klappts auch mit dem nachbarn Wink

Mandrason

BeitragMo, Jan 05, 2004 23:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir gehts nicht!!! Helft mir!!!!*g*
Function Locate not found
Irren ist menschlich, und manche Menschen sind Irre

Albert Einstein

Valio

BeitragDi, Jan 06, 2004 0:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Mandrason: Version für B+
Code: [AUSKLAPPEN]
;######################################### INIT #####################################

;define
Const W% = 640,H% = 480
Const MSGMAX% = 70
Global nettype% = 0,netdata$ = "",netfrom% = 0,netname$ = ""
Global msg$ = ""
Type chatter
   Field id%
   Field name$
   End Type
Global my.chatter

;screen
AppTitle "Mini-Chat"
Graphics W,H,0,2
SetBuffer BackBuffer()

;start
Fade(0,255)
ausgabe = StartNetGame()
Fade(255,0)
If ausgabe <> 0 Then
   my.chatter = New chatter
   my\name = InputLetters("Your Name: ",3,8)
   my\id = CreateNetPlayer(my\name)
;Locate 0,20
Else
   RuntimeError "No Connection!"
EndIf

;######################################### MAIN #####################################

Repeat

   ;input/send
   key = GetKey()
   If key >= 32 And key <= 126 And Len(msg) < MSGMAX Then msg = msg+Chr(key)
   If KeyHit(14) And Len(msg) > 0 Then msg = Left(msg,Len(msg)-1)
   If KeyHit(28) And msg <> "" Then SendNetMsg 1,msg,my\id,0,1 : RPrint  my\name+": "+msg : msg = ""

   ;receive
   While RecvNetMsg() = 1
      nettype = NetMsgType()
      netdata = NetMsgData()
      netfrom = NetMsgFrom()
      netname = NetPlayerName(netfrom)
      If nettype = 1 Then
         RPrint netname+": "+netdata
      ElseIf nettype = 100 Then
         other.chatter = New chatter
         other\id = netfrom
         other\name = netname
         RPrint  ">>> "+other\name+" has joined <<<"
      ElseIf nettype = 101 Or nettype = 102 Then
         For leaving.chatter = Each chatter
            If leaving\id = netfrom Then
               RPrint  ">>> "+leaving\name+" has left <<<"
               Delete leaving.chatter
            EndIf
         Next
      EndIf
   Wend
   
   ;output
   Color 70,70,70
   Rect 0,0,640,18
   Color 255,255,255
   Line 0,18,W,18
   Text 2,2,"SEND: "+msg
   
   Flip
Until KeyHit(1)
Fade(0,255)
End

;######################################### FUNC #####################################

Function RPrint(s$)
   Local r,g,b: r = ColorRed(): g=ColorGreen() : b=ColorBlue()
   CopyRect 0,20,GraphicsWidth(),GraphicsHeight()-20,0,24+FontHeight(),FrontBuffer(),BackBuffer()
   Color 0,0,0
   Rect 0,20,GraphicsWidth(),4+FontHeight()
   Color r,g,b
   Text 0,20,s$
End Function

Function InputLetters$(infotxt$,min%,max%)
Local key%,txt$
   Repeat
      Cls
      key = GetKey()
      If (Len(txt) < max) And ((key >= 65 And key <= 90) Or (key >= 97 And key <= 122)) Then txt = txt+Chr(key)
      If KeyHit(14) And Len(txt) > 0 Then txt = Left(txt,Len(txt)-1)
      If KeyHit(28) Then
         If Len(txt) >= min Then
            Exit
         Else
            Text 0,0,"Number of letters must be >= "+min+" and <= "+max : Flip
            FlushKeys() : WaitKey() : FlushKeys()
         EndIf
      EndIf
      Text 0,0,infotxt+""+txt
      Flip
   Forever
   Return txt
End Function
Function Fade(von%,nach%)
   If von < nach Then
      For i = von To nach Step 5
         ClsColor i,i,i : Cls : Flip
      Next
   ElseIf von > nach Then
      For i = von To nach Step -5
         ClsColor i,i,i : Cls : Flip
      Next
   EndIf
End Function
Programming today is a race between software engineers striving to build better and bigger idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook
Gegen TCPA || Stoppt RFID || Tux user #361946 || User posted image

Mandrason

BeitragDi, Jan 06, 2004 10:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx
Irren ist menschlich, und manche Menschen sind Irre

Albert Einstein
 

artus1

Betreff: sry

BeitragMi, Okt 25, 2006 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm sry aber wegen der IP..
das kann man auch ganz einfach in BB machen...



n = CountHostIPs("")
ip = HostIP(1)
Print DottedIP$(ip)



also ich hab das so gelernt Smile

PowerProgrammer

BeitragMi, Okt 25, 2006 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist ja ne Threadpusherei Wink Meinst du, die Leute hier scheren sich noch um einen Code von vor 2 Jahren?
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter!
 

lettorTrepuS

BeitragDo, Okt 26, 2006 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

PowerProgrammer

BeitragDo, Okt 26, 2006 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja schon, aber ich meine, die Schreiber hier interessieren sich wahrscheinlich wenig um diesen Code, nach dieser Zeit. Wahrscheinlich haben manche von denen sogar mit BB aufgehört und bekommen jetzt so Mails zugesandt, von etwas, was denen egal ist...

Ich habe ja nicht gesagt, das nur neuer Code auch guter Code ist.

Mfg PowerProgrammer
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter!
 

hoohead

BeitragDo, Nov 02, 2006 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal ne Frage, kennt jemand die Ports, die man beim Router forwarden muss, damit das auch übers I-Net klappt?
Im Lan funktioniert es Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group