Gamestudio Links
Zorro Links
Newest Posts
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
4 registered members (degenerate_762, AbrahamR, AndrewAMD, ozgur), 667 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 7 1 2 3 4 5 6 7
A real Networksolution for GS A6/A7 #232436
10/21/08 18:35
10/21/08 18:35
Joined: Jul 2005
Posts: 1,930
Austria
Dark_samurai Offline OP
Serious User
Dark_samurai  Offline OP
Serious User

Joined: Jul 2005
Posts: 1,930
Austria
Hi!

I currently wanted to know how much people realy are interested in programming a real working MP-Game?

I know that there are no real networksolutions for gamestudio out there. There is the GS networksystem (I think I don't have to say much about it ^^), there is Populace which seems to have a bug(s) which makes developing a real game impossible (and of course it's not cheap!) and there is GSTNet which isn't realy finished at all (and it still has some Bugs; I don't know the newest versions of it but I was unable to develope a game with it).

Ok, because of this faulty truth I started to create my own plugin based on the free enet library (like GSTNet). After 2 months of developing I created a well tested, solid working plugin which should give you all abilities to create a working game. It supports unlimited connections and needs less bandwith. It has a built in encryption in is designed to be as save as possible. It gives you error messages if you make wrong useage of a function and gives you all you need to even create MMOGs (of course I still wouldn't advice you to make an MMOG).

Now I wanted to know how much people would be interested in such a network solution for about 20€?
I will make a demoversion of the plugin for you to test if it's good enough for you and will try to build in your whishes (if they aren't already possible or to difficult or timeconsuming ^^).

Because the demoversion isn't ready now (it will come soon) I give you a list of all functions which are currently included.

Please note that the documentation is currently in german (had no time to translate).

Enet_dll.h (please don't copy, it's under my copyright!):
Code:
////////////////////////////////////////////////////////////////////////////////
//filename:			enet.h
//copyright: 		Peter Soxberger
//autor: 			Peter Soxberger
//last change: 	13.10.2008
//version: 			0.9.11.6
//Describtion: 	Header für die enet.dll ( (c) Peter Soxberger)
//Note:				Keine
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
///////////////////////////////Prototypen///////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

/////////////////////////
//Verwaltungsfunktionen//
/////////////////////////

//------------------------------------------------------------------------------
//Name:           void enet_set_warning(var mode)
//Funktion:       Schaltet Warnungen ein/aus.
//Parameter:      mode...1: Warnungen werden angezeigt; 2: Warnungen werden
//									 nicht angezeigt
//Rückgabe:		  	keine
//Besonderheiten: Warnungen sind standartmäßig eingeschaltet!
//------------------------------------------------------------------------------

void enet_set_warning(var mode);

//------------------------------------------------------------------------------
//Name:           var init_enet()
//Funktion:       Initialisiert Enet. Muss vor dem benutzen jeder anderen Enet
//                Funktion einmal erfolgreich ausgeführt werden.
//Parameter:      keine
//Rückgabe:		   1 bei erfolgreicher Initialisierung
//                -1 wenn ein Fehler aufgetreten ist
//Besonderheiten: Nur einmal ausführen!
//------------------------------------------------------------------------------

var enet_init();

//------------------------------------------------------------------------------
//Name:           void deinit_enet()
//Funktion:       Macht die Initialisierung von Enet rückgängig.
//Parameter:      keine
//Rückgabe:		   keine
//Besonderheiten: Enet sollte vorher initialisiert worden sein!
//------------------------------------------------------------------------------

void enet_deinit();

//------------------------------------------------------------------------------
//Name:           var enet_init_server(var port, var max_player, STRING* password)
//Funktion:       Erstellt einen Server, der den angegebenen Port benutzt.
//Parameter:      port.........port der benutzt wird (2300-2400)
//                max_player...maximale Spieleranzahl, die sich verbinden kann
//						password.....Serverpasswort (max. 30 Zeichen)
//Rückgabe:		   -1 wenn ein Fehler aufgetreten ist
//                1 wenn alles geklappt hat
//Besonderheiten: Nur aufrufen, wenn noch kein Server initialisiert wurde!
//------------------------------------------------------------------------------

var enet_init_server(var port, var max_player, STRING* password);

