[Error] Prof EXP

07/01/2022 18:22 Soulfly25#16
Quote:
Originally Posted by thisismyaccountokay View Post
In 5517 I think they made packet 1104 MsgFlushExp obselete and instead you need to send the required maximum level as part of the MsgWeaponSkill (1025) packet at offset 16.

[Only registered and activated users can see links. Click Here To Register...]

Double check if you're doing that or feel free to post the snippet of the packet here if you haven't already.
Thank you for this, but I don't know how to work on packets :)
07/01/2022 18:26 thisismyaccountokay#17
Quote:
Originally Posted by Soulfly25 View Post
Yeah, Thank you for the help. The one we fixed earlier is already in the source at the first place, which is set to Max Experience 1M Exp Pts. I just edit to look like the experience pts from the client but it seems like you said the error is in the Conquer.exe which the weapon exp prof is set to 1,000,000 to all prof level.
Quote:
Originally Posted by Soulfly25 View Post
Thank you for this, but I don't know how to work on packets :)
If it is one of the public sources then post the snippet or the source and Ill go check out what needs to be changed to work on your version for this particular problem.
07/01/2022 19:16 Soulfly25#18
Quote:
Originally Posted by thisismyaccountokay View Post
If it is one of the public sources then post the snippet or the source and Ill go check out what needs to be changed to work on your version for this particular problem.
Do you mean this?

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace COServer.Game.MsgServer
{
    public unsafe static partial class MsgBuilder
    {
        public static unsafe void GetProficiency(this ServerSockets.Packet stream, out MsgProficiency prof)
        {
            prof = new MsgProficiency();
            prof.ID = stream.ReadUInt32();
            prof.Level = stream.ReadUInt32();
            prof.Experience = stream.ReadUInt32();
            prof.UID = stream.ReadUInt32();
        }
        public static unsafe ServerSockets.Packet ProficiencyCreate(this ServerSockets.Packet stream, uint ID,uint Level, uint Experience, uint UID)
        {
            stream.InitWriter();
            stream.Write(ID);
            stream.Write(Level);
            stream.Write(Experience);
            stream.Write(UID);
            stream.Finalize(GamePackets.Proficiency);
            return stream;
        }
    }
    public class MsgProficiency
    {
        public uint ID;
        public uint Level;
        public uint Experience;
        public uint UID;
        public byte PreviouseLevel;
    }
}
Code:
        public static unsafe ServerSockets.Packet UpdateProfExperienceCreate(this ServerSockets.Packet stream, uint Experience, uint UID, uint ID)
        {
            stream.InitWriter();

            stream.Write(Experience);
            stream.Write(UID);
            stream.Write(ID);
            stream.ZeroFill(8);//unknow
            stream.Finalize(GamePackets.UpgradeSpellExperience);
            return stream;
        }