2 registered members (AndrewAMD, 7th_zorro),
1,285
guests, and 4
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
[GSTNet] Events
#158561
10/03/07 20:27
10/03/07 20:27
|
Joined: Jul 2004
Posts: 52 Vienna
Hawk
OP
Junior Member
|
OP
Junior Member
Joined: Jul 2004
Posts: 52
Vienna
|
Hallo, ich experimentiere jetzt auch im Multiplayer mit GSTNet herum. Ich frage mich aber wie ich das connect event auf dem Server aufrufen kann wenn ein Client verbindet. Ich habe es mit GSTNet_Events(4,clientJoined) in der main() ausprobiert und die Funktion "clientJoined" erhöht dann numberClients+=1, aber nichts tut sich. Was mache ich falsch bzw. wie mache ichs richtig? übrigens: ich habe auch Probleme mit GSTNet_Connection() bei der Überprüfung des Verbindungsmodus. Mit "connection" von 3dgs funktioniert die Überprüfung wunderbar, zB: Code:
if(connection==3) //client + server { numberClients=1; ent_createlocal(str_thunder,vector(900,0,0),move_thunder); }
aber bei folgendem tut sich nichts: Code:
if(GSTNet_Connection()==3) //client + server { numberClients=1; ent_createlocal(str_thunder,vector(900,0,0),move_thunder); }
Ich habe keine Errors, GSTNet.dll ist in acknex_plugins und die wdl im Script included. Wer will mir helfen?
Commcercial A6.60
|
|
|
Re: [GSTNet] Events
[Re: Hawk]
#158562
10/03/07 21:14
10/03/07 21:14
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Code:
GSTNet_Events(4,clientJoined)
müßte so aussehen Code:
GSTNet_Events(4,"clientJoined")
Quote:
if(GSTNet_Connection()==3) //client + server { numberClients=1; ent_createlocal(str_thunder,vector(900,0,0),move_thunder); }
builtin mp und GSTNet NICHT mischen.
GSTNet läuft völlig unabhängig, server und clients müssen/können per funktionsaufruf gestartet werden.
z.B. ein user script als basis
ich muß die demo auf den aktuellen plugin stand bringen
Andreas GSTools - Home of GSTScript 0.9.8: lua scripting for A6/7/8 GSTNet 0.7.9.20: network plugin for A6/7/8 GSTsqlite 1.3.7: sql database plugin for A6/7/8 3DGS Codebase: 57 snippets || 3DGS Downloads: 248 files
|
|
|
Re: [GSTNet] Events
[Re: nfs42]
#158563
10/10/07 19:45
10/10/07 19:45
|
Joined: Jul 2004
Posts: 52 Vienna
Hawk
OP
Junior Member
|
OP
Junior Member
Joined: Jul 2004
Posts: 52
Vienna
|
also das mit GSTNet_Connection() funktioniert jetzt. Aber GSTNet_Events(4,"clientJoined") bringe ich noch immer nicht zum laufen. Ich möchte haben, dass eine Variable um 1 erhöht wird wenn ein Client verbindet. Momentan sieht das bei mir so aus: Code:
var numberClients=0;
function main() { level_load(str_game); sleep(.5);
ifdef srv; GSTNet_StartServer(2301,-0.1); GSTNet_Events(4,"clientJoined"); endif; GSTNet_StartClient("localhost",2301,-0.1); ... } function clientJoined() { numberClients+=1; }
was mache ich falsch bzw. wie wende ich GSTNet_Events(4,"") richtig an?
Commcercial A6.60
|
|
|
Re: [GSTNet] Events
[Re: Hawk]
#158564
10/10/07 19:54
10/10/07 19:54
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
Serious User
|
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
Das Event wird nicht automatisch aufgerufen. Das musst du per GSTNet_ClientSend(4," "); clientseitig tun, sobald sich dieser mit dem Server verbunden hat. Achja, es ist außerdem unnötig eine Variable zu machen, die die aktuelle Clientanzahl speichert, denn GSTNet_ClientsConnected() gibt dir die anzahl der eingeloggten Clients zurück. Aber ich denke das du das nur gemacht hast, um die Events mal auszuprobieren Dark_Samurai
ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)! get free version
|
|
|
Re: [GSTNet] Events
[Re: Dark_samurai]
#158565
10/10/07 20:12
10/10/07 20:12
|
Joined: Jul 2004
Posts: 52 Vienna
Hawk
OP
Junior Member
|
OP
Junior Member
Joined: Jul 2004
Posts: 52
Vienna
|
wow danke das war ja ne schnelle antwort! Es klappt jetzt mit GSTNet_ClientSend(0,4,""); Die Anzahl schießt zwar aufgrund einer while-Schleife sofort auf 99 Spieler hinauf obwohl es nur ein Client ist, aber vom Prinzip her funktionierts jetzt edit: jetzt bin ich sogar auch Junior Member geworden *g
Last edited by Hawk; 10/10/07 20:14.
Commcercial A6.60
|
|
|
[GSTNet] fixed: Events
[Re: Hawk]
#158566
10/10/07 20:50
10/10/07 20:50
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
this is a bug > fixed in next release 0.5.16 workaround definiere stattdessen einen standard server event: Code:
GSTNet_Events(GSTNet_EventServer, "evServer");
und werte den eventtype in dieser event function aus: Code:
//---------------------------------------------------------------------------------------- // function: evServer // purpose: this function is called by GSTNet, // when an incoming message for the client occurs // this event has to be registered with // GSTNet_Events(GSTNet_EventServer,"evServer"); // input: vTyp : var any type of event, that are not registered // input: sMsg : string data //------------------------------------------------------------------ function evServer(vType, sData, vSender, vReceiver) { var id; diag("\nReceive server event:"); if (vType == GSTNet_EvTypeConnect ) { diag("\nNew client connected. ClientId:"); diag(sData); } // if (vType == GSTNet_EvTypeDisconnect ) { // diag("\nClient has disconnected. ClientId:"); // diag(sData); // id = str_to_num(sData); // remove all global entities created by this client // you = ent_next(null); // while(you!=null){ // temp = you; // if (GSTNet_CreatorId(you)==id){ GSTNet_ent_remove(you);} // you = ent_next(temp); // } // } return(0); }
Last edited by nfs42; 10/10/07 21:11.
Andreas GSTools - Home of GSTScript 0.9.8: lua scripting for A6/7/8 GSTNet 0.7.9.20: network plugin for A6/7/8 GSTsqlite 1.3.7: sql database plugin for A6/7/8 3DGS Codebase: 57 snippets || 3DGS Downloads: 248 files
|
|
|
Re: [GSTNet] fixed: Events
[Re: nfs42]
#158567
10/11/07 09:16
10/11/07 09:16
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
Serious User
|
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
Wann wird denn die nächste Version veröffentlicht? Wird eigentlich irgend wann dieses ClientJoined-Event mal automatisch aktiviert, oder bleibt das so, dass man es per Hand aufrufen muss?
Dark_Samurai
Last edited by Dark_samurai; 10/11/07 09:17.
|
|
|
Re: [GSTNet] fixed: Events
[Re: Dark_samurai]
#158568
10/11/07 10:03
10/11/07 10:03
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
der event wird ja schon automatisch abgearbeitet, wenn eine zentrale eventfunktion 1 oder 2 definiert sind. Code:
GSTNet_Events(GSTNet_EventServer, "evServer");
über if-abfragen können die events bereits jetzt unterschieden werden. es ist lediglich überischtlicher, wenn du für verschiedene events eigene funktionen definieren kannst.
Andreas GSTools - Home of GSTScript 0.9.8: lua scripting for A6/7/8 GSTNet 0.7.9.20: network plugin for A6/7/8 GSTsqlite 1.3.7: sql database plugin for A6/7/8 3DGS Codebase: 57 snippets || 3DGS Downloads: 248 files
|
|
|
Re: [GSTNet] fixed: Events
[Re: nfs42]
#158569
10/14/07 17:34
10/14/07 17:34
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
Serious User
|
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
Wenn ich die Engine im Client+Servermode laufen lasse, und diese Zeile: GSTNet_Events(GSTNet_EventServer, "evServer"); benutze, so crashed die Engine beim Ausführen von ClientPoll... Kann ich dieses Event nur verwenden, wenn die Engine im Servermode läuft?
Dark_Samurai
ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)! get free version
|
|
|
Re: [GSTNet] fixed: Events
[Re: Dark_samurai]
#158570
10/14/07 18:50
10/14/07 18:50
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
sollte nicht sein. hast du einen client event definiert ? Code:
GSTNet_Events(GSTNet_EventClient, "evClient");
Andreas GSTools - Home of GSTScript 0.9.8: lua scripting for A6/7/8 GSTNet 0.7.9.20: network plugin for A6/7/8 GSTsqlite 1.3.7: sql database plugin for A6/7/8 3DGS Codebase: 57 snippets || 3DGS Downloads: 248 files
|
|
|
|