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] Item Smoke Effect

Initiate Mage
Joined
Aug 7, 2012
Messages
3
Reaction score
0
para que vercion es se puede aplicar en verciones antiguas? season 2 97d?
 
Joined
Oct 29, 2007
Messages
1,290
Reaction score
1,310
yes... my offsets are the same... good!

look this:

Code:
#define HDK_SET_ITEM_EFFECT 0x0057AD82//1.04d GMO
#define HDK_SET_COLOR_EFFECT 0x0057ADC8//1.04d GMO
#define HDK_ITEM_EFFECT_ALLOW 0x0057AD8D//1.04d GMO
#define HDK_ITEM_EFFECT_NOT_ALLOW 0x0057B73B//1.04d GMO
#define HDK_NEXT_ITEM_COLOR 0x0057ADFD//1.04d GMO

PS: But... Please do not forget that you also need to change the structure of assembly language code... Originally written by: Brain, because internally the composition of the assembly code of 2 main.exe different versions such as the main theme and the: 1.04d GMO, are different, look.. this is what I did for now, although I have not tested.

Code:
Original Struct:

        // Dragon Knight Boots
    case ITEM_GET(11, 29):
        __asm
        {
            /*
            Mov Ecx, DWord Ptr Ss:[Ebp + 0xC]
            Mov DWord Ptr Ds:[Ecx + 0x9C], 0x3F266666
            Mov Edx, DWord Ptr Ss:[Ebp + 0xC]
            Mov DWord Ptr Ds:[Ecx + 0xA0], 0x3E99999A
            Mov Eax, DWord Ptr Ss:[Ebp + 0xC]
            Mov DWord Ptr Ds:[Ecx + 0xA4], 0x3DCCCCCD
            */

Code:
            //Re-writed of: 1.04d GMO Main.exe
            MOV EAX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[0x0D281AC]
            FSTP DWORD PTR DS:[EAX+0x9C]
            MOV ECX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[0x0D23784]
            FSTP DWORD PTR DS:[ECX+0x0A0]
            MOV EDX,DWORD PTR SS:[EBP+0x0C]
            FLD DWORD PTR DS:[0x00D27CA4]
            FSTP DWORD PTR DS:[EDX+0x0A4]

Actually, it is easy to see at a glance, when one uses the correct comparison method, and has some knowledge of: ASM. (albeit minimal) xD
 
Last edited:
Experienced Elementalist
Joined
Oct 31, 2006
Messages
282
Reaction score
82
Mauro07,

i need offsets for 1.04D, i find AUX1
//1.03Z= GMO
float *Camera_ClipAUX1 = (float*) 0x0096D33C; //FLOAT: 580.0000
float *Camera_ClipAUX2 = (float*) 0x0096D338; //FLOAT: 1250.000
float *Camera_ClipAUX3 = (float*) 0x0096D31C; //FLOAT: 660.0000

>>>>

//1.04D GMO


float *Camera_ClipAUX1 = (float*) 0x00D4AE20; //FLOAT: 580.0000 Correct?
float *Camera_ClipAUX2 = (float*) 0x00XXXXXX; //FLOAT: 1250.000 <<<< not found << how find this ?
float *Camera_ClipAUX3 = (float*) 0x00XXXXXX; //FLOAT: 660.0000 <<<< not found << how find this ?
 
Apprentice
Joined
Dec 14, 2007
Messages
839
Reaction score
430
favgames,
here it is 1.04D AUX camera offsets:
float *Camera_ClipAUX1 = (float*) 0x00D2C898; //FLOAT: 580.0000
float *Camera_ClipAUX2 = (float*) 0x00D2C888; //FLOAT: 1250.000
float *Camera_ClipAUX3 = (float*) 0x00D2C830; //FLOAT: 660.0000

anyway, if you want to combine with effect, you should rewrite all functions because new effect crush main.
 
Joined
Oct 29, 2007
Messages
1,290
Reaction score
1,310
New effect no crash main.. It's because some ASM parts of code are different in: 1.04d GMO... but.. not is imposible re-write the code for works in: 1.04d too.

you can compare, it looking this:

Debug of 1.04d (Eng) main.exe:

Code:
CPU DisasmAddress   Hex dump          Command                                  Comments
0057ADD0  |.  8B45 0C       MOV EAX,DWORD PTR SS:[EBP+0C]
0057ADD3  |.  D905 AC81D200 FLD DWORD PTR DS:[0D281AC]               ; FLOAT 0.6500000
0057ADD9  |.  D998 9C000000 FSTP DWORD PTR DS:[EAX+9C]
0057ADDF  |.  8B4D 0C       MOV ECX,DWORD PTR SS:[EBP+0C]
0057ADE2  |.  D905 8437D200 FLD DWORD PTR DS:[0D23784]               ; FLOAT 0.3000000
0057ADE8  |.  D999 A0000000 FSTP DWORD PTR DS:[ECX+0A0]
0057ADEE  |.  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+0C]
0057ADF1  |.  D905 A47CD200 FLD DWORD PTR DS:[0D27CA4]               ; FLOAT 0.1000000
0057ADF7  |.  D99A A4000000 FSTP DWORD PTR DS:[EDX+0A4]
0057ADFD  |>  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]

