Fehler bei NETCREATEPLAYER$()

Previous topic - Next topic

Tiuz

Hallo liebe Glbasic Gemeinde,

Folgendes Programm funktioniert bei mir genau einmal:

Code (glbasic) Select
// --------------------------------- //
// Project: Netplayer
// Start: Sunday, September 30, 2007
// IDE Version: 5.022

status = NETHOSTGAME(0, "test", "", "")
ident$ = NETCREATEPLAYER$("Bob")

PRINT ident$, 100, 100

SHOWSCREEN
MOUSEWAIT
Es wird korrekt "101" ausgegeben.

Starte ich dasselbe Programm aber erneut, wird "-1" (Fehler beim Erstellen des Spielers) ausgegeben.

Starte ich meinen PC neu, funktioneriert es wieder genau einmal. :rolleyes:

Bitte Gernot kümmere dich mal um die Netzwerkbefehle, so macht es wirklich keinen Spass!
:nw:

Grüsse,  Tiuz

OS:          Windows XP Professional
CPU:        AMD 64 3000+
GrKa:       Geforce 6600 GT
GlBasic:    siehe Code

Schranz0r

hmm mal gehts mal gehts nicht!
was willste den überhaupt mit dem Netzwerkzeugs :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

trucidare

oh oh oh um einen spieler einem host beizufügen musst du dem host beitreten. es reicht nicht mit deinem code einfach ein neues fenster aufzumachen, da du mit dem server nicht verbunden bist.
dazu gibts den NETJOINGAME() befehl (bin mir nich sicher wie der heißt) danach sollte es auch klappen dein spieler zu erstellen.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Tiuz

Hallo Schranz0r,

Bei dir funktionierts also ab und zu mal? Ich habe auch schon rumprobiert und nach Tasks gesucht, die nach dem Beenden des Programms "übriggeblieben" sind. Leider kann ich da kein Muster erkennen.  Wenn ich den Player mit NETDESTROYPLAYER nach erfolgreichem Erstellen zu löschen versuche, meldet sich bei mir der Visual Studio Debugger. :/

Bin leider von der fixen Idee besessen ein Netzwerkspiel schreiben zu müssen :D

Grüsse, Tiuz.

Tiuz

@ trucidare:

Muss der Host ein eigener Task sein? Wenn ich dem Code den "Netjoingame" Befehl zwischen "host" und "Createplayer" hinzufüge, funktionierts auch nicht.

Tiuz

Code (glbasic) Select
// --------------------------------- //
// Project: Netplayer
// Start: Sunday, September 30, 2007
// IDE Version: 5.022

AUTOPAUSE FALSE
SYSTEMPOINTER TRUE

status = NETHOSTGAME(0, "test", "", "")
status = NETJOINGAME(0, "test", "127.0.0.1", "")
ident$ = NETCREATEPLAYER$("bob")

PRINT ident$ , 100, 100
SHOWSCREEN

MOUSEWAIT

Schranz0r

Ne normal net, sonnst bräucht man ja immer einen "Server", und dann müsste man den noch selber Joinen, wär ja blöd :D

muss schon irgendwie gehn... GERNOT :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

trucidare

aaaaalso
zuerst würd ich das programm in zwei abteilungen teilen, den host und den client. dann beim start wählen zwischen host und client.
dann solltest du dir mal unter den samples das beispiel für die netzwerkbefehle anschauen. dort ist das einigermaßen gut erklärt wie man die nutzt und wie sie funktionieren.

viel spaß beim coden und nicht die flinte ins korn werfen
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

Kann sein, dass da echt ein Hund d'rin ist. Ich muss es mir evtl. ansehen. Das Problem weiter einkreisen hiflt mir dabei, danke.

Tiuz

Ich habe mir die Netzwerksamples nochmal angesehen. Bei "Hello Net" zeigt sich bei mir das selbe Verhalten wie bei meinem geposteten Einfachprogramm. Mit frisch hochgefahrenen System kann einmal ein Spieler erstellt werden, danach nicht mehr.
Auch bei "Hello Net" wird der Spieler nach dem Hosten des Spiels erstellt, es muss also nicht vorher dem eigenen Spiel beigetreten werden.

Mein anfangs gopostetes Programm beschreibt das Problem zutreffend  :|

Kitty Hello

OK. Ist ein Fehler. Ich seh's mir an. Kann aber keinen Zeitrahmen versprechen. Sorry. Ich bemüh' mich, ok?

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Tiuz

Danke, Gernot.

Ich bin ja sozusagen der einsame Netzwerkfreak. =D
Aber das Positive daran ist, das die Netzwerkbefehle dann auch mal getestet werden.

Ansonsten ist Glbasic wirklich top: Einfacher Syntax, viele Möglichkeiten, schön flott. :good:

Schranz0r

Quote from: TiuzIch bin ja sozusagen der einsame Netzwerkfreak. =D
Stimmt nicht, Frag mal trucidare
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Tiuz

Hallo trucidare,

wenn du Lust hast, kannst du ja mal deine Erfahrungen mit den Netzwerkbefehlen beschreiben.

Bei mir hat es nie richtig funktioniert. Am Anfang habe ich probiert, die Netzwerkfunktionen in bestehende Projekte einzufügen (z.B. 2D Rennspiel, Draufsicht). Ganz vereinzelt hats auch funktiomniert Nachrichten zu verschicken, aber nie reproduzierbar. Ich habe mir jetzt vorgenommen diese erstmal in einem ganz einfachen Chatprogramm stabil zum laufen zu bekommen, wobei ich auf das beschriebene Problem gestossen bin.
Kann aber natürlich nicht ausschließen, dass einiges auch an meiner eigenen Unfähigkeit liegt ;)

Tiuz.

Kitty Hello

Update seit gestern online. Bitte testen.