Jump to content


Photo

39dll V2.5


  • Please log in to reply
2522 replies to this topic

#1 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 22 December 2004 - 12:09 PM

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.

Edited by 39ster, 23 July 2007 - 01:31 PM.

  • 30

#2 manther

manther

    The crazy monkey

  • New Member
  • 116 posts

Posted 22 December 2004 - 08:20 PM

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 :D

Like i said seems good, but how will it do against the other dlls like GMsock?
  • 0

#3 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 22 December 2004 - 08:30 PM

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.

Edited by Luke Graham, 25 December 2004 - 03:23 PM.

  • 0

#4 jolley small

jolley small

    GMC Member

  • New Member
  • 72 posts

Posted 25 December 2004 - 06:02 PM

Could you please release a better example on making a game with this
  • 0

#5 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 25 December 2004 - 06:09 PM

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.

Edited by Luke Graham, 25 December 2004 - 06:17 PM.

  • 0

#6 Catclone

Catclone

    GMC Member

  • New Member
  • 4 posts

Posted 23 January 2005 - 05:29 PM

This thing owns. I really needed lagless bin functions >:blink:
  • 0

#7 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 25 January 2005 - 03:36 PM

Thanks for the reply. Thought this dll died lol.
  • 0

#8 Cubiso

Cubiso

    Previously dragonsoft

  • New Member
  • 81 posts

Posted 09 June 2005 - 10:50 AM

How do you send binary through udp?
  • 0

#9 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 09 June 2005 - 11:18 AM

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..
  • 0

#10 Smarttart62

Smarttart62

    designFUSIONô

  • New Member
  • 2619 posts

Posted 09 June 2005 - 11:38 AM

whats with you people... (dragonsoft) well stop doing this!
-Steve
  • 0

#11 Cubiso

Cubiso

    Previously dragonsoft

  • New Member
  • 81 posts

Posted 09 June 2005 - 01:09 PM

What's wrong with asking a question?
  • 0

#12 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 29 June 2005 - 06:30 AM

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

Edited by 39ster, 29 June 2005 - 12:23 PM.

  • 0

#13 Timmo

Timmo

    GMC Member

  • New Member
  • 558 posts
  • Version:GM:HTML5

Posted 29 June 2005 - 07:16 AM

Is it faster than GMsocket?
  • 0

#14 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 29 June 2005 - 07:23 AM

Is it faster than GMsocket?

<{POST_SNAPBACK}>

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!

Edited by 39ster, 29 June 2005 - 07:23 AM.

  • 0

#15 Timmo

Timmo

    GMC Member

  • New Member
  • 558 posts
  • Version:GM:HTML5

Posted 29 June 2005 - 09:32 AM

Can you make example of that infinite peole can join and they can talk and move.
  • 0

#16 bobby2guns2003

bobby2guns2003

    Whateva!

  • New Member
  • 149 posts

Posted 30 June 2005 - 12:41 AM

was messin around with it... and it seems to be easy to use, propz ;)
  • 0

#17 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 30 June 2005 - 01:02 AM

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:

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:
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;
  }
}

  • 1

#18 Ravotus

Ravotus

    GMC Member

  • GMC Member
  • 327 posts

Posted 30 June 2005 - 11:46 AM

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. ;)
  • 0

#19 Yourself

Yourself

    The Ultimate Pronoun

  • Retired Staff
  • 7352 posts
  • Version:Unknown

Posted 30 June 2005 - 01:10 PM

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


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.
  • 0

#20 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 30 June 2005 - 01:25 PM

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


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.

<{POST_SNAPBACK}>

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

Edited by 39ster, 30 June 2005 - 01:30 PM.

  • 0

#21 Yourself

Yourself

    The Ultimate Pronoun

  • Retired Staff
  • 7352 posts
  • Version:Unknown

Posted 30 June 2005 - 02:00 PM

You wrote scripts in GM without using any GML? That's pretty impressive.
  • 1

#22 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 30 June 2005 - 02:07 PM

