Problem mit Function in ner includeten Datei...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

#Reaper

Newsposter

Betreff: Problem mit Function in ner includeten Datei...

BeitragFr, Feb 11, 2005 20:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Edit: neustes Problem im letzten beitrag!


Hi!


Bin noch am Anfang, mit dem BB..

Habe, bzw bin daran, ein kleines Progg zu schreiben.. bisjetzt besteht es aus 3 Dateien:
1. start.bb
2. chat.bb ( Very Happy Wink )
3. sendall.bb

nun mein problem..:
in der start.bb wird die datei chat.bb includet, in der chat.bb wird die datei sendall.bb includet.
In der sendall.bb ist eine function "sendall()"

Der meckert rum, in der sendall.bb:

'Function' can only appear in main program



Kann mir jemand helfen?


MfG
#Reaper
  • Zuletzt bearbeitet von #Reaper am Sa, Feb 12, 2005 18:24, insgesamt einmal bearbeitet

jhabekost

BeitragFr, Feb 11, 2005 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ich denke du wirst nicht drum rum kommen den code zu posten Wink
 

Pat

BeitragFr, Feb 11, 2005 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Das heißt, dass du den Code posten sollst Rolling Eyes
www.plasma-forum.de.pn

tft

BeitragFr, Feb 11, 2005 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi....

ich würde mal sagen...ohne den Code gesehen zu haben. Das du die Zeile
Include "sendall.bb" innerhalb von Chat.bb in einer Function eingetragen hast. Functionen müssen aber im Main Code stehen. Functionen innerhalb einer Function zu definieren ist nicht möglich.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!
 

#Reaper

Newsposter

BeitragFr, Feb 11, 2005 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

(uu...alle wusten gleich, das ich den code nur ungerne poste.. Wink )


also dann Smile


start.bb
BlitzBasic: [AUSKLAPPEN]

Graphics 640, 480 , 16, 2