//------------------------------------------------------------------------------
//Name:           var enet_init_client(STRING* ip, var port, STRING* password)
//Funktion:       Erstellt einen Client, und verbindet diesen über den
//                angegebenen Port mit dem durch die IP angegebenen Server.
//Parameter:      ip.........ip des Servers
//                port.......port der für das Kommunizieren benutzt wird (2300-2400)
//						password...Passwort des Servers (max. 30 Zeichen)
//Rückgabe:		   -1 wenn ein Fehler aufgetreten ist
//                1 wenn alles geklappt hat
//Besonderheiten: Nur aufrufen, wenn noch kein Client initialisiert wurde!
//                Wenn die Verbindung zum Server nicht hergestellt werden kann,
//				  		bzw. unerwartet unterbrochen wurde, so wird nach einem Timeout
//				  		das clientseitige disconnected Event ausgeführt!
//------------------------------------------------------------------------------

var enet_init_client(STRING* ip, var port, STRING* password);

//------------------------------------------------------------------------------
//Name:           void enet_disconnect_client(var ClientID)
//Funktion:       Trennt die Verbindung mit den Clients mit der angegebenen ID
//                und erzeugt ein Disconnectevent.
//Parameter:      ClientID...ID des Clients, der entfernt werden soll
//Rückgabe:		   keine
//Besonderheiten: Kann nur vom Server ausgeführt werden!
//                Darf nicht dafür benutzt werden, um im Client/Server Modus
//				  		dem "eigenen" Client die Verbindung zu trennen!
//------------------------------------------------------------------------------

void enet_disconnect_client(var ClientID);


//------------------------------------------------------------------------------
//Name:           void enet_destroy_host()
//Funktion:       Beendet die Serverengine bzw. die Clientengine und trennt
//                dadurch die Verbindung. Das Disconnect Event wird nicht erzeugt,
//				  		es entsteht nur ein Timeout Disconnectevent.
//Parameter:      keine
//Rückgabe:		  	keine
//Besonderheiten: Wenn möglich sollte enet_disconnect_client verwendet werden.
//				  		Diese Funktion sollte nur im Notfall verwendet werden!
//------------------------------------------------------------------------------

void enet_destroy_host();

//////////////////
//Pollfunktionen//
//////////////////

//------------------------------------------------------------------------------
//Name:           void enet_server_poll()
//Funktion:       Wenn man einen Server erstellt hat, muss diese Funktion
//                solange in einer Schleife aufgerufen werden, wie der Server
//                existiert!
//Parameter:      keine
//Rückgabe:		  	keine
//Besonderheiten: Kann nur von einem Server ausgeführt werden!
//------------------------------------------------------------------------------

void enet_server_poll();

//------------------------------------------------------------------------------
//Name:           void enet_client_poll()
//Funktion:       Wenn man einen Client erstellt hat, muss diese Funktion
//                solange in einer Schleife aufgerufen werden, wie der Client
//                existiert bzw. eine Verbindung zum Server hat!
//Parameter:      keine
//Rückgabe:		  	keine
//Besonderheiten: Kann nur von einem Client ausgeführt werden!
//------------------------------------------------------------------------------

void enet_client_poll();

//////////////////
//Infofunktionen//
//////////////////

//------------------------------------------------------------------------------
//Name:           STRING* enet_get_version()
//Funktion:       Gibt die Dll-Version zurück.
//Parameter:      keine
//Rückgabe:		   String in dem die Dll-Version gespeichert ist (z.B. "0.9.8.2")
//Besonderheiten: keine
//------------------------------------------------------------------------------

STRING* enet_get_version();

//------------------------------------------------------------------------------
//Name:           var get_clientid()
//Funktion:       Gibt die eigene Clientid zurück.
//Parameter:      keine
//Rückgabe:		  	-1 wenn man noch keine ClientID hat
//                ansonsten die eigene ClientID
//Besonderheiten: Kann nur von einem Client ausgeführt werden!
//------------------------------------------------------------------------------

var enet_get_clientid();

