Its just a edited copy.Take it and stop the flame.
Uhh I don't wanna start a flame war so I'll just say.Quote:
funny guy, cause the packet is the same? look at the sremu c++ source and tell me and you'll see its almost the same. thats because the structure is the same.i already parsed this packet: (thanks for the quest part, eckoro)
Code:public static void GetCharacterDat a(HandshakeApi.TPacket packet) { PacketReader reader = new PacketReader(new IntPtr(packet.data), packet.size); uint model = reader.Read<uint>(); byte volume = reader.Read<byte>(); byte level = reader.Read<byte>(); byte highestlevel = reader.Read<byte>(); ulong exp = reader.Read<ulong>(); ushort xpbar = reader.Read<ushort>(); ushort spbar = reader.Read<ushort>(); ulong gold = reader.Read<ulong>(); uint sp = reader.Read<uint>(); ushort avaiblestatpoints = reader.Read<ushort>(); reader.Read<uint>(); byte berserkguage = reader.Read<byte>(); uint curhp = reader.Read<uint>(); uint curmp = reader.Read<uint>(); byte noobicon = reader.Read<byte>(); byte dailypl = reader.Read<byte>(); ushort totalpk = reader.Read<ushort>(); uint pkpenaltypoint = reader.Read<uint>(); byte rank = reader.Read<byte>(); byte maxslots = reader.Read<byte>(); byte itemcount = reader.Read<byte>(); byte[] slot = new byte[itemcount]; uint[] itemid = new uint[itemcount]; byte[] plus = new byte[itemcount]; ulong[] modifier = new ulong[itemcount]; uint[] durability = new uint[itemcount]; byte[] blueamount = new byte[itemcount]; ushort[] quantitiy = new ushort[itemcount]; uint[] blue = new uint[itemcount]; uint[] blue2 = new uint[itemcount]; byte count; for (byte i = 0; i < itemcount; i++) { slot[i] = reader.Read<byte>(); itemid[i] = reader.Read<uint>(); switch (DatabaseFiles.ItemData.Item[itemid[i]].type) { case 0: plus[i] = reader.Read<byte>(); modifier[i] = reader.Read<ulong>(); durability[i] = reader.Read<uint>(); blueamount[i] = reader.Read<byte>(); count = 1; while (count <= 9) { if (blueamount[i] != 0) { blue[i] = reader.Read<uint>(); blue2[i] = reader.Read<uint>(); } count++; } break; case 1: quantitiy[i] = reader.Read<ushort>(); break; case 2: reader.Read<byte>(); reader.Read<ushort>(); break; } } byte avatarliststart = reader.Read<byte>(); byte avatarcount = reader.Read<byte>(); uint[] avataritemid = new uint[avatarcount]; for (byte i = 0; i < avatarcount; i++) avataritemid[i] = reader.Read<uint>(); byte avatarlistend = reader.Read<byte>(); byte[] nextmastery = new byte[7]; uint[] mastery = new uint[7]; byte[] masterylevel = new byte[7]; for (byte i = 0; i <7 ; i++) { nextmastery[i] = reader.Read<byte>(); mastery[i] = reader.Read<uint>(); masterylevel[i] = reader.Read<byte>(); } byte skillliststart = reader.Read<byte>(); byte skilllist = reader.Read<byte>(); byte[] skillstart = new byte[skilllist]; uint[] skillid = new uint[skilllist]; byte[] skillevel = new byte[skilllist]; for (byte i = 0; i < skilllist; i++) { skillstart[i] = reader.Read<byte>(); skillid[i] = reader.Read<uint>(); skillevel[i] = reader.Read<byte>(); } byte skilllistend = reader.Read<byte>(); byte questliststart = reader.Read<byte>(); byte amountofcompletedquests = reader.Read<byte>(); reader.Read<uint>(); uint[] questidc = new uint[amountofcompletedquests]; for (byte i = 0; i < amountofcompletedquests; i++) { questidc[i] = reader.Read<uint>(); } byte amountofpendingquests = reader.Read<byte>(); uint[] questid = new uint[amountofpendingquests]; byte[] questrepetitionamount = new byte[amountofpendingquests]; byte[] questcompletitionamount = new byte[amountofpendingquests]; byte[] questtype = new byte[amountofpendingquests]; byte[] objectiveorderno = new byte[amountofpendingquests]; byte[] status = new byte[amountofpendingquests]; ushort[] objectivereflength = new ushort[amountofpendingquests]; string[] objectiveref = new string[amountofpendingquests]; uint[] amountofitemsORkillsORnpcid = new uint[amountofpendingquests]; byte[] amountofobjecttives = new byte[amountofpendingquests]; uint[] questnpc = new uint[amountofpendingquests]; byte[] amountquestnpc = new byte[amountofpendingquests]; for (byte i = 0; i < amountofpendingquests; i++) { questid[i] = reader.Read<uint>(); questrepetitionamount[i] = reader.Read<byte>(); questcompletitionamount[i] = reader.Read<byte>(); questtype[i] = reader.Read<byte>(); reader.Read<byte>(); reader.Read<byte>(); objectiveorderno[i] = reader.Read<byte>(); status[i] = reader.Read<byte>(); objectivereflength[i] = reader.Read<ushort>(); byte[] tmp = new byte[objectivereflength[i]]; reader.ReadArray<byte>(tmp, tmp.Length); objectiveref[i] = Encoding.ASCII.GetString(tmp); switch (questtype[i]) { case 0x18: amountofobjecttives[i] = reader.Read<byte>(); for (int l = 0; l < amountofobjecttives[i]; l++) amountofitemsORkillsORnpcid[i] = reader.Read<uint>(); break; case 0x58: amountofobjecttives[i] = reader.Read<byte>(); for (int l = 0; l < amountofobjecttives[i]; l++) amountofitemsORkillsORnpcid[i] = reader.Read<uint>(); amountquestnpc[i] = reader.Read<byte>(); for (int l = 0; l < amountquestnpc[i]; l++) questnpc[i] = reader.Read<uint>(); break; } } byte questistend = reader.Read<byte>(); uint playerid = reader.Read<uint>(); byte xzone = reader.Read<byte>(); byte yzone = reader.Read<byte>(); float x = reader.Read<float>(); float z = reader.Read<float>(); float y = reader.Read<float>(); ushort angle = reader.Read<ushort>(); byte havedestination = reader.Read<byte>(); byte nodestination = reader.Read<byte>(); if (havedestination == 0) { byte nodest = reader.Read<byte>(); ushort angle2 = reader.Read<ushort>(); } else { byte xzone2 = reader.Read<byte>(); byte yzone2 = reader.Read<byte>(); ushort x2 = reader.Read<ushort>(); ushort z2 = reader.Read<ushort>(); ushort y2 = reader.Read<ushort>(); } byte deathflag = reader.Read<byte>(); byte moveementflag = reader.Read<byte>(); byte berserkermode = reader.Read<byte>(); float walkingspeed = reader.Read<float>(); float runningspeed = reader.Read<float>(); float berserkerspeed = reader.Read<float>(); byte noofbuffs = reader.Read<byte>(); uint[] buffskillid = new uint[noofbuffs]; uint[] buffduration = new uint[noofbuffs]; for (byte i = 0; i < noofbuffs; i++) { buffskillid[i] = reader.Read<uint>(); buffduration[i] = reader.Read<uint>(); } ushort playernamelength = reader.Read<ushort>(); byte[] bplayername = new byte[playernamelength]; reader.ReadArray<byte>(bplayername, bplayername.Length); string playername = Encoding.ASCII.GetString(bplayername); ushort aliasnamelength = reader.Read<ushort>(); byte[] baliasname = new byte[aliasnamelength]; reader.ReadArray<byte>(baliasname, baliasname.Length); string aliasname = Encoding.ASCII.GetString(baliasname); byte joblevel = reader.Read<byte>(); byte jobtype = reader.Read<byte>(); uint currentexp = reader.Read<uint>(); uint thiefexp = reader.Read<uint>(); uint hunterexp = reader.Read<uint>(); reader.Read<byte>(); reader.Read<byte>(); reader.Read<byte>(); byte pkflag = reader.Read<byte>(); reader.Read<ushort>(); reader.Read<uint>(); reader.Read<ushort>(); uint accountid = reader.Read<uint>(); byte gmflag = reader.Read<byte>(); }
Maybe because I'd like to keep my projects private and not release my files to noob?Quote:
omg dunno why but i have the impression that Windrius and Exploiter Li are both turks,and they are angry that someone is smarter then Lyzerk coz he is turk too,and they try so hard to prove that no one but him is capable of making a emu,and windrius claims that he is so smart in making emulators....well i didn't saw yet no emulator wat so ever made by him :)
Dmg ist not correct, yet , but its ok.You cant grind yet, cause there is no autospawn of mobs.But you can create mobs with the gm console. And if you get exp its like the normal versions.Its the same degree like isro, so no 11dg. And i got reported, that it work stable when there are 2 people/or more on the server. So just test it and report bugsQuote:
I'd like to know:
- What's about changing emu's rates? EXP/SP/DROP?
- Can we GRIND easily? I mean,exp amount correct to lvl?
- What's about alchemy? 100% succes?
- What's the max capacity of that emu? I mean,how much players can be online at the same time?
- Crashes a lot?
- DMG works properly? I mean,you know,correct amounts of DMG due to weapon stats,str/int etc...
-11 DGR is there?:>
THX for answering.
Thank you very much for the release.Quote:
Dmg ist not correct, yet , but its ok.You cant grind yet, cause there is no autospawn of mobs.But you can create mobs with the gm console. And if you get exp its like the normal versions.Its the same degree like isro, so no 11dg. And i got reported, that it work stable when there are 2 people/or more on the server. So just test it and report bugs
@Exploiter~Li
Did you installed the database dump?Are you using Isro 1.235?
So it's x1,fuck!Quote:
Dmg ist not correct, yet , but its ok.You cant grind yet, cause there is no autospawn of mobs.But you can create mobs with the gm console. And if you get exp its like the normal versions.Its the same degree like isro, so no 11dg. And i got reported, that it work stable when there are 2 people/or more on the server. So just test it and report bugs
@Exploiter~Li
Did you installed the database dump?Are you using Isro 1.235?
Quote:
yes i have the same problem as alex
Same problem here.Quote:
Thank you very much for the release.
I have a question tho.
Dump the .sql file(Database\\emulator.sql) into your database with e.g. Navicat Lite. -> Can you try to explain how to do that?i really have no such knowledge..
Yea I dumped.Quote:
Dmg ist not correct, yet , but its ok.You cant grind yet, cause there is no autospawn of mobs.But you can create mobs with the gm console. And if you get exp its like the normal versions.Its the same degree like isro, so no 11dg. And i got reported, that it work stable when there are 2 people/or more on the server. So just test it and report bugs
@Exploiter~Li
Did you installed the database dump?Are you using Isro 1.235?
:facepalm: [Only registered and activated users can see links. Click Here To Register...]Quote:
Gimme link to 1.235?
Thanks