0 registered members (),
1,089
guests, and 10
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
[GSTNet] Pong Demo
[Re: nfs42]
#133796
06/27/07 18:22
06/27/07 18:22
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Here is a small demo application based on Pong from AUM26 Download (930 kB)
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] Pong Demo
[Re: BoH_Havoc]
#133799
06/28/07 16:14
06/28/07 16:14
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Great if it works for you. It's still beta, I have to test more. If you have any suggestions or bug report post it her or better on Trackers on my website.
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] Pong Demo
[Re: nfs42]
#133800
06/28/07 18:41
06/28/07 18:41
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
Serious User
|
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
heyho, hoffe ich kann in deutsch posten, da es in englisch zu unverständlich von mir wäre die pong demo klappt nur in der exe version, wenn man es aus WED startet, gibt es beim clienten ein empty pointer für "my" in den actplayer functionen. was aber unwichtig ist, da es wohl eher ein c-script problem ist nächste sache: du verwendest ja mein funktionen übermitteln skript. du solltest noch dringend einbauen, das er den string nach nem "&" zeichen untersucht und dann dieses zeichen kodieren. in einer chat funktion würde es dann fehler geben wenn man "&" schreibt. als nächtes paar wünsche - ich weiß nicht ob client_send und server_send es schon machen, aber es wird eine funktion benötigt, womit man als client nur an den server eine nachricht schicken kann und als server einen bestimmten clienten eine nachricht. - eine function, welche den ping anzeigen lässt, welchen man zum server hat, wäre gut. - eine disconnect funktion um andere zu kicken (wobei man das mit "server zu bestimmten client" funktion selber machen könnte) - ganz wichtig: CreatorId, wenn du das z.b. auf eine anderere spielerfigur anwendest, bekommst du dadurch die ID des anderen spielers raus? wenn ja wäre eine funktion gut, um zu schauen ob der spieler mit der ID noch existiert. so könnte man schreiben "du gehörst zu dieser spielerID, jedoch ist der spieler mit der ID offline, also lösche dich" - ein event, welches ausgelöst wird sobald ein neuer spieler den server betritt. das ist wirklich EXTREM wichtig. weil populace diese funktion nicht hatte, musste ich tausende von alternativen einbauen, nur damit z.b. die namen über den spieler stehen etc. - eine funktion, welche eine bestimmte sache sofort aktualisiert. sprich, das die position neu übertragen wird etc. denkemal es wird so sein, das die entitys, wenn du dich neu einloggst, nicht ihre echte position haben werden. in der kombination mit dem "neuer spieler event" könnte man allen spielerfiguren sagen, sie sollen ihre position nochmal senden. so, ich glaub das wärs erstmal sobald du die skills drin hast, werde ich mein altes bomberman spiel mal auf dein plugin umproggen.
|
|
|
Re: [GSTNet] Pong Demo
[Re: Samb]
#133801
06/28/07 22:02
06/28/07 22:02
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Quote:
heyho, hoffe ich kann in deutsch posten, da es in englisch zu unverständlich von mir wäre
mein englisch ist auch nicht besser
Quote:
die pong demo klappt nur in der exe version, wenn man es aus WED startet, gibt es beim clienten ein empty pointer für "my" in den actplayer functionen. was aber unwichtig ist, da es wohl eher ein c-script problem ist
Wie ist deine WED version? ich starte aus GST-Builder
Quote:
nächste sache: du verwendest ja mein funktionen übermitteln skript. du solltest noch dringend einbauen, das er den string nach nem "&" zeichen untersucht und dann dieses zeichen kodieren. in einer chat funktion würde es dann fehler geben wenn man "&" schreibt.
ist ja komplett c-skript, kannst Du auch anpassen ;-)
Quote:
als nächtes paar wünsche - ich weiß nicht ob client_send und server_send es schon machen, aber es wird eine funktion benötigt, womit man als client nur an den server eine nachricht schicken kann und als server einen bestimmten clienten eine nachricht.
der erste Parameter der beiden Funktionen sollte der Receiver sein =GSTNet_ClientId oder 0=server
Quote:
- eine function, welche den ping anzeigen lässt, welchen man zum server hat, wäre gut.
gute idee
Quote:
- eine disconnect funktion um andere zu kicken (wobei man das mit "server zu bestimmten client" funktion selber machen könnte)
dito
Quote:
- ganz wichtig: CreatorId, wenn du das z.b. auf eine anderere spielerfigur anwendest, bekommst du dadurch die ID des anderen spielers raus?
ist korrekt :-)
Quote:
wenn ja wäre eine funktion gut, um zu schauen ob der spieler mit der ID noch existiert. so könnte man schreiben "du gehörst zu dieser spielerID, jedoch ist der spieler mit der ID offline, also lösche dich"
müsste mit o.g. send funktionen in c-script machbar sein
Quote:
- ein event, welches ausgelöst wird sobald ein neuer spieler den server betritt. das ist wirklich EXTREM wichtig. weil populace diese funktion nicht hatte, musste ich tausende von alternativen einbauen, nur damit z.b. die namen über den spieler stehen etc.
funktioniert in der neuen 0.4.1 beta Download erstes Post.
Quote:
- eine funktion, welche eine bestimmte sache sofort aktualisiert. sprich, das die position neu übertragen wird etc. denkemal es wird so sein, das die entitys, wenn du dich neu einloggst, nicht ihre echte position haben werden. in der kombination mit dem "neuer spieler event" könnte man allen spielerfiguren sagen, sie sollen ihre position nochmal senden.
auch in der neuen 0.4.1 ;-)) GSTNet_UpdateEntity(ent,GSTNet_TrackAll) GSTNet_UpdateSkills(ent,1,100)
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] Pong Demo
[Re: nfs42]
#133802
06/29/07 17:09
06/29/07 17:09
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
Serious User
|
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
paar bugs: - die create funktion crasht, wenn man den nullvector angibt oder eine var als vector. ebenso scheint es zu crashen, wenn man keine aktion angibt. - position wird nicht neu übertragen. habe ein levelerstellung script, welches nach dem createn die entity auf seinen platz setzt. normalerweise sollte ja das position tracken das erledigen. tut es nicht. habe es versucht es zwanghaft zu verschieben: Code:
ifdef srv; wait(-3); GSTNet_UpdateEntity(my, GSTNet_TrackPos); endif; klappte auch nicht. removen klappt jedoch. - wenn ich mehr als 102 multiplayer entities werden, crasht client_poll. eine sache die ich bemerkte: wenn ein client disconnectet und wieder neu joint, werden die ganzen entites nicht neu übertragen, sprich sein level ist leer. ich denkemal das kommt noch? p.s.: hab dich in icq geaddet. falls du meine nachricht nicht bekamst
|
|
|
Re: [GSTNet] Pong Demo
[Re: Samb]
#133803
06/29/07 18:36
06/29/07 18:36
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Quote:
paar bugs: - die create funktion crasht, wenn man den nullvector angibt oder eine var als vector. ebenso scheint es zu crashen, wenn man keine aktion angibt.
nullvector fixed no action fixed
Quote:
- position wird nicht neu übertragen. habe ein levelerstellung script, welches nach dem createn die entity auf seinen platz setzt. normalerweise sollte ja das position tracken das erledigen. tut es nicht. habe es versucht es zwanghaft zu verschieben: Code:
ifdef srv; wait(-3); GSTNet_UpdateEntity(my, GSTNet_TrackPos); endif; klappte auch nicht.
muß ich testen und vielleicht ein beispiel dazu machen
Quote:
- wenn ich mehr als 102 multiplayer entities werden, crasht client_poll.
im Moment max 100 Entities
Quote:
eine sache die ich bemerkte: wenn ein client disconnectet und wieder neu joint, werden die ganzen entites nicht neu übertragen, sprich sein level ist leer. ich denkemal das kommt noch?
tbd release 0.5 ist nicht ganz so einfach
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] Pong Demo
[Re: nfs42]
#133804
06/30/07 08:02
06/30/07 08:02
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Quote:
- position wird nicht neu übertragen. habe ein levelerstellung script, welches nach dem createn die entity auf seinen platz setzt. normalerweise sollte ja das position tracken das erledigen. tut es nicht. habe es versucht es zwanghaft zu verschieben: Code:
ifdef srv; wait(-3); GSTNet_UpdateEntity(my, GSTNet_TrackPos); endif; klappte auch nicht.
GSTNet_UpdateSkills, GSTNet_UpdateEntity gefixed
Quote:
- wenn ich mehr als 102 multiplayer entities werden, crasht client_poll.
im Moment max 1000 Entities
Download 0.4.2 im ersten Post
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] Pong Demo
[Re: nfs42]
#133805
06/30/07 12:21
06/30/07 12:21
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
Serious User
|
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
sobald ich mehr als 116 multiplayer entities habe, crash GSTNet_ent_create und gibt als grund eine wait funktion an, in der action der entitie. wenn man die wait funktionen löscht, crasht es, ohne den grund anzugeben. Code:
action funtest() {
GSTNet_TrackEntity(my, GSTNet_TrackPos); wait(-3); ifdef srv; wait(-3); GSTNet_UpdateEntity(my, GSTNet_TrackPos); endif;
} der crash: Crash in GSTNet_ent_create: wait(-3) ansonsten läuft createn und updaten der position perfekt! (101 entities werden im gleichen frame erzeugt und 5 frames später auf allen clienten richtig gesetzt, ohne probleme)
|
|
|
|