ANTES:
[Only registered and activated users can see links. Click Here To Register...]
DEPOIS:
[Only registered and activated users can see links. Click Here To Register...]
![]()
Créditos:
takumi12
Printable View
ANTES:
[Only registered and activated users can see links. Click Here To Register...]
DEPOIS:
[Only registered and activated users can see links. Click Here To Register...]
![]()
Créditos:
takumi12
desculpe a ignorância, para onde vai esse código?
Teste dessa formaCitação:
Originally Posted by comelon666 [Only registered and activated users can see links. Click Here To Register...]
main.cpp:
gFixSocket.Load();
.h:
cpp:Citação:
#pragma once#include "stdafx.h"
class FixSocket {
public:
void Load();
// ----
}; extern FixSocket gFixSocket;
Citação:
#include "stdafx.h"#include "FixSocket.h"
#include "Util.h"
FixSocket gFixSocket;
void __declspec(naked) ItemTooltipRender()
{
static DWORD Addr = 0x007E5CB6;
static DWORD Addr_Exc = 0;
static DWORD Addr_Acc = 0;
_asm
{
MOV ECX, DWORD PTR SS : [EBP + 0x10]
MOVZX EAX,BYTE PTR DS:[ECX+0x17]
MOV Addr_Exc, EAX
MOVZX EDX,BYTE PTR DS:[ECX+0x18]
MOV Addr_Acc, EDX
}
if(Addr_Exc >= 1 && Addr_Acc >= 1)
{
_asm
{
PUSH 1 ; /Arg7 = 00000001
PUSH 0 ; |Arg6 = 00000000
PUSH 3 ; |Arg5 = 00000003
PUSH 0 ; |Arg4 = 00000000
MOV EAX,DWORD PTR SS:[EBP-0x74] ; |
PUSH EAX ; |Arg3
MOV ECX,DWORD PTR SS:[EBP+0xC] ; |
//ADD ECX, 120
PUSH 0x5 ; |Arg2
MOV EDX,DWORD PTR SS:[EBP+0x8] ; |
PUSH EDX ; |Arg1
JMP [Addr]
}
}
else
{
_asm
{
PUSH 1 ; /Arg7 = 00000001
PUSH 0 ; |Arg6 = 00000000
PUSH 3 ; |Arg5 = 00000003
PUSH 0 ; |Arg4 = 00000000
MOV EAX,DWORD PTR SS:[EBP-0x74] ; |
PUSH EAX ; |Arg3
MOV ECX,DWORD PTR SS:[EBP+0xC] ; |
//ADD ECX, 120
PUSH ECX ; |Arg2
MOV EDX,DWORD PTR SS:[EBP+0x8] ; |
PUSH EDX ; |Arg1
JMP [Addr]
}
}
}
void FixSocket:: Load()
{
SetCompleteHook(0xE9, 0x007E5CA2, &ItemTooltipRender);
}
Parabéns ótimo trabalho e continue assim com seu esforço e dedicação no caminho certo
muito obrigado irmão, funciona perfeito assim.
Cara, não consigo fazer isso funcionar de jeito nenhum, acho que não funciona pra 1.04.09 (season 8) muemu louis tb.. to tentando colocar na source s8 upd13 mas não tem jeito .. talvez eu esteja fazendo errado tb.. mas se alguém souber senão funciona em season 8 me da um alô :)
Criei um arquivo FixSocket.h
Criei um arquivo FixSocket.cppCitação:
#pragma once
#include "stdafx.h"
class FixSocket {
public:
void Load();
// ----
}; extern FixSocket gFixSocket;
e criei o que acredito ser uma chamada no arquivo main.cppCódigo:#include "stdafx.h"#include "FixSocket.h"
#include "Util.h"
FixSocket gFixSocket;
void __declspec(naked) ItemTooltipRender()
{
static DWORD Addr = 0x007E5CB6;
static DWORD Addr_Exc = 0;
static DWORD Addr_Acc = 0;
_asm
{
MOV ECX, DWORD PTR SS : [EBP + 0x10]
MOVZX EAX,BYTE PTR DS:[ECX+0x17]
MOV Addr_Exc, EAX
MOVZX EDX,BYTE PTR DS:[ECX+0x18]
MOV Addr_Acc, EDX
}
if(Addr_Exc >= 1 && Addr_Acc >= 1)
{
_asm
{
PUSH 1 ; /Arg7 = 00000001
PUSH 0 ; |Arg6 = 00000000
PUSH 3 ; |Arg5 = 00000003
PUSH 0 ; |Arg4 = 00000000
MOV EAX,DWORD PTR SS:[EBP-0x74] ; |
PUSH EAX ; |Arg3
MOV ECX,DWORD PTR SS:[EBP+0xC] ; |
//ADD ECX, 120
PUSH 0x5 ; |Arg2
MOV EDX,DWORD PTR SS:[EBP+0x8] ; |
PUSH EDX ; |Arg1
JMP [Addr]
}
}
else
{
_asm
{
PUSH 1 ; /Arg7 = 00000001
PUSH 0 ; |Arg6 = 00000000
PUSH 3 ; |Arg5 = 00000003
PUSH 0 ; |Arg4 = 00000000
MOV EAX,DWORD PTR SS:[EBP-0x74] ; |
PUSH EAX ; |Arg3
MOV ECX,DWORD PTR SS:[EBP+0xC] ; |
//ADD ECX, 120
PUSH ECX ; |Arg2
MOV EDX,DWORD PTR SS:[EBP+0x8] ; |
PUSH EDX ; |Arg1
JMP [Addr]
}
}
}
void FixSocket:: Load()
{
SetCompleteHook(0xE9, 0x007E5CA2, &ItemTooltipRender);
}
Me digam aew onde eu estou errando, ou esse sistema não funciona pra 1.04.09? (season8)Código:gCustomMonster.Load(gProtect.m_MainInfo.CustomMonsters);
gNPCName.Load(gProtect.m_MainInfo.CustomNPCName);
gCustomGloves.Load(gProtect.m_MainInfo.CustomGloves);
InitCommon();
gFixSocket.Load(); //iniciando o fix de items socket+exe+set view
InitHackCheck();
InitItem();
InitJewel();
InitMemoryProtection();
Você precisa verificar os offsets/asm do seu main, sabe dizer para qual main foi feito a correção ?
Funcionar, funciona. Porém é necessário verificar os offsets, pois mudam já que é um sistema para main 1.04.05, e ver se as funções terão alguma diferença para que possa adaptarCitação:
Originally Posted by zerocallitp [Only registered and activated users can see links. Click Here To Register...]
Acredito que pelas imagens ali em cima seja season6 .. mas dai certinho qual versao nao sei dizer.Citação:
Originally Posted by Maykon [Only registered and activated users can see links. Click Here To Register...]
Me adiciona no Skype que eu ajudo!Citação:
Originally Posted by zerocallitp [Only registered and activated users can see links. Click Here To Register...]