Debug of 1.03B+ (Eng) main.exe:

Code:
[/COLOR]CPU DisasmAddress   Hex dump          Command                                  Comments
0052B129  |.  8B4D 0C       MOV ECX,DWORD PTR SS:[EBP+0C]
0052B12C  |.  C781 9C000000 MOV DWORD PTR DS:[ECX+9C],3F266666
0052B136  |.  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+0C]
0052B139  |.  C782 A0000000 MOV DWORD PTR DS:[EDX+0A0],3E99999A
0052B143  |.  8B45 0C       MOV EAX,DWORD PTR SS:[EBP+0C]
0052B146  |.  C780 A4000000 MOV DWORD PTR DS:[EAX+0A4],3DCCCCCD
0052B150  |>  8B4D 08       MOV ECX,DWORD PTR SS:[EBP+8]
[COLOR=#000000]

the struct showed with ollydbg.. in the same section of: 2 exe is different, in the case of: 1.03B+ is:
3F266666 like value moved to register: ECX, and in the case of: 1.04d not. --> FLD DWORD PTR DS:[0D23784], maybe this offset: 0D23784, have the value, but my re-writed code too made crash in my main.. ^^

 
Apprentice
Joined
Dec 14, 2007
Messages
839
Reaction score
430
i mean you should rewrite some functions in order to use this effect with 3d camera, custom jewels, fog, sky, limit items... if you simple use effect without 3d camera, custom jewels, fog, sky, limit items - effect work perfect (1.04d and 1.05e tested)
 
Junior Spellweaver
Joined
Aug 5, 2008
Messages
149
Reaction score
38
Well the effect works in any main (1.04D) works ok and not has problem with effect or others:

Brain - [Development] Item Smoke Effect - RaGEZONE Forums


i don't know for what u need "camera clip aux" :S effect works just with items no more.
 
Last edited:
Newbie Spellweaver
Joined
Jan 13, 2010
Messages
98
Reaction score
118
Upload Main 1.04D I'll Look.
 
Newbie Spellweaver
Joined
Jan 13, 2010
Messages
98
Reaction score
118
Here is it. 1.04D

// SetItemEffect
Code:
0057AD54   > \8B4D 08       MOV ECX,DWORD PTR SS:[EBP+8]
0057AD57   .  0FBF91 9C0100>MOVSX EDX,WORD PTR DS:[ECX+19C]
0057AD5E   .  81FA B01A0000 CMP EDX,1AB0
0057AD64   .  7C 12         JL SHORT main.0057AD78
0057AD66   .  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
0057AD69   .  0FBF88 9C0100>MOVSX ECX,WORD PTR DS:[EAX+19C]
0057AD70   .  81F9 B41A0000 CMP ECX,1AB4
0057AD76   .  7E 15         JLE SHORT main.0057AD8D

//SetColorEffect
Code:
0057AD82   .  3D BE1A0000   CMP EAX,1ABE
0057AD87   .  0F85 AE090000 JNZ main.0057B73B
0057AD8D   >  833D 5804BD07>CMP DWORD PTR DS:[7BD0458],9
0057AD94   .  0F8E A1090000 JLE main.0057B73B
0057AD9A   .  8B4D 0C       MOV ECX,DWORD PTR SS:[EBP+C]
0057AD9D   .  D981 9C000000 FLD DWORD PTR DS:[ECX+9C]
0057ADA3   .  D95D E8       FSTP DWORD PTR SS:[EBP-18]
0057ADA6   .  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+C]
0057ADA9   .  D982 A0000000 FLD DWORD PTR DS:[EDX+A0]
0057ADAF   .  D95D EC       FSTP DWORD PTR SS:[EBP-14]
0057ADB2   .  8B45 0C       MOV EAX,DWORD PTR SS:[EBP+C]
0057ADB5   .  D980 A4000000 FLD DWORD PTR DS:[EAX+A4]
0057ADBB   .  D95D F0       FSTP DWORD PTR SS:[EBP-10]
0057ADBE   .  8B4D 08       MOV ECX,DWORD PTR SS:[EBP+8]
0057ADC1   .  0FBF91 9C0100>MOVSX EDX,WORD PTR DS:[ECX+19C]
0057ADC8   .  81FA B01A0000 CMP EDX,1AB0
0057ADCE   .  75 2D         JNZ SHORT main.0057ADFD
0057ADD0   .  8B45 0C       MOV EAX,DWORD PTR SS:[EBP+C]
0057ADD3   .  D905 AC81D200 FLD DWORD PTR DS:[D281AC]
0057ADD9   .  D998 9C000000 FSTP DWORD PTR DS:[EAX+9C]
0057ADDF   .  8B4D 0C       MOV ECX,DWORD PTR SS:[EBP+C]
0057ADE2   .  D905 8437D200 FLD DWORD PTR DS:[D23784]
0057ADE8   .  D999 A0000000 FSTP DWORD PTR DS:[ECX+A0]
0057ADEE   .  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+C]
0057ADF1   .  D905 A47CD200 FLD DWORD PTR DS:[D27CA4]
0057ADF7   .  D99A A4000000 FSTP DWORD PTR DS:[EDX+A4]
0057ADFD   >  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
0057AE00   .  0FBF88 9C0100>MOVSX ECX,WORD PTR DS:[EAX+19C]
0057AE07   .  81F9 B11A0000 CMP ECX,1AB1
0057AE0D   .  75 2D         JNZ SHORT main.0057AE3C
 
