• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Promote me from Leecher to a developer.

Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177


Hi. I am Amey AKA Crost. I hereby states that I am a leecher(kinda) and I don't like this kind of thing. So I am begging you to help me. Please read this and help me.


I am tired of leeching stuff other people make and using them. It is no fun and I can't even tell people that I have did it!

So I want you guys to teach me how can I make my own sources, npc, re director and all things which a experienced developers,coders do.

For Eg. I love the work of Sunny.
Once he was also a player like me. No you all were once like me. But how you all got to the heights I dream of going to.

I am willing to work hard. But I want to learn this.
So in short terms

I want to learn everything you can teach me. I know NPC can be made since there are sorta tutorials for that kinda job. But how you all make other things. I want to go as high as I can and I am asking you for help.

P.S. Move this thread if in wrong place since i don't know where this kinda things go. Because I never seen this type of thread before.

I am New and I need you help. Please as a Experienced Coder/Developer guide leeches like me to where I can use all my potential.

I am sorry for wasting your time.

:) :D xD


Information

I am 13 year old. Age is not a matter and I believe it but please be a bit Easy on me.

Well continuing:
Amey is my Name
Live in India and proud of it.
Single. Lol.
Not very smart but yeah I am good.

If you want more info I will add more.

With Regards
Crost
Amey
______________________________________________________________



Last but not least.

I AM A TOTAL NOOB. I don even know what packets are and what they do...

Please help this little noob.


 
Last edited:
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177

Thank You for your help sir.
And Thanks to everyone who read the thread.

Though I have a bit questions are some information I want to tell you. And to everyone who is reading this post.

Q1. What languages I need to learn?
Since only basic things like VERY BASIC HTML and Visual Basic is known to me.
Q2. Can you suggest me more forums thread or Websites where I can learn the langusages.

Some Information:
I am 13. So I am not very smart. But age is not a matter. Just wanted to tell you that be a bit easy on me.
Not very very very smart. :O. But I am good. :)

Thanks
With Regards,
Crost
Amey
 
Upvote 0
BloopBloop
Joined
Aug 9, 2012
Messages
892
Reaction score
275
Thank You for your help sir.
And Thanks to everyone who read the thread.

Though I have a bit questions are some information I want to tell you. And to everyone who is reading this post.

Q1. What languages I need to learn?
Since only basic things like VERY BASIC HTML and Visual Basic is known to me.
Q2. Can you suggest me more forums thread or Websites where I can learn the langusages.

Some Information:
I am 13. So I am not very smart. But age is not a matter. Just wanted to tell you that be a bit easy on me.
Not very very very smart. :O. But I am good. :)

Thanks
With Regards,
Crost
Amey

Most of the servers are coded in java, (expect a few), so i suggest start with java and start learning the basics:
Java - Beginner (87 Videos)
Java - Intermediate (59 Videos)
You can also read a book about java, there are enough books about that.
Tutorials and booklists can be found at : TheNewBoston - Free Educational Video Tutorials on Computer Programming, Adobe Software, Computer Science and More!

When you know the basics after 146 tutorial(you don't need to watch them all but they can contain useful information),
When that's done start checking some source and see how it is build: Like this guy did:
http://forum.ragezone.com/f425/promote-leecher-developer-927463/f431/proje...inning-919380/

I will suggest either start with OdinMs or MoopleDEV
 
Upvote 0
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177
Most of the servers are coded in java, (expect a few), so i suggest start with java and start learning the basics:
Java - Beginner (87 Videos)
Java - Intermediate (59 Videos)
You can also read a book about java, there are enough books about that.
Tutorials and booklists can be found at : TheNewBoston - Free Educational Video Tutorials on Computer Programming, Adobe Software, Computer Science and More!

When you know the basics after 146 tutorial(you don't need to watch them all but they can contain useful information),
When that's done start checking some source and see how it is build: Like this guy did:
http://forum.ragezone.com/f425/promote-leecher-developer-927463/f431/proje...inning-919380/

I will suggest either start with OdinMs or MoopleDEV


Thanks for your quick reply. I have few questions. I will ask them once I complete the java tutorials. Thanks Again.

With Regards,
Amey
Crost
 
Upvote 0
Mythic Archon
Joined
Dec 25, 2011
Messages
723
Reaction score
97
I'm 13 myself, so age is not a necessity, but with age, comes experience. The best way to learn is just by doing. Look at java tutorials and code. Make a goal for yourself, complete it. For example, update moople to v117 or whatever. I'm sure you can learn quite a bit from that. I suggest you take a look at the oracle website as well.
 
Upvote 0
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177
Thank you for your reply. But I want all of you suggestions. So please help me. Currently I am doing JAVA tutorials. Is there any language I should learn. I also want anyone to tell me in detail what is this and that. I know this is asking to much but please help me.

Thanks
With Regards,
Crost
Amey
 
Upvote 0
Have Fun!
Joined
Nov 2, 2008
Messages
481
Reaction score
70
Most of the code you'll find in this section is in Java, so I think Java would be the best choice to learn.
However, only learning Java in theory is not enough. The key to success is to apply this knowledge into actual work.
I strongly recommend you to try and write your own code while learning Java. It doesn't have to be something big, it can even be a tiny add-on or whatever. The idea is to use what you learn and see how it works in "real life" (and of course, it's always motivating to see something you made working :D:).
Just think of something and try to make it work. For instance, when I was still learning, I was making small add-ons to my MS server - I made a poll system, lottery, queue based player support system and many other small ideas. These things are not very hard to make, but for a beginner they can provide valuable experience. It helped me a lot.
Just one thing - when you start something, finish it. Don't give up on it before it's done. Leaving things undone will just unmotivate you and prevent you from learning important things.

Best of luck to you. :)
 
