Alguem sabe dizer porque esta acontecendo isso quando eu mudo o valor nessa linha
#define MAX_CUSTOM_WING 15 <-- mudo de 15 para 20 ou 40 o (Main.exe não abre mais) e o tamanho da Main.dll sobe de 302 kb para 308 kb
Alguem sabe dizer porque esta acontecendo isso quando eu mudo o valor nessa linha
#define MAX_CUSTOM_WING 15 <-- mudo de 15 para 20 ou 40 o (Main.exe não abre mais) e o tamanho da Main.dll sobe de 302 kb para 308 kb
Sempre que você compila a dll tem que colocar ela na pasta MAIN_INFO e gerar o main.emu novamente.
@[Somente membros podem ver os links. ], @[Somente membros podem ver os links. ], mesmo mantendo os offsets na main.dll do s6 e s8, buga as small wings na versão s6 e s8, sem esse fix de liberação de novas wings, as small wings fica normal, com o fix elas ficam invisível quando move ou quando reloga, podem ajudar?
bom como conseguir fazer o fix graças ao @[Somente membros podem ver os links. ] sem ele n teria conseguido obrigado man ^^
Então liberarei pra comunidade
esse code ira solucionar o bug da asa ficar invisível ao mudar de mapa
Limiti wings
Dica
#define MAX_CUSTOM_WING 40
Fixa SetPreviwerChar
Procurar no Item.cpp
Dica
__declspec(naked) void WingMakePreviewCharSet() // OK
{
static DWORD WingMakePreviewCharSetAddress1 = 0x004F71DE;
static DWORD WingMakePreviewCharSetAddress2 = 0x004F717D;
_asm
{
Mov Ecx,Dword Ptr Ss:[Ebp+0x0C]
Movzx Edx,Byte Ptr Ds:[Ecx+0x10]
Sar Edx,0x01
And Edx,0xF
Test Edx,Edx
Je EXIT
Mov Eax,Dword Ptr Ss:[Ebp+0x0C]
Movzx Ecx,Byte Ptr Ds:[Eax+0x10]
Sar Ecx,0x01
And Ecx,0xF
Sub Ecx,0x01
Push Ecx
Lea Ecx,gCustomWing
Call [CCustomWing::CheckCustomWing]
Test Eax,Eax
Je EXIT
Mov Edx,Dword Ptr Ss:[Ebp+0x0C]
Movzx Eax,Byte Ptr Ds:[Edx+0x10]
Sar Eax,0x01
And Eax,0xF
Sub Eax,0x01
Push Eax
Lea Ecx,gCustomWing
Call [CCustomWing::GetCustomWingItem]
Add Eax,ITEM_BASE_MODEL
Mov Ecx,Dword Ptr Ss:[Ebp-0x08]
Mov Word Ptr Ds:[Ecx+0x1C0],Ax
Jmp [WingMakePreviewCharSetAddress1]
EXIT:
Mov Eax,Dword Ptr Ss:[Ebp-0x04]
And Eax,0xFF
Jmp [WingMakePreviewCharSetAddress2]
}
}
Substituir por
Dica
__declspec(naked) void WingMakePreviewCharSet() // OK
{
static DWORD WingMakePreviewCharSetAddress1 = 0x004F71DE;
static DWORD WingMakePreviewCharSetAddress2 = 0x004F717D;
_asm
{
Mov Ecx,Dword Ptr Ss:[Ebp+0x0C]
Movzx Edx,Byte Ptr Ds:[Ecx+0x10]
Sar Edx,0x01
And Edx,0x0FF
Test Edx,Edx
Je EXIT
Mov Eax,Dword Ptr Ss:[Ebp+0x0C]
Movzx Ecx,Byte Ptr Ds:[Eax+0x10]
Sar Ecx,0x01
And Ecx,0x0FF
Sub Ecx,0x01
Push Ecx
Lea Ecx,gCustomWing
Call [CCustomWing::CheckCustomWing]
Test Eax,Eax
Je EXIT
Mov Edx,Dword Ptr Ss:[Ebp+0x0C]
Movzx Eax,Byte Ptr Ds:[Edx+0x10]
Sar Eax,0x01
And Eax,0x0FF
Sub Eax,0x01
Push Eax
Lea Ecx,gCustomWing
Call [CCustomWing::GetCustomWingItem]
Add Eax,ITEM_BASE_MODEL
Mov Ecx,Dword Ptr Ss:[Ebp-0x08]
Mov Word Ptr Ds:[Ecx+0x1C0],Ax
Jmp [WingMakePreviewCharSetAddress1]
EXIT:
Mov Eax,Dword Ptr Ss:[Ebp-0x04]
And Eax,0xFF
Jmp [WingMakePreviewCharSetAddress2]
}
}
Compile e divirta-se
PROBLEMA RESOLVIDO amigo sabe porque quando defino a #define MAX_CUSTOM_WING para qualquer numero maior que 15 o main nao abre?, se retorno par 15 abre?
obs. a cada alteração na dll eu gero o GetMainInfo novamente.
AMIGO problema acima resolvi agora a asa nao aparece no select char e nem quando move. ali fala que fixa isso mais aqui nao fixou sabe oq pode ser?
3 minutes:------- Atualizado -------
consegui resolver isso, abrindo a source do GetMainInfo.exe, indo em custonwings e aumentando o limite la, deixando igual do main e igual no gs
Last edited by Marco_Aurélio; 06/09/2017 at 10:25 AM.
Last edited by LEGENDARY; 11/08/2019 at 03:53 AM.
Olá novamente colega!WingInvisible.cpp:
Então, não sei que source é essa, mais acredito que seja da MuEMU, se não, não faria sentido você comentar neste tópico.
Deduzindo isso, no próprio código fonte do Main, tem um arquivo chamado WingInvisible que cuida de fixar isso, verifica se no seu código fonte tem, caso não tenho, vou deixar o código aqui.
WingInvisible.h:Código:#include "stdafx.h" #include "WingInvisible.h" #include "Offset.h" #include "Util.h" #include "TMemory.h" #include "ToolKit.h" #include "Import.h" #include "Defines.h" DWORD WingsSetInvisibleEffect_Pointer; DWORD WingsSetInvisibleEffect_Buff; Naked(WingsSetInvisibleEffect) // -> 12 -> 005EC31D { _asm { mov WingsSetInvisibleEffect_Buff, esi // ---- mov ecx, dword ptr ss : [ebp + 8] mov esi, dword ptr ds : [ecx + 0x30] mov WingsSetInvisibleEffect_Pointer, esi // ---- mov esi, WingsSetInvisibleEffect_Buff } // ---- wing an hien if (WingsSetInvisibleEffect_Pointer == 0x1EA5 || WingsSetInvisibleEffect_Pointer == ITEM2(12, 209)) { _asm { mov WingsSetInvisibleEffect_Buff, 0x0060B37A jmp WingsSetInvisibleEffect_Buff } } else { _asm { mov WingsSetInvisibleEffect_Buff, 0x0060B41D jmp WingsSetInvisibleEffect_Buff } } } void WingInvisible() { SetRange((LPVOID)0x0060B36A, 12, ASM::NOP); SetOp((LPVOID)0x0060B36A, WingsSetInvisibleEffect, ASM::JMP); }
Código:#pragma once void WingInvisible();HÁ, não esquece de inclui-lo no stdafx.h do projeto, caso não inclua, não irá funcionar.
Até breve...
att's
É melhor estar enganado, do que ser enganado.
OLÁ PARCEIRO , FICO MUITO GRATO AO TER ME RESPONDIDO , REALMENTE A SOURCE QUE ESTOU USANDO É DA MUEMU -AKANIA S6Olá novamente colega!WingInvisible.cpp:
Então, não sei que source é essa, mais acredito que seja da MuEMU, se não, não faria sentido você comentar neste tópico.
Deduzindo isso, no próprio código fonte do Main, tem um arquivo chamado WingInvisible que cuida de fixar isso, verifica se no seu código fonte tem, caso não tenho, vou deixar o código aqui.
WingInvisible.h:Código:#include "stdafx.h" #include "WingInvisible.h" #include "Offset.h" #include "Util.h" #include "TMemory.h" #include "ToolKit.h" #include "Import.h" #include "Defines.h" DWORD WingsSetInvisibleEffect_Pointer; DWORD WingsSetInvisibleEffect_Buff; Naked(WingsSetInvisibleEffect) // -> 12 -> 005EC31D { _asm { mov WingsSetInvisibleEffect_Buff, esi // ---- mov ecx, dword ptr ss : [ebp + 8] mov esi, dword ptr ds : [ecx + 0x30] mov WingsSetInvisibleEffect_Pointer, esi // ---- mov esi, WingsSetInvisibleEffect_Buff } // ---- wing an hien if (WingsSetInvisibleEffect_Pointer == 0x1EA5 || WingsSetInvisibleEffect_Pointer == ITEM2(12, 209)) { _asm { mov WingsSetInvisibleEffect_Buff, 0x0060B37A jmp WingsSetInvisibleEffect_Buff } } else { _asm { mov WingsSetInvisibleEffect_Buff, 0x0060B41D jmp WingsSetInvisibleEffect_Buff } } } void WingInvisible() { SetRange((LPVOID)0x0060B36A, 12, ASM::NOP); SetOp((LPVOID)0x0060B36A, WingsSetInvisibleEffect, ASM::JMP); }
Código:#pragma once void WingInvisible();HÁ, não esquece de inclui-lo no stdafx.h do projeto, caso não inclua, não irá funcionar.
Até breve...
att's
CONTUDO SEGUI PASSO A PASSO INCLUI NO stdafx.h É MESMO ASSIM A SMALL WING BK FICA SUMINDO AO TELEPORTAR DE MAPA OU TROCAR DE CONTA /CHAR
O QUE ESTOU FAZENDO ERRADO FALTA MAIS ALGO SERÁ?...
Até aparece, mas quando movo vira asa de elf lv1bom como conseguir fazer o fix graças ao @[Somente membros podem ver os links. ] sem ele n teria conseguido obrigado man ^^
Então liberarei pra comunidade
esse code ira solucionar o bug da asa ficar invisível ao mudar de mapa
Limiti wings
Dica
#define MAX_CUSTOM_WING 40
Fixa SetPreviwerChar
Procurar no Item.cpp
Dica
__declspec(naked) void WingMakePreviewCharSet() // OK
{
static DWORD WingMakePreviewCharSetAddress1 = 0x004F71DE;
static DWORD WingMakePreviewCharSetAddress2 = 0x004F717D;
_asm
{
Mov Ecx,Dword Ptr Ss:[Ebp+0x0C]
Movzx Edx,Byte Ptr Ds:[Ecx+0x10]
Sar Edx,0x01
And Edx,0xF
Test Edx,Edx
Je EXIT
Mov Eax,Dword Ptr Ss:[Ebp+0x0C]
Movzx Ecx,Byte Ptr Ds:[Eax+0x10]
Sar Ecx,0x01
And Ecx,0xF
Sub Ecx,0x01
Push Ecx
Lea Ecx,gCustomWing
Call [CCustomWing::CheckCustomWing]
Test Eax,Eax
Je EXIT
Mov Edx,Dword Ptr Ss:[Ebp+0x0C]
Movzx Eax,Byte Ptr Ds:[Edx+0x10]
Sar Eax,0x01
And Eax,0xF
Sub Eax,0x01
Push Eax
Lea Ecx,gCustomWing
Call [CCustomWing::GetCustomWingItem]
Add Eax,ITEM_BASE_MODEL
Mov Ecx,Dword Ptr Ss:[Ebp-0x08]
Mov Word Ptr Ds:[Ecx+0x1C0],Ax
Jmp [WingMakePreviewCharSetAddress1]
EXIT:
Mov Eax,Dword Ptr Ss:[Ebp-0x04]
And Eax,0xFF
Jmp [WingMakePreviewCharSetAddress2]
}
}
Substituir por
Dica
__declspec(naked) void WingMakePreviewCharSet() // OK
{
static DWORD WingMakePreviewCharSetAddress1 = 0x004F71DE;
static DWORD WingMakePreviewCharSetAddress2 = 0x004F717D;
_asm
{
Mov Ecx,Dword Ptr Ss:[Ebp+0x0C]
Movzx Edx,Byte Ptr Ds:[Ecx+0x10]
Sar Edx,0x01
And Edx,0x0FF
Test Edx,Edx
Je EXIT
Mov Eax,Dword Ptr Ss:[Ebp+0x0C]
Movzx Ecx,Byte Ptr Ds:[Eax+0x10]
Sar Ecx,0x01
And Ecx,0x0FF
Sub Ecx,0x01
Push Ecx
Lea Ecx,gCustomWing
Call [CCustomWing::CheckCustomWing]
Test Eax,Eax
Je EXIT
Mov Edx,Dword Ptr Ss:[Ebp+0x0C]
Movzx Eax,Byte Ptr Ds:[Edx+0x10]
Sar Eax,0x01
And Eax,0x0FF
Sub Eax,0x01
Push Eax
Lea Ecx,gCustomWing
Call [CCustomWing::GetCustomWingItem]
Add Eax,ITEM_BASE_MODEL
Mov Ecx,Dword Ptr Ss:[Ebp-0x08]
Mov Word Ptr Ds:[Ecx+0x1C0],Ax
Jmp [WingMakePreviewCharSetAddress1]
EXIT:
Mov Eax,Dword Ptr Ss:[Ebp-0x04]
And Eax,0xFF
Jmp [WingMakePreviewCharSetAddress2]
}
}
Compile e divirta-se