LEGENDARY
25/08/2019, 04:56 PM
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Fala família Perfectzone vamos nos ajudar? , TRAGO Até vocês
A Source code com tutorial - mais acho que está incompleto , não testei ainda..
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SEGUE OS DETALHES E APROVEITE ^^... =D.
SOURCE CODE - Interface Season3 na Season6
Inter3.h
#pragma once
#define pDrawInterfacEnumBer ((double(__stdcall*)(float X, float Y, int num, float size)) 0x854FE0)
Enum iInterface
{
iNewCharacter = 0x7A48,
iNewInvEntory = 0x7A49,
iNewWinpush = 0x7A4A,
iNewFastMEnu = 0x7A4B,
iNewSkillBox = 0x7A50,
iNewParty = 0x910,
};
void InitInter3();
static void DrawCoord();
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inter3.cpp
#include "stdafx.h"
#include "Inter3.h"
#include "Defines.h"
#include "TMEnory.h"
#include "User.h"
#include "Offset.h"
#include "Import.h"
__declspec(naked) void AGPosition()
{
static float AGPositionW = 13.0f;
static float AGPositionH = 39.0f;
static float AGPositionX = 552.0f;
static float AGPositionY = 435.0f;
static DWORD AGPosition_buff = 0x008102AD;
_asm
{
FLD DWORD PTR DS:[AGPositionW]
FSTP DWORD PTR SS:[EBP-0x18]
FLD DWORD PTR DS:[AGPositionH]
FSTP DWORD PTR SS:[EBP-0x14]
FLD DWORD PTR DS:[AGPositionX]
FSTP DWORD PTR SS:[EBP-0x10]
FLD DWORD PTR DS:[AGPositionY]
FSTP DWORD PTR SS:[EBP-0x0C]
jmp [AGPosition_buff]
}
}
__declspec(naked) void SDPosition()
{
static float SDPositionW = 14.0f;
static float SDPositionH = 39.0f;
static float SDPositionX = 73.0f;
static float SDPositionY = 435.0f;
static DWORD SDPosition_buff = 0x0081057D;
_asm
{
FLD DWORD PTR DS:[SDPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[SDPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
FLD DWORD PTR DS:[SDPositionX]
FSTP DWORD PTR SS:[EBP-0x10]
FLD DWORD PTR DS:[SDPositionY]
FSTP DWORD PTR SS:[EBP-0x0C]
jmp [SDPosition_buff]
}
}
__declspec(naked) void MANAPosition()
{
static float MANAPositionW = 52.0f;
static float MANAPositionX = 489.0f;
static float MANAPositionH = 48.0f;
static float MANAPositionY = 429.0f;
static DWORD MANAPosition_buff = 0x0080FFD0;
_asm
{
FLD DWORD PTR DS:[MANAPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[MANAPositionX]
FSTP DWORD PTR SS:[EBP-0x0C]
FLD DWORD PTR DS:[MANAPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
FLD DWORD PTR DS:[MANAPositionY]
FSTP DWORD PTR SS:[EBP-0x8]
jmp [MANAPosition_buff]
}
}
__declspec(naked) void HPPosition()
{
static float HPPositionW = 52.0f;
static float HPPositionX = 98.0f;
static float HPPositionH = 48.0f;
static float HPPositionY = 429.0f;
static DWORD HPPosition_buff = 0x0080FD7C;
_asm
{
FLD DWORD PTR DS:[HPPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[HPPositionX]
FSTP DWORD PTR SS:[EBP-0x0C]
FLD DWORD PTR DS:[HPPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
FLD DWORD PTR DS:[HPPositionY]
FSTP DWORD PTR SS:[EBP-0x8]
jmp [HPPosition_buff]
}
}
__declspec(naked) void UsingSkillPosition()
{
static float UsingSkillPositionX = 311.0f;
static float UsingSkillPositionY = 448.0f;
static float UsingSkillPositionW = 20.0f;
static float UsingSkillPositionH = 28.0f;
static DWORD UsingSkillPosition_buff = 0x00813900;
_asm
{
FLD DWORD PTR DS:[UsingSkillPositionX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[UsingSkillPositionY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[UsingSkillPositionW]
FSTP DWORD PTR SS:[EBP-0x18]
FLD DWORD PTR DS:[UsingSkillPositionH]
FSTP DWORD PTR SS:[EBP-0x14]
jmp [UsingSkillPosition_buff]
}
}
__declspec(naked) void SkillClickPosition()
{
static float SkillClickPositionX = 310.0f;
static float SkillClickPositionY = 431.0f;
static float SkillClickPositionW = 32.0f;
static float SkillClickPositionH = 38.0f;
static DWORD SkillClickPosition_buff = 0x00812734;
_asm
{
FLD DWORD PTR DS:[SkillClickPositionX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[SkillClickPositionY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[SkillClickPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[SkillClickPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
jmp [SkillClickPosition_buff]
}
}
__declspec(naked) void SkillBarDrawPosition()
{
static float SkillBarDrawPositionX = 222.0f;
static float SkillBarDrawPositionY = 480.0f;
static float SkillBarDrawPositionW = 160.0f;
static float SkillBarDrawPositionH = 38.0f;
static DWORD SkillBarDrawPosition_buff = 0x00812968;
_asm
{
FLD DWORD PTR DS:[SkillBarDrawPositionX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[SkillBarDrawPositionY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[SkillBarDrawPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[SkillBarDrawPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
jmp [SkillBarDrawPosition_buff]
}
}
__declspec(naked) void SkillSwitchDraw()
{
static float SkillSwitchDrawX = 385.0f;
static float SkillSwitchDrawY = 380.0f;
static float SkillSwitchDrawW = 32.0f;
static float SkillSwitchDrawH = 38.0f;
static float SkillSwitchDrawMW = 385.0f;
static DWORD SkillSwitchDraw_buff = 0x008139CA;
_asm
{
FLD DWORD PTR DS:[SkillSwitchDrawX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[SkillSwitchDrawY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[SkillSwitchDrawW]
FSTP DWORD PTR SS:[EBP-0x18]
FLD DWORD PTR DS:[SkillSwitchDrawH]
FSTP DWORD PTR SS:[EBP-0x14]
FLD DWORD PTR DS:[SkillSwitchDrawMW]
FSTP DWORD PTR SS:[EBP-0x24]
jmp [SkillSwitchDraw_buff]
}
}
__declspec(naked) void SkillSwitchClick()
{
static float SkillSwitchDrawX = 385.0f;
static float SkillSwitchDrawY = 380.0f;
static float SkillSwitchDrawW = 32.0f;
static float SkillSwitchDrawH = 38.0f;
static float SkillSwitchDrawMW = 385.0f;
static DWORD SkillSwitchClick_buff = 0x00812D69;
_asm
{
FLD DWORD PTR DS:[SkillSwitchDrawX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[SkillSwitchDrawY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[SkillSwitchDrawW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[SkillSwitchDrawH]
FSTP DWORD PTR SS:[EBP-0x1C]
FLD DWORD PTR DS:[SkillSwitchDrawMW]
FSTP DWORD PTR SS:[EBP-0x14]
jmp [SkillSwitchClick_buff]
}
}
__declspec(naked) void QPosition1()
{
static float BarNumberY = 445.0f;
static DWORD QPosition1_buff = 0x00895A4F;
_asm
{
FLD DWORD PTR DS:[BarNumberY]
FSTP DWORD PTR SS:[ESP]
jmp [QPosition1_buff]
}
}
__declspec(naked) void QPosition2()
{
static float QPosition2X = 227.0f;
static DWORD QPosition2_buff = 0x00895A59;
_asm
{
FLD DWORD PTR DS:[QPosition2X]
FSTP DWORD PTR SS:[ESP]
jmp [QPosition2_buff]
}
}
__declspec(naked) void QPosition3()
{
static float BarPotionY = 453.0f;
static DWORD QPosition3_buff = 0x00895A63;
_asm
{
FLD DWORD PTR DS:[BarPotionY]
FSTP DWORD PTR SS:[ESP]
jmp [QPosition3_buff]
}
}
__declspec(naked) void QPosition4()
{
static float QPosition4X = 210.0f;
static DWORD QPosition4_buff = 0x00895A6D;
_asm
{
FLD DWORD PTR DS:[QPosition4X]
FSTP DWORD PTR SS:[ESP]
jmp [QPosition4_buff]
}
}
__declspec(naked) void WPosition1()
{
static float BarNumberY = 445.0f;
static DWORD WPosition1_buff = 0x00895AC4;
_asm
{
FLD DWORD PTR DS:[BarNumberY]
FSTP DWORD PTR SS:[ESP]
jmp [WPosition1_buff]
}
}
__declspec(naked) void WPosition2()
{
static float WPosition2X = 257.0f;
static DWORD WPosition2_buff = 0x00895ACE;
_asm
{
FLD DWORD PTR DS:[WPosition2X]
FSTP DWORD PTR SS:[ESP]
jmp [WPosition2_buff]
}
}
__declspec(naked) void WPosition3()
{
static float BarPotionY = 453.0f;
static DWORD WPosition3_buff = 0x00895AD8;
_asm
{
FLD DWORD PTR DS:[BarPotionY]
FSTP DWORD PTR SS:[ESP]
jmp [WPosition3_buff]
}
}
__declspec(naked) void WPosition4()
{
static float WPosition4X = 240.0f;
static DWORD WPosition4_buff = 0x00895AE2;
_asm
{
FLD DWORD PTR DS:[WPosition4X]
FSTP DWORD PTR SS:[ESP]
jmp [WPosition4_buff]
}
}
__declspec(naked) void EPosition1()
{
static float BarNumberY = 445.0f;
static DWORD EPosition1_buff = 0x00895B39;
_asm
{
FLD DWORD PTR DS:[BarNumberY]
FSTP DWORD PTR SS:[ESP]
jmp [EPosition1_buff]
}
}
__declspec(naked) void EPosition2()
{
static float EPosition2X = 287.0f;
static DWORD EPosition2_buff = 0x00895B43;
_asm
{
FLD DWORD PTR DS:[EPosition2X]
FSTP DWORD PTR SS:[ESP]
jmp [EPosition2_buff]
}
}
__declspec(naked) void EPosition3()
{
static float BarPotionY = 453.0f;
static DWORD EPosition3_buff = 0x00895B4D;
_asm
{
FLD DWORD PTR DS:[BarPotionY]
FSTP DWORD PTR SS:[ESP]
jmp [EPosition3_buff]
}
}
__declspec(naked) void EPosition4()
{
static float EPosition4X = 270.0f;
static DWORD EPosition4_buff = 0x00895B57;
_asm
{
FLD DWORD PTR DS:[EPosition4X]
FSTP DWORD PTR SS:[ESP]
jmp [EPosition4_buff]
}
}
__declspec(naked) void NopRShortKey()
{
static DWORD RButtonAddress = 0x00895C0C;
_asm{jmp RButtonAddress}
}
__declspec(naked) void HPNumberPosition()
{
DrawCoord();
static float HPNumberPositionX = 45.0f;
static DWORD HPNumberPosition_buff = 0x0080FF1E;
_asm
{
FADD DWORD PTR DS:[HPNumberPositionX]
FSTP DWORD PTR SS:[EBP-0x19C]
FLD DWORD PTR SS:[EBP-0x19C]
jmp [HPNumberPosition_buff]
}
}
__declspec(naked) void MasterButton()
{
static DWORD MasterButtonAddress1 = 0x0077ED20;
_asm
{
jmp [MasterButtonAddress1]
}
}
__declspec(naked) void HelperAll()
{
static DWORD HelperStopAddress1 = 0x007D28B4;
_asm
{
jmp [HelperStopAddress1]
}
}
//EXP
__declspec(naked) void EXP1()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXP1_buff = 0x00811408;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD DWORD PTR SS:[EBP-0x1B0]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXP1_buff]
}
}
__declspec(naked) void EXP2()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXP2_buff = 0x00811552;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD DWORD PTR SS:[EBP-0x1C4]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXP2_buff]
}
}
__declspec(naked) void EXP3()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXP3_buff = 0x00811719;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD DWORD PTR SS:[EBP-0x1B0]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXP3_buff]
}
}
__declspec(naked) void EXP4()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXP4_buff = 0x0081181F;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
FLD QWORD PTR SS:[EBP-0x20]
jmp [EXP4_buff]
}
}
//EXP MASTER
__declspec(naked) void EXPMASTER1()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXPMASTER1_buff = 0x00810B6E;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR SS:[EBP-0x58]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXPMASTER1_buff]
}
}
__declspec(naked) void EXPMASTER2()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXPMASTER2_buff = 0x00810CB5;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR SS:[EBP-0x88]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXPMASTER2_buff]
}
}
__declspec(naked) void EXPMASTER3()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXPMASTER3_buff = 0x00810E79;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR SS:[EBP-0x58]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXPMASTER3_buff]
}
}
__declspec(naked) void EXPMASTER4()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXPMASTER4_buff = 0x00810F73;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXPMASTER4_buff]
}
}
void DrawCoord()
{
lpCharObj lpObj = (lpCharObj)oUserObjectStruct;
if (*(DWORD*)MAIN_SCREEn_STATE == 5)
{
glColor3f(1.0f, 1.0f, 1.0f);
pDrawInterfacEnumBer(23, 460, gObjUser.lpViewPlayer->MapPosX, 1);
pDrawInterfacEnumBer(46, 460, gObjUser.lpViewPlayer->MapPosY, 1);
}
}
void InitInter3()
{
SetRange((LPVOID)0x0080F270, 0x4D1, ASM::NOP);//-> Interface -> Draw Button
//-
SetByte((PVOID)(0x008137AF + 3), 0);
SetByte((PVOID)(0x008119A7), 0xEB);
SetRange((LPVOID)0x00811AC0, 0xAC, ASM::NOP);
//-
SetRange((LPVOID)0x0081028C, 0x24, ASM::NOP);
SetOp((LPVOID)0x0081028C, (LPVOID)AGPosition, ASM::JMP);
//-
SetRange((LPVOID)0x0081055C, 0x24, ASM::NOP);
SetOp((LPVOID)0x0081055C, (LPVOID)SDPosition, ASM::JMP);
//-
SetRange((LPVOID)0x0080FFAF, 0x24, ASM::NOP);
SetOp((LPVOID)0x0080FFAF, (LPVOID)MANAPosition, ASM::JMP);
//-
SetRange((LPVOID)0x0080FD5B, 0x24, ASM::NOP);
SetOp((LPVOID)0x0080FD5B, (LPVOID)HPPosition, ASM::JMP);
//-
SetRange((LPVOID)0x008138DF, 0x24, ASM::NOP);
SetOp((LPVOID)0x008138DF, (LPVOID)UsingSkillPosition, ASM::JMP);
//-
SetRange((LPVOID)0x00812713, 0x24, ASM::NOP);
SetOp((LPVOID)0x00812713, (LPVOID)SkillClickPosition, ASM::JMP);
//-
SetRange((LPVOID)0x00812947, 0x24, ASM::NOP);
SetOp((LPVOID)0x00812947, (LPVOID)SkillBarDrawPosition, ASM::JMP);
//-
SetRange((LPVOID)0x008139A0, 0x2D, ASM::NOP);
SetOp((LPVOID)0x008139A0, (LPVOID)SkillSwitchDraw, ASM::JMP);
//-
SetRange((LPVOID)0x00812D3F, 0x2D, ASM::NOP);
SetOp((LPVOID)0x00812D3F, (LPVOID)SkillSwitchClick, ASM::JMP);
//-
SetRange((LPVOID)0x0080FF12, 0x12, ASM::NOP);
SetOp((LPVOID)0x0080FF12, (LPVOID)HPNumberPosition, ASM::JMP);
//-
SetRange((LPVOID)0x0077EC97, 0x88, ASM::NOP);
SetOp((LPVOID)0x0077EC97, (LPVOID)MasterButton, ASM::JMP);
//-
//->Q
SetRange((LPVOID)0x00895A49, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895A49, (LPVOID)QPosition1, ASM::JMP);
//-
SetRange((LPVOID)0x00895A53, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895A53, (LPVOID)QPosition2, ASM::JMP);
//-
SetRange((LPVOID)0x00895A5D, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895A5D, (LPVOID)QPosition3, ASM::JMP);
//-
SetRange((LPVOID)0x00895A67, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895A67, (LPVOID)QPosition4, ASM::JMP);
//->W
SetRange((LPVOID)0x00895ABE, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895ABE, (LPVOID)WPosition1, ASM::JMP);
//-
SetRange((LPVOID)0x00895AC8, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895AC8, (LPVOID)WPosition2, ASM::JMP);
//-
SetRange((LPVOID)0x00895AD2, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895AD2, (LPVOID)WPosition3, ASM::JMP);
//-
SetRange((LPVOID)0x00895ADC, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895ADC, (LPVOID)WPosition4, ASM::JMP);
//-
//->E
SetRange((LPVOID)0x00895B33, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895B33, (LPVOID)EPosition1, ASM::JMP);
//-
SetRange((LPVOID)0x00895B3D, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895B3D, (LPVOID)EPosition2, ASM::JMP);
//-
SetRange((LPVOID)0x00895B47, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895B47, (LPVOID)EPosition3, ASM::JMP);
//-
SetRange((LPVOID)0x00895B51, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895B51, (LPVOID)EPosition4, ASM::JMP);
//-
//->R
SetRange((LPVOID)0x00895B8D, 0x7E, ASM::NOP);
SetOp((LPVOID)0x00895B8D, (LPVOID)NopRShortKey, ASM::JMP);
/*SetRange((LPVOID)0x007D25C3, 0x2F0, ASM::NOP);
SetOp((LPVOID)0x007D25C3, (LPVOID)HelperAll, ASM::JMP);*/
//EXP
SetRange((LPVOID)0x008113DE, 5, ASM::NOP);
SetOp((LPVOID)0x008113DE, (LPVOID)EXP1, ASM::JMP);
SetRange((LPVOID)0x00811528, 5, ASM::NOP);
SetOp((LPVOID)0x00811528, (LPVOID)EXP2, ASM::JMP);
SetRange((LPVOID)0x008116EF, 5, ASM::NOP);
SetOp((LPVOID)0x008116EF, (LPVOID)EXP3, ASM::JMP);
SetRange((LPVOID)0x008117F8, 5, ASM::NOP);
SetOp((LPVOID)0x008117F8, (LPVOID)EXP4, ASM::JMP);
//EXPMASTER
SetRange((LPVOID)0x00810B47, 5, ASM::NOP);
SetOp((LPVOID)0x00810B47, (LPVOID)EXPMASTER1, ASM::JMP);
SetRange((LPVOID)0x00810C8B, 5, ASM::NOP);
SetOp((LPVOID)0x00810C8B, (LPVOID)EXPMASTER2, ASM::JMP);
SetRange((LPVOID)0x00810E52, 5, ASM::NOP);
SetOp((LPVOID)0x00810E52, (LPVOID)EXPMASTER3, ASM::JMP);
SetRange((LPVOID)0x00810F4F, 5, ASM::NOP);
SetOp((LPVOID)0x00810F4F, (LPVOID)EXPMASTER4, ASM::JMP);
//Posicion Numero Exp
SetDouble((PVOID)(0x00D461C0), 425);
SetDouble((PVOID)(0x00D461B8), 431);
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Import.h
//CashShop
#define sub_944E50_Addr ((char(*)()) 0x944E50)
#define sub_93F370_Addr ((void*(*)()) 0x93F370)
#define sub_93FCA0_Addr ((bool(__thiscall*)(int a1)) 0x93FCA0)
#define sub_93F600_Addr ((char(__thiscall*)(char* a1)) 0x93F600)
#define sub_93FD10_Addr ((bool(__thiscall*)(int a1)) 0x93FD10)
#define sub_93F950_Addr ((char(__thiscall*)(char* a1)) 0x93F950)
#define sub_941030_Addr ((int(__thiscall*)(BYTE* a1)) 0x941030)
#define sub_941000_Addr ((int(__thiscall*)(BYTE* a1)) 0x941000)
#define sub_944FE0_Addr ((void(__thiscall*)(BYTE *This, int a2, BYTE *a3)) 0x944FE0)
#define sub_9406C0_Addr ((char(__thiscall*)(BYTE* a1)) 0x9406C0)
#define sub_9406A0_Addr ((BYTE*(__thiscall*)(BYTE* a1, char a2)) 0x9406A0)
#define sub_8611E0_Addr ((int(__thiscall*)(DWORD* a1)) 0x8611E0)
#define sub_815130_Addr ((int(__thiscall*)(char *This, int a2, char a3)) 0x815130)
#define sub_861900_Addr ((int(__thiscall*)(int This)) 0x861900)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Protocol.h
bool CashShopSwitchState();
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Protocol.cpp
DEVE ADICIONAR Import.h
//Cashshop Fix
struct PMSG_CASH_SHOP_OPEn_RECV
{
#pragma pack(1)
PSBMSG_HEAD header; // C1:D2:02
BYTE OpEnType;
#pragma pack()
};
void OpEnCashShopSEnd(BYTE type)
{
PMSG_CASH_SHOP_OPEn_RECV pMsg;
pMsg.OpEnType = type;
pMsg.header.set(0xD2,0x02,sizeof(pMsg));
DataSEnd((BYTE*)&pMsg,sizeof(pMsg));
}
bool CashShopSwitchState()
{
sub_861900_Addr((int)pWindowThis());
if ( !sub_944E50_Addr() )
return 0;
void* v48 = sub_93F370_Addr();
if ( sub_93FCA0_Addr((int)v48) == 1 )
{
if ( !sub_93F600_Addr((CHAR *)sub_93F370_Addr()) )
return 0;
}
if ( sub_93FD10_Addr((int)sub_93F370_Addr()) == 1 )
{
if ( sub_93F950_Addr((CHAR *)sub_93F370_Addr()) == 1 )
{
BYTE* v53 = (BYTE *)sub_941030_Addr((BYTE*)sub_93F370_Addr());
int v55 = sub_941000_Addr((BYTE*)sub_93F370_Addr());
BYTE* v57 = (BYTE *)sub_861900_Addr((int)pWindowThis());
sub_944FE0_Addr(v57, v55, v53);
}
}
if ( pCheckWindow(pWindowThis(), 65) )
{
OpEnCashShopSEnd(1);
pCloseWindow(pWindowThis(), 65);
}
else
{
if ( !sub_9406C0_Addr((BYTE*)sub_93F370_Addr()) )
{
OpEnCashShopSEnd(0);
sub_9406A0_Addr((BYTE*)sub_93F370_Addr(), 1);
char* v62 = (char *)sub_8611E0_Addr((DWORD*)pWindowThis());
sub_815130_Addr(v62, 0, 1);
}
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interface.cpp
En void Interface::Load() ADICIONAR ESSA LINHA
this->BindObject(eParty, iNewParty, 25, 25, 348, 449);
this->BindObject(eCharacter, iNewCharacter, 25, 25, 379, 449);
this->BindObject(eInvEntory, iNewInvEntory, 25, 25, 409, 449);
this->BindObject(eShop, 0x908, 25, 25, 440, 449);
this->BindObject(eFriEnd, iNewWinpush, 54, 20, 581, 432);
this->BindObject(eFastMEnu, iNewFastMEnu, 55, 21, 5, 432);
this->BindObject(eGuild, 0x904, 54, 20, 581, 454);
//=================
En void Interface::LoadImages() ADICIONAR ESSAS LINHAS
pLoadImage("Interface\\Custom\\MEnuS3_left.jpg", 31292, GL_LINEAR, GL_CLAMP, 1, 0); //replace
pLoadImage("Interface\\Custom\\MEnuS3_middle.jpg", 31293, GL_LINEAR, GL_CLAMP, 1, 0); //replace
pLoadImage("Interface\\Custom\\MEnuS3_right.jpg", 31294, GL_LINEAR, GL_CLAMP, 1, 0); //replace
pLoadImage("Interface\\Custom\\none.tga", 31295, GL_LINEAR, GL_CLAMP, 1, 0); //replace
pLoadImage("Interface\\Custom\\MEnuS3_Red.jpg", 0x7A42, GL_LINEAR, GL_CLAMP, 1, 0);//replace
pLoadImage("Interface\\Custom\\MEnuS3_GreEn.jpg", 0x7A41, GL_LINEAR, GL_CLAMP, 1, 0);//replace
pLoadImage("Interface\\Custom\\MEnuS3_Blue.jpg", 0x7A40, GL_LINEAR, GL_CLAMP, 1, 0);//replace
pLoadImage("Interface\\Custom\\MEnuS3_InvEntory.jpg", iNewInvEntory, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_Character.jpg", iNewCharacter, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_Party.jpg", iNewParty, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_friEnd.jpg", iNewWinpush, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_fastmEnu.jpg", iNewFastMEnu, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_CashShop.jpg", 0x908, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_Guild.jpg", 0x904, GL_LINEAR, GL_CLAMP, 1, 0);
//=================
En Work() ADICIONAR ESSA LINHA
gInterface.DrawMEnuButton();
//=================
void Interface::DrawMEnuButton()
{
if (IsWorkZone(eParty))
{
this->DrawToolTip(345, 420, "Party");
}
if (this->CheckWindow(Party))
{
gInterface.DrawButton(eParty, 348, 449, 0.0, 0.0);
}
if (IsWorkZone(eCharacter))
{
this->DrawToolTip(375, 420, "Character");
}
if (this->CheckWindow(Character))
{
gInterface.DrawButton(eCharacter, 378.5f, 449, 0.0, 0.0);
}
if (IsWorkZone(eInvEntory))
{
this->DrawToolTip(405, 420, "InvEntory");
}
if (this->CheckWindow(InvEntory))
{
gInterface.DrawButton(eInvEntory, 409, 449, 0.0, 0.0);
}
if (IsWorkZone(eShop))
{
this->DrawToolTip(430, 420, "CashShop");
}
if (this->CheckWindow(CashShop))
{
gInterface.DrawButton(eShop, 439.5f, 449, 0.0, 0.0);
}
if (IsWorkZone(eFriEnd))
{
this->DrawToolTip(580, 420, "FriEnds");
}
if (this->CheckWindow(FriEndList))
{
gInterface.DrawButton(eFriEnd, 581, 432, 0.0, 0.0);
}
if (IsWorkZone(eGuild))
{
this->DrawToolTip(580, 444, "Guild");
}
if (this->CheckWindow(Guild))
{
gInterface.DrawButton(eGuild, 581, 454, 0.0, 0.0);
}
if (IsWorkZone(eFastMEnu))
{
this->DrawToolTip(13, 420, "SystEn");
}
if (this->CheckWindow(FastMEnu))
{
gInterface.DrawButton(eFastMEnu, 5, 432, 0.0, 0.0);
}
}
//=================
void Interface::EvEntMEnuButton(DWORD EvEnt)
{
DWORD CurrEntTick = GetTickCount();
if (this->CheckWindow(ChaosBox))
{
return;
}
if (IsWorkZone(eFastMEnu))
{
DWORD Delay = (CurrEntTick - this->Data[eFastMEnu].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eFastMEnu].OnClick = true;
return;
}
this->Data[eFastMEnu].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eFastMEnu].EvEntTick = GetTickCount();
if (this->CheckWindow(FastMEnu)) {
this->CloseWindow(FastMEnu);
}
else {
this->OpEnWindow(FastMEnu);
}
}
else if (IsWorkZone(eParty))
{
DWORD Delay = (CurrEntTick - this->Data[eParty].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eParty].OnClick = true;
return;
}
this->Data[eParty].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eParty].EvEntTick = GetTickCount();
if (this->CheckWindow(Party)) {
this->CloseWindow(Party);
}
else {
this->OpEnWindow(Party);
}
}
else if (IsWorkZone(eCharacter))
{
DWORD Delay = (CurrEntTick - this->Data[eCharacter].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eCharacter].OnClick = true;
return;
}
this->Data[eCharacter].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eCharacter].EvEntTick = GetTickCount();
if (this->CheckWindow(Character)) {
this->CloseWindow(Character);
}
else {
this->OpEnWindow(Character);
}
}
else if (IsWorkZone(eInvEntory))
{
DWORD Delay = (CurrEntTick - this->Data[eInvEntory].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eInvEntory].OnClick = true;
return;
}
this->Data[eInvEntory].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eInvEntory].EvEntTick = GetTickCount();
if (this->CheckWindow(InvEntory)) {
this->CloseWindow(InvEntory);
}
else {
this->OpEnWindow(InvEntory);
}
}
else if (IsWorkZone(eShop))
{
DWORD Delay = (CurrEntTick - this->Data[eFriEnd].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eShop].OnClick = true;
return;
}
this->Data[eShop].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eShop].EvEntTick = GetTickCount();
CashShopSwitchState();
}
else if (IsWorkZone(eFriEnd))
{
DWORD Delay = (CurrEntTick - this->Data[eFriEnd].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eFriEnd].OnClick = true;
return;
}
this->Data[eFriEnd].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eFriEnd].EvEntTick = GetTickCount();
if (this->CheckWindow(FriEndList)) {
this->CloseWindow(FriEndList);
}
else {
this->OpEnWindow(FriEndList);
}
}
else if (IsWorkZone(eGuild))
{
DWORD Delay = (CurrEntTick - this->Data[eGuild].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eGuild].OnClick = true;
return;
}
this->Data[eGuild].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eGuild].EvEntTick = GetTickCount();
if (this->CheckWindow(Guild)) {
this->CloseWindow(Guild);
}
else {
this->OpEnWindow(Guild);
}
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interface.h
En Enum ObjectID agregan
eSkillBox,
eDragonLeft,
eDragonRight,
eCharacter,
eInvEntory,
eParty,
eFriEnd,
eFastMEnu,
eShop,
eGuild,
//=================
En class Interface En lo public agregan
void EvEntMEnuButton(DWORD EvEnt);
void DrawMEnuButton();
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Controller.cpp
En LRESULT Controller::Mouse agregan
gInterface.EvEntMEnuButton(wParam);
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Main.cpp
InitInter3();
IMAGEn DA SOURCE INTERFACE S3 NO S6
[Only registered and activated users can see links]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SOURCE CODE - DRAÇÕES - NOS CANTOS
Interface.h
void DrawInterfaceDragonLS3();
void DrawInterfaceDragonRS3();
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interface.cpp
//
pLoadImage("Interface\\S2\\MEnu04.tga", 0x920, GL_LINEAR, GL_CLAMP, 1, 0);
//
void Interface::DrawInterfaceDragonLS3()
{
{
if (this->CheckWindow(ObjWindow::ChatWindow) || this->CheckWindow(ObjWindow::SkillTree) || this->CheckWindow(ObjWindow::CashShop)
|| (this->CheckWindow(FullMap)))
{
return;
}
pDrawImage(2336, 0.0, 387.0, 108.0, 45.0, 0, 0, 0.84375, 0.703125, 1, 1, 0.0);
}
}
void Interface::DrawInterfaceDragonRS3()
{
{
if (this->CheckWindow(ObjWindow::FriEndList) || this->CheckWindow(ObjWindow::Party) || this->CheckWindow(ObjWindow::Quest) || this->CheckWindow(ObjWindow::Guild)
|| (this->CheckWindow(CommandWindow) || this->CheckWindow(InvEntory) || this->CheckWindow(Character) || this->CheckWindow(FastMEnu) || this->CheckWindow(SkillTree)
|| this->CheckWindow(CashShop) || this->CheckWindow(FullMap) || this->CheckWindow(MuHelper)) || pMapNumber == 34 || pMapNumber == 30 || pMapNumber == 64)
{
return;
}
pDrawImage(2336, 532.0, 387.0, 108.0, 45.0, 1062731776, 0, -0.84375, 0.703125, 1, 1.0, 0.0);
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interface.cpp DEPOIS DE ONDE ESTIVER ESSA LINHA "void Interface::Work()" ADICIONAR ISSO:
gInterface.DrawInterfaceDragonLS3();
gInterface.DrawInterfaceDragonRS3();
IMAGEn DA SOURCE DOS DRAGÕES
[Only registered and activated users can see links]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[DOWNLOAD]
DE LIKE E THANKS,POIS DEU TRABALHO PARA FAZER :), PARA O ANEXO APARECER. ABAIXO.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
LEMBRE-SE DE REVER OS CÓDIGOS [pLoadImage("Interface\\S2\\ ]
É COLOCAR O ENDEREÇO CORRETO DE ONDE ESTÃO AS IMAGENS, OU SEJA A PASTA QUE VOCÊ COLOCOU A INTERFACE.
Ajuda a fortalecer , ( ajuda-me , é eu ajudarei-te :D ).
[ CREDITOS ]
-WebZen
-X-team
-MuEMU
-Louis
-Mentor
-Smiley
-tammadall
-Yalc
-Kapocha33
-Froid11/Legendary
-and others who work for this stuff
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Fala família Perfectzone vamos nos ajudar? , TRAGO Até vocês
A Source code com tutorial - mais acho que está incompleto , não testei ainda..
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SEGUE OS DETALHES E APROVEITE ^^... =D.
SOURCE CODE - Interface Season3 na Season6
Inter3.h
#pragma once
#define pDrawInterfacEnumBer ((double(__stdcall*)(float X, float Y, int num, float size)) 0x854FE0)
Enum iInterface
{
iNewCharacter = 0x7A48,
iNewInvEntory = 0x7A49,
iNewWinpush = 0x7A4A,
iNewFastMEnu = 0x7A4B,
iNewSkillBox = 0x7A50,
iNewParty = 0x910,
};
void InitInter3();
static void DrawCoord();
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inter3.cpp
#include "stdafx.h"
#include "Inter3.h"
#include "Defines.h"
#include "TMEnory.h"
#include "User.h"
#include "Offset.h"
#include "Import.h"
__declspec(naked) void AGPosition()
{
static float AGPositionW = 13.0f;
static float AGPositionH = 39.0f;
static float AGPositionX = 552.0f;
static float AGPositionY = 435.0f;
static DWORD AGPosition_buff = 0x008102AD;
_asm
{
FLD DWORD PTR DS:[AGPositionW]
FSTP DWORD PTR SS:[EBP-0x18]
FLD DWORD PTR DS:[AGPositionH]
FSTP DWORD PTR SS:[EBP-0x14]
FLD DWORD PTR DS:[AGPositionX]
FSTP DWORD PTR SS:[EBP-0x10]
FLD DWORD PTR DS:[AGPositionY]
FSTP DWORD PTR SS:[EBP-0x0C]
jmp [AGPosition_buff]
}
}
__declspec(naked) void SDPosition()
{
static float SDPositionW = 14.0f;
static float SDPositionH = 39.0f;
static float SDPositionX = 73.0f;
static float SDPositionY = 435.0f;
static DWORD SDPosition_buff = 0x0081057D;
_asm
{
FLD DWORD PTR DS:[SDPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[SDPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
FLD DWORD PTR DS:[SDPositionX]
FSTP DWORD PTR SS:[EBP-0x10]
FLD DWORD PTR DS:[SDPositionY]
FSTP DWORD PTR SS:[EBP-0x0C]
jmp [SDPosition_buff]
}
}
__declspec(naked) void MANAPosition()
{
static float MANAPositionW = 52.0f;
static float MANAPositionX = 489.0f;
static float MANAPositionH = 48.0f;
static float MANAPositionY = 429.0f;
static DWORD MANAPosition_buff = 0x0080FFD0;
_asm
{
FLD DWORD PTR DS:[MANAPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[MANAPositionX]
FSTP DWORD PTR SS:[EBP-0x0C]
FLD DWORD PTR DS:[MANAPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
FLD DWORD PTR DS:[MANAPositionY]
FSTP DWORD PTR SS:[EBP-0x8]
jmp [MANAPosition_buff]
}
}
__declspec(naked) void HPPosition()
{
static float HPPositionW = 52.0f;
static float HPPositionX = 98.0f;
static float HPPositionH = 48.0f;
static float HPPositionY = 429.0f;
static DWORD HPPosition_buff = 0x0080FD7C;
_asm
{
FLD DWORD PTR DS:[HPPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[HPPositionX]
FSTP DWORD PTR SS:[EBP-0x0C]
FLD DWORD PTR DS:[HPPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
FLD DWORD PTR DS:[HPPositionY]
FSTP DWORD PTR SS:[EBP-0x8]
jmp [HPPosition_buff]
}
}
__declspec(naked) void UsingSkillPosition()
{
static float UsingSkillPositionX = 311.0f;
static float UsingSkillPositionY = 448.0f;
static float UsingSkillPositionW = 20.0f;
static float UsingSkillPositionH = 28.0f;
static DWORD UsingSkillPosition_buff = 0x00813900;
_asm
{
FLD DWORD PTR DS:[UsingSkillPositionX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[UsingSkillPositionY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[UsingSkillPositionW]
FSTP DWORD PTR SS:[EBP-0x18]
FLD DWORD PTR DS:[UsingSkillPositionH]
FSTP DWORD PTR SS:[EBP-0x14]
jmp [UsingSkillPosition_buff]
}
}
__declspec(naked) void SkillClickPosition()
{
static float SkillClickPositionX = 310.0f;
static float SkillClickPositionY = 431.0f;
static float SkillClickPositionW = 32.0f;
static float SkillClickPositionH = 38.0f;
static DWORD SkillClickPosition_buff = 0x00812734;
_asm
{
FLD DWORD PTR DS:[SkillClickPositionX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[SkillClickPositionY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[SkillClickPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[SkillClickPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
jmp [SkillClickPosition_buff]
}
}
__declspec(naked) void SkillBarDrawPosition()
{
static float SkillBarDrawPositionX = 222.0f;
static float SkillBarDrawPositionY = 480.0f;
static float SkillBarDrawPositionW = 160.0f;
static float SkillBarDrawPositionH = 38.0f;
static DWORD SkillBarDrawPosition_buff = 0x00812968;
_asm
{
FLD DWORD PTR DS:[SkillBarDrawPositionX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[SkillBarDrawPositionY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[SkillBarDrawPositionW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[SkillBarDrawPositionH]
FSTP DWORD PTR SS:[EBP-0x1C]
jmp [SkillBarDrawPosition_buff]
}
}
__declspec(naked) void SkillSwitchDraw()
{
static float SkillSwitchDrawX = 385.0f;
static float SkillSwitchDrawY = 380.0f;
static float SkillSwitchDrawW = 32.0f;
static float SkillSwitchDrawH = 38.0f;
static float SkillSwitchDrawMW = 385.0f;
static DWORD SkillSwitchDraw_buff = 0x008139CA;
_asm
{
FLD DWORD PTR DS:[SkillSwitchDrawX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[SkillSwitchDrawY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[SkillSwitchDrawW]
FSTP DWORD PTR SS:[EBP-0x18]
FLD DWORD PTR DS:[SkillSwitchDrawH]
FSTP DWORD PTR SS:[EBP-0x14]
FLD DWORD PTR DS:[SkillSwitchDrawMW]
FSTP DWORD PTR SS:[EBP-0x24]
jmp [SkillSwitchDraw_buff]
}
}
__declspec(naked) void SkillSwitchClick()
{
static float SkillSwitchDrawX = 385.0f;
static float SkillSwitchDrawY = 380.0f;
static float SkillSwitchDrawW = 32.0f;
static float SkillSwitchDrawH = 38.0f;
static float SkillSwitchDrawMW = 385.0f;
static DWORD SkillSwitchClick_buff = 0x00812D69;
_asm
{
FLD DWORD PTR DS:[SkillSwitchDrawX]
FSTP DWORD PTR SS:[EBP-0x8]
FLD DWORD PTR DS:[SkillSwitchDrawY]
FSTP DWORD PTR SS:[EBP-0x4]
FLD DWORD PTR DS:[SkillSwitchDrawW]
FSTP DWORD PTR SS:[EBP-0x20]
FLD DWORD PTR DS:[SkillSwitchDrawH]
FSTP DWORD PTR SS:[EBP-0x1C]
FLD DWORD PTR DS:[SkillSwitchDrawMW]
FSTP DWORD PTR SS:[EBP-0x14]
jmp [SkillSwitchClick_buff]
}
}
__declspec(naked) void QPosition1()
{
static float BarNumberY = 445.0f;
static DWORD QPosition1_buff = 0x00895A4F;
_asm
{
FLD DWORD PTR DS:[BarNumberY]
FSTP DWORD PTR SS:[ESP]
jmp [QPosition1_buff]
}
}
__declspec(naked) void QPosition2()
{
static float QPosition2X = 227.0f;
static DWORD QPosition2_buff = 0x00895A59;
_asm
{
FLD DWORD PTR DS:[QPosition2X]
FSTP DWORD PTR SS:[ESP]
jmp [QPosition2_buff]
}
}
__declspec(naked) void QPosition3()
{
static float BarPotionY = 453.0f;
static DWORD QPosition3_buff = 0x00895A63;
_asm
{
FLD DWORD PTR DS:[BarPotionY]
FSTP DWORD PTR SS:[ESP]
jmp [QPosition3_buff]
}
}
__declspec(naked) void QPosition4()
{
static float QPosition4X = 210.0f;
static DWORD QPosition4_buff = 0x00895A6D;
_asm
{
FLD DWORD PTR DS:[QPosition4X]
FSTP DWORD PTR SS:[ESP]
jmp [QPosition4_buff]
}
}
__declspec(naked) void WPosition1()
{
static float BarNumberY = 445.0f;
static DWORD WPosition1_buff = 0x00895AC4;
_asm
{
FLD DWORD PTR DS:[BarNumberY]
FSTP DWORD PTR SS:[ESP]
jmp [WPosition1_buff]
}
}
__declspec(naked) void WPosition2()
{
static float WPosition2X = 257.0f;
static DWORD WPosition2_buff = 0x00895ACE;
_asm
{
FLD DWORD PTR DS:[WPosition2X]
FSTP DWORD PTR SS:[ESP]
jmp [WPosition2_buff]
}
}
__declspec(naked) void WPosition3()
{
static float BarPotionY = 453.0f;
static DWORD WPosition3_buff = 0x00895AD8;
_asm
{
FLD DWORD PTR DS:[BarPotionY]
FSTP DWORD PTR SS:[ESP]
jmp [WPosition3_buff]
}
}
__declspec(naked) void WPosition4()
{
static float WPosition4X = 240.0f;
static DWORD WPosition4_buff = 0x00895AE2;
_asm
{
FLD DWORD PTR DS:[WPosition4X]
FSTP DWORD PTR SS:[ESP]
jmp [WPosition4_buff]
}
}
__declspec(naked) void EPosition1()
{
static float BarNumberY = 445.0f;
static DWORD EPosition1_buff = 0x00895B39;
_asm
{
FLD DWORD PTR DS:[BarNumberY]
FSTP DWORD PTR SS:[ESP]
jmp [EPosition1_buff]
}
}
__declspec(naked) void EPosition2()
{
static float EPosition2X = 287.0f;
static DWORD EPosition2_buff = 0x00895B43;
_asm
{
FLD DWORD PTR DS:[EPosition2X]
FSTP DWORD PTR SS:[ESP]
jmp [EPosition2_buff]
}
}
__declspec(naked) void EPosition3()
{
static float BarPotionY = 453.0f;
static DWORD EPosition3_buff = 0x00895B4D;
_asm
{
FLD DWORD PTR DS:[BarPotionY]
FSTP DWORD PTR SS:[ESP]
jmp [EPosition3_buff]
}
}
__declspec(naked) void EPosition4()
{
static float EPosition4X = 270.0f;
static DWORD EPosition4_buff = 0x00895B57;
_asm
{
FLD DWORD PTR DS:[EPosition4X]
FSTP DWORD PTR SS:[ESP]
jmp [EPosition4_buff]
}
}
__declspec(naked) void NopRShortKey()
{
static DWORD RButtonAddress = 0x00895C0C;
_asm{jmp RButtonAddress}
}
__declspec(naked) void HPNumberPosition()
{
DrawCoord();
static float HPNumberPositionX = 45.0f;
static DWORD HPNumberPosition_buff = 0x0080FF1E;
_asm
{
FADD DWORD PTR DS:[HPNumberPositionX]
FSTP DWORD PTR SS:[EBP-0x19C]
FLD DWORD PTR SS:[EBP-0x19C]
jmp [HPNumberPosition_buff]
}
}
__declspec(naked) void MasterButton()
{
static DWORD MasterButtonAddress1 = 0x0077ED20;
_asm
{
jmp [MasterButtonAddress1]
}
}
__declspec(naked) void HelperAll()
{
static DWORD HelperStopAddress1 = 0x007D28B4;
_asm
{
jmp [HelperStopAddress1]
}
}
//EXP
__declspec(naked) void EXP1()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXP1_buff = 0x00811408;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD DWORD PTR SS:[EBP-0x1B0]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXP1_buff]
}
}
__declspec(naked) void EXP2()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXP2_buff = 0x00811552;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD DWORD PTR SS:[EBP-0x1C4]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXP2_buff]
}
}
__declspec(naked) void EXP3()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXP3_buff = 0x00811719;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD DWORD PTR SS:[EBP-0x1B0]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXP3_buff]
}
}
__declspec(naked) void EXP4()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXP4_buff = 0x0081181F;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
FLD QWORD PTR SS:[EBP-0x20]
jmp [EXP4_buff]
}
}
//EXP MASTER
__declspec(naked) void EXPMASTER1()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXPMASTER1_buff = 0x00810B6E;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR SS:[EBP-0x58]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXPMASTER1_buff]
}
}
__declspec(naked) void EXPMASTER2()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXPMASTER2_buff = 0x00810CB5;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR SS:[EBP-0x88]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXPMASTER2_buff]
}
}
__declspec(naked) void EXPMASTER3()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXPMASTER3_buff = 0x00810E79;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR SS:[EBP-0x58]
FMUL QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXPMASTER3_buff]
}
}
__declspec(naked) void EXPMASTER4()
{
static double Ancho = 221.0f;
static double Alto = 435.9f;
static double AnchoTex = 198.0f;
static double AltoTex = 4.0f;
static DWORD EXPMASTER4_buff = 0x00810F73;
_asm
{
FLD QWORD PTR DS:[Ancho]
FSTP QWORD PTR SS:[EBP-0x10]
FLD QWORD PTR DS:[Alto]
FSTP QWORD PTR SS:[EBP-0x8]
FLD QWORD PTR DS:[AnchoTex]
FSTP QWORD PTR SS:[EBP-0x28]
FLD QWORD PTR DS:[AltoTex]
FSTP QWORD PTR SS:[EBP-0x20]
jmp [EXPMASTER4_buff]
}
}
void DrawCoord()
{
lpCharObj lpObj = (lpCharObj)oUserObjectStruct;
if (*(DWORD*)MAIN_SCREEn_STATE == 5)
{
glColor3f(1.0f, 1.0f, 1.0f);
pDrawInterfacEnumBer(23, 460, gObjUser.lpViewPlayer->MapPosX, 1);
pDrawInterfacEnumBer(46, 460, gObjUser.lpViewPlayer->MapPosY, 1);
}
}
void InitInter3()
{
SetRange((LPVOID)0x0080F270, 0x4D1, ASM::NOP);//-> Interface -> Draw Button
//-
SetByte((PVOID)(0x008137AF + 3), 0);
SetByte((PVOID)(0x008119A7), 0xEB);
SetRange((LPVOID)0x00811AC0, 0xAC, ASM::NOP);
//-
SetRange((LPVOID)0x0081028C, 0x24, ASM::NOP);
SetOp((LPVOID)0x0081028C, (LPVOID)AGPosition, ASM::JMP);
//-
SetRange((LPVOID)0x0081055C, 0x24, ASM::NOP);
SetOp((LPVOID)0x0081055C, (LPVOID)SDPosition, ASM::JMP);
//-
SetRange((LPVOID)0x0080FFAF, 0x24, ASM::NOP);
SetOp((LPVOID)0x0080FFAF, (LPVOID)MANAPosition, ASM::JMP);
//-
SetRange((LPVOID)0x0080FD5B, 0x24, ASM::NOP);
SetOp((LPVOID)0x0080FD5B, (LPVOID)HPPosition, ASM::JMP);
//-
SetRange((LPVOID)0x008138DF, 0x24, ASM::NOP);
SetOp((LPVOID)0x008138DF, (LPVOID)UsingSkillPosition, ASM::JMP);
//-
SetRange((LPVOID)0x00812713, 0x24, ASM::NOP);
SetOp((LPVOID)0x00812713, (LPVOID)SkillClickPosition, ASM::JMP);
//-
SetRange((LPVOID)0x00812947, 0x24, ASM::NOP);
SetOp((LPVOID)0x00812947, (LPVOID)SkillBarDrawPosition, ASM::JMP);
//-
SetRange((LPVOID)0x008139A0, 0x2D, ASM::NOP);
SetOp((LPVOID)0x008139A0, (LPVOID)SkillSwitchDraw, ASM::JMP);
//-
SetRange((LPVOID)0x00812D3F, 0x2D, ASM::NOP);
SetOp((LPVOID)0x00812D3F, (LPVOID)SkillSwitchClick, ASM::JMP);
//-
SetRange((LPVOID)0x0080FF12, 0x12, ASM::NOP);
SetOp((LPVOID)0x0080FF12, (LPVOID)HPNumberPosition, ASM::JMP);
//-
SetRange((LPVOID)0x0077EC97, 0x88, ASM::NOP);
SetOp((LPVOID)0x0077EC97, (LPVOID)MasterButton, ASM::JMP);
//-
//->Q
SetRange((LPVOID)0x00895A49, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895A49, (LPVOID)QPosition1, ASM::JMP);
//-
SetRange((LPVOID)0x00895A53, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895A53, (LPVOID)QPosition2, ASM::JMP);
//-
SetRange((LPVOID)0x00895A5D, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895A5D, (LPVOID)QPosition3, ASM::JMP);
//-
SetRange((LPVOID)0x00895A67, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895A67, (LPVOID)QPosition4, ASM::JMP);
//->W
SetRange((LPVOID)0x00895ABE, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895ABE, (LPVOID)WPosition1, ASM::JMP);
//-
SetRange((LPVOID)0x00895AC8, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895AC8, (LPVOID)WPosition2, ASM::JMP);
//-
SetRange((LPVOID)0x00895AD2, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895AD2, (LPVOID)WPosition3, ASM::JMP);
//-
SetRange((LPVOID)0x00895ADC, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895ADC, (LPVOID)WPosition4, ASM::JMP);
//-
//->E
SetRange((LPVOID)0x00895B33, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895B33, (LPVOID)EPosition1, ASM::JMP);
//-
SetRange((LPVOID)0x00895B3D, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895B3D, (LPVOID)EPosition2, ASM::JMP);
//-
SetRange((LPVOID)0x00895B47, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895B47, (LPVOID)EPosition3, ASM::JMP);
//-
SetRange((LPVOID)0x00895B51, 0x9, ASM::NOP);
SetOp((LPVOID)0x00895B51, (LPVOID)EPosition4, ASM::JMP);
//-
//->R
SetRange((LPVOID)0x00895B8D, 0x7E, ASM::NOP);
SetOp((LPVOID)0x00895B8D, (LPVOID)NopRShortKey, ASM::JMP);
/*SetRange((LPVOID)0x007D25C3, 0x2F0, ASM::NOP);
SetOp((LPVOID)0x007D25C3, (LPVOID)HelperAll, ASM::JMP);*/
//EXP
SetRange((LPVOID)0x008113DE, 5, ASM::NOP);
SetOp((LPVOID)0x008113DE, (LPVOID)EXP1, ASM::JMP);
SetRange((LPVOID)0x00811528, 5, ASM::NOP);
SetOp((LPVOID)0x00811528, (LPVOID)EXP2, ASM::JMP);
SetRange((LPVOID)0x008116EF, 5, ASM::NOP);
SetOp((LPVOID)0x008116EF, (LPVOID)EXP3, ASM::JMP);
SetRange((LPVOID)0x008117F8, 5, ASM::NOP);
SetOp((LPVOID)0x008117F8, (LPVOID)EXP4, ASM::JMP);
//EXPMASTER
SetRange((LPVOID)0x00810B47, 5, ASM::NOP);
SetOp((LPVOID)0x00810B47, (LPVOID)EXPMASTER1, ASM::JMP);
SetRange((LPVOID)0x00810C8B, 5, ASM::NOP);
SetOp((LPVOID)0x00810C8B, (LPVOID)EXPMASTER2, ASM::JMP);
SetRange((LPVOID)0x00810E52, 5, ASM::NOP);
SetOp((LPVOID)0x00810E52, (LPVOID)EXPMASTER3, ASM::JMP);
SetRange((LPVOID)0x00810F4F, 5, ASM::NOP);
SetOp((LPVOID)0x00810F4F, (LPVOID)EXPMASTER4, ASM::JMP);
//Posicion Numero Exp
SetDouble((PVOID)(0x00D461C0), 425);
SetDouble((PVOID)(0x00D461B8), 431);
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Import.h
//CashShop
#define sub_944E50_Addr ((char(*)()) 0x944E50)
#define sub_93F370_Addr ((void*(*)()) 0x93F370)
#define sub_93FCA0_Addr ((bool(__thiscall*)(int a1)) 0x93FCA0)
#define sub_93F600_Addr ((char(__thiscall*)(char* a1)) 0x93F600)
#define sub_93FD10_Addr ((bool(__thiscall*)(int a1)) 0x93FD10)
#define sub_93F950_Addr ((char(__thiscall*)(char* a1)) 0x93F950)
#define sub_941030_Addr ((int(__thiscall*)(BYTE* a1)) 0x941030)
#define sub_941000_Addr ((int(__thiscall*)(BYTE* a1)) 0x941000)
#define sub_944FE0_Addr ((void(__thiscall*)(BYTE *This, int a2, BYTE *a3)) 0x944FE0)
#define sub_9406C0_Addr ((char(__thiscall*)(BYTE* a1)) 0x9406C0)
#define sub_9406A0_Addr ((BYTE*(__thiscall*)(BYTE* a1, char a2)) 0x9406A0)
#define sub_8611E0_Addr ((int(__thiscall*)(DWORD* a1)) 0x8611E0)
#define sub_815130_Addr ((int(__thiscall*)(char *This, int a2, char a3)) 0x815130)
#define sub_861900_Addr ((int(__thiscall*)(int This)) 0x861900)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Protocol.h
bool CashShopSwitchState();
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Protocol.cpp
DEVE ADICIONAR Import.h
//Cashshop Fix
struct PMSG_CASH_SHOP_OPEn_RECV
{
#pragma pack(1)
PSBMSG_HEAD header; // C1:D2:02
BYTE OpEnType;
#pragma pack()
};
void OpEnCashShopSEnd(BYTE type)
{
PMSG_CASH_SHOP_OPEn_RECV pMsg;
pMsg.OpEnType = type;
pMsg.header.set(0xD2,0x02,sizeof(pMsg));
DataSEnd((BYTE*)&pMsg,sizeof(pMsg));
}
bool CashShopSwitchState()
{
sub_861900_Addr((int)pWindowThis());
if ( !sub_944E50_Addr() )
return 0;
void* v48 = sub_93F370_Addr();
if ( sub_93FCA0_Addr((int)v48) == 1 )
{
if ( !sub_93F600_Addr((CHAR *)sub_93F370_Addr()) )
return 0;
}
if ( sub_93FD10_Addr((int)sub_93F370_Addr()) == 1 )
{
if ( sub_93F950_Addr((CHAR *)sub_93F370_Addr()) == 1 )
{
BYTE* v53 = (BYTE *)sub_941030_Addr((BYTE*)sub_93F370_Addr());
int v55 = sub_941000_Addr((BYTE*)sub_93F370_Addr());
BYTE* v57 = (BYTE *)sub_861900_Addr((int)pWindowThis());
sub_944FE0_Addr(v57, v55, v53);
}
}
if ( pCheckWindow(pWindowThis(), 65) )
{
OpEnCashShopSEnd(1);
pCloseWindow(pWindowThis(), 65);
}
else
{
if ( !sub_9406C0_Addr((BYTE*)sub_93F370_Addr()) )
{
OpEnCashShopSEnd(0);
sub_9406A0_Addr((BYTE*)sub_93F370_Addr(), 1);
char* v62 = (char *)sub_8611E0_Addr((DWORD*)pWindowThis());
sub_815130_Addr(v62, 0, 1);
}
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interface.cpp
En void Interface::Load() ADICIONAR ESSA LINHA
this->BindObject(eParty, iNewParty, 25, 25, 348, 449);
this->BindObject(eCharacter, iNewCharacter, 25, 25, 379, 449);
this->BindObject(eInvEntory, iNewInvEntory, 25, 25, 409, 449);
this->BindObject(eShop, 0x908, 25, 25, 440, 449);
this->BindObject(eFriEnd, iNewWinpush, 54, 20, 581, 432);
this->BindObject(eFastMEnu, iNewFastMEnu, 55, 21, 5, 432);
this->BindObject(eGuild, 0x904, 54, 20, 581, 454);
//=================
En void Interface::LoadImages() ADICIONAR ESSAS LINHAS
pLoadImage("Interface\\Custom\\MEnuS3_left.jpg", 31292, GL_LINEAR, GL_CLAMP, 1, 0); //replace
pLoadImage("Interface\\Custom\\MEnuS3_middle.jpg", 31293, GL_LINEAR, GL_CLAMP, 1, 0); //replace
pLoadImage("Interface\\Custom\\MEnuS3_right.jpg", 31294, GL_LINEAR, GL_CLAMP, 1, 0); //replace
pLoadImage("Interface\\Custom\\none.tga", 31295, GL_LINEAR, GL_CLAMP, 1, 0); //replace
pLoadImage("Interface\\Custom\\MEnuS3_Red.jpg", 0x7A42, GL_LINEAR, GL_CLAMP, 1, 0);//replace
pLoadImage("Interface\\Custom\\MEnuS3_GreEn.jpg", 0x7A41, GL_LINEAR, GL_CLAMP, 1, 0);//replace
pLoadImage("Interface\\Custom\\MEnuS3_Blue.jpg", 0x7A40, GL_LINEAR, GL_CLAMP, 1, 0);//replace
pLoadImage("Interface\\Custom\\MEnuS3_InvEntory.jpg", iNewInvEntory, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_Character.jpg", iNewCharacter, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_Party.jpg", iNewParty, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_friEnd.jpg", iNewWinpush, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_fastmEnu.jpg", iNewFastMEnu, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_CashShop.jpg", 0x908, GL_LINEAR, GL_CLAMP, 1, 0);
pLoadImage("Interface\\Custom\\MEnuS3_Guild.jpg", 0x904, GL_LINEAR, GL_CLAMP, 1, 0);
//=================
En Work() ADICIONAR ESSA LINHA
gInterface.DrawMEnuButton();
//=================
void Interface::DrawMEnuButton()
{
if (IsWorkZone(eParty))
{
this->DrawToolTip(345, 420, "Party");
}
if (this->CheckWindow(Party))
{
gInterface.DrawButton(eParty, 348, 449, 0.0, 0.0);
}
if (IsWorkZone(eCharacter))
{
this->DrawToolTip(375, 420, "Character");
}
if (this->CheckWindow(Character))
{
gInterface.DrawButton(eCharacter, 378.5f, 449, 0.0, 0.0);
}
if (IsWorkZone(eInvEntory))
{
this->DrawToolTip(405, 420, "InvEntory");
}
if (this->CheckWindow(InvEntory))
{
gInterface.DrawButton(eInvEntory, 409, 449, 0.0, 0.0);
}
if (IsWorkZone(eShop))
{
this->DrawToolTip(430, 420, "CashShop");
}
if (this->CheckWindow(CashShop))
{
gInterface.DrawButton(eShop, 439.5f, 449, 0.0, 0.0);
}
if (IsWorkZone(eFriEnd))
{
this->DrawToolTip(580, 420, "FriEnds");
}
if (this->CheckWindow(FriEndList))
{
gInterface.DrawButton(eFriEnd, 581, 432, 0.0, 0.0);
}
if (IsWorkZone(eGuild))
{
this->DrawToolTip(580, 444, "Guild");
}
if (this->CheckWindow(Guild))
{
gInterface.DrawButton(eGuild, 581, 454, 0.0, 0.0);
}
if (IsWorkZone(eFastMEnu))
{
this->DrawToolTip(13, 420, "SystEn");
}
if (this->CheckWindow(FastMEnu))
{
gInterface.DrawButton(eFastMEnu, 5, 432, 0.0, 0.0);
}
}
//=================
void Interface::EvEntMEnuButton(DWORD EvEnt)
{
DWORD CurrEntTick = GetTickCount();
if (this->CheckWindow(ChaosBox))
{
return;
}
if (IsWorkZone(eFastMEnu))
{
DWORD Delay = (CurrEntTick - this->Data[eFastMEnu].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eFastMEnu].OnClick = true;
return;
}
this->Data[eFastMEnu].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eFastMEnu].EvEntTick = GetTickCount();
if (this->CheckWindow(FastMEnu)) {
this->CloseWindow(FastMEnu);
}
else {
this->OpEnWindow(FastMEnu);
}
}
else if (IsWorkZone(eParty))
{
DWORD Delay = (CurrEntTick - this->Data[eParty].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eParty].OnClick = true;
return;
}
this->Data[eParty].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eParty].EvEntTick = GetTickCount();
if (this->CheckWindow(Party)) {
this->CloseWindow(Party);
}
else {
this->OpEnWindow(Party);
}
}
else if (IsWorkZone(eCharacter))
{
DWORD Delay = (CurrEntTick - this->Data[eCharacter].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eCharacter].OnClick = true;
return;
}
this->Data[eCharacter].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eCharacter].EvEntTick = GetTickCount();
if (this->CheckWindow(Character)) {
this->CloseWindow(Character);
}
else {
this->OpEnWindow(Character);
}
}
else if (IsWorkZone(eInvEntory))
{
DWORD Delay = (CurrEntTick - this->Data[eInvEntory].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eInvEntory].OnClick = true;
return;
}
this->Data[eInvEntory].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eInvEntory].EvEntTick = GetTickCount();
if (this->CheckWindow(InvEntory)) {
this->CloseWindow(InvEntory);
}
else {
this->OpEnWindow(InvEntory);
}
}
else if (IsWorkZone(eShop))
{
DWORD Delay = (CurrEntTick - this->Data[eFriEnd].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eShop].OnClick = true;
return;
}
this->Data[eShop].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eShop].EvEntTick = GetTickCount();
CashShopSwitchState();
}
else if (IsWorkZone(eFriEnd))
{
DWORD Delay = (CurrEntTick - this->Data[eFriEnd].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eFriEnd].OnClick = true;
return;
}
this->Data[eFriEnd].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eFriEnd].EvEntTick = GetTickCount();
if (this->CheckWindow(FriEndList)) {
this->CloseWindow(FriEndList);
}
else {
this->OpEnWindow(FriEndList);
}
}
else if (IsWorkZone(eGuild))
{
DWORD Delay = (CurrEntTick - this->Data[eGuild].EvEntTick);
if (EvEnt == WM_LBUTTONDOWN) {
this->Data[eGuild].OnClick = true;
return;
}
this->Data[eGuild].OnClick = false;
if (Delay < 500) {
return;
}
this->Data[eGuild].EvEntTick = GetTickCount();
if (this->CheckWindow(Guild)) {
this->CloseWindow(Guild);
}
else {
this->OpEnWindow(Guild);
}
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interface.h
En Enum ObjectID agregan
eSkillBox,
eDragonLeft,
eDragonRight,
eCharacter,
eInvEntory,
eParty,
eFriEnd,
eFastMEnu,
eShop,
eGuild,
//=================
En class Interface En lo public agregan
void EvEntMEnuButton(DWORD EvEnt);
void DrawMEnuButton();
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Controller.cpp
En LRESULT Controller::Mouse agregan
gInterface.EvEntMEnuButton(wParam);
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Main.cpp
InitInter3();
IMAGEn DA SOURCE INTERFACE S3 NO S6
[Only registered and activated users can see links]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SOURCE CODE - DRAÇÕES - NOS CANTOS
Interface.h
void DrawInterfaceDragonLS3();
void DrawInterfaceDragonRS3();
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interface.cpp
//
pLoadImage("Interface\\S2\\MEnu04.tga", 0x920, GL_LINEAR, GL_CLAMP, 1, 0);
//
void Interface::DrawInterfaceDragonLS3()
{
{
if (this->CheckWindow(ObjWindow::ChatWindow) || this->CheckWindow(ObjWindow::SkillTree) || this->CheckWindow(ObjWindow::CashShop)
|| (this->CheckWindow(FullMap)))
{
return;
}
pDrawImage(2336, 0.0, 387.0, 108.0, 45.0, 0, 0, 0.84375, 0.703125, 1, 1, 0.0);
}
}
void Interface::DrawInterfaceDragonRS3()
{
{
if (this->CheckWindow(ObjWindow::FriEndList) || this->CheckWindow(ObjWindow::Party) || this->CheckWindow(ObjWindow::Quest) || this->CheckWindow(ObjWindow::Guild)
|| (this->CheckWindow(CommandWindow) || this->CheckWindow(InvEntory) || this->CheckWindow(Character) || this->CheckWindow(FastMEnu) || this->CheckWindow(SkillTree)
|| this->CheckWindow(CashShop) || this->CheckWindow(FullMap) || this->CheckWindow(MuHelper)) || pMapNumber == 34 || pMapNumber == 30 || pMapNumber == 64)
{
return;
}
pDrawImage(2336, 532.0, 387.0, 108.0, 45.0, 1062731776, 0, -0.84375, 0.703125, 1, 1.0, 0.0);
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Interface.cpp DEPOIS DE ONDE ESTIVER ESSA LINHA "void Interface::Work()" ADICIONAR ISSO:
gInterface.DrawInterfaceDragonLS3();
gInterface.DrawInterfaceDragonRS3();
IMAGEn DA SOURCE DOS DRAGÕES
[Only registered and activated users can see links]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[DOWNLOAD]
DE LIKE E THANKS,POIS DEU TRABALHO PARA FAZER :), PARA O ANEXO APARECER. ABAIXO.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
LEMBRE-SE DE REVER OS CÓDIGOS [pLoadImage("Interface\\S2\\ ]
É COLOCAR O ENDEREÇO CORRETO DE ONDE ESTÃO AS IMAGENS, OU SEJA A PASTA QUE VOCÊ COLOCOU A INTERFACE.
Ajuda a fortalecer , ( ajuda-me , é eu ajudarei-te :D ).
[ CREDITOS ]
-WebZen
-X-team
-MuEMU
-Louis
-Mentor
-Smiley
-tammadall
-Yalc
-Kapocha33
-Froid11/Legendary
-and others who work for this stuff
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------