Joined
Oct 29, 2007
Messages
1,290
Reaction score
1,310
but.. my main.exe crash.. hmm.. I use my: Dynamic Loader System for load to main.exe this and others DLL's... maybe is for this.

Look this is my complete .cpp file:

Code:
#include "Stdafx.h"
#include "Items.h"
#include "ToolKit.h"


DWORD pItemType = 0;


__declspec(naked) void SetItemEffect()
{
    __asm
    {
        Mov pItemType, Ecx
    }


    switch (pItemType)
    {
        // Aura Boots, Dragon Boots
    case ITEM_GET(11, 43): case ITEM_GET(11, 1):
        {
         __asm
         {
            Mov Esi, HDK_ITEM_EFFECT_ALLOW
             JMP Esi
         }
        }
        break;
    }


    __asm
    {
        Mov Esi, HDK_ITEM_EFFECT_NOT_ALLOW 
        JMP Esi
    }
}


__declspec(naked) void SetColorEffect()
{
    __asm
    {
        Mov pItemType, Ecx
    }


    switch (pItemType)
    {
        // Dragon Knight Boots
    case ITEM_GET(11, 29):
        __asm
        {
            /*
            CMP EAX,0x1ABE
            JNZ 0x0057B73B
            CMP DWORD PTR DS:[7BD0458],0x9
            JLE 0x0057B73B
            */
            MOV ECX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[ECX+0x9C]
            FSTP DWORD PTR SS:[EBP-18]
            MOV EDX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[EDX+0xA0]
            FSTP DWORD PTR SS:[EBP-14]
            MOV EAX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[EAX+0xA4]
            FSTP DWORD PTR SS:[EBP-10]
            MOV ECX,DWORD PTR SS:[EBP+0x8]
            MOVSX EDX,WORD PTR DS:[ECX+0x19C]
            CMP EDX,0x1AB0
            JNZ 0x0057ADFD
            MOV EAX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[0xD281AC]
            FSTP DWORD PTR DS:[EAX+0x9C]
            MOV ECX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[0xD23784]
            FSTP DWORD PTR DS:[ECX+0xA0]
            MOV EDX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[0xD27CA4]
            FSTP DWORD PTR DS:[EDX+0xA4]
            MOV EAX,DWORD PTR SS:[EBP+0x8]
            MOVSX ECX,WORD PTR DS:[EAX+0x19C]
            CMP ECX,0x1AB1
            JNZ 0x0057AE3C
        }
        break;


        // Dragon Boots
    case ITEM_GET(11, 1):
        __asm
        {
            /*
            CMP EAX,0x1ABE
            JNZ 0x0057B73B
            CMP DWORD PTR DS:[7BD0458],0x9
            JLE 0x0057B73B
            */
            MOV ECX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[ECX+0x9C]
            FSTP DWORD PTR SS:[EBP-18]
            MOV EDX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[EDX+0xA0]
            FSTP DWORD PTR SS:[EBP-14]
            MOV EAX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[EAX+0xA4]
            FSTP DWORD PTR SS:[EBP-10]
            MOV ECX,DWORD PTR SS:[EBP+0x8]
            MOVSX EDX,WORD PTR DS:[ECX+0x19C]
            CMP EDX,0x1AB0
            JNZ 0x0057ADFD
            MOV EAX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[0xD281AC]
            FSTP DWORD PTR DS:[EAX+0x9C]
            MOV ECX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[0xD23784]
            FSTP DWORD PTR DS:[ECX+0xA0]
            MOV EDX,DWORD PTR SS:[EBP+0xC]
            FLD DWORD PTR DS:[0xD27CA4]
            FSTP DWORD PTR DS:[EDX+0xA4]
            MOV EAX,DWORD PTR SS:[EBP+0x8]
            MOVSX ECX,WORD PTR DS:[EAX+0x19C]
            CMP ECX,0x1AB1
            JNZ 0x0057AE3C
        }
        break;
    }


    __asm
    {
        Mov Esi, HDK_NEXT_ITEM_COLOR
        JMP Esi
    }
}