//------------------------------------------------------------------------------
//Name:           var get_connection()
//Funktion:       Gibt zurück ob ein Client initialisiert wurde, ein Server oder
//                beides.
//Parameter:      keine
//Rückgabe:		   0 wenn man mit nichts Verbunden ist
//                1 wenn man Server ist
//                2 wenn man Client ist
//                3 wenn man Server/Client ist
//Besonderheiten: Diese Werte sagen nichts darüber aus, ob eine Verbindung
//                hergestellt ist. Ledeglich welche hosts initilisiert wurden.
//------------------------------------------------------------------------------

var enet_get_connection();

//------------------------------------------------------------------------------
//Name:           var enet_connected_clients()
//Funktion:       Gibt die Anzahl der Verbundenen Clients zurück
//Parameter:      keine
//Rückgabe:		   Anzahl der verbundenen Clients
//Besonderheiten: keine
//------------------------------------------------------------------------------

var enet_connected_clients();

//------------------------------------------------------------------------------
//Name:           var enet_check_client(var clientid)
//Funktion:       Prüft ob ein Client noch verbunden ist.
//Parameter:      keine
//Rückgabe:		 	-1 wenn keine Verbindung mehr besteht
//				  		1 wenn er noch verbunden ist
//Besonderheiten: Kann nur vom Server ausgeführt werden.
//------------------------------------------------------------------------------

var enet_check_client(clientid);

//------------------------------------------------------------------------------
//Name:           var enet_get_myip(STRING* ip1,STRING* ip2,STRING* ip3,STRING* ip4)
//Funktion:       Gibt 4 IP-Addressen des PCs zurück. Im Normalfall, hat ein
//                PC nur eine IP enthalten in ip1.
//Parameter:      ip1,ip2,ip3,ip4...enthält die IP-Addressen
//Rückgabe:		   -1 wenn ein Fehler aufgetreten ist
//                1 wenn alles funktioniert hat
//Besonderheiten: keine
//------------------------------------------------------------------------------

var enet_get_myip(STRING* ip1,STRING* ip2,STRING* ip3,STRING* ip4);

//------------------------------------------------------------------------------
//Name:           var enet_get_clientip(var clientid, STRING* ip)
//Funktion:       Gibt die IP-Addresse eines Clients zurück.
//Parameter:      ip1...enthält die IP-Addresse
//Rückgabe:		  	-1 wenn ein Fehler aufgetreten ist
//                1 wenn alles funktioniert hat
//Besonderheiten: Darf nur serverseitig ausgeführt werden!
//------------------------------------------------------------------------------

var enet_get_clientip(var clientid,STRING* ip);

//------------------------------------------------------------------------------
//Name:           var enet_get_serverip(STRING* ip)
//Funktion:       Gibt die IP-Addresse eines Clients zurück.
//Parameter:      ip...enthält die IP-Addresse
//Rückgabe:		   -1 wenn ein Fehler aufgetreten ist
//                1 wenn alles funktioniert hat
//Besonderheiten: Darf nur clientseitig ausgeführt werden!
//------------------------------------------------------------------------------

var enet_get_serverip(STRING* ip);

//------------------------------------------------------------------------------
//Name:           var enet_get_ping(var typ)
//Funktion:       Gibt den aktuellen Ping (RTT=Round-trip-time) zurück.
//Parameter:      type...1: letzte Roundtriptime (Ping)
//                       2: durchschnittlicher Ping
//Rückgabe:		   -1 wenn ein Fehler aufgetreten ist
//                Ping (in ms) wenn alles funktioniert hat
//Besonderheiten: keine
//------------------------------------------------------------------------------

var enet_get_ping(var typ);

//------------------------------------------------------------------------------
//Name:           var enet_get_datatransfer(var typ)
//Funktion:       Gibt Werte betreffend der Transferrate zurück.
//Parameter:      type...1: gesendete Daten der letzten Sekunde (in Byte/s)
//                       2: empfangene Daten der letzten Sekunde (in Bytes/s)
//Rückgabe:		   -1 wenn ein Fehler aufgetreten ist
//                Ansonsten gewünschter Wert
//Besonderheiten: keine
//------------------------------------------------------------------------------

var enet_get_datatransfer(var typ);

///////////////////
//Eventfunktionen//
///////////////////

