Most visitors online was 12720 , on 2 May 2024
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature currently requires accessing the site using the built-in Safari browser.
Main 97D have not this effect.Any for 97d Main?
Main 97D have not this effect.
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
#include "StdAfx.h"
#include "Effect.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, 29):
{
__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, Eax
}
switch (pItemType)
{
// Dragon Knight Boots
case ITEM_GET(11, 29):
__asm
{
MOV EDX,DWORD PTR SS:[EBP+0xC]
MOV DWORD PTR DS:[EDX+0x128], 0x3F266666
MOV EAX,DWORD PTR SS:[EBP+0xC]
MOV DWORD PTR DS:[EAX+0x12C], 0x3E99999A
MOV ECX,DWORD PTR SS:[EBP+0xC]
MOV DWORD PTR DS:[ECX+0x130], 0x3DCCCCCD
}
break;
// Dragon Boots
case ITEM_GET(11, 1):
__asm
{
MOV EDX,DWORD PTR SS:[EBP+0xC]
MOV DWORD PTR DS:[EDX+0x128], 0x3F800000
MOV EAX,DWORD PTR SS:[EBP+0xC]
MOV DWORD PTR DS:[EAX+0x12C], 0
MOV ECX,DWORD PTR SS:[EBP+0xC]
MOV DWORD PTR DS:[ECX+0x130], 0
}
break;
}
__asm
{
Mov Esi, HDK_NEXT_ITEM_COLOR
JMP Esi
}
}
void AttachNewEffect()
{
DWORD dwPotect;
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);
dwPotect = 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, dwPotect);
}
#pragma once
const int ITEM_ID = 0x246;
#define ITEM_GET(x, y) (x * 512 + y) + ITEM_ID
#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
void AttachNewEffect();
Tried to make this on zTeam s6ep3 without success, can anyone share offsets for that main?
#ifndef __CUSTOM_H__
#define __CUSTOM_H__
const int ITEM_ID = 0x246;
#define GET_ITEM(x, y) (x * 512 + y) + ITEM_ID
class cCustom
{
public:
void Init();
static __declspec() void SetItensColorEffect();
static __declspec() void AllowItemEffect();
//Set Effects
const int HDK_ALLOW_ITEM_EFFECT = 0x0052F106;
const int HDK_SET_COLOR_EFFECT = 0x0052F162;
const int HDK_ITEM_EFFECT_ALLOW = 0x0052F127;
const int HDK_ITEM_EFFECT_NOT_ALLOW = 0x0052F76D;
const int HDK_NEXT_ITEM_COLOR = 0x0052F191;
private:
const BYTE CustomEffects = 1;
};
extern cCustom gCustom;
#endif
#include "StdAfx.h"
#include "Custom.h"
cCustom gCustom;
void cCustom::Init()
{
if (this->CustomEffects)
{
SetOp(reinterpret_cast<LPVOID>(gCustom.HDK_ALLOW_ITEM_EFFECT), reinterpret_cast<LPVOID>(this->AllowItemEffect), ASM::JMP);
SetNop(0x0052F10B, 28);
SetOp(reinterpret_cast<LPVOID>(gCustom.HDK_SET_COLOR_EFFECT), reinterpret_cast<LPVOID>(this->SetItensColorEffect), ASM::JMP);
SetNop(0x0052F167, 42);
}
}
__declspec(naked) void cCustom::AllowItemEffect()
{
DWORD pItemType;
_asm MOV pItemType, EAX;
switch (pItemType)
{
//Dark Phoenix
case GET_ITEM(11, 17):
{
__asm
{
MOV ESI, gCustom.HDK_ITEM_EFFECT_ALLOW;
JMP ESI;
}
break;
}
//Great Dragon
case GET_ITEM(11, 21):
{
__asm
{
MOV ESI, gCustom.HDK_ITEM_EFFECT_ALLOW;
JMP ESI;
}
break;
}
}
_asm
{
CMP EAX, 0x1863;
JL NOT_ALLOW;
CMP EAX, 0x1867;
JG NOT_ALLOW;
JMP ALLOW;
NOT_ALLOW:
MOV ESI, gCustom.HDK_ITEM_EFFECT_NOT_ALLOW;
JMP ESI;
ALLOW:
MOV ESI, gCustom.HDK_ITEM_EFFECT_ALLOW;
JMP ESI;
}
}
__declspec(naked) void cCustom::SetItensColorEffect()
{
DWORD pItemType;
_asm MOV pItemType, ECX;
switch (pItemType)
{
//Dragon Knight Original
case GET_ITEM(11, 29):
{
__asm
{
MOV EDX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [EDX + 0x128], 0x3F266666;
MOV EAX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [EAX + 0x12C], 0x3E99999A;
MOV ECX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [ECX + 0x130], 0x3DCCCCCD;
}
break;
}
//Dark Phoenix
case GET_ITEM(11, 17):
{
_asm
{
MOV EDX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [EDX + 0x128], 0x0;
MOV EAX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [EAX + 0x12C], 0x3F800000;
MOV ECX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [ECX + 0x130], 0x3F800000;
}
break;
}
//Great Dragon
case GET_ITEM(11, 21):
{
_asm
{
MOV EDX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [EDX + 0x128], 0x3F800000;
MOV EAX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [EAX + 0x12C], 0x0;
MOV ECX, DWORD PTR SS : [EBP + 0xC];
MOV DWORD PTR DS : [ECX + 0x130], 0x0;
}
break;
}
}
__asm
{
MOV ESI, gCustom.HDK_NEXT_ITEM_COLOR;
JMP ESI;
}
}
I adapted it to work in 1.02C main.
Feel free to use.
.h
.cppCode:#ifndef __CUSTOM_H__ #define __CUSTOM_H__ const int ITEM_ID = 0x246; #define GET_ITEM(x, y) (x * 512 + y) + ITEM_ID class cCustom { public: void Init(); static __declspec() void SetItensColorEffect(); static __declspec() void AllowItemEffect(); //Set Effects const int HDK_ALLOW_ITEM_EFFECT = 0x0052F106; const int HDK_SET_COLOR_EFFECT = 0x0052F162; const int HDK_ITEM_EFFECT_ALLOW = 0x0052F127; const int HDK_ITEM_EFFECT_NOT_ALLOW = 0x0052F76D; const int HDK_NEXT_ITEM_COLOR = 0x0052F191; private: const BYTE CustomEffects = 1; }; extern cCustom gCustom; #endif
Code:#include "StdAfx.h" #include "Custom.h" cCustom gCustom; void cCustom::Init() { if (this->CustomEffects) { SetOp(reinterpret_cast<LPVOID>(gCustom.HDK_ALLOW_ITEM_EFFECT), reinterpret_cast<LPVOID>(this->AllowItemEffect), ASM::JMP); SetNop(0x0052F10B, 28); SetOp(reinterpret_cast<LPVOID>(gCustom.HDK_SET_COLOR_EFFECT), reinterpret_cast<LPVOID>(this->SetItensColorEffect), ASM::JMP); SetNop(0x0052F167, 42); } } __declspec(naked) void cCustom::AllowItemEffect() { DWORD pItemType; _asm MOV pItemType, EAX; switch (pItemType) { //Dark Phoenix case GET_ITEM(11, 17): { __asm { MOV ESI, gCustom.HDK_ITEM_EFFECT_ALLOW; JMP ESI; } break; } //Great Dragon case GET_ITEM(11, 21): { __asm { MOV ESI, gCustom.HDK_ITEM_EFFECT_ALLOW; JMP ESI; } break; } } _asm { CMP EAX, 0x1863; JL NOT_ALLOW; CMP EAX, 0x1867; JG NOT_ALLOW; JMP ALLOW; NOT_ALLOW: MOV ESI, gCustom.HDK_ITEM_EFFECT_NOT_ALLOW; JMP ESI; ALLOW: MOV ESI, gCustom.HDK_ITEM_EFFECT_ALLOW; JMP ESI; } } __declspec(naked) void cCustom::SetItensColorEffect() { DWORD pItemType; _asm MOV pItemType, ECX; switch (pItemType) { //Dragon Knight Original case GET_ITEM(11, 29): { __asm { MOV EDX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [EDX + 0x128], 0x3F266666; MOV EAX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [EAX + 0x12C], 0x3E99999A; MOV ECX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [ECX + 0x130], 0x3DCCCCCD; } break; } //Dark Phoenix case GET_ITEM(11, 17): { _asm { MOV EDX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [EDX + 0x128], 0x0; MOV EAX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [EAX + 0x12C], 0x3F800000; MOV ECX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [ECX + 0x130], 0x3F800000; } break; } //Great Dragon case GET_ITEM(11, 21): { _asm { MOV EDX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [EDX + 0x128], 0x3F800000; MOV EAX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [EAX + 0x12C], 0x0; MOV ECX, DWORD PTR SS : [EBP + 0xC]; MOV DWORD PTR DS : [ECX + 0x130], 0x0; } break; } } __asm { MOV ESI, gCustom.HDK_NEXT_ITEM_COLOR; JMP ESI; } }
you can share souce code add smoke in zclient thanksBrain, when i ask you to take a look i thought you have client 1.04D (you published for this version SetItemEffect and SetColorEffect ...
So, this piece of code:
and this piece:
from your main:
You must be registered to see links
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
you share for me souce codeWell the effect works in any main (1.04D) works ok and not has problem with effect or others:
i don't know for what u need "camera clip aux" :S effect works just with items no more.
I dont think zClient work on this.you can share souce code add smoke in zclient thanks
you share for me souce code
Works fine for me..