void AttachNewEffect()
{
    DWORD dwProtect;


    //Patch new effects in items
    dwProtect    = ToolKit.UnProtect(HDK_SET_ITEM_EFFECT, 12);
    ToolKit.SetNop(HDK_SET_ITEM_EFFECT, 12);
    ToolKit.WriteJmp(HDK_SET_ITEM_EFFECT, (DWORD)&SetItemEffect);
    ToolKit.Protect(HDK_SET_ITEM_EFFECT, 22, dwProtect);
    
    //Patch new effects in items by colors
    dwProtect    = ToolKit.UnProtect(HDK_SET_COLOR_EFFECT, 46);
    ToolKit.SetNop(HDK_SET_COLOR_EFFECT, 46);
    ToolKit.WriteJmp(HDK_SET_COLOR_EFFECT, (DWORD)&SetColorEffect);
    ToolKit.Protect(HDK_SET_COLOR_EFFECT, 56, dwProtect);
}


void InitModel(int ItemID, char* ModelName, char* Folder, char* Form)
{
    _asm
    {
        PUSH -1
        PUSH ModelName                       
        PUSH Form
        PUSH ItemID
        mov eax,BMDModelLoad 
        CALL eax  


        PUSH 1
        PUSH 0x2600
        PUSH 0x2901
        PUSH Folder
        PUSH ItemID
        mov eax,OpenTexture
        CALL eax
    }
}


void InitSets(int ItemID, char* ModelName, char* Folder, char* Form)
{
    _asm
    {
        PUSH -1
        PUSH ModelName                       
        PUSH Form
        PUSH ItemID
        mov eax,BMDModelLoad 
        CALL eax  


        PUSH 1
        PUSH 0x2600
        PUSH 0x2901
        PUSH Folder
        PUSH ItemID
        mov eax,OpenTexture
        CALL eax
    }
}


