1 registered members (7th_zorro),
793
guests, and 1
spider. |
Key:
Admin,
Global Mod,
Mod
|
|
|
[GSTNet] GSTNet_No_Sendskill() benötigt.
#154846
09/17/07 15:18
09/17/07 15:18
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
OP
Serious User
|
OP
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
Es wäre gut wenn man sagen könnte, das der Server bestimmte Skills nicht an Spieler senden soll, wenn dieser das Spiel betritt. Der Server muss paar interne Sachen in die Skills der Multiplayer Objekte packen, damit die Welt funktionieren kann. Der Client muss aber diese Skills nicht wissen. Nun ist es jedoch so, soweit ich weiß, das der Server alle Skills einer Entity sendet, sobald wer das Spiel betritt (ich denke mal, er sendet nur skills welche != 0 sind oder?). um traffic zu sparen wäre es daher gut wenn man sagen könnte, das bestimmte skills nicht gesendet werden sollen oder, wenn das technisch nicht geht, z.b. die letzten 5 skills nicht gesendet werden.
und noch ein fehler der mir aufgefallen ist: wenn ein spieler joint sind die entities, welche gecreatet werden, für mouse_ent anweisungen unsichtbar und sobald die kamera nicht mehr den nullpunkt des modelles im bild hat, wird das komplette modell weggeclipt. das passierte bei mir nur mit objekten, welche keine spielerfiguren sind. also bei allen anderen spielerfiguren ging es ohne probleme, der code ist aber kaum anders als von objekten.
mein woraround für die objekte war nun my.scale_x=1.001 zu machen und dann 5 sekunden später wieder auf 1 zurück. dann funktioniert seltsamerweise mouse_ent und die entities werden nicht mehr weggeclippt. wär aber gut wenns auch ohne workaround ginge, da man sich nicht sicher sein kann das es so immer klappt.
|
|
|
Re: [GSTNet] GSTNet_No_Sendskill() benötigt.
[Re: Samb]
#154847
09/17/07 16:28
09/17/07 16:28
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
Quote:
Es wäre gut wenn man sagen könnte, das der Server bestimmte Skills nicht an Spieler senden soll, wenn dieser das Spiel betritt. Der Server muss paar interne Sachen in die Skills der Multiplayer Objekte packen, damit die Welt funktionieren kann. Der Client muss aber diese Skills nicht wissen. Nun ist es jedoch so, soweit ich weiß, das der Server alle Skills einer Entity sendet, sobald wer das Spiel betritt (ich denke mal, er sendet nur skills welche != 0 sind oder?).
atm wird die alle globalen entities komplett (properties und skills) an den joinenden client gesendet.
Quote:
um traffic zu sparen wäre es daher gut wenn man sagen könnte, das bestimmte skills nicht gesendet werden sollen oder, wenn das technisch nicht geht, z.b. die letzten 5 skills nicht gesendet werden.
ist natürlich immer das problem automatismus gegenüber individuellem feintuning.
geplant: neuer event GSTNet_EventSynchronize, wenn dieser im server definiert wird, werden die entities auf dem client erzeugt aber keine weiteren infos übertragen, dies muß im server event manuell gemacht werden
Quote:
und noch ein fehler der mir aufgefallen ist: wenn ein spieler joint sind die entities, welche gecreatet werden, für mouse_ent anweisungen unsichtbar und sobald die kamera nicht mehr den nullpunkt des modelles im bild hat, wird das komplette modell weggeclipt. das passierte bei mir nur mit objekten, welche keine spielerfiguren sind. also bei allen anderen spielerfiguren ging es ohne probleme, der code ist aber kaum anders als von objekten.
mein woraround für die objekte war nun my.scale_x=1.001 zu machen und dann 5 sekunden später wieder auf 1 zurück. dann funktioniert seltsamerweise mouse_ent und die entities werden nicht mehr weggeclippt. wär aber gut wenns auch ohne workaround ginge, da man sich nicht sicher sein kann das es so immer klappt.
kann/sollte eigentlich kein fehler des plugins sein, die entities werden per ent_create erzeugt. teste mal die action mit ent_create statt GSTNet_ent_create, so wie sie im mp client laufen würde
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] GSTNet_No_Sendskill() benötigt.
[Re: Samb]
#154849
09/17/07 16:49
09/17/07 16:49
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
wie sieht die action aus, die (vielleicht nur teilweise) auf dem client ausgeführt wird >> my.enable_click = on;
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] GSTNet_No_Sendskill() benötigt.
[Re: nfs42]
#154850
09/17/07 16:54
09/17/07 16:54
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
OP
Serious User
|
OP
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
Code:
action item_normal() { my.string1 = str_create("#32"); str_cpy(my.string1,"No_Name"); wait(3); animatio(); my.enable_click = on; while(GSTNet_Handle(my) == 0){wait(1);} my.fat=on; my.narrow=on; c_updatehull(my,0); While(my._Item_ID==0) { wait(1); } my.scale_x=1.001; // workaround wait(-1); // workaround my.scale_x=1; // workaround if(GSTNet_Connection() == 2) // ist er ein client? { my._update=0; wait(-1); while(1) { if(player) { if(mouse_ent==my) { Show_Name(); } meine_funktion(my._Item_funk); if(vec_dist(player.x,my.x)<update_dist&&my._update==0) { my._update=1; str_for_num(string_temp3,my._Item_ID); GSTNet_ClientSend(1, 16, string_temp3); } } wait(1); } } else //server { while(1) { wait(1); } } }
das ist der code. selbst ohne aktion passiert das mouse_ent nicht klappt und das modell wegclippt.
|
|
|
Re: [GSTNet] GSTNet_No_Sendskill() benötigt.
[Re: nfs42]
#154851
09/18/07 22:08
09/18/07 22:08
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
OP
Serious User
|
OP
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
Quote:
geplant: neuer event GSTNet_EventSynchronize, wenn dieser im server definiert wird, werden die entities auf dem client erzeugt aber keine weiteren infos übertragen, dies muß im server event manuell gemacht werden
wäre es vielleicht möglich ein Get_Skills(entity,from,to) zu machen, welcher von clienten aufgerufen wird und die skills anfordert, welche der server besitzt? das würde allgemein sehr hilfreich sein um zu planen, wann spieler wo die infos bekommen, vorallem für spiele wo mehr los ist als 16 spieler
|
|
|
Re: [GSTNet] GSTNet_No_Sendskill() benötigt.
[Re: Samb]
#154852
09/26/07 14:34
09/26/07 14:34
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
OP
Serious User
|
OP
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
heyho, wollt noch mal fragen ob das mit GSTNet_get_skill() möglich wäre brauche das momentan immer öfter, weil ich so mein eigenes field of interest bauen könnte. größtenteils nur für items verwendet, würden halt die spieler sich die benötigten daten per get_skill besorgen.
|
|
|
Re: [GSTNet] GSTNet_No_Sendskill() benötigt.
[Re: Samb]
#154853
09/26/07 16:27
09/26/07 16:27
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
ist doch einfach über send_array zu lösen Code:
client: GetSkill[0]=GSTNetId; GetSkill[1]=GSTNet_handle(entity); GetSkill[2]=from; GetSkill[3]=to; GSTNet_SendArray(GSTNetId,"GetSkill",0,2);
server: function GetSkill_Startup() while(1){ if (GetSkill>=0) { GSTNet_SendSkills(GetSkill[0],GSTNet_ptr_for_handle(GetSkill[1]),GetSkill[2],GetSkill[3]); GetSkill[0] = -1; } 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
|
|
|
Re: [GSTNet] GSTNet_No_Sendskill() benötigt.
[Re: Samb]
#154855
09/26/07 20:43
09/26/07 20:43
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
dann solltest du ein array für alle clients mit clientid*4 als index verwenden. ist alles da
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
|
|
|
|