spiel = HostNetGame(\"Chat\")

If KeyHit(1) Then
Stop
End
EndIf

If spiel = 2 Then

spielereingabe$ = Input (\"Dein Nickname: \")


spieler = CreateNetPlayer(spielereingabe$)

If spieler <> 0 Then


Print \"Du bist nun im Chat...\"

Include \"chat.bb\"


Else
Print \"Der Sieler konnt nicht erstellt werden.\"
Print \"Drücke Esc um das Programm zu verlassen.\"
Stop
EndIf


Else
Print \"Der Chat konnte nicht gestartet werden, es trat ein Problem auf!\"
Print \"Drücke Esc um das Programm zu verlassen.\"
Stop
EndIf



chat.bb
BlitzBasic: [AUSKLAPPEN]

y = 0

Include \"sendall.bb\"


Repeat


newmsg = RecvNetMsg()

If newmsg = 1 Then

nachrichttyp = NetMsgType()


If nachrichttyp <= 1 And nachrichttyp >= 99 Then

spieler_anzahl = spieler_anzahl+1
spieler_nummer = NetMsgFrom()
spieler_name$ = NetPlayerName$(spieler_nummer)
nachricht$ = NetMsgData$()

Color 0,255,0
Text 1,y , spieler_name$+\": \"+nachricht$

sendall(spieler_nummer,spieler_name$,nachricht$)

ElseIf nachrichttyp = 100 Then
Color 255,0,0
Print \"Ein neuer Spieler ist beigetreten\"
ElseIf nachrichttyp = 101 Then
spieler_nummer = NetMsgFrom()
spieler_name$ = NetPlayerName$(spieler_nummer)
spieler_anzahl = spieler_anzahl-1
Color 255,0,0
Print \"Ein Spieler ' \"+spieler_name$+\" ' hat den Chat verlassen\"
ElseIf nachrichttyp = 102 Then
Color 255,0,0
Print \"Der Host hat die Session verlassen, ein anderer Computer ist nun Host\"
ElseIf nachrichttyp = 200 Then
Color 255,0,0
Print \"Ein Problem ist aufgetreten, die Session musste beendet werden\"
Else
Color 255,0,0
Print \"Ein unbekannter Netzwerkfehler ist aufgetreten\"
EndIf


EndIf


y = y+20

Until KeyHit(1)

Print \"Sie haben den Chat verlassen\"
StopNetGame

End


sendall.bb
BlitzBasic: [AUSKLAPPEN]

gesendete = 1


Function sendall(nummer,name$,msg$)

While gesendete = spieler_anzahl


gesendete = gesendete+1

SendNetMsg gesendete, msg$, spieler, nummer , 1




Wend

End Function



ok.. sagt jetzt net, das das ein komischer code sei, das kann ich mir denken..^^
is bei mir immer so o_O Wink

und...naja..halt...ein für euch warscheinlich komischer code..^^
bitte sagt mir jetzt möglichst nur diesen fehler, und net den rest, ich brauch was zum denken..^^

(is bei mir in jeder programmiersprache so... Very Happy Wink )


MfG
#Reaper

Smile


PS: irgendwie klappt das mit dem BB-Code vom forum nicht..

Digi_

BeitragFr, Feb 11, 2005 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
So weit ich weiss darf/sollte man die Includes nur einmal includen. Und was du machst geht nicht (hast du früher mit php gecodet?), mach eine funktion chat() und eine funktion sendall().
 

#Reaper

Newsposter

BeitragFr, Feb 11, 2005 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ja..durchaus.. progge aus etwas in php..js... Smile


also wenn das so is.. Smile

vll tu ich dann einfach nur die sendall.bb in die chat.bb mit rein, da die ja eh nur kurz is.. Smile


MfG
#Reaper


PS: also, da das auch net ging, hab ich die sendall() funktion nun einfach in die start.bb reingetan...
irgendwie wundert mich das nun aber, das das nicht geht...
da man das mit include ja macht, damit man nicht jeder funktion in eine datei reintuen muss!
oder?
 

#Reaper

Newsposter

BeitragSa, Feb 12, 2005 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

So, hab nun ein neues Problem.

Habe jetzt von dem Progg 2 versionen:
Eine Host Version und eine Version, zum Joinen...

Nur, es wird kein fehler gemeldet, nur klappt das Joinen net...
warum.. weis ich nicht...
Habs natürlich mit 2 PC versucht, auf dem einem kahm dann ne fehler meldung von Windows.. versteh die aber nicht.. is lang...

Eigentlich sollte alles Funktionieren...Theoretisch...


Den code Poste ich dann gleich mal..^^


MfG
#Reaper
 

#Reaper

Newsposter

Betreff: BB-Code

BeitragSa, Feb 12, 2005 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Host-Version:

start.bb:

Code: [AUSKLAPPEN]
Graphics 640, 480 , 16, 2


spiel = HostNetGame("Chat")

If KeyHit(1) Then
   Stop
   End
EndIf

If spiel = 2 Then

   spielername$ = Input ("Dein Nickname: ")
         
            
      spieler = CreateNetPlayer(spielername$)
      
      If spieler <> 0 Then
         
         
         Print "Du bist nun im Chat..."
         
         spieler_anzahl = 1
         
         Include "chat.bb"
         
         
      Else
      
         Print "Der Sieler konnt nicht erstellt werden."
         Print "Drücke Esc um das Programm zu verlassen."
         close()
         
      EndIf
         

Else

   Print "Der Chat konnte nicht gestartet werden, es trat ein Problem auf!"
   Print "Drücke Esc um das Programm zu verlassen."
   close()
   
EndIf



gesendete = 1


Function sendall(nummer,msg$)

While gesendete = spieler_anzahl

   
   gesendete = gesendete+1
   
   SendNetMsg gesendete, msg$, spieler, nummer , 1


   

Wend

End Function



Function close()

   key = WaitKey()
   
   If key = 1 Then
      StopNetGame
      Stop
      End 
   EndIf

End Function


chat.bb
Code: [AUSKLAPPEN]
y = 0



Repeat


newmsg = RecvNetMsg()
   
   If newmsg = 1 Then
      
      nachrichttyp = NetMsgType()

      
      If nachrichttyp <= 1 And nachrichttyp >= 99 Then
      
         spieler_anzahl = spieler_anzahl+1 
         spieler_nummer = NetMsgFrom()
         spieler_name$ = NetPlayerName$(spieler_nummer)
         nachricht$ = NetMsgData$()
         
         Color 0,255,0
         Text 1,y , spieler_name$+": "+nachricht$
         
         sendall(spieler_nummer,nachricht$)
         
      ElseIf nachrichttyp = 100 Then
      
         spieler_anzahl = spieler_anzahl+1
         
         Color 255,0,0
          Print "Ein neuer Spieler ist beigetreten"

      ElseIf nachrichttyp = 101 Then
      
         spieler_nummer = NetMsgFrom()
         spieler_name$ = NetPlayerName$(spieler_nummer)
         spieler_anzahl = spieler_anzahl-1
         
         Color 255,0,0
          Print "Ein Spieler ' "+spieler_name$+" ' hat den Chat verlassen"

      ElseIf nachrichttyp = 102 Then
      
         Color 255,0,0
          Print "Der Host hat die Session verlassen, ein anderer Computer ist nun Host"

      ElseIf nachrichttyp = 200 Then
      
         Color 255,0,0
          Print "Ein Problem ist aufgetreten, die Session musste beendet werden"

      Else
      
         Color 255,0,0
          Print "Ein unbekannter Netzwerkfehler ist aufgetreten"

      EndIf
      
            
EndIf


y = y+20

Delay 250

Until KeyHit(1)



Print "Sie haben den Chat verlassen"
StopNetGame

End



-------------------------------------------------------------------------------------


Join-Version:

Start.bb
Code: [AUSKLAPPEN]
Graphics 640, 480 , 16, 2

Host_IP$ = Input("IP des Hosts: ")


spiel = JoinNetGame("Chat", Host_IP$)

If KeyHit(1) Then
   Stop
   End
EndIf

If spiel = 2 Then

   spielername$ = Input ("Dein Nickname: ")
         
            
      spieler = CreateNetPlayer(spielername$)
      
      If spieler <> 0 Then
         
         
         Print "Du bist nun im Chat..."
         
         spieler_anzahl = 2
         
         Include "chat.bb"
         
         
      Else
      
         Print "Der Sieler konnt nicht erstellt werden."
         Print "Drücke Esc um das Programm zu verlassen."
         close()
         
      EndIf
         

Else

   Print "Der Chat konnte nicht gestartet werden, es trat ein Problem auf!"
   Print "Drücke Esc um das Programm zu verlassen."
   close()
   
EndIf



Function send()

   Locate 1, 620
   Color 0,255,0
   msg$ = Input(spielereingabe$+": ")
   
   SendNetMsg spieler, msg$, spieler, 1 , 1

End Function



Function close()

   key = WaitKey()
   
   If key = 1 Then
      StopNetGame
      Stop
      End 
   EndIf

End Function



chat.bb
Code: [AUSKLAPPEN]
y = 0



Repeat


newmsg = RecvNetMsg()
   
   If newmsg = 1 Then
      
      nachrichttyp = NetMsgType()

      
      If nachrichttyp <= 1 And nachrichttyp >= 99 Then
      
         spieler_anzahl = spieler_anzahl+1 
         spieler_nummer = NetMsgFrom()
         spieler_name$ = NetPlayerName$(spieler_nummer)
         nachricht$ = NetMsgData$()
         
         Color 0,255,0
         Text 1,y , spieler_name$+": "+nachricht$
         
         
         
      ElseIf nachrichttyp = 100 Then
      
         spieler_anzahl = spieler_anzahl+1
         
         Color 255,0,0
          Print "Ein neuer Spieler ist beigetreten"

      ElseIf nachrichttyp = 101 Then
      
         spieler_nummer = NetMsgFrom()
         spieler_name$ = NetPlayerName$(spieler_nummer)
         spieler_anzahl = spieler_anzahl-1
         
         Color 255,0,0
          Print "Ein Spieler ' "+spieler_name$+" ' hat den Chat verlassen"

      ElseIf nachrichttyp = 102 Then
      
         Color 255,0,0
          Print "Der Host hat die Session verlassen, ein anderer Computer ist nun Host"

      ElseIf nachrichttyp = 200 Then
      
         Color 255,0,0
          Print "Ein Problem ist aufgetreten, die Session musste beendet werden"

      Else
      
         Color 255,0,0
          Print "Ein unbekannter Netzwerkfehler ist aufgetreten"

      EndIf
      
            
EndIf

send()

y = y+20

Delay 500


Until KeyHit(1)



Print "Sie haben den Chat verlassen"
StopNetGame

End



(Der code ist Urheberrechtlich geschützt, danke! Very Happy Wink )


MfG
#Reaper
 

#Reaper

Newsposter

BeitragSo, Feb 13, 2005 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
weis denn niemand etwas?

ist es ein programmierfehler, oder ein entzwerkproblem oder was?
Sad

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group