You wrote scripts in GM without using any GML?  That's pretty impressive.

<{POST_SNAPBACK}>

Ahem, quote from myself in the first post:

Speed:
With an exception to the splitstrings script, the only gml used in the scripts are the
external_call functions.

Why the hell are we even talking about this? Why did you bring this up?

Edited by 39ster, 30 June 2005 - 02:08 PM.

  • 0

#23 Yourself

Yourself

    The Ultimate Pronoun

  • Retired Staff
  • 7352 posts
  • Version:Unknown

Posted 30 June 2005 - 02:10 PM

Well then you used GML. Besides, how much GML does GMSock actually use? Sure it has many scripts, but are each of those scripts very large? And also, even if your scripts are faster, aren't you just leaving more work to the programmer? All the GML you left out will probably end up being put back in by the programmer anyway, won't it?
  • 0

#24 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 30 June 2005 - 02:11 PM

Well then you used GML.  Besides, how much GML does GMSock actually use?  Sure it has many scripts, but are each of those scripts very large?  And also, even if your scripts are faster, aren't you just leaving more work to the programmer?  All the GML you left out will probably end up being put back in by the programmer anyway, won't it?

<{POST_SNAPBACK}>

No. Maybe you should actually try the dll and see for yourself, Yourself. I said its handled by the dll.

Edited by 39ster, 30 June 2005 - 02:12 PM.

  • 0

#25 Yourself

Yourself

    The Ultimate Pronoun

  • Retired Staff
  • 7352 posts
  • Version:Unknown

Posted 30 June 2005 - 02:28 PM

I could, but there's no way I could compare it to GMSock as I don't have that (and the site's bandwidth exceeded, so I can't get it). I just think it's a bit silly of you to advertise this as faster when you said yourself you didn't actually use GMSock.
  • 0

#26 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 30 June 2005 - 02:32 PM

I could, but there's no way I could compare it to GMSock as I don't have that (and the site's bandwidth exceeded, so I can't get it).  I just think it's a bit silly of you to advertise this as faster when you said yourself you didn't actually use GMSock.

<{POST_SNAPBACK}>

Yeah i did say that, but then again look at the date when i posted that. I could of used gmsock within 7 months. I also said in that post (the one that i made before i ever used gmsock) "My dll doesnt have much gml so it may or may not run faster." Never actually saying it IS faster.

Edited by 39ster, 30 June 2005 - 02:33 PM.

  • 0

#27 yourjustconfused

yourjustconfused

    GMC Member

  • New Member
  • 11 posts

Posted 30 June 2005 - 05:32 PM

Is there a max to how large the message your sending is?
  • 0

#28 darkmage

darkmage

    GMC Member

  • New Member
  • 518 posts

Posted 01 July 2005 - 07:29 PM

i tried to connect to eachother through lan but nothin was recieved maybe a better example would help

becuase i think i am doing somethin wrong with connecing so can you maybe make an example just that a few people can connect and walk or sometihng

it would really help out other people and me ofcourse to :angry:
for so far i have see it looks good but are u shure the irc works because when 2 are connected they cant chat with eachother only with them selves :S:S
  • 0

#29 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 02 July 2005 - 02:12 AM

i tried to connect to eachother through lan but nothin was recieved maybe a better example would help

becuase i think i am doing somethin wrong with connecing so can you maybe make an example just that a few people can connect and walk or sometihng

it would really help out other people and me ofcourse to :D
for so far i have see it looks good but are u shure the irc works because when 2 are connected they cant chat with eachother only with them selves :S:S

<{POST_SNAPBACK}>

The irc program is very simple and i forgot to add a way to recieve messages from other people when i released it. Im making a much more advanced online game example right now.
  • 0

#30 39ster

39ster

    GMC Member

  • GMC Member
  • 898 posts

Posted 03 July 2005 - 02:51 AM

Hey iv made a mmorpg engine for you guys to use. http://forums.gamema...howtopic=136369
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users