//------------------------------------------------------------------------------
//Name:           var enet_set_event(var typ, STRING* funcname)
//Funktion:       Weist einem Eventtyp eine Funktion zu. Die Funktionen werden
//                mit folgenden Parametern aufgerufen:
//                              -sender: Client der das Event ausgelöst hat
//                              -msg: String der gesendet wurde
//                                    (nur 1 Frame verfügbar!)
//Parameter:      typ........Typ des Events
//                               1: Client connected (nur Server)
//                               2: Client disconnected (nur Server)
//                               3: Connected (nur Client, msg enthält Level das
//																			  am Server geladen ist)
//                               4: Disconnected (nur Client)
//                               5: Synchronizing complete (nur Client)
//                               6: Synchronizing complete (nur Server), gibt die
//				ClientID des Auslösers zurück
//			7: Entity removed (auf allen Rechnern außer dem,
//				der das Event ausgelöst hat) übergibt den
//				globalen Pointer (nur 1 Frame gültig)
//                               8: Wrong Password (nur Client)
//                               9-max_events(30): Userevents
//                funcname...Name der Funktion, die bei dem jeweiligen Event
//                           ausgeführt werden soll.
//Rückgabe:		  	-1 wenn typ eine ungültige Zahl ist
//                1 wenn alles geklappt hat
//Besonderheiten: Der Funktionsname darf nicht mehr als 29 Zeichen enthalten!
//				  		Event 3,4&5 werden ohne Parameter aufgerufen, Event 1&2 nur
//				  		mit dem sender Parameter!
//------------------------------------------------------------------------------

var enet_set_event(var typ,STRING* funcname);

//////////////////
//Sendfunktionen//
//////////////////

//------------------------------------------------------------------------------
//Name:           void enet_send_var(STRING* varname, var reseiver)
//Funktion:       Sendet eine Variable zu dem angegebnen Client, oder an alle
//                verbundenen Clients wenn reseiver auf -1 gesetzt wird.
//Parameter:      varname....Variablenname der Variable die gesendet werden soll
//                reseiver...Clientid des Empfängers oder -1 wenn es an alle
//                           gesendet werden soll.
//Rückgabe:		   keine
//Besonderheiten: Variablenname darf nicht länger als 30 Zeichen sein. Je
//                kürzer der Variablenname, um so weniger Byte.
//------------------------------------------------------------------------------

void enet_send_var(STRING* varname, var reseiver);

//------------------------------------------------------------------------------
//Name:           void enet_send_array(STRING* arrayname, var from, var to, var reseiver)
//Funktion:       Sendet einen Teil eines Arrays zu dem angegebnen Client, oder
//                an alle verbundenen Clients wenn reseiver auf -1 gesetzt wird.
//Parameter:      arrayname...Arrayname des array der gesendet werden soll
//                from........erster Index der gesendet werden soll
//                to..........letzter Index der gesendet werden soll
//                reseiver....Clientid des Empfängers oder -1 wenn es an alle
//                            gesendet werden soll.
//Rückgabe:		   keine
//Besonderheiten: Arrayname darf nicht länger als 30 Zeichen sein. Je
//                kürzer der Variablenname, um so weniger Byte.
//                Es können maximal 40 Indexe versendet werden.
//------------------------------------------------------------------------------

void enet_send_array(STRING* arrayname, var from, var to, var reseiver);

//------------------------------------------------------------------------------
//Name:           void enet_send_string(STRING* strname, var reseiver)
//Funktion:       Sendet einen String zu dem angegebnen Client, oder an alle
//                verbundenen Clients wenn reseiver auf -1 gesetzt wird.
//Parameter:      strname....Stringname des Strings der gesendet werden soll
//                reseiver...Clientid des Empfängers oder -1 wenn es an alle
//                           gesendet werden soll.
//Rückgabe:		   keine
//Besonderheiten: Der Stringname darf nicht länger als 30 Zeichen sein. Je
//                kürzer der Stringname, um so weniger Byte.
//                Der Stringinhalt darf nicht länger als 255 Zeichen sein!
//------------------------------------------------------------------------------

void enet_send_string(STRING* strname, var reseiver);

