- Joined
- May 29, 2006
- Messages
- 241
- Reaction score
- 20
Thanks for the idea! work great on 1.04d with some modification!!
Last edited:
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!main wont run; most probably lacking some library.I have enabled it for all with random rgb.
GVeigaS,You must be registered to see linksmy 1.04d main.
open it in olly and remove my asm check about my vcorp.dll or change it to suite your needs
effects 1.02c, I base this function makes the other a little time ... (sorry my english is bad)
.h
Code:#include "stdafx.h" //struct struct _effect { int Boots; float R; float G; float B; }; //extern extern _effect e[255]; //função refeita __declspec() void DTset_effect(); //arquivo de leitura void _loadfile_effect(char* filename);
.cpp
Code:#include "stdafx.h" //variavel global int variavelE; //struct _effect e[255]; //variaveis int pItemID_boots = 0; float R = 0.0f; float G = 0.0f; float B = 0.0f; void _loadfile_effect(char* filename) { Tokenizer token; TokenizerGroup group; TokenizerSection section; token.ParseFile(std::string(filename), group); if(group.GetSection(0, section)) { for(int i = 0; i < section.RowCount; i++) { e[variavelE].Boots = section.Rows[i].GetInt(0); e[variavelE].R = section.Rows[i].GetFloat(1); e[variavelE].G = section.Rows[i].GetFloat(2); e[variavelE].B = section.Rows[i].GetFloat(3); variavelE++; } } } //função refeita __declspec(naked) void DTset_effect() { __asm { // set:: boots MOV EAX,DWORD PTR SS:[EBP+8] MOVSX ECX,WORD PTR DS:[EAX+0x2D8] MOV pItemID_boots, ECX } for(int i = 0; i < variavelE; i++) { if(pItemID_boots == ITEM_GET(11, e[i].Boots)) { R = e[i].R; G = e[i].G; B = e[i].B; _asm { // R MOV ECX,DWORD PTR SS:[EBP+0xC] // struct RGB MOV EDX, R MOV DWORD PTR DS:[ECX+0x128],EDX // float =D // G MOV EDX,DWORD PTR SS:[EBP+0xC] // struct RGB MOV EAX, G MOV DWORD PTR DS:[EDX+0x12C],EAX // float =D // B MOV EAX,DWORD PTR SS:[EBP+0xC] // struct RGB MOV ECX, B MOV DWORD PTR DS:[EAX+0x130],ECX MOV ESI, 0x0052F273 JMP ESI } } } _asm { MOV EDI, 0x0052F76D JMP EDI } }
.cpp hook
Code://effect item //leitura do arquivo //_loadfile_effect(".\\DTserver\\scripts\\effects.dat"); //retira a verificação dos items //*(BYTE*)(0x0052F0FC) = 0xEB; //*(BYTE*)(0x0052F0FC+1) = 0x29; //WriteMemoryNop(0x0052F0FE, 41); //da hook do sistema //HookProc(0x0052F158, (DWORD)(&DTset_effect)); //WriteMemoryNop(0x0052F158+5, 278);
base .dat
Code:0 11 0.000008f 0.1888877f 1.8555555f //add others items and float colors end
1>ItemSmokeEffect.cpp(135): error C2065: 'Tokenizer' : undeclared identifier
1>ItemSmokeEffect.cpp(135): error C2146: syntax error : missing ';' before identifier 'token'
1>ItemSmokeEffect.cpp(135): error C2065: 'token' : undeclared identifier
1>ItemSmokeEffect.cpp(136): error C2065: 'TokenizerGroup' : undeclared identifier
1>ItemSmokeEffect.cpp(136): error C2146: syntax error : missing ';' before identifier 'group'
1>ItemSmokeEffect.cpp(136): error C2065: 'group' : undeclared identifier
1>ItemSmokeEffect.cpp(137): error C2065: 'TokenizerSection' : undeclared identifier
1>ItemSmokeEffect.cpp(137): error C2146: syntax error : missing ';' before identifier 'section'
1>ItemSmokeEffect.cpp(137): error C2065: 'section' : undeclared identifier
1>ItemSmokeEffect.cpp(139): error C2065: 'token' : undeclared identifier
1>ItemSmokeEffect.cpp(139): error C2228: left of '.ParseFile' must have class/struct/union
1> type is ''unknown-type''
1>ItemSmokeEffect.cpp(139): error C2065: 'group' : undeclared identifier
1>ItemSmokeEffect.cpp(141): error C2065: 'group' : undeclared identifier
1>ItemSmokeEffect.cpp(141): error C2228: left of '.GetSection' must have class/struct/union
1> type is ''unknown-type''
1>ItemSmokeEffect.cpp(141): error C2065: 'section' : undeclared identifier
1>ItemSmokeEffect.cpp(143): error C2065: 'section' : undeclared identifier
1>ItemSmokeEffect.cpp(143): error C2228: left of '.RowCount' must have class/struct/union
1> type is ''unknown-type''
1>ItemSmokeEffect.cpp(145): error C2065: 'section' : undeclared identifier
1>ItemSmokeEffect.cpp(145): error C2228: left of '.Rows' must have class/struct/union
1> type is ''unknown-type''
1>ItemSmokeEffect.cpp(145): error C2228: left of '.GetInt' must have class/struct/union
1>ItemSmokeEffect.cpp(146): error C2065: 'section' : undeclared identifier
1>ItemSmokeEffect.cpp(146): error C2228: left of '.Rows' must have class/struct/union
1> type is ''unknown-type''
1>ItemSmokeEffect.cpp(146): error C2228: left of '.GetFloat' must have class/struct/union
1>ItemSmokeEffect.cpp(147): error C2065: 'section' : undeclared identifier
1>ItemSmokeEffect.cpp(147): error C2228: left of '.Rows' must have class/struct/union
1> type is ''unknown-type''
1>ItemSmokeEffect.cpp(147): error C2228: left of '.GetFloat' must have class/struct/union
1>ItemSmokeEffect.cpp(148): error C2065: 'section' : undeclared identifier
1>ItemSmokeEffect.cpp(148): error C2228: left of '.Rows' must have class/struct/union
1> type is ''unknown-type''
1>ItemSmokeEffect.cpp(148): error C2228: left of '.GetFloat' must have class/struct/union
how to find offset of an item as the main example of the King Mace in 97 main
#define HDK_SET_ITEM_EFFECT 0x[COLOR="#FF0000"]0057AD82[/COLOR]
#define HDK_SET_COLOR_EFFECT 0x[COLOR="#FF0000"]0057ADC8[/COLOR]
#define HDK_ITEM_EFFECT_ALLOW 0x[COLOR="#FF0000"]0057AD8D[/COLOR]
#define HDK_ITEM_EFFECT_NOT_ALLOW 0x[COLOR="#FF0000"]0057B73B[/COLOR]
#define HDK_NEXT_ITEM_COLOR 0x[COLOR="#FF0000"]0057ADFD[/COLOR]
#define HDK_SET_ITEM_EFFECT 0x0052F11B
#define HDK_SET_COLOR_EFFECT 0x0052F162
#define HDK_ITEM_EFFECT_ALLOW 0x0052F127
#define HDK_ITEM_EFFECT_NOT_ALLOW 0x0052F76D
#define HDK_NEXT_ITEM_COLOR 0x0052F191