1 registered members (AndrewAMD),
962
guests, and 7
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: [GSTNet] 0.5.1 released
[Re: Samb]
#133837
07/16/07 12:42
07/16/07 12:42
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
ich habe nur die 'normalen' properties (sendentity) getestet die sendskills hatte ich entsprechend geändert, aber anscheinend nicht ganz wird natürlich gefixed
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
|
|
|
[GSTNet] 0.5.1 sendskill fixed
[Re: nfs42]
#133838
07/16/07 21:19
07/16/07 21:19
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
sendskills ist gefixed in der Demo GSTNet_TestChat wird im client skill50 mit key_shift und mouse_left dekrementiert. und in der action die auf allen clients läuft wird alpha gleich skill gesetzt. Code:
//---------------------------------------------------------------------------------------- // function: entity action // purpose: change position on creator client // change angle and scale on server //------------------------------------------------------------------ action ent_action1() { wait(3); GSTNet_RegisterEntity(my); my.enable_click = on; my.transparent = on; my.alpha = 100; my.skill50 = my.alpha; // on_click = mouseremove; // while(GSTNet_Handle(my)==0){wait(1);} my.skill2 = GSTNet_Handle(my); GSTNet_TrackEntity(my, GSTNet_TrackPos); // client+server while(1){ my.alpha = my.skill50; wait(1); } } ... //---------------------------------------------------------------------------------------- // function: mousemove // purpose: moves a global entity //------------------------------------------------------------------ function mousemove() { while(key_shift) { mouse_mode = 2; mouse_pointer = 2; mouse_pos.x = pointer.x; // move the mouse pointer mouse_pos.y = pointer.y; if(mouse_ent!=null) { mouse_ent.light = on; if (GSTNet_Connection() == 3){ mouse_ent.red = 255; mouse_ent.green = 0; mouse_ent.blue = 0; } if (GSTNet_Connection() == 2){ mouse_ent.red = 0; mouse_ent.green = 255; mouse_ent.blue = 0; } diag("\nLIGHT"); GSTNet_SendEntity(mouse_ent,GSTNet_TrackFlags+GSTNet_TrackColor); // set entity to debug mouse_ent.skill50 = mouse_ent.alpha - 1; GSTNet_SendSkills(mouse_ent,50,50); // set entity to debug } wait(1); } } on_click=mousemove;
Last edited by nfs42; 07/16/07 21:21.
|
|
|
[GSTNet] SendArray implemented
[Re: Damocles]
#133839
07/18/07 21:30
07/18/07 21:30
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
version 0.5.3 released Code:
GSTNet_SendArray(sName, vFrom, vTo)
Description: server+client: sends a part of a global var array immediately
Parameter: STRING* varname name of the global var array var vFrom first index var vTo last index
max. 250 entries at one time 0.249 or 10100..10349
Example:
var Array[500]; function evServer(vType, sData) { diag("\nReceive server event:"); if (vType == GSTNet_EvTypeConnect ) { diag("\nNew client connected. ClientId:"); diag(sData); GSTNet_SendVar("StartClients"); GSTNet_SendArray("Array",0,250); // send array immediately after client connect } }
function main() { ifdef srv; GSTNet_StartServer(2300,1); GSTNet_Events(GSTNet_EventServer, "evServer"); //start a function, which demonstrates global vars Array[0]=200; // only server sets the array values Array[1]=200; Array[2]=400; Array[249]=300; endif; // start client if srv is set in commandline GSTNet_StartClient(server_name,2300,1); //server event connect is fired GSTNet_Events(GSTNet_EventClient, "evClient"); while(GSTNetId==0) {wait(1);} // client rceives from server the array values GSTNet_Synchronize(); wait(-0.5); test(); GSTNet_TrackVar("Counter"); draw_red_rect(Array[0],Array[1],Array[2],Array[249]); //array values are updated from server array on connected client }
Downloads 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] SendArray implemented
[Re: Samb]
#133842
07/19/07 15:56
07/19/07 15:56
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Quote:
in die main muss GSTNet_Events(GSTNet_EventFunction,"Parse_Function"); sonst geht die send_function funktion nicht.
ist in der test applikation in GSTNet_Chat versteckt: Code:
starter GSTNet_ChatActivate() { var temp_str; wait(-1); GSTNet_Events(GSTNet_EventFunction, "evFunction"); //register event function
die evFunction ist in GSTNet.wdl muß ich wohl noch aufräumen
Code:
function evFunction(vTyp, sMsg) {
GSTNet_ServerSend(0, vTyp, sMsg); // broadcast this Parse_Function(sMsg); // parse and execute ... }
USER events werden nicht automatisch, sondern müssen von hand weitergesendet werden wie siehe oben
Quote:
wenn if (str_stri(sGSTNetTemp1, "GSTNet") == 0) { return; } in Parse_Function steht, funktioniert es nicht.
wieso funktioniert der chat dann in der test app ?!
Quote:
Parse_Function hat normalerweise nur (str) muss aber (vtype,str) sein. sonst denkt er, er würde eine var verwenden.
s. evFunction
Quote:
GSTNet_ClientSend scheint immer nur aufm server ausgeführt zu werden. vReceiver auf 0,1 oder 2 ergibt kein unterschied. nur der server löst die funktion aus.
bitte beispielcode
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] SendArray implemented
[Re: nfs42]
#133843
07/19/07 18:36
07/19/07 18:36
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
Serious User
|
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
evFunction fehlte. trotzdem komm ich mit der send_function nicht so zurecht, daher versuche ich es mit eigenen events ^^ es gibt aber ein problem: eventfunktion: Quote:
function Server_Login_Event(vTyp, sMsg) { str_cpy(debugtext1.string[4], "test"); if(GSTNet_Connection()==3) { beep; GSTNet_ServerSend(3, vTyp, sMsg); //sende an client 2 } }
auslöser Quote:
GSTNet_Events(11,"Server_Login_Event"); if(key_a==1) { GSTNet_ClientSend(1, 11, "leer"); //sende an den server break; }
erklärung: durch das drücken von A,wird das server event "Server_Login_Event" ausgelöst. das klappt ohne probleme und nur der server führt es aus. es beept einmal und beim server erscheint der debugtext. nun soll er das weiterschicken an den clienten mit der ID=3. dabei soll der nur den debugtext befüllen.
so, nun passiert folgendes: egal wo A gedrückt wird, alle clienten haben den string nun mit "test" gefüllt. der server steckt in einer endlosschleife und "beept" ununterbrochen.
warum? selbst wenn das beepen ist, sollte zumidnest client2 nicht den text bekommen.
|
|
|
Re: [GSTNet] SendArray implemented
[Re: Samb]
#133844
07/19/07 21:37
07/19/07 21:37
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
OP
Serious User
|
OP
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
ist gefixed. ich teste es aber noch.
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
|
|
|
|