4 registered members (M_D, AndrewAMD, Quad, Ayumi),
806
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: [GSTNet] 0.5.9 released
[Re: nfs42]
#133896
08/11/07 00:44
08/11/07 00:44
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
Serious User
|
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
hab ne feature anfrage die möglichkeit positions, skill etc. angaben nur bestimmten usern zu schicken. möchte später ein server für mehrere sessions verwenden und es wäre gut wenn dann nur die spieler die daten von den spielern bekommen, mit denen man spielt. ebenso für MMO spiele könnte man es so machen, das nur die spieler die positionsdaten bekommen, welche um einen stehen.
|
|
|
Re: [GSTNet] 0.5.9 released
[Re: Samb]
#133897
08/11/07 07:55
08/11/07 07:55
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Area Of Interest - RegionController sind auf der Roadmap. Allerdings in 2.0.
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] 0.5.9 released
[Re: nfs42]
#133898
08/15/07 06:29
08/15/07 06:29
|
Joined: Apr 2002
Posts: 4,801 Richmond B.C., Canada
Captain_Kiyaku
Dichotomic
|
Dichotomic
Joined: Apr 2002
Posts: 4,801
Richmond B.C., Canada
|
Danke für dieses super plugin Nur hab ich ein Problem - In euren Beispielen wird immer auf alle Spieler gewartet und dann, wenn alle da sind, die Entities created. Wie geht das aber, wenn das Spiel schon läuft und ein neuer Spieler connected, wie kann dieser dann die bereits erstellten Entities sehen?
My Blog"Tag und Nacht schrei ich mich heiser, Wind weht alle Worte fort, Tag und Nacht schrei ich mein Krähenwort!"Subway To Sally - Krähenkönig
|
|
|
Re: [GSTNet] 0.5.9 released
[Re: Captain_Kiyaku]
#133899
08/15/07 11:09
08/15/07 11:09
|
Joined: Apr 2002
Posts: 4,801 Richmond B.C., Canada
Captain_Kiyaku
Dichotomic
|
Dichotomic
Joined: Apr 2002
Posts: 4,801
Richmond B.C., Canada
|
Hm okay das ich die Entities sehe geht jetzt. Jetzt hab ich nur noch das Problem, das wenn 2 Clients connecten, die Steuerung falsch ist. Muss ich irgendwie die Entities den client fest zuweisen? Jetzt kann ich mit einem Client 2 Entities steuern, mit dem anderen nur eine und der Server kann auch beide steuern. Code:
include <GSTNet.wdl>;
var iID;
entity* pModel;
function main() { level_load("gsnet.wmb"); wait(3); ifdef srv; GSTNet_StartServer(2300, 1); endif; GSTNet_StartClient(server_name, 2300, 1); while(GSTNet_Connection()==0) {wait(1);}
while (GSTNet_ClientId() <= 0) { wait(1); } iID = GSTNet_ClientId(); wait(-2); ifndef srv; GSTNet_ent_create("warlock.mdl", nullvector, "actPlayer"); endif; }
action actPlayer { wait(1); GSTNet_TrackEntity(my, GSTNet_TrackPos); while(1) { if(key_cuu) { my.z += 0.1; } wait(1); } }
My Blog"Tag und Nacht schrei ich mich heiser, Wind weht alle Worte fort, Tag und Nacht schrei ich mein Krähenwort!"Subway To Sally - Krähenkönig
|
|
|
Re: [GSTNet] 0.5.9 released
[Re: Captain_Kiyaku]
#133900
08/15/07 12:34
08/15/07 12:34
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
Serious User
|
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
@kiyaku typischer denkfehler bei multiplayer spielen du musst dir IMMER vor augen halten, das alle clienten die exakt selbe aktion ausführen. du machst server auf, spieler wird erstellt. er hat die aktion actPlayer. ein client connectet, erstmal wird nun die entity des servers nacherstellt, diese hat nun die action actPlayer. der client erstellt eine eigene entity, und diese hat auch actplayer. beide spielerfiguren reagieren folglich immer auf eine tasteneingabe, da ja beide auf eine cursor down anweisung warten. beide haben ja die selbe aktion. wie löst man das nun? die main function ist 100%ig lokal. alles was du da vorbereitest ist sozusagen für den bestimmten clienten. also folgendes in die main(): player = GSTNet_ent_create("warlock.mdl", nullvector, "actPlayer"); es wird eine entity erstellt, mit dem pointer player. der player pointer kennt aber nur dein spiel. folglich ist player dann IMMER deine figur. nun kannst du in den spieler aktionen herausbekommen, ob diese entity überhaupt deine figur ist. action actPlayer { wait(1); GSTNet_TrackEntity(my, GSTNet_TrackPos); if(player==me) { while(1) { if(key_cuu) { player.z += 0.1; //sicherheitshalber "player" angeben. } wait(1); } } else { // hier kommt alles hin was die anderen clienten machen. z.b. eine funktion welche lokal nun diese entity animiert etc. } } dann müsste es funktionieren
|
|
|
Re: [GSTNet] 0.5.9 released
[Re: Samb]
#133901
08/15/07 13:15
08/15/07 13:15
|
Joined: Apr 2002
Posts: 4,801 Richmond B.C., Canada
Captain_Kiyaku
Dichotomic
|
Dichotomic
Joined: Apr 2002
Posts: 4,801
Richmond B.C., Canada
|
Aha Du bist mein Held. So funktionierts perfekt. Netzwerkkonzepte sind verwirrend D8. Nun bleibt nur noch mein Problem, das ich auf dem 2. Client nicht sehe, wenn der 1. Client sich bewegt (seine Entity sieht man aber nicht seine Bewegung nachdem der 2. Client dazu kam). Habs mit nem TrackEntity nochmal beim bewegen probiert, was leider nicht ging, hmm. Kenne die GST Befehle noch nicht so genau :/
My Blog"Tag und Nacht schrei ich mich heiser, Wind weht alle Worte fort, Tag und Nacht schrei ich mein Krähenwort!"Subway To Sally - Krähenkönig
|
|
|
Re: [GSTNet] 0.5.9 released
[Re: Captain_Kiyaku]
#133904
08/16/07 21:02
08/16/07 21:02
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
füge mal als erstes in der player action folgendes ein Code:
while(GSTNet_Handle(my)==0){wait(1);}
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
|
|
|
|