|
|
Re: [GSTNet] Verbesserungsvorschläge
[Re: nfs42]
#150757
08/29/07 19:52
08/29/07 19:52
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
OP
Serious User
|
OP
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
ok: Code:
function inkey_chatmessage { inkey(showchatmessage); send_chatmessage(showchatmessage); temp = str_len(showchatmessage); str_clip(showchatmessage,temp); }
on_c = inkey_chatmessage;
In dieser Funktion wurde einfach nur die Eingabe der nachricht gemacht. Die funktion send_chatmessage sendet dann den string: Code:
function send_Chatmessage(message) { var zaehler; str_cpy(chatsendmessage,playername); str_cat(Chatsendmessage,": "); str_cat(chatsendmessage,message); if(GSTNet_Connection() == 3 || GSTNet_Connection() == 1) {GSTNet_ServerSend(0,11,chatsendmessage);} if(GSTNet_Connection() == 2) {GSTNet_ClientSend(0,11,chatsendmessage);} }
so und nun das Event: Code:
function resieve_Chatmessage(type,message) { var zaehler; while(Chatstrpointers[zaehler] != 0) { chatdummystring = chatstrpointers[zaehler]; if(str_cmpni(chatdummystring," ")) {str_cpy(chatdummystring,message);return;} zaehler += 1; } zaehler = 0; while(Chatstrpointers[zaehler+1] != 0) { chatdummystring = chatstrpointers[zaehler]; chatdummystring2 = chatstrpointers[zaehler+1]; str_cpy(chatdummystring,chatdummystring2); zaehler += 1; } chatdummystring = chatstrpointers[zaehler]; str_cpy(chatdummystring,message); }
Diese Funktion reiht einfach die Chatnachrichten untereinander, so dass immer die aktuellsten 5-10-20 je nach dem wieviel eingestellt wurde sichtbar sind.. Sende ich nun eine Lange nachricht und anschließend eine kurze wird wieder die lange gesendet nur das der anfang durch die kurze nachricht ausgetauscht wurde. Mfg 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] Verbesserungsvorschläge
[Re: Dark_samurai]
#150758
08/29/07 21:53
08/29/07 21:53
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
confirmed and fixed >> 0.5.12
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] Verbesserungsvorschläge
[Re: Samb]
#150760
08/30/07 17:04
08/30/07 17:04
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
praktisch wäre das schon. da dies aber sehr gamespezifisch sein kann, ist das ein fall für ein account/login system in c-script oder lite-c ohne oder mit datenbank.
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] Verbesserungsvorschläge
[Re: nfs42]
#150761
08/30/07 21:52
08/30/07 21:52
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
Serious User
|
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
fakt ist, das der spieler die namen der player braucht. der einzige weg diese zu bekommen ist, soweit ich weiß, das der server sie dem spieler zusendet, welcher gerade dem spiel beigetreten ist. ich glaube, ohne strings senden geht das nicht  der spieler soll ja kein zugriff auf die datenbank bekommen.
|
|
|
Re: [GSTNet] Verbesserungsvorschläge
[Re: Samb]
#150762
08/30/07 22:15
08/30/07 22:15
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
GSTNet sollte schon mid-level bleiben; aber DU darfst den server schon strings senden lassen ;-) vielleicht willst du noch den letzten client status übertragen, team info, .. nur beispielhaft Code:
function ServerEvent(..){ var z=0; if (vType=GSTNet_EventConnect){ GSTNet_Synchronize(); while(z<=CountClients){ str_for num(sGSTNetTemp, z); str_cat(sGSTNetTemp,":"); str_cat(sGSTNetTemp,ClientName[z]); str_cat(sGSTNetTemp,":"); str_cat(sGSTNetTemp,ClientTeam[z]); str_cat(sGSTNetTemp,":"); str_cat(sGSTNetTemp,ClientScore[z]); ... GSTNet_ServerSend(...) z += 1; } } }
auf dem client den string parsen und die einzelnen infos auslesen. ist programmierarbeit, aber doch recht individuell. ich plane ein paar einfache beispiele mit gstnet + gstsqlite
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] Verbesserungsvorschläge
[Re: Samb]
#150764
08/31/07 06:42
08/31/07 06:42
|
Joined: Jun 2001
Posts: 1,004 Dossenbach
nfs42
Serious User
|
Serious User
Joined: Jun 2001
Posts: 1,004
Dossenbach
|
ob das plugin selbst oder das script einen string sendet ist perfomancemäßig gleich. es sollte natürlich nur wenige strings gesendet werden (z.z. max 16 clients ;-) da müßte ein GSTNet_ServerSend ausreichen.
geplant ist später eine netzwerkfähige gstsqlite standalone version, damit der eigentliche game server entlastet wird (der client kann dann direkt bei der db abfragen).
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
|
|
|
|