Quote:
Sorry for making a long post
|
Do not excuse for this! A more detailed post is always better than the usual: "I have problem [image] plz need help" type of posts you see here.
The short answer is that all the emulators you where able to collect where buggy, incomplete and abandoned. Even if you mix all of them you'll still end up with a broken and incomplete emulator. The stack overflow copy & paste approach won't work here as you'll really need to understand what the code you're dealing with is doing. All the problems you're stating are simply not incomplete features.
Quote:
Male/female can wear each other cloths
Wep/shield at the same time
|
This is simply an artifact of the emulator code not checking or respecting the item's reference data that tells it if it's a Shield or Weapon / Male or Female in the inventory logic.
Quote:
So I was wondering if someone can tell me about a guide that explain the coding part for the emulators or even tell me is it possible the create something like my idea?
|
It's definitely possible but it'll be a lot of work and as I stated before not possible with copy & paste.
There is no simple guide to creating an emulator but I can give you a few hints on what to learn in order to either fix an existing emulator or start from scratch.
1. Learn how to receive and send data through networking via sockets and more specifically in relation to Silkroad Online. That means understanding TCP,
, how to read/write
and potentially parsing unknown packets from scratch so you don't have to rely on other peoples (potentially poorly) parsed packets.
2. Learn how to design a database and queries/stored procedures that you'll eventually need. Also learn how your emulator can efficiently communicate with your database server as these operations usually takes a bit of time. You don't want threads waiting for IO in your emulator.
3. Learn about multi-threading as you'll be dealing potentially with 1000s of players you need to spread the load across your cores.
4. Almost none of the existing emulators actually have a grasp on how the world in Silkroad Online looks like. They just accept movement requests as they are but you should NEVER TRUST YOUR CLIENT. They could've removed all the walls/objects or send a malicious packet and you have to be able to check that.
You'll at least need a way of collision detection by
ray-casting but
path finding would be even better. For monsters you can get a way with something like
Rapidly-exploring random trees if you don't want to go down the road of computing a path-findable NavMesh from Silkroad geometry.
If you've got these things down and working properly you can start thinking on working on features that are beyond login, character creation, spawning and moving.