__declspec(naked) void PatchNewModel()
{
    for (i = 5; i <    150; i++)
    {
        if(i > 35)//swords
        {
            sprintf_s(Item, "Sword%d", i+1);
            InitModel(ITEM_GET(0, i), Item, ItemFolder, ItemDir);
        }
        if(i > 8)//axes
        {
            sprintf_s(Item, "Axe%d", i+1);
            InitModel(ITEM_GET(1, i), Item, ItemFolder, ItemDir);
        }
        if(i > 18)//maces
        {
            sprintf_s(Item, "Mace%d", i+1);
            InitModel(ITEM_GET(2, i), Item, ItemFolder, ItemDir);
        }
        if(i > 11)//spears
        {
            sprintf_s(Item, "Spear%d", i+1);
            InitModel(ITEM_GET(3, i), Item, ItemFolder, ItemDir);
        }
        if(i > 24 && i < 210)//bow
        {
            sprintf_s(Item, "Bow%d", i+1);
            InitModel(ITEM_GET(4, i), Item, ItemFolder, ItemDir);
        }
        if(i > 209 && i < 511)//crossbow
        {
            sprintf_s(Item, "Crossbow%d", i+1);
            InitModel(ITEM_GET(4, i), Item, ItemFolder, ItemDir);
        }
        if(i > 36)//staff
        {
            sprintf_s(Item, "Staff%d", i+1);
            InitModel(ITEM_GET(5, i), Item, ItemFolder, ItemDir);
        }
        if(i > 21)//shield
        {
            sprintf_s(Item, "Shield%d", i+1);
            InitModel(ITEM_GET(6, i), Item, ItemFolder, ItemDir);
        }
    }
    _asm
    {
        PUSH -1
        PUSH 0x00D2D2F8
        PUSH 0x00D2D300
        PUSH 0x20B2
        mov eax,BMDModelLoad
        CALL eax
        ADD ESP,0x10
        mov eax,ReturnOffset
        JMP eax
    }
}


__declspec(naked) void PatchNewSets()
{
    for (i = 5; i < 150; i++)
    {
        if(i > 74)//helms
        {
            sprintf_s(Sets, "HelmMale%d", i+1);
            InitSets(ITEM_GET(7, i), Sets, PlayerFolder, PlayerDir);
        }
        if(i > 74)//armors
        {
            sprintf_s(Sets, "ArmorMale%d", i+1);
            InitSets(ITEM_GET(8, i), Sets, PlayerFolder, PlayerDir);
        }
        if(i > 74)//pants
        {
            sprintf_s(Sets, "PantMale%d", i+1);
            InitSets(ITEM_GET(9, i), Sets, PlayerFolder, PlayerDir);
        }
        if(i > 74)//gloves
        {
            sprintf_s(Sets, "GloveMale%d", i+1);
            InitSets(ITEM_GET(10, i), Sets, PlayerFolder, PlayerDir);
        }
        if(i > 74)//boots
        {
            sprintf_s(Sets, "BootMale%d", i+1);
            InitSets(ITEM_GET(11, i), Sets, PlayerFolder, PlayerDir);
        }
    }
    _asm
    {
        PUSH -1
        PUSH 0x00D2B770
        PUSH 0x00D2B77C
        PUSH 0x14DC
        mov eax,BMDModelLoad
        CALL eax
        ADD ESP,0x10
        mov eax,ReturnSetOffset
        JMP eax
    }
}


void AttachNewItems()
{
    DWORD dwProtect;


    //Patch new model in game
    dwProtect    = ToolKit.UnProtect(LoadModel, 50);
    ToolKit.SetNop(LoadModel, 60);
    ToolKit.WriteJmp(LoadModel, (DWORD)&PatchNewModel);
    ToolKit.Protect(LoadModel, 60, dwProtect);
    
    //Patch new sets in game
    dwProtect    = ToolKit.UnProtect(LoadSetModel, 50);
    ToolKit.SetNop(LoadSetModel, 60);
    ToolKit.WriteJmp(LoadSetModel, (DWORD)&PatchNewSets);
    ToolKit.Protect(LoadSetModel, 60, dwProtect);
}


bool APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) 
{
    switch (dwReason)
    {    
    case DLL_PROCESS_ATTACH: 
        {
            AttachNewEffect();
            //AttachNewItems();
        }
        break;
        
    case DLL_PROCESS_DETACH:
        {
        }
        break;    
    }


    return true;
}

and this my complete .h file:

Code:
#pragma once

#include "Stdafx.h"
#include "Windows.h"


const int ITEM_ID = 0x493;
#define ITEM_GET(x, y) (x * 512 + y) + ITEM_ID


//Iris Bow ID
//type * maxindex + id = X + SwordOffsetInArray
//Albatross Bow 4 * 512 + 22 + 1171 = 0CA9 (IN HEX)
//Sword Breaker 0 * 512 + 27 + 1171 = 4AE (IN HEX)
//Wing of Dragon 12 * 512 + 5 + 1171 = 1C98 (IN HEX)


