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!

[Development] MuEmu Working main 1.05D

Initiate Mage
Joined
Feb 12, 2016
Messages
52
Reaction score
7
// Money transfer limit
SetByte((PVOID)(0x006FB0C5), 9);
SetByte((PVOID)(0x006FB2C8), 9);
SetByte((PVOID)(0x006FB556), 9);
SetByte((PVOID)(0x006FB8B9), 9);





SmokeEffect.cpp


SmokeEffect.h


Write in main.cpp
AttachNewEffect();

Good Luck

How i can use this source if i don't have the "ToolKit.h"?
 
Skilled Illusionist
Joined
Mar 27, 2013
Messages
305
Reaction score
9
// Money transfer limit
SetByte((PVOID)(0x006FB0C5), 9);
SetByte((PVOID)(0x006FB2C8), 9);
SetByte((PVOID)(0x006FB556), 9);
SetByte((PVOID)(0x006FB8B9), 9);





SmokeEffect.cpp


SmokeEffect.h


Write in main.cpp
AttachNewEffect();

Good Luck
please source Tron Glow in main 1.05D :)
 
Initiate Mage
Joined
Sep 15, 2012
Messages
2
Reaction score
0
Change price of PcPointsShop

Code:
int PricePcPoint(int a1,int a2)
{
    int ItemId=*(WORD*)a1;
    int ItemLvl = *(WORD*)(a1+2);


    if(ItemId==GET_ITEM(12,30) && ItemLvl == 0)
    {
        return 10; // return 10 = 10 pcpoint price
    }
    else if(ItemId==GET_ITEM(12,30) && ItemLvl == 8)
    {
        return 15;
    }
    else if(ItemId==GET_ITEM(12,30) && ItemLvl == 16)
    {
        return 20;
    }
    else if(ItemId==GET_ITEM(12,31) && ItemLvl == 0)
    {
        return 10;
    }
    else if(ItemId==GET_ITEM(12,31) && ItemLvl == 8)
    {
        return 15;
    }
    else if(ItemId==GET_ITEM(12,31) && ItemLvl == 16)
    {
        return 20;
    }
    else if(ItemId==GET_ITEM(12,15) && ItemLvl == 0)
    {
        return 1;
    }


    else
    {
        return 0;
        //return CALL 005056D2
    }
}

Code:
SetCompleteHook(0xE8,0x05863DA,&PricePcPoint); //Hook Price item pc point shop

How do I fix this work by reading the PCPoint.txt file?
 
Initiate Mage
Joined
Sep 15, 2012
Messages
2
Reaction score
0
No one to help me ???

Make main use prices for PCPoint Shop items through PCPoint.txt
 
Skilled Illusionist
Joined
Aug 5, 2008
Messages
377
Reaction score
33
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.. :eek:tt::eek:tt::eek:tt::eek:tt: I love you Pinkof xD, you are great! :D:

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

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:

yLB7EsM - [Development] MuEmu Working main 1.05D - RaGEZONE Forums


NDkEFHQ - [Development] MuEmu Working main 1.05D - RaGEZONE Forums


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 :D: (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?
 

Attachments

You must be registered for see attachments list
Initiate Mage
Joined
Dec 1, 2010
Messages
65
Reaction score
5
// Money transfer limit
SetByte((PVOID)(0x006FB0C5), 9);
SetByte((PVOID)(0x006FB2C8), 9);
SetByte((PVOID)(0x006FB556), 9);
SetByte((PVOID)(0x006FB8B9), 9);





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:
Initiate Mage
Joined
Apr 15, 2018
Messages
5
Reaction score
2
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.. :eek:tt::eek:tt::eek:tt::eek:tt: I love you Pinkof xD, you are great! :D:

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

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:

yLB7EsM - [Development] MuEmu Working main 1.05D - RaGEZONE Forums


NDkEFHQ - [Development] MuEmu Working main 1.05D - RaGEZONE Forums


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 :D: (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?
GXBQ4Hk - [Development] MuEmu Working main 1.05D - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Initiate Mage
Joined
Jun 8, 2014
Messages
84
Reaction score
1
Hello. And you can share the packing of jewels as you have in the inventory for the client and custom monsters?
 
Back
Top