Help to determine packet in BMS'Leak .Idb

Results 1 to 10 of 10
  1. #1
    Registered Kyber is online now
    MemberRank
    Jan 2017 Join Date
    9Posts

    Help to determine packet in BMS'Leak .Idb


    RaGEZONE Recommends

    RaGEZONE Recommends

    Hi, i'm look into BMS'Leak server files to read and undertand the way nexon handle things in Server side, but there in an packet i cannot undertand in CUSkill::DoActiveSkill_Summon method
    Can anyone help me to determine what packet (header: 25 or 0x19) is in this method? Look like it will send after Summoned created successful. I was tried to compare with send headers of GMS v62, but still couldn't found what it is.
    Imgur: The most awesome images on the Internet
    Last edited by Kyber; 30-08-17 at 05:24 AM.


  2. #2
    Ultimate Member Chikn is offline
    MemberRank
    Jun 2010 Join Date
    152Posts

    Re: Help to determine packet in BMS'Leak .Idb

    Apply change stats packet?

  3. #3
    Registered Kyber is online now
    MemberRank
    Jan 2017 Join Date
    9Posts

    Re: Help to determine packet in BMS'Leak .Idb

    Quote Originally Posted by Chikn View Post
    Apply change stats packet?
    You mean UPDATE_STAT packet? i don't think so, cause the above method: CUser::SendCharacterStat was did it

  4. #4
    Ultimate Member Chikn is offline
    MemberRank
    Jun 2010 Join Date
    152Posts

    Re: Help to determine packet in BMS'Leak .Idb

    Dunno what wrong with my eyes User effect packet then :D

  5. #5
    ・ARC:+200 Yuuroido is online now
    True MemberRank
    Jul 2010 Join Date
    Saitama, JPLocation
    271Posts

    Re: Help to determine packet in BMS'Leak .Idb

    Code:
    COutPacket::COutPacket(&oPacket, 25, 1);
    The last byte '1' tells it's loopback packet. So most likely it's in ~OnPacket.

    CUser::OnPacket
    Code:
    case 0x19:
            CUser::OnUserEffect(this, iPacket);
            break;
    Oh, it was UserEffect packet as Chikn said. (in this case, it's for remote users to show skill effect)

  6. #6
    Registered Kyber is online now
    MemberRank
    Jan 2017 Join Date
    9Posts

    Re: Help to determine packet in BMS'Leak .Idb

    Quote Originally Posted by Yuuroido View Post
    Code:
    COutPacket::COutPacket(&oPacket, 25, 1);
    The last byte '1' tells it's loopback packet. So most likely it's in ~OnPacket.

    CUser::OnPacket
    Code:
    case 0x19:
            CUser::OnUserEffect(this, iPacket);
            break;
    Oh, it was UserEffect packet as Chikn said. (in this case, it's for remote users to show skill effect)
    Thank you guys <3

  7. #7
    Registered Kyber is online now
    MemberRank
    Jan 2017 Join Date
    9Posts

    Re: Help to determine packet in BMS'Leak .Idb

    did anyone know what is this packet?? and did it exists in GMS version (v0.62)? @Chikn @Yuuroido
    PHP Code:
    COutPacket::COutPacket(&thisa241);
    LOBYTE(v12) = 2;
    COutPacket::Encode4(&thisadwFieldID);
    v9._m_pStr 0;
    ZXString<char>::operator=(&v9, &sPortal);
    COutPacket::EncodeStr(&thisav9);
    COutPacket::Encode1(&thisa0);
    COutPacket::Encode1(&thisa0);
    COutPacket::Encode1(&thisa0);
    COutPacket::Encode1(&thisa0);
    CUser::SendPacket(v4, &thisa); 
    It look like an packet to warp player to another map, but can't found this packet in GMS version. If i'm not wrong, GMS only using CStage::OnSetField to warp player, right?

    P/s: nvm, i found it. Thank you guys <3
    Last edited by Kyber; 06-09-17 at 11:27 AM. Reason: Solved

  8. #8
    Moderator Eric is online now
    ModeratorRank
    Jan 2010 Join Date
    DEV CityLocation
    2,958Posts

    Re: Help to determine packet in BMS'Leak .Idb

    i'm loving all these nexon names and references <3

    just curious, are you making a nexon-replica emulator as well @Kyber? or is this just to further better name/fix current packets and functionality of Odin :P

    yes OnSetField is the only way you warp players to entirely different maps (for all versions and regions alike). assuming you know this since you found it, just remember if bLoopback is true, go to CUser::OnPacket and scroll to the bottom. at the bottom is an } else { condition with a second switch, this switch is for all the loopback opcodes. you can convert them to decimal if they aren't already (click on a condition and press H to switch between dec/hex) to easily find any loopback packet relating to the user.

  9. #9
    Registered Kyber is online now
    MemberRank
    Jan 2017 Join Date
    9Posts

    Re: Help to determine packet in BMS'Leak .Idb

    Quote Originally Posted by Eric View Post
    just curious, are you making a nexon-replica emulator as well @Kyber? or is this just to further better name/fix current packets and functionality of Odin :P
    -Yes, i'm making a nexon-replica emulator but in java with java 8, not C++, and ofcouse i also make all the method and variable naming like as nexon too

    Quote Originally Posted by Eric View Post
    yes OnSetField is the only way you warp players to entirely different maps (for all versions and regions alike). assuming you know this since you found it, just remember if bLoopback is true, go to CUser::OnPacket and scroll to the bottom. at the bottom is an } else { condition with a second switch, this switch is for all the loopback opcodes. you can convert them to decimal if they aren't already (click on a condition and press H to switch between dec/hex) to easily find any loopback packet relating to the user
    -on the first time, I thought that packet will send to the client, but i has realized that it is a loopback packet (thanks to @Yuuroido), that send back to server and trace throught CUser::OnPacket after that, i was found the packet 0x24 is: CUser::OnTransferFieldRequest, and in this function will sending a packet called CUser::SendSetFieldPacket to warp player
    Last edited by Kyber; 07-09-17 at 03:31 AM.

  10. #10
    CSG sunnyboy is offline
    The OmegaRank
    Mar 2010 Join Date
    6,188Posts

    Re: Help to determine packet in BMS'Leak .Idb

    Quote Originally Posted by Kyber View Post
    -Yes, i'm making a nexon-replica emulator but in java with java 8, not C++, and ofcouse i also make all the method and variable naming like as nexon too
    :
    Been there, done that and it was pretty fun.




Advertisement