Einstieg Netzwerk
Übersicht

Donald AguBetreff: Einstieg Netzwerk |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ne, sorry, das war nicht der Thread, den ich gemeint hatte, aber dann muss ich ihn halt nochmal posten... ![]() Also gut, ich habe mir inzwischen Rob's Tutorial zum Netzwerk verinnerlicht und hab mich (jaja, ich weiß ![]() Hierzu hab ich folgendes gecodet: Code: [AUSKLAPPEN] newgame = StartNetGame() Select newgame Case 0 Print "Keine Verbindung hergestellt." Case 1 Print "Erfolgreich mit dem Netzwerk verbunden." Case 2 Print "Ein neues Spiel wurde erstellt." End Select Graphics(640,480) name$ = Input("Name: ") playerID = CreateNetPlayer(name$) Select playerID Case 0 Print "Spieler konnte nicht erstellt werden." Default Print name$ + " hat die ID-Nr. " + playerID End Select While Not KeyHit(1) If RecvNetMsg() msgtype = NetMsgType() Select msgtype Case 100 Print "Ein Spieler ist dem Spiel beigetreten." Case 101 Print "Ein Spieler hat das Spiel verlassen." Case 102 Print "Der Host hat das Spiel verlassen. Dieser Computer ist nun Host." Default Print "Nachricht zugeschickt von: " + NetMsgFrom() Print "an: " + NetMsgTo() Print "Nachricht: " + NetMsgData$() End Select EndIf message$ = "Kommt die Nachricht an?" SendNetMsg(Rand(1,99),playerID,playerID,0) Wend jetzt die heiß ersehnten Fragen: 1. Kann ich mir nicht selbst Nachrichten schicken? Wenn doch, warum funktioniert es dann hier nicht? Ich habe zwar die letzte Zeile der While-Schleife in Verdacht, aber das mündet schon ins zweite Problem: 2. Kann ich die Zeile 'playerID = CreateNetPlayer(name$)' so stehen lassen? Denn so wird doch nur die ID des zuletzt beigetretenen Spielers gespeichert, oder Muss ich das dann in eine Schleife einbauen, um dies zu beheben oder gibt es eine einfachere Lösung? 3. Wieso kommen für playerID so komische siebenstellige Werte raus und nicht Zahlen von 1-99? Denn diese sind doch eigentlich dazu gedacht, den Partner zu identifizieren, oder ahb ich das jetzt schon wieder falsch verstanden? ![]() 4. Irgend einer von euch hat doch bestimmt schon mal ein ganz, ganz simples Chatprogramm für DirectPlay gebastelt. Könntet ihr mir bitte möglicherweise so eins schicken? Wär super! ![]() Ich hab zwar nicht vor, eine Chatvorrichtung zu programmieren, aber das wäre mir sehr hilfreich, um hinter das Rätsel Netzwerk zu kommen... Vielen Dank im Voraus. AGU |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann hast du wohl vergessen zu posten ![]() greetz und ich trash den anderen mal |
||
Donald Agu |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nichts für ungut, aber meine Fragen sind damit nicht beantwortet ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du wirst nichts anderes erwarten können als das gleiche, was auch in Robs Tut steht:
Von der Benutzung von DirectPlay wird abgeraten. Nimm TCP oder UDP. MfG D2006 |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Donald Agu |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe Rob's Tutorial ja auch schon die 4 Fragen gestellt, aber ich konnte die Lösungen nicht daraus ableiten, da hab ich mir gedacht, es gibt bestimmt viele Leute, die auf meine Fragen banalster Art eine Antwort geben könnten... sonst hätt ich ja auch net gefragt ![]() |
||
Donald Agu |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
HILFE! ![]() |
||
$tankY |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hab den quellcode net gelesen, dafür die fragen^^
zu 1. theoretisch kannste dir selber sachen schicken zu 3. man kann eine unbegrenzte menge an spielern "einladen" (soweit ich mich errinnere) |
||
Donald Agu |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es ist zwar schon schön, dass immerhin eineinhalb Fragen beantwortet wurden, aber noch schöner wär's natürlich, ich bekäme auf alle eine Antwort ![]() Sind die anderen drei nicht verständlich genug formuliert oder zu banal oder was ist mit denen?? |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Donald Agu, hier mal was zu deiner Frage Nr. 4. Aber warum muß es den unbedingt DP sein?
Code: [AUSKLAPPEN] Graphics 400,400,0,2
SetBuffer BackBuffer() nettyp%=0 netfrm%=0 netabc$="" td#=0 tp#=0 Type pos Field xp# Field yp# Field xg# Field yg# Field id% Field nm$ End Type Print "1-Host" Print "2-Client" wahl=Input() If wahl=1 Then spiel=HostNetGame("IDKFA") If wahl=2 Then spiel=JoinNetGame("IDKFA","127.0.0.1") sp.pos=New pos sp\xp=20 sp\yp=20 sp\xg=0 sp\yg=0 sp\nm=Input("Spielername: ") sp\id=CreateNetPlayer(sp\nm) td=1 tp=MilliSecs() ;Hauptschleife While Not KeyHit(1) For sp.pos=Each pos sp\xg=sp\xg/((0.0002*td)+1) sp\yg=sp\yg/((0.0002*td)+1) sp\xp=sp\xp+sp\xg*td sp\yp=sp\yp+sp\yg*td If sp\xp<000 Then sp\xp=sp\xp+400 If sp\xp>400 Then sp\xp=sp\xp-400 If sp\yp<000 Then sp\yp=sp\yp+400 If sp\yp>400 Then sp\yp=sp\yp-400 Rect sp\xp-4,sp\yp-4,9,9,1 Text sp\xp+6,sp\yp-6,sp\nm Next ;Nachricht empfangen If RecvNetMsg()=1 Then nettyp=NetMsgType() netfrm=NetMsgFrom() ;NachrichtTyp Neu If nettyp=100 Then sp.pos=New pos sp\xp=20 sp\yp=20 sp\xg=0 sp\yg=0 sp\id=netfrm sp\nm=NetPlayerName$(netfrm) End If ;NachrichtTyp Weg If nettyp=101 Then For sp.pos=Each pos If netfrm=sp\id Then Delete sp Next End If ;NachrichtTyp Info If nettyp=1 Then For sp.pos=Each pos If netfrm=sp\id Then sp\xp=NetMsgData() sp\yp=NetMsgData() sp\xg=NetMsgData() sp\yg=NetMsgData() End If Next End If Else ;Zeitschuld Delay 10 EndIf sp.pos=First pos If KeyDown(203) Then sp\xg=sp\xg-0.001*td If KeyDown(205) Then sp\xg=sp\xg+0.001*td If KeyDown(200) Then sp\yg=sp\yg-0.001*td If KeyDown(208) Then sp\yg=sp\yg+0.001*td td=MilliSecs()-tp tp=MilliSecs() ;Alle 200ms ;Info senden If tp>ts Then SendNetMsg 1,sp\xp,sp\id,0 SendNetMsg 2,sp\yp,sp\id,0 SendNetMsg 3,sp\xg,sp\id,0 SendNetMsg 4,sp\yg,sp\id,0 ts=tp+200 End If If KeyHit(57) Then w=1-w If w=1 Then Delay 80 Flip Cls Wend StopNetGame End |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
dein fehler istm das du einen parameter beim schicken vergessen hast, nämlich die nachricht...du verschickst also die nummer von dir an die nummer 0 | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group