#define HDK_SET_ITEM_EFFECT 0x0057AD82//1.04d GMO
#define HDK_SET_COLOR_EFFECT 0x0057ADC8//1.04d GMO
#define HDK_ITEM_EFFECT_ALLOW 0x0057AD8D//1.04d GMO
#define HDK_ITEM_EFFECT_NOT_ALLOW 0x0057B73B//1.04d GMO
#define HDK_NEXT_ITEM_COLOR 0x0057ADFD//1.04d GMO


char *ItemDir       = "Data\\Item\\";
char *ItemFolder   = "Item\\";
char *PlayerDir       = "Data\\Player\\";
char *PlayerFolder = "Player\\";
char Item[25];
char Sets[65];
int i;


//1.04c (GMO) Offsets
#define LoadModel        0x00618155
#define LoadSetModel    0x00615134
#define BMDModelLoad    0x00614090
#define ReturnOffset    0x0061816E
#define ReturnSetOffset    0x0061514D
#define OpenTexture        0x00613A90


void AttachNewItems();
void AttachNewEffect();
 
Last edited:
Apprentice
Joined
Dec 14, 2007
Messages
839
Reaction score
430
for 1.04D, something is wrong with the HDK_SET_ITEM_EFFECT offset... ex. if

#define HDK_SET_ITEM_EFFECT 0x0057AD82

main crush when wear Dragon Knight +15 set (maybe +10 and up). If change this offset, main do not crush, but there is no effect, even the original effect (for Dragon Knight set).

Brain, can you please take a look.

Problem it seems to be here:

dwPotect = ToolKit.UnProtect(HDK_SET_ITEM_EFFECT, 12);
ToolKit.SetNop(HDK_SET_ITEM_EFFECT, 12);
ToolKit.WriteJmp(HDK_SET_ITEM_EFFECT, (DWORD)&SetItemEffect);
ToolKit.Protect(HDK_SET_ITEM_EFFECT, 22, dwPotect);
 
Last edited:
Newbie Spellweaver
Joined
Jan 13, 2010
Messages
98
Reaction score
118
Can't test, I don't have a run server and client 1.04D.
 
Apprentice
Joined
Dec 14, 2007
Messages
839
Reaction score
430
Brain, when i ask you to take a look i thought you have client 1.04D (you published for this version SetItemEffect and SetColorEffect :p:)...
So, this piece of code:
__asm {
Mov pItemType, Ecx
}

and this piece:
dwPotect = ToolKit.UnProtect(HDK_SET_ITEM_EFFECT, 12);
ToolKit.SetNop(HDK_SET_ITEM_EFFECT, 12);

from your main:


does not have correspondent in 1.04D version.
I need you to help me to rewrite this 2 piece of code for 1.04D.
Thank you
 
Newbie Spellweaver
Joined
Jan 13, 2010
Messages
98
Reaction score
118
#define HDK_SET_ITEM_EFFECT 0x0057AD82
If you hook into this place of code, change register Ecx to Eax

Code:
__asm 
{
 Mov pItemType, Ecx
}

To

Code:
__asm 
{
 Mov pItemType, [COLOR="#FF0000"][B]Eax[/B][/COLOR]
}

Try and write results
 
Apprentice
Joined
Dec 14, 2007
Messages
839
Reaction score
430
changing Ecx to Eax have same result CRASH...omg...
 
Experienced Elementalist
Joined
Oct 31, 2006
Messages
282
Reaction score
82
dwPotect = ToolKit.UnProtect(HDK_SET_ITEM_EFFECT, 12);
ToolKit.SetNop(HDK_SET_ITEM_EFFECT, 12);
ToolKit.WriteJmp(HDK_SET_ITEM_EFFECT, (DWORD)&SetItemEffect);
ToolKit.Protect(HDK_SET_ITEM_EFFECT, 22, dwPotect);

dwProtect = ToolKit.UnProtect(HDK_SET_ITEM_EFFECT, 12);
ToolKit.SetNop(HDK_SET_ITEM_EFFECT, 12);
ToolKit.WriteJmp(HDK_SET_ITEM_EFFECT, (DWORD)&SetItemEffect);
ToolKit.Protect(HDK_SET_ITEM_EFFECT, 22, dwProtect);
 
Back
Top