//------------------------------------------------------------------------------
//Name:           void enet_send_event(var typ,STRING* msg,var reseiver)
//Funktion:       Sendet ein userevent mit der angegebenen Nachricht an den
//                angegebenen Empfänger. Die Funktion die unter diesem Typ
//                gespeichert ist wird dann von dem Empfänger ausgeführt.
//Parameter:      typ........Event das aufgerufen werden soll
//                msg........Nachricht die gesendet werden soll
//                           (max. 255 Zeichen)
//                reseiver...Clientid des Empfängers oder -1 wenn es an alle
//                           gesendet werden soll.
//Rückgabe:		   keine
//Besonderheiten: Es dürfen nur Userdefinierte Events sein, also ab 6-20.
//                Kann nur von einem Client ausgeführt werden.
//------------------------------------------------------------------------------

void enet_send_event(var typ,STRING* msg,var reseiver);

//------------------------------------------------------------------------------
//Name:           void enet_send_skills(var entity,var from,var to,var reseiver)
//Funktion:       Sendet alle angegebenen Skills der globalen Entity. Es werden
//                die durch from und to angegebenen Skills auch mit gesendet. Um
//                nur einen Skill zu senden, müssen from und to gleich sein.
//Parameter:      entity.....globaler Entitypointer
//                from.......1. Skill der gesendet werden soll
//                to.........letzter Skill der gesendet werden soll
//Rückgabe:		   keine
//Besonderheiten: Es können maximal 40 Skills gesendet werden.
//------------------------------------------------------------------------------

void enet_send_skills(var entity,var from,var to,var reseiver);

////////////////////
//Entityfunktionen//
////////////////////

//------------------------------------------------------------------------------
//Name:           ENTITY* enet_ent_create(STRING* filename,VECTOR* position,
//                                                     STRING* funcname)
//Funktion:       Erzeugt eine globale Entity auf allen verbundenen Clients. Die
//                angegebene Funktion wird bei allen Clients ausgeführt. Für
//                lokale Entities sollte das normale ent_create benutzt werden.
//Parameter:      filename...Dateiname der zu erstellenden Entity
//                position...Position an der die Entity erstellt werden soll
//                funcname...Name der Funktion, die gestartet werden soll
//Rückgabe:		   lokaler Entitypointer
//				  		0 bei Fehler
//Besonderheiten: Der globale Pointer ist erst 1 Frame nach dem die angegebene
//						Funktion gestartet wurde verfügbar (-> wait(1) in Funktion).
//						Es muss eine Verbindung hergestellt sein, und bereits ein
//                Level geladen worden sein.
//                Um den globalen Pointer zu erhalten, muss enet_ent_globpointer
//                benutzt werden.
//                Darf nicht vor enet_synchronize ausgeführt werden (am Client)
//                Die Anzahl der globalen Entities ist beschränkt!
//------------------------------------------------------------------------------

ENTITY* enet_ent_create(STRING* filename,VECTOR* position,STRING* funcname);

//------------------------------------------------------------------------------
//Name:           void enet_ent_remove(var glob_pointer)
//Funktion:       Entfernt eine globale Entity auf dem Server und allen
//                verbundenen PCs.
//Parameter:      glob_pointer...globaler Pointer der Entity
//Rückgabe:		   keine
//Besonderheiten: keine
//------------------------------------------------------------------------------

void enet_ent_remove(var glob_pointer);

//------------------------------------------------------------------------------
//Name:           var enet_ent_globpointer(ENTITY* entity)
//Funktion:       Gibt den globalen Pointer einer Entity zurück. Oder -1 falls
//                diese keine globale Entity ist.
//Parameter:      entity...lokaler Pointer der Entity
//Rückgabe:		   globaler Pointer auf die Entity
//                -1 bei Fehler
//Besonderheiten: keine
//------------------------------------------------------------------------------

var enet_ent_globpointer(ENTITY* entity);

//------------------------------------------------------------------------------
//Name:           ENTITY* enet_ent_locpointer(var globalpointer)
//Funktion:       Gibt den lokalen Pointer einer Entity zurück. Oder 0 falls
//                diese keine globale Entity ist.
//Parameter:      globalpointer...globaler Pointer der Entity
//Rückgabe:		   lokaler Pointer auf die Entity
//                0 bei Fehler
//Besonderheiten: keine
//------------------------------------------------------------------------------

ENTITY* enet_ent_locpointer(var globalpointer);