Upvote 0
Skilled Illusionist
Joined
Oct 16, 2012
Messages
386
Reaction score
90
People on top may have mentioned this, but I'll emphasize it here again.
When you learn something in java, eg a method, a container, understand how it works first, then try to code a simple program with it without referring to the guides, and lastly learn and know the different ways this method/container etc is used in specific situations and actual programs.

Not to forget, lots of practice helps too, practice makes perfect!
 
Upvote 0
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177
Thank You all for replies. I am greatly honored to see that the community here wants a dumb like me to succeed. I will be continuing this thread by posting all problem I face when I complete all the tutorial which is the only thing I can use to learn now. Hopefully you shall help me so I may succeed and make my own things for the community other then leeching things. :O Questions. Q1. How I update a source to higher version? Any reference thread or anything that may help me. Q2 How I create my source. Any reference. With Regards, Amey Crost Q2. How I make a source and reference guide?
 
Upvote 0
Mythic Archon
Joined
Dec 25, 2011
Messages
723
Reaction score
97
Thank You all for replies. I am greatly honored to see that the community here wants a dumb like me to succeed. I will be continuing this thread by posting all problem I face when I complete all the tutorial which is the only thing I can use to learn now. Hopefully you shall help me so I may succeed and make my own things for the community other then leeching things. :O Questions. Q1. How I update a source to higher version? Any reference thread or anything that may help me. Q2 How I create my source. Any reference. With Regards, Amey Crost Q2. How I make a source and reference guide?

1. You'd have to update opcodes, which are usually located inside the .properties files (sendops and recvops) (but in Moople it's inside the source), and also update the structures (basically the methods that handle the opcode, I guess to put it in simple terms). Of course, you'd have to add the features that come along with it, such as new jobs, and what not.

2. You don't have to create your own source right now, I suggest not to (in my opinion, anyway), and just take a look at the code available to you right now, code your add-ons to it. Don't get too attached to the way MapleStory sources are coded at the moment, it can take a whole of improvement. If you learn enough, and are confident enough to try, go ahead and create your own source. I suggest taking a look at the current sources available. Also, take a look at Invictus made by Zygon (it can be helpful).

3. (not really sure, but you made two question 2s?) I don't really know what you mean by source and reference guide?

A great way to learn more programming is by visiting forums, blogs, and answering questions that you aren't even sure of. You'd most likely finding yourself learning even more by doing this. I've learned quite a bit helping out a few people actually myself. As my friend is in high school, taking computer science, I helped him out a bit, and found myself learning more Java.
 
Upvote 0
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177
1. You'd have to update opcodes, which are usually located inside the .properties files (sendops and recvops) (0xAD), and also update the structures (basically the methods that handle the opcode, I guess to put it in simple terms). Of course, you'd have to add the features that come along with it, such as new jobs, and what not.

2. You don't have to create your own source right now, I suggest not to (in my opinion, anyway), and just take a look at the code available to you right now, code your add-ons to it. Don't get too attached to the way MapleStory sources are coded at the moment, it can take a whole of improvement. If you learn enough, and are confident enough to try, go ahead and create your own source. I suggest taking a look at the current sources available. Also, take a look at Invictus made by Zygon (it can be helpful).

3. (not really sure, but you made two question 2s?) I don't really know what you mean by source and reference guide?

A great way to learn more programming is by visiting forums, blogs, and answering questions that you aren't even sure of. You'd most likely finding yourself learning even more by doing this. I've learned quite a bit helping out a few people actually myself. As my friend is in high school, taking computer science, I helped him out a bit, and found myself learning more Java.

Okay Thanks for quick reply. There are somethings I am willing to ask you. No, to you all.

I open SendOPS and I get things like 0xE3 etc. Of course there are more of them so what are these.And how I identify them. :O

Same ar recvoOPS i get like 0xAD and what is these 0x things. How I identify them.

