Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

EasyKal - Emulator

Skilled Illusionist
Joined
Oct 31, 2008
Messages
341
Reaction score
294
Well, I just want to write some thing's about this "Project" :


Actually I just did open a Project from me and Hijax ( big thanks to him ) , we just started with this some years ago and it's a old bad version, dont have any others left.

The last Day's I started to rewrite it to a better C++ Standard, at this Moment I dont have planned to Support Linux like Kashato / KS6 and even Aylen did like I read here. Why ? I dont know... never was interested to work completly on Linux, at all it should be no problem to Convert it later to Linux cuz that are just some Functions.


The Emulator use's at this Moment the Old Client Files - I dont like Thief and some of the other stuff Inix did add - there is no big stuff to later add the new Packets and modifiy some old.

How do I use / create Packets ? hmm I like this way it was Hijax idea.

Read a Packet
Code:
std::unique_ptr<CPacketReader> PacketReader(new CPacketReader(Data,Size));

	std::string Username = PacketReader->GetString_();
	std::string Password = PacketReader->GetString_();
Create a Packet
Code:
	std::unique_ptr<CPacketCreator> Packet01(new CPacketCreator);
        Packet01->SetType(0x42);
        Packet01->AddByte(Character.Special);
        Packet01->AddWord(0x00);     // ???
        Packet01->AddWord(1337);     // Contribution
        Packet01->AddByte(Character.Strength);
        Packet01->AddByte(Character.Health);
        Packet01->AddByte(Character.Intelligence);
        Packet01->AddByte(Character.Wisdom);
        Packet01->AddByte(Character.Agility);
        Packet01->AddWord(1000);      // Current HP
        Packet01->AddWord(1001);      // Maximal HP
        Packet01->AddWord(1002);      // Current MP
        Packet01->AddWord(1003);      // Maximal MP
        Packet01->AddWord(1);        // OTP
        Packet01->AddWord(2);        // Evasion
        Packet01->AddWord(3);        // Defense
        Packet01->AddWord(4);        // Absorbtion
        Packet01->AddDword(0);       // EXP
        Packet01->AddWord(0x00);     // ???
        Packet01->AddByte(0x00);     // ???
        Packet01->AddWord(100);      // Minimal physical damage
        Packet01->AddWord(101);      // Maximal physical damage
        Packet01->AddWord(102);      // Minimal magical damage
        Packet01->AddWord(103);      // Maximal magical damage
        Packet01->AddWord(10);       // StatPoints
        Packet01->AddWord(20);       // SkillPoints
        Packet01->AddByte(10);       // Fire resistance
        Packet01->AddByte(11);       // Ice resistance
        Packet01->AddByte(12);       // Light resistance
        Packet01->AddByte(13);       // Curse resistance
        Packet01->AddByte(14);       // Non-Elementary resistance
        Packet01->AddDword(10000);    // Range
        send(m_Socket, Packet01->Get(), Packet01->GetSize(), 0);

Database is for now MySQL - easy and fine I think..


The Current Progress is not far - just some Basic stuff because I find all time some part's to improve.

A Big next Step is the MapSystem I need a good Idea / Concept for it not sure atm.

----


If u have any Questions or want some other Information's just post here.
 
Elite Diviner
Joined
Feb 8, 2012
Messages
439
Reaction score
867
How about inheritance?

Code:
class Packet 
{
        byte header;
        usigend int length;
};

class LoginPacket : public Packet 
{
    ...
    byte stenght;
    byte health;
    ...
  LoginPacket(..., stenght, health, ... )  : Packet(0x42,1337)    
  {             
  }
};

// this is pseudo code ; )

Should save many lines of code and // commentars for the packet attributes wouldnt be needed, because this are the variable names then. It should also prevent coding misstakes, because the Packets are fixed you cannot add a attribut to much for example.
 
Affenzirkus
Loyal Member
Joined
Aug 10, 2006
Messages
269
Reaction score
52
I dont really know if its possible to write a whole new Map Concept for Kal, the emu coders i know use the ksm/opl way because the code is already written and the easiest to go with.

You sad you need a idea for you Mapping, here I go ^^
I would go with a new Tileset way of mapping also giving the chance to use Maya/3DS Max Objects on your Map. Same goes for the Collition Stuff.
And if you do so, you should contact a experienced Maya/3DS Max Plugin Coder like Matynator or Soul666 to give them the chance to directly create a Plugin out of your Source for the mapping/object part. Also translating the old objects into the new format.

Maybe im talking poop, but I ever wished to use Maya for creating Dungeons / Objects and much more :)
 
Junior Spellweaver
Joined
Apr 28, 2009
Messages
146
Reaction score
10
nice, it will be needed lots of hardcore work to progress to a playable level i guess.
too bad kashato died, and with it all work done (i guess?), it was a realy epic project (speaking as beta tester), i hope you will persist on your coding goal, might even send you small donations if needed ;D
 

ToF

Master Summoner
Joined
Jun 12, 2007
Messages
513
Reaction score
170
keep us updated about the progress!
 
Newbie Spellweaver
Joined
Dec 24, 2012
Messages
10
Reaction score
15
you got Moving working? someone know how mainsrv is working with mspeed?


Thanks
 
Last edited:
Skilled Illusionist
Joined
Oct 31, 2008
Messages
341
Reaction score
294
für das Movement könntest du bei DeathArt's Projekt gucken, oder ggf. KalServer 6 bin mir nicht sicher ob es dort schon fertig war.

##########
just found another Project File on a Old HDD, but idk if Kal is it worth to work on ?
 

ToF

Master Summoner
Joined
Jun 12, 2007
Messages
513
Reaction score
170
Here a old version coded by BakaBug - credits to him....



you need MySQL just link the Header / Lib file...

i dont recognize this project, is this the kasahto project?
 
Skilled Illusionist
Joined
Oct 31, 2008
Messages
341
Reaction score
294
i dont recognize this project, is this the kasahto project?

no hehe :p

Kashato was a project from BakaBug & Silentius...



so anybody did open this Project ? All time's people ask for Stuff but we never see any Code from them :?::?::?::?::?:

mhm what ever, just got 2 new Displays 27" :scared::thumbup::thumbup:

Started a new Try with complete other Style.. more c++ more efficient..

Also still thinking about the Design...

 
Back
Top