//------------------------------------------------------------------------------
//Name:           var enet_ent_creator(var globalpointer)
//Funktion:       Gibt die ClientID des Erstellers dieser Entity zurück.
//Parameter:      globalpointer...globaler Pointer der Entity
//Rückgabe:		   ClientID des Erstellers
//                -1 bei Fehler
//Besonderheiten: keine
//------------------------------------------------------------------------------

var enet_ent_creator(var globalpointer);

//------------------------------------------------------------------------------
//Name:           void enet_ent_synchronize()
//Funktion:       Synchronisiert alle Entities mit dem Server. D.h. es werden
//                alle globalen Entities an der Position erstellt, die sie am
//                Server aktuell haben.
//						Wenn das Synchronisieren erfolgreich war, wird das 5. Event
//						ausgelöst.
//Parameter:      keine
//Rückgabe:		   keine
//Besonderheiten: Skills,Flags,... werden NICHT übernommen.
//                Diese Funktion darf nicht öfter als 1 mal pro Verbindung
//						verwendet werden.
//                Sie verbraucht sehr viel KB/s.
//------------------------------------------------------------------------------

void enet_ent_synchronize();

//------------------------------------------------------------------------------
//Name:           void enet_ent_freeglobs()
//Funktion:       Löscht alle globalen Pointer auf allen Rechnern. Dadurch wird
//				  		ein Levelwechsel ermöglicht.
//Parameter:      keine
//Rückgabe:		  	keine
//Besonderheiten: Darf nur vom Server ausgeführt werden.
//------------------------------------------------------------------------------

void enet_ent_freeglobs();

//////////////////////////////
//Verschlüsselungsfunktionen//
//////////////////////////////

//------------------------------------------------------------------------------
//Name:           void encrypt_string(char string[],unsigned long key[])
//Funktion:       Verschlüsselt einen String.
//Parameter:      string...String der verschlüsselt werden soll
//				  		key......Schlüssel mit dem verschlüsselt werden soll
//Rückgabe:		  	keine
//Besonderheiten: Wird zum Verschlüsseln des Datenverkehrs benutzt.
//------------------------------------------------------------------------------

void encrypt_string(char* str,unsigned long* key);

//------------------------------------------------------------------------------
//Name:           void decrypt_string(char string[],unsigned long key[])
//Funktion:       Entschlüsselt einen String.
//Parameter:      string...String der entschlüsselt werden soll
//				  		key......Schlüssel mit dem entschlüsselt werden soll
//Rückgabe:		  	keine
//Besonderheiten: Wird zum Entschlüsseln des Datenverkehrs genutzt.
//------------------------------------------------------------------------------

void decrypt_string(char* str,unsigned long* key);