Some other things. "In moople it is inside source." I dont understand this line. And how I update structures.

*Feels Dumb*

Currently I am in beginner portion of java so like 9th or 10th tutorial and have learnt simple things like basic calculator.

Thanks.
With Regards
Amey
Crost
 
Upvote 0
Have Fun!
Joined
Nov 2, 2008
Messages
481
Reaction score
70
Okay Thanks for quick reply. There are somethings I am willing to ask you. No, to you all.

I open SendOPS and I get things like 0xE3 etc. Of course there are more of them so what are these.And how I identify them. :O

Same ar recvoOPS i get like 0xAD and what is these 0x things. How I identify them.

Some other things. "In moople it is inside source." I dont understand this line. And how I update structures.

*Feels Dumb*

Currently I am in beginner portion of java so like 9th or 10th tutorial and have learnt simple things like basic calculator.

Thanks.
With Regards
Amey
Crost

Any number in Java that is prefixed with 0x is a hexadecimal number. Hex numbers are using base 16 (unlike everyday numbers that use base 10, a.k.a. the decimal base). Think of it as having 6 new "digits" to create numbers from.
These are:
A - 10 in decimal
B - 11 in decimal
C - 12 in decimal
D - 13 in decimal
E - 14 in decimal
F - 15 in decimal

Now, since we have new digits, we need to "count" differently.
In base 10, you count like this: 1,2,3,4,5,6,7,8,9,10,11,12...
However, in hex, you count like this: 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12...
So 10 in hex is actually 16 in decimal!

That's how base 16 works.

Now, the opcodes themselves:
When you play MapleStory, the client communicates with the server using packets.
Packets are pieces of data that transfer over the internet between the server and your client.
Each packet has an Opcode (Short for operation code). This opcode basically represents what "kind" of packet is this packet.
For instance (I'm just making up numbers now for the sake of example): 0xC5 can be the Opcode of Player movement packets. This means that whenever the server receives this packet, it knows it should treat it as a movement packet, and this way it can handle it correctly.
Another one: Let's say 0x2D is a close-range attack opcode. This means that when the server receives this packet, it will know it should handle this packet as an attack packet, and not something else.

These packets also contain important data: for instance, the movement packet I mentioned will probably contain data such as the new player position (X and Y coords), the kind of movement (walk, jump, teleport etc.), etc., While the damage packet will probably contain data such as the amount of damage dealt, the monster that was hit, the skill that was used (if any) etc. This allows the server to correctly handle the data.

Now, here's the thing: Since we are using the official MapleStory client, we must follow it's "rules". This means that we have to follow the exact packet structures and opcodes that Nexon use, because otherwise the client will not be able to "understand" what we mean. For instance, if I'll try to send the 0x2D packet as an item-pickup packet, the client will not understand it, since it knows that 0x2D means an attack packet, not an item-pickup packet. Thus, it will crash.
And so, this is one of the most important tasks for server programmers: following the correct packet structures from Nexon.
To do this, we use "sniffers" - sniffers are tools that allow you to capture the packets from Nexon's servers (when playing the official versions). This way, you can see the correct packets (and the correct opcodes) and try to analyze how they work so you can copy that to your server. However, those will most likely change whenever MapleStory is updated (new versions), and thus need to be updated again every time.

As for "in moople it is inside the source" - this just means the file containing the packet opcode list is "hard-coded" into the source. Some other sources have the list in a .properties file. This is nothing serious, just other ways of reading that data.
 
Upvote 0
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177
Okay so i got the image correct me if I am wronf

I will have to update the opcodes and those recovps things so that client understand what I am doing. :eek:

So it is nothing but the work of these codes that tells the client what it should do.

I guess I understand it.
 
Upvote 0
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177
Thanks Sonic. I find it easier now.
Well how should I add new classes to it?

As liv3 said.
 
Upvote 0
Banned
Banned
Joined
Feb 9, 2007
Messages
1,313
Reaction score
177
@All

As liv3 introduced some Maplestoryv118.idb files with v118 opcodes in it so how am I supposed to open it. With notepad ++ serious of things which I cant understand
 
Upvote 0
Mythic Archon
Joined
Dec 25, 2011
Messages
723
Reaction score
97
@All

As liv3 introduced some Maplestoryv118.idb files with v118 opcodes in it so how am I supposed to open it. With notepad ++ serious of things which I cant understand

IDA. Look up some tutorials in the tutorial section.
 
Upvote 0
Joined
Jan 11, 2013
Messages
589
Reaction score
82
Someone should really make a thread/tut/library about taking a source apart and reading it step by step. So noobies, like me hehe, can add on their own knowledge/notes and help each other out. I would but i don't have the time but i will contribute of course. I say a good source be moopledev? Then move on to lithium i guess.
 
Upvote 0
Back
Top