39dll V2.5, New version. |
![]() ![]() |
39dll V2.5, New version. |
Dec 22 2004, 12:12 PM
Post
#1
|
|
|
GMC Member 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 |
|
|
|
Dec 22 2004, 08:23 PM
Post
#2
|
|
|
The crazy monkey 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
Like i said seems good, but how will it do against the other dlls like GMsock? |
|
|
|
Dec 22 2004, 08:33 PM
Post
#3
|
|
|
GMC Member 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 |
|
|
|
Dec 25 2004, 06:05 PM
Post
#4
|
|
|
GMC Member 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
|
|
|
|
Dec 25 2004, 06:12 PM
Post
#5
|
|
|
GMC Member 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 |
|
|
|
Jan 23 2005, 05:32 PM
Post
#6
|
|
|
GMC Member Group: GMC Member Posts: 4 Joined: 7-October 04 Member No.: 15246 |
This thing owns. I really needed lagless bin functions >:D
|
|
|
|
Jan 25 2005, 03:39 PM
Post
#7
|
|
|
GMC Member Group: GMC Member Posts: 918 Joined: 9-October 03 From: Sydney, Australia Member No.: 234 |
Thanks for the reply. Thought this dll died lol.
|
|
|
|
Jun 9 2005, 10:53 AM
Post
#8
|
|
|
Previously dragonsoft Group: GMC Member Posts: 81 Joined: 28-October 03 Member No.: 862 |
How do you send binary through udp?
|
|
|
|
Jun 9 2005, 11:21 AM
Post
#9
|
|
|
GMC Member 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..
|
|
|
|
Jun 9 2005, 11:41 AM
Post
#10
|
|
|
designFUSION™ 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 |
|
|
|
Jun 9 2005, 01:12 PM
Post
#11
|
|
|
Previously dragonsoft Group: GMC Member Posts: 81 Joined: 28-October 03 Member No.: 862 |
What's wrong with asking a question?
|
|
|
|
Jun 29 2005, 06:33 AM
Post
#12
|
|
|
GMC Member 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 |
|
|
|
Jun 29 2005, 07:19 AM
Post
#13
|
|
|
GMC Member Group: GMC Member Posts: 495 Joined: 11-March 04 From: Estonia Member No.: 6954 |
Is it faster than GMsocket?
|
|
|
|
Jun 29 2005, 07:26 AM
Post
#14
|
|
|
GMC Member Group: GMC Member Posts: 918 Joined: 9-October 03 From: Sydney, Australia Member No.: 234 |
|
|
|
|
Jun 29 2005, 09:35 AM
Post
#15
|
|
|
GMC Member 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.
|
|
|
|
Jun 30 2005, 12:44 AM
Post
#16
|
|
|
Whateva! 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
|
|
|
|
Jun 30 2005, 01:05 AM
Post
#17
|
|
|
GMC Member 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; } } |
|
|
|
Jun 30 2005, 11:49 AM
Post
#18
|
|
|
GMC Member 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.
|
|
|
|
Jun 30 2005, 01:13 PM
Post
#19
|
|
|
The Ultimate Pronoun ![]() 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. |
|
|
|
Jun 30 2005, 01:28 PM
Post
#20
|
|
|
GMC Member 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 |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 9th February 2010 - 04:09 PM |