Forgot to say that the plugin should be A6 compatible (didn't tested it yet) and works under Win 2000, ME, XP, Vista!

The plugin will come with a detailed documentation and some examples (all in english and german!).

I Hope you like the idea behind this thing and if there is enough interest you soon will be able to purchase this plugin and start creating your own working multiplayer game!

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: A real Networksolution for GS A6/A7 [Re: Dark_samurai] #232447
10/21/08 19:20
10/21/08 19:20
Joined: Nov 2005
Posts: 1,007
jigalypuff Offline
Serious User
jigalypuff  Offline
Serious User

Joined: Nov 2005
Posts: 1,007
I`d pay 20 quid for it smile


Why does everyone like dolphins? Never trust a species which smiles all the time!
Re: A real Networksolution for GS A6/A7 [Re: jigalypuff] #232475
10/21/08 21:38
10/21/08 21:38
Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
Puppeteer Offline
Expert
Puppeteer  Offline
Expert

Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
Ich würde auch zahlen wenn:
- Ich einzelne vars/teile von arrays von clients zu allen anderen clients senden kann
- Ich auch die Möglichkeit habe nur mit lokalen ents zu arbeiten
- C-script <3 support wäre toll
(sry hatte nicht viel zeit deshalb habe ich die doku net gelsen :> )
EDIT: Okay schon gefunden wunderbest =)
bleibt nur noch die c-script frage

Last edited by Puppeteer; 10/21/08 21:42.

Formally known as Omega
Avatar randomness by Quadraxas & Blade
http://omegapuppeteer.mybrute.com
Re: A real Networksolution for GS A6/A7 [Re: Puppeteer] #232491
10/21/08 23:37
10/21/08 23:37
Joined: Mar 2006
Posts: 1,993
Karlsruhe
PadMalcom Offline
Serious User
PadMalcom  Offline
Serious User

Joined: Mar 2006
Posts: 1,993
Karlsruhe
Ich würde es auch nehmen, wann kann man das PlugIn bekommen?
P.S. Vielleicht tauscht du gegen meinen DialogEditor? laugh

Re: A real Networksolution for GS A6/A7 [Re: PadMalcom] #232511
10/22/08 07:02
10/22/08 07:02
Joined: Jun 2005
Posts: 4,875
broozar Offline
Expert
broozar  Offline
Expert

Joined: Jun 2005
Posts: 4,875
$50 to $100 if it really works (->demo)

Re: A real Networksolution for GS A6/A7 [Re: broozar] #232522
10/22/08 09:30
10/22/08 09:30
Joined: Jul 2005
Posts: 1,930
Austria
Dark_samurai Offline OP
Serious User
Dark_samurai  Offline OP
Serious User

Joined: Jul 2005
Posts: 1,930
Austria
Quote:

- Ich einzelne vars/teile von arrays von clients zu allen anderen clients senden kann
- Ich auch die Möglichkeit habe nur mit lokalen ents zu arbeiten
- C-script <3 support wäre toll
(sry hatte nicht viel zeit deshalb habe ich die doku net gelsen :> )
EDIT: Okay schon gefunden wunderbest =)


C-Script wird unterstützt! Lokale entities kannst du einfach per ent_create erstellen wink Das mit den Arrays funktioniert genau so wie bei GSTNet und wird so wie du das möchtest bereits unterstützt.

I decided to create 3 Versions of the plugin. One which will be free (only 4 connections and some other limits), a standard version (unlimit connections), and a professional version (encryption, compression, gamelist feature for lan and internet).

Quote:

Ich würde es auch nehmen, wann kann man das PlugIn bekommen?


I will add some new functions and change some things and then the standard version will be ready. It dependes on how much free time I have but I think in 1-2 weeks the standard version will be ready (also documentation, tutorial, examples, homepage).

Some new functions I will add this weekend:

enet_send_flags(var global_ent,var flag_from,var flag_to);
enet_set_encryptionkey(long* key);
enet_send_pos(var global_ent);

The pro version will come in 1 or 2 months (maybe at christmas ^^).

I hope that the first version of the free plugin will be finished this weekend.

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: A real Networksolution for GS A6/A7 [Re: Dark_samurai] #232530
10/22/08 10:26
10/22/08 10:26
Joined: May 2008
Posts: 33
Russia/Netherlands
H
Hand_Of_Law Offline
Newbie
Hand_Of_Law  Offline
Newbie
H

Joined: May 2008
Posts: 33
Russia/Netherlands
We are so far working on the GS network but if the plugin does work count me in.

Re: A real Networksolution for GS A6/A7 [Re: Hand_Of_Law] #232535
10/22/08 10:38
10/22/08 10:38
Joined: Oct 2007
Posts: 5,210
Ä°stanbul, Turkey
Quad Offline
Senior Expert
Quad  Offline
Senior Expert

Joined: Oct 2007
Posts: 5,210
Ä°stanbul, Turkey
count me too.


3333333333
Re: A real Networksolution for GS A6/A7 [Re: Quad] #232560
10/22/08 13:53
10/22/08 13:53
Joined: Aug 2003
Posts: 7,439
Red Dwarf
Michael_Schwarz Offline
Senior Expert
Michael_Schwarz  Offline
Senior Expert

Joined: Aug 2003
Posts: 7,439
Red Dwarf
I'd buy it.


"Sometimes JCL reminds me of Notch, but more competent" ~ Kiyaku
Re: A real Networksolution for GS A6/A7 [Re: Michael_Schwarz] #232565
10/22/08 14:05
10/22/08 14:05
Joined: Apr 2008
Posts: 650
Sajeth Offline
User
Sajeth  Offline
User

Joined: Apr 2008
Posts: 650
I'd hit, erm, buy it.
And if you need someone to translate things, I could help you smile


Teleschrott-Fan.
Page 1 of 7 1 2 3 4 5 6 7

Moderated by  adoado, checkbutton, mk_1, Perro 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1