Para quienes lo querían ordenado, si falta algo avisen que en cuento pueda lo coloco aca
Funciona en main 1.04e (Muemu)
Los detalles que faltaban también los dejo acá
El dragon a los lados no lo pidan que no lo tengo
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 "TMemory.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
Debe incluir 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() agregan
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() agregan
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() agregar
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, "System");
}
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
Archivos de la interface
Password
tuservermu.com.ve