Game Maker Community YoYo Games

Welcome Guest ( Log In | Register )

111 Pages V   1 2 3 > »   
Reply to this topicStart new topic
39dll V2.5, New version.
39ster
post Dec 22 2004, 12:12 PM
Post #1


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



39DLL version 2.5

39DLL is a poweful dll which gives you access to windows sockets using game maker. Make fast multiplayer games or connect to protocols like http, irc, ftp, etc.

Download: 39dllV25.zip
Tutorials:
Http tutorial: http://host-a.net/39ster/http.rtf
Terms of use:
Credit is good.

Some popular games that use this dll:
Cubes Online
Stick online
Hover tank3D
Trix!
Slime Online
If you think your game is popular and it uses the dll then pm me.

This post has been edited by 39ster: Jul 23 2007, 01:34 PM
Go to the top of the page
 
+Quote Post
manther
post Dec 22 2004, 08:23 PM
Post #2


The crazy monkey
Group Icon

Group: GMC Member
Posts: 121
Joined: 29-October 03
From: England
Member No.: 980



Hmm, Seems good. The example doesnt really show much about the how good it is as you can very easily do that with the m_play functions, However there was no lag when i ran it twice on my computer biggrin.gif

Like i said seems good, but how will it do against the other dlls like GMsock?
Go to the top of the page
 
+Quote Post
39ster
post Dec 22 2004, 08:33 PM
Post #3


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



Thanks. The demo was just to show how to make a little mini game with it.

I dont know how it will go against gmsock because i havnt used it but i did see the gml code for the functions and it uses alot of GML which is quite slower than compiled code. My dll doesnt have much gml so it may or may not run faster.

I may make a better example and an example of the file compression. You can use this one dll to make a mmorpg and use the binary functions to save files. The binary functions are better than gms cause you can read/write strings and integers.

EDIT:
New version coming out soon fixed alot of bugs...practically flawless and faster. This time it will come with a Unlimited player example (shows you how to make a game where there is no limit on the players using player id's..massively multiplayer basically). I may also make a bunch of scripts where it simplifies the use of the dll and a much easier way of using both udp and tcp.

This post has been edited by Luke Graham: Dec 25 2004, 03:26 PM
Go to the top of the page
 
+Quote Post
jolley small
post Dec 25 2004, 06:05 PM
Post #4


GMC Member
Group Icon

Group: GMC Member
Posts: 80
Joined: 13-October 03
From: England, UK
Member No.: 298



Could you please release a better example on making a game with this
Go to the top of the page
 
+Quote Post
39ster
post Dec 25 2004, 06:12 PM
Post #5


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



Hey. yea i have just uploaded an example on how to make unlimited player game. I need people to test cause theres this weird problem where when more than 2 people are playing it like recieves data a block at a time or something...like the playing will be moving in all the right positions then stop for like 5 seconds then start going in all the places it should of went and so on..
Just run the server and then run the client and connect to urself then run another client and connect and hopefully u will see u and the other u and can move around

My ip is 202.93.97.133 and im hosting on port 14804 if you want to test it with me.

BTW im on 56k.

This post has been edited by Luke Graham: Dec 25 2004, 06:20 PM
Go to the top of the page
 
+Quote Post
Catclone
post Jan 23 2005, 05:32 PM
Post #6


GMC Member
Group Icon

Group: GMC Member
Posts: 4
Joined: 7-October 04
Member No.: 15246



This thing owns. I really needed lagless bin functions >:D
Go to the top of the page
 
+Quote Post
39ster
post Jan 25 2005, 03:39 PM
Post #7


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



Thanks for the reply. Thought this dll died lol.
Go to the top of the page
 
+Quote Post
Cubiso
post Jun 9 2005, 10:53 AM
Post #8


Previously dragonsoft
Group Icon

Group: GMC Member
Posts: 81
Joined: 28-October 03
Member No.: 862



How do you send binary through udp?
Go to the top of the page
 
+Quote Post
39ster
post Jun 9 2005, 11:21 AM
Post #9


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



Back from the dead again...lol wtf? Just send UdpSend with no data but set the message id to the binary value you want to send! You cant use 255 but because this is so old i probably wont update it so you can..
Go to the top of the page
 
+Quote Post
Smarttart62
post Jun 9 2005, 11:41 AM
Post #10


designFUSION™
Group Icon

Group: GMC Member
Posts: 2711
Joined: 19-November 03
From: USA, Connecticut
Member No.: 2372



whats with you people... (dragonsoft) well stop doing this!
-Steve
Go to the top of the page
 
+Quote Post
Cubiso
post Jun 9 2005, 01:12 PM
Post #11


Previously dragonsoft
Group Icon

Group: GMC Member
Posts: 81
Joined: 28-October 03
Member No.: 862



What's wrong with asking a question?
Go to the top of the page
 
+Quote Post
39ster
post Jun 29 2005, 06:33 AM
Post #12


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



MAJOR UPDATE! Look and please download and give it a try.
*Ignore the posts above this message because this dll is pretty much rewritten*

This post has been edited by 39ster: Jun 29 2005, 12:26 PM
Go to the top of the page
 
+Quote Post
Timmo
post Jun 29 2005, 07:19 AM
Post #13


GMC Member
Group Icon

Group: GMC Member
Posts: 495
Joined: 11-March 04
From: Estonia
Member No.: 6954



Is it faster than GMsocket?
Go to the top of the page
 
+Quote Post
39ster
post Jun 29 2005, 07:26 AM
Post #14


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



QUOTE (timmoLiiva @ Jun 29 2005, 07:19 AM)
Is it faster than GMsocket?
*

Yes! Its easier on your cpu because it doesnt use any gml and its faster at sending messages if you write in binary form and send in binary mode!

This post has been edited by 39ster: Jun 29 2005, 07:26 AM
Go to the top of the page
 
+Quote Post
Timmo
post Jun 29 2005, 09:35 AM
Post #15


GMC Member
Group Icon

Group: GMC Member
Posts: 495
Joined: 11-March 04
From: Estonia
Member No.: 6954



Can you make example of that infinite peole can join and they can talk and move.
Go to the top of the page
 
+Quote Post
bobby2guns2003
post Jun 30 2005, 12:44 AM
Post #16


Whateva!
Group Icon

Group: GMC Member
Posts: 155
Joined: 30-October 03
Member No.: 1076



was messin around with it... and it seems to be easy to use, propz smile.gif
Go to the top of the page
 
+Quote Post
39ster
post Jun 30 2005, 01:05 AM
Post #17


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



Yes once people understand the internal memory buffer and writing in different data types its very easy to use. Ill show you how to know which data type to use.

Alright say i want to send my x and y co-ordinate in 1 packet. I would write this:
QUOTE
clearbuffer();            //Make sure their is nothing in the buffer.
writebyte(1);            //This can be used as a message id system.
writeshort(x);          //Write 2 bytes representing the x.
writeshort(y);          //Write 2 bytes representing the y.
sendmessage(socket);  //Now send all the data in the buffer!


Alright tthe first line "clearbuffer()" is just used in case their is already data in the internal buffer. The second line writes the message id. I made it a byte because you probably wont need more than 255 different message id's. The second line says write the x position. The reason i wrote it as a short is because if i wrote it as a byte then the maximum x position could only be 255. A short can be anywhere from -32500 to +32500. As long as your room width is smaller than 32500 than you should use a short for the x and y position. This is also the case for the y position. Now i just use the script sendmessage() which will work on a tcp socket and udp sockets (no seperate scripts for the 2 protocols).

To recieve that message i just wrote i would put in the step event of the person to recieve it:
CODE
while(1)  //make a loop because we might recieve multiple messages a step
{
 size = recievemessage(socket);
 if(size <= 0) break;                  //If no message
 mid = readbyte();                    //Get the message id
 switch(mid)
 {
   case 1:                     //If the message id is for the players x, y pos.
     x = readshort();
     y = readshort();
   break;
 }
}
Go to the top of the page
 
+Quote Post
Ravotus
post Jun 30 2005, 11:49 AM
Post #18


GMC Member
Group Icon

Group: GMC Member
Posts: 322
Joined: 26-October 03
From: A resturant near you...
Member No.: 502



Wow, very interesting idea for the buffer. You should make it like a stack where you push values then pop them off in the opposite order. wink1.gif
Go to the top of the page
 
+Quote Post
Yourself
post Jun 30 2005, 01:13 PM
Post #19


The Ultimate Pronoun
Group Icon

Group: Retired Staff
Posts: 7103
Joined: 4-October 03
From: Urbana, IL
Member No.: 40



QUOTE
Yes! Its easier on your cpu because it doesnt use any gml


QUOTE
CODE
while(1)  //make a loop because we might recieve multiple messages a step
{
size = recievemessage(socket);
if(size <= 0) break;                  //If no message
mid = readbyte();                    //Get the message id
switch(mid)
{
  case 1:                     //If the message id is for the players x, y pos.
    x = readshort();
    y = readshort();
  break;
}
}


Looks like GML to me.
Go to the top of the page
 
+Quote Post
39ster
post Jun 30 2005, 01:28 PM
Post #20


GMC Member
Group Icon

Group: GMC Member
Posts: 918
Joined: 9-October 03
From: Sydney, Australia
Member No.: 234



QUOTE (Yourself @ Jun 30 2005, 01:13 PM)
QUOTE
Yes! Its easier on your cpu because it doesnt use any gml


QUOTE
CODE
while(1)  //make a loop because we might recieve multiple messages a step
{
size = recievemessage(socket);
if(size <= 0) break;                  //If no message
mid = readbyte();                    //Get the message id
switch(mid)
{
  case 1:                     //If the message id is for the players x, y pos.
    x = readshort();
    y = readshort();
  break;
}
}


Looks like GML to me.
*


Errr, i think its pretty obvious i meant the scripts contain no gml..

This post has been edited by 39ster: Jun 30 2005, 01:33 PM
Go to the top of the page
 
+Quote Post

111 Pages V   1 2 3 > » 
Reply to this topicStart new topic
2 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
1 Members: pixelpig

 



RSS Lo-Fi Version Time is now: 9th February 2010 - 04:09 PM