[Development] MuEmu Working main 1.05D

Page 4 of 4 FirstFirst 1234
Results 46 to 53 of 53
  1. #46
    c# Programmer martinx09 is offline
    MemberRank
    Aug 2008 Join Date
    391Posts

    re: [Development] MuEmu Working main 1.05D

    Quote Originally Posted by Kiosani View Post
    Incredible.. I make something like this too, but for 1.03K JPN main.exe and.. sincerely I make so many times this function, because don't work properly.. and you make this on only some minutes.. I love you Pinkof xD, you are great!

    PS: Maybe you can make COMPLETE Custom Pets Work, like me ?

    Here related to Pets work my decompilation (Old) from 1.03K Add pets Effects

    Code:
    typedef int(*Objsub_85151D)();
    extern Objsub_85151D gObjsub_85151D;
    
    typedef char(__cdecl *Objsub_5AB975)(float Arg1, float Arg2, float Arg3);
    extern Objsub_5AB975 gObjsub_5AB975;
    
    typedef bool(__thiscall *Objsub_604FCD)(LPVOID This, char Arg2);
    extern Objsub_604FCD gObjsub_604FCD;
    
    typedef void(__cdecl *Objsub_5B81A9)(int Arg1, char Arg2, int Arg3, int Arg4);
    extern Objsub_5B81A9 gObjsub_5B81A9;
    
    typedef int(__cdecl *CreateSpriteEx)(int Arg1, int Arg2, int Arg3, int Arg4, int Arg5, int Arg6, int Arg7);
    extern CreateSpriteEx pCreateSpriteEx;
    
    typedef int(__cdecl *CreateParticleEx)(int Arg1, int Arg2, int Arg3, int Arg4, int Arg5, float Arg6, int Arg7);
    extern CreateParticleEx pCreateParticleEx;
    Code:
    CreateSpriteEx pCreateSpriteEx = (CreateSpriteEx)0x006BABF2;
    CreateParticleEx pCreateParticleEx = (CreateParticleEx)0x0069BCD9;
    
    Objsub_5AB975 gObjsub_5AB975 = (Objsub_5AB975)0x005AB975;
    Objsub_604FCD gObjsub_604FCD = (Objsub_604FCD)0x00604FCD;
    Objsub_5B81A9 gObjsub_5B81A9 = (Objsub_5B81A9)0x005B81A9;
    Objsub_85151D gObjsub_85151D = (Objsub_85151D)0x0085151D;
    
    char CreatePetEffect(int Arg1, char Arg2)
    {
        float v2; // ST14_4@3
        float v3; // ST10_4@3
        char v5; // [sp+17h] [bp-15h]@3
        int v6; // [sp+18h] [bp-14h]@18
        float v7; // [sp+1Ch] [bp-10h]@21
        float v8; // [sp+20h] [bp-Ch]@21
        float v9; // [sp+24h] [bp-8h]@21
        float v10; // [sp+28h] [bp-4h]@20
    
        vec3_t Color;
        Vector(0.f, 0.f, 0.f, Color);
    
        vec3_t Color2;
        Vector(0.f, 0.f, 0.f, Color2);
    
        vec3_t Color3;
        Vector(0.f, 0.f, 0.f, Color3);
    
        vec3_t Color4;
        Vector(0.f, 0.f, 0.f, Color4);
    
        vec3_t Color5;
        Vector(0.f, 0.f, 0.f, Color5);
    
        if (*(BYTE*)(Arg1 + 4))
        {
            if (Arg2)
            {
                v5 = 1;
            }
            else
            {
                v2 = *(float *)(Arg1 + 256) * 0.0099999998;
                v3 = *(float *)(Arg1 + 252) * 0.0099999998;
                v5 = gObjsub_5AB975(v3, v2, -20.0);
            }
            *(BYTE*)(Arg1 + 12) = v5;
            if (*(BYTE*)(Arg1 + 12))
            {
                if (*(DWORD*)(*(DWORD*)(Arg1 + 472) + 48) != 826 && *(DWORD*)(Arg1 + 48) != 7490 && *(DWORD*)(Arg1 + 48) != ObjectId(13,106) && *(DWORD*)(Arg1 + 48) != ObjectId(13,123))
                    return 1;
                if (Arg2)
                {
                    *(DWORD*)(Arg1 + 96) = *(DWORD*)(Arg1 + 96);
                }
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 97))
                {
                    *(DWORD*)(Arg1 + 96) = 1065353216;
                }
                else if (pPlayerState == 4)
                {
                    *(DWORD*)(Arg1 + 96) = 1065353216;
                }
                else if (*(DWORD*)(Arg1 + 48) != eMauntType::BlackFenrir 
                    && *(DWORD*)(Arg1 + 48) != eMauntType::BlueFenrir 
                    && *(DWORD*)(Arg1 + 48) != eMauntType::RedFenrir 
                    && *(DWORD*)(Arg1 + 48) != eMauntType::GoldenFenrir 
                    && *(DWORD*)(Arg1 + 48) != eSpecialMauntType::DarkWolf 
                    && *(DWORD*)(Arg1 + 48) != eSpecialMauntType::FangSable
                    && *(DWORD*)(Arg1 + 48) != eSpecialMauntType::MisticTiger 
                    && *(DWORD*)(Arg1 + 48) != eMauntType::OrangeFenrir 
                    && *(DWORD*)(Arg1 + 48) != ePetSystemType::Skeleton 
                    && *(DWORD*)(Arg1 + 48) != ePetSystemType::Unicorn)
                {
                    *(DWORD*)(Arg1 + 96) = 1065353216;
                }
                v6 = 0;
                if (gObjsub_604FCD((void*)(*(DWORD*)(Arg1 + 472) + 484), 18))
                    v6 = 10;
                gObjsub_5B81A9(Arg1, 0, 0, v6);
                v10 = (double)(gObjsub_85151D() % 30 + 70) * 0.0099999998;
                // ----
                if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 0))
                {
                    v7 = v10 * 0.5;
                    v8 = v10 * 0.80000001;
                    v9 = v10 * 0.60000002;
                    Vector(0.94, 0.812f, 0.5358f, Color);
                    pCreateSpriteEx(32002, Arg1 + 252, 1065353216, (int)&Color, Arg1, 0, 0);
                }
                // ----
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 106))
                {
                    Vector(0.5358f, 0.812f, 0.94f, Color);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color, 11, 0.5f, Arg1);
                    Vector(0.94f, 0.834f, 0.553f, Color2);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color2, 11, 0.4f, Arg1);
                    Vector(0.553f, 0.94f, 0.84f, Color3);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color3, 11, 0.3f, Arg1);
                    Vector(0.235f, 0.125f, 0.85f, Color4);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color4, 11, 0.2f, Arg1);
                    Vector(0.85689f, 0.23541f, 0.9635f, Color5);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color5, 11, 0.1f, Arg1);
                }
                // ----
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 123))
                {
                    Vector(0.f, 1.f, 0.0167f, Color);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)Color, 3, 0.5f, Arg1);
                    Vector(0.f, 1.f, 0.0178f, Color2);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)Color2, 3, 0.6f, Arg1);
                    Vector(0.f, 1.f, 0.0187f, Color3);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)Color3, 3, 0.7f, Arg1);
                }
                // ----
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 110))
                {
                    Vector(0.4095f, 0.7598f, 0.91f, Color);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)&Color, 3, 0.5f, Arg1);
                    Vector(0.4025f, 0.8598f, 0.98f, Color2);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)&Color2, 11, 0.5f, Arg1);
                }
                // ----
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 109))
                {
                    Vector(0.4095f, 0.7598f, 0.91f, Color);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)&Color, 3, 0.5f, Arg1);
                    Vector(1.f, 1.f, 0.98f, Color2);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)&Color2, 11, 0.5f, Arg1);
                }
            }
        }
        return 1;
    }
    Results ? Yes, something like this:





    PS 2: Sorry hook place is here:

    Code:
    SetHook((LPVOID)CreatePetEffect, (LPVOID)0x0046C305, ASM::CALL);
    SetHook((LPVOID)CreatePetEffect, (LPVOID)0x004AE2EC, ASM::CALL);
    PS 3: On Arg1 in really exists 1 struct... and Arg1 is in really a Pointer to this fuckin* struct -.-! but I don't like make structs on decompilation process anyways (maybe is the same struct from pinkof) xD.

    PS 4: for vec3_t definitions see this thread: http://forum.ragezone.com/f508/glow-source-1-03k-1086720/


    This works only for pets, or can you add particles to other items as well?

  2. #47
    Member jhonhy is offline
    MemberRank
    Dec 2010 Join Date
    65Posts

    re: [Development] MuEmu Working main 1.05D

    Quote Originally Posted by S1lvik View Post
    // Money transfer limit
    SetByte((PVOID)(0x006FB0C5), 9);
    SetByte((PVOID)(0x006FB2C8), 9);
    SetByte((PVOID)(0x006FB556), 9);
    SetByte((PVOID)(0x006FB8B9), 9);

    - - - Updated - - -



    SmokeEffect.cpp


    SmokeEffect.h


    Write in main.cpp
    AttachNewEffect();

    Good Luck



    how to configure the effect in a .txt so you can add any item
    Last edited by jhonhy; 13-09-17 at 07:44 PM.

  3. #48
    Member jhonhy is offline
    MemberRank
    Dec 2010 Join Date
    65Posts

    re: [Development] MuEmu Working main 1.05D

    @S1lvik, what is the #define ITEM_INTER of main 1.05d of smokeeffect 333?

  4. #49
    Proficient Member Luis_br is offline
    MemberRank
    Apr 2005 Join Date
    157Posts

    re: [Development] MuEmu Working main 1.05D

    add pets new pets but when i move pet name change in the hpbar =/


  5. #50
    Proficient Member 007jodex is offline
    MemberRank
    Sep 2008 Join Date
    158Posts

    re: [Development] MuEmu Working main 1.05D

    Quote Originally Posted by Luis_br View Post
    add pets new pets but when i move pet name change in the hpbar =/

    Need add new pets ID, set Name and print to pet name on Hpbar Draw.

  6. #51
    Member youxiwang is offline
    MemberRank
    Jun 2006 Join Date
    111111111111Location
    61Posts

    re: [Development] MuEmu Working main 1.05D

    how to fix news pet movie??

    - - - Updated - - -

    how to fix news pet movie??

  7. #52
    Apprentice MuEx301 is offline
    MemberRank
    Apr 2018 Join Date
    5Posts

    re: [Development] MuEmu Working main 1.05D

    Quote Originally Posted by Kiosani View Post
    Incredible.. I make something like this too, but for 1.03K JPN main.exe and.. sincerely I make so many times this function, because don't work properly.. and you make this on only some minutes.. I love you Pinkof xD, you are great!

    PS: Maybe you can make COMPLETE Custom Pets Work, like me ?

    Here related to Pets work my decompilation (Old) from 1.03K Add pets Effects

    Code:
    typedef int(*Objsub_85151D)();
    extern Objsub_85151D gObjsub_85151D;
    
    typedef char(__cdecl *Objsub_5AB975)(float Arg1, float Arg2, float Arg3);
    extern Objsub_5AB975 gObjsub_5AB975;
    
    typedef bool(__thiscall *Objsub_604FCD)(LPVOID This, char Arg2);
    extern Objsub_604FCD gObjsub_604FCD;
    
    typedef void(__cdecl *Objsub_5B81A9)(int Arg1, char Arg2, int Arg3, int Arg4);
    extern Objsub_5B81A9 gObjsub_5B81A9;
    
    typedef int(__cdecl *CreateSpriteEx)(int Arg1, int Arg2, int Arg3, int Arg4, int Arg5, int Arg6, int Arg7);
    extern CreateSpriteEx pCreateSpriteEx;
    
    typedef int(__cdecl *CreateParticleEx)(int Arg1, int Arg2, int Arg3, int Arg4, int Arg5, float Arg6, int Arg7);
    extern CreateParticleEx pCreateParticleEx;
    Code:
    CreateSpriteEx pCreateSpriteEx = (CreateSpriteEx)0x006BABF2;
    CreateParticleEx pCreateParticleEx = (CreateParticleEx)0x0069BCD9;
    
    Objsub_5AB975 gObjsub_5AB975 = (Objsub_5AB975)0x005AB975;
    Objsub_604FCD gObjsub_604FCD = (Objsub_604FCD)0x00604FCD;
    Objsub_5B81A9 gObjsub_5B81A9 = (Objsub_5B81A9)0x005B81A9;
    Objsub_85151D gObjsub_85151D = (Objsub_85151D)0x0085151D;
    
    char CreatePetEffect(int Arg1, char Arg2)
    {
        float v2; // ST14_4@3
        float v3; // ST10_4@3
        char v5; // [sp+17h] [bp-15h]@3
        int v6; // [sp+18h] [bp-14h]@18
        float v7; // [sp+1Ch] [bp-10h]@21
        float v8; // [sp+20h] [bp-Ch]@21
        float v9; // [sp+24h] [bp-8h]@21
        float v10; // [sp+28h] [bp-4h]@20
    
        vec3_t Color;
        Vector(0.f, 0.f, 0.f, Color);
    
        vec3_t Color2;
        Vector(0.f, 0.f, 0.f, Color2);
    
        vec3_t Color3;
        Vector(0.f, 0.f, 0.f, Color3);
    
        vec3_t Color4;
        Vector(0.f, 0.f, 0.f, Color4);
    
        vec3_t Color5;
        Vector(0.f, 0.f, 0.f, Color5);
    
        if (*(BYTE*)(Arg1 + 4))
        {
            if (Arg2)
            {
                v5 = 1;
            }
            else
            {
                v2 = *(float *)(Arg1 + 256) * 0.0099999998;
                v3 = *(float *)(Arg1 + 252) * 0.0099999998;
                v5 = gObjsub_5AB975(v3, v2, -20.0);
            }
            *(BYTE*)(Arg1 + 12) = v5;
            if (*(BYTE*)(Arg1 + 12))
            {
                if (*(DWORD*)(*(DWORD*)(Arg1 + 472) + 48) != 826 && *(DWORD*)(Arg1 + 48) != 7490 && *(DWORD*)(Arg1 + 48) != ObjectId(13,106) && *(DWORD*)(Arg1 + 48) != ObjectId(13,123))
                    return 1;
                if (Arg2)
                {
                    *(DWORD*)(Arg1 + 96) = *(DWORD*)(Arg1 + 96);
                }
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 97))
                {
                    *(DWORD*)(Arg1 + 96) = 1065353216;
                }
                else if (pPlayerState == 4)
                {
                    *(DWORD*)(Arg1 + 96) = 1065353216;
                }
                else if (*(DWORD*)(Arg1 + 48) != eMauntType::BlackFenrir 
                    && *(DWORD*)(Arg1 + 48) != eMauntType::BlueFenrir 
                    && *(DWORD*)(Arg1 + 48) != eMauntType::RedFenrir 
                    && *(DWORD*)(Arg1 + 48) != eMauntType::GoldenFenrir 
                    && *(DWORD*)(Arg1 + 48) != eSpecialMauntType::DarkWolf 
                    && *(DWORD*)(Arg1 + 48) != eSpecialMauntType::FangSable
                    && *(DWORD*)(Arg1 + 48) != eSpecialMauntType::MisticTiger 
                    && *(DWORD*)(Arg1 + 48) != eMauntType::OrangeFenrir 
                    && *(DWORD*)(Arg1 + 48) != ePetSystemType::Skeleton 
                    && *(DWORD*)(Arg1 + 48) != ePetSystemType::Unicorn)
                {
                    *(DWORD*)(Arg1 + 96) = 1065353216;
                }
                v6 = 0;
                if (gObjsub_604FCD((void*)(*(DWORD*)(Arg1 + 472) + 484), 18))
                    v6 = 10;
                gObjsub_5B81A9(Arg1, 0, 0, v6);
                v10 = (double)(gObjsub_85151D() % 30 + 70) * 0.0099999998;
                // ----
                if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 0))
                {
                    v7 = v10 * 0.5;
                    v8 = v10 * 0.80000001;
                    v9 = v10 * 0.60000002;
                    Vector(0.94, 0.812f, 0.5358f, Color);
                    pCreateSpriteEx(32002, Arg1 + 252, 1065353216, (int)&Color, Arg1, 0, 0);
                }
                // ----
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 106))
                {
                    Vector(0.5358f, 0.812f, 0.94f, Color);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color, 11, 0.5f, Arg1);
                    Vector(0.94f, 0.834f, 0.553f, Color2);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color2, 11, 0.4f, Arg1);
                    Vector(0.553f, 0.94f, 0.84f, Color3);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color3, 11, 0.3f, Arg1);
                    Vector(0.235f, 0.125f, 0.85f, Color4);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color4, 11, 0.2f, Arg1);
                    Vector(0.85689f, 0.23541f, 0.9635f, Color5);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)Color5, 11, 0.1f, Arg1);
                }
                // ----
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 123))
                {
                    Vector(0.f, 1.f, 0.0167f, Color);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)Color, 3, 0.5f, Arg1);
                    Vector(0.f, 1.f, 0.0178f, Color2);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)Color2, 3, 0.6f, Arg1);
                    Vector(0.f, 1.f, 0.0187f, Color3);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)Color3, 3, 0.7f, Arg1);
                }
                // ----
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 110))
                {
                    Vector(0.4095f, 0.7598f, 0.91f, Color);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)&Color, 3, 0.5f, Arg1);
                    Vector(0.4025f, 0.8598f, 0.98f, Color2);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)&Color2, 11, 0.5f, Arg1);
                }
                // ----
                else if (*(DWORD*)(Arg1 + 48) == ObjectId(13, 109))
                {
                    Vector(0.4095f, 0.7598f, 0.91f, Color);
                    pCreateParticleEx(32269, Arg1 + 252, Arg1 + 264, (int)&Color, 3, 0.5f, Arg1);
                    Vector(1.f, 1.f, 0.98f, Color2);
                    pCreateParticleEx(32033, Arg1 + 252, Arg1 + 264, (int)&Color2, 11, 0.5f, Arg1);
                }
            }
        }
        return 1;
    }
    Results ? Yes, something like this:





    PS 2: Sorry hook place is here:

    Code:
    SetHook((LPVOID)CreatePetEffect, (LPVOID)0x0046C305, ASM::CALL);
    SetHook((LPVOID)CreatePetEffect, (LPVOID)0x004AE2EC, ASM::CALL);
    PS 3: On Arg1 in really exists 1 struct... and Arg1 is in really a Pointer to this fuckin* struct -.-! but I don't like make structs on decompilation process anyways (maybe is the same struct from pinkof) xD.

    PS 4: for vec3_t definitions see this thread: http://forum.ragezone.com/f508/glow-source-1-03k-1086720/


    Adapted 1.04j Do you know how I can fix bug map?
    Last edited by MuEx301; 22-04-18 at 02:35 PM.

  8. #53
    Member Gendrixon is offline
    MemberRank
    Jun 2014 Join Date
    84Posts

    re: [Development] MuEmu Working main 1.05D

    Hello. And you can share the packing of jewels as you have in the inventory for the client and custom monsters?



Page 4 of 4 FirstFirst 1234

Advertisement