PDA

View Full Version : |Source| OffSet liberar limite de wings MuEmu



boris160
27/06/2017, 07:32 PM
[Only registered and activated users can see links]

Então liberarei pra comunidade


esse code ira solucionar o bug da asa ficar invisível ao mudar de mapa

Limiti wings



#define MAX_CUSTOM_WING 40


Fixa SetPreviwerChar

Procurar no Item.cpp



__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



__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

Marceliin
27/06/2017, 08:17 PM
Poe pra qual versão.

louis
27/06/2017, 08:22 PM
Muito bom, obrigado, pelo que estou vendo liberou 255 e limitou em 40, certo? kk

2 minutes:------- Atualizado -------


Poe pra qual versão.

Season 4. serve pra s6 e s8 também, só manter o offset.

boris160
27/06/2017, 08:28 PM
Muito bom, obrigado, pelo que estou vendo liberou 255 e limitou em 40, certo? kk

exato kkkk :ott1

paulobrandao20
27/06/2017, 11:21 PM
Boris160 FAZ VIDEO NO CANAL

Unico
28/06/2017, 02:59 AM
Muito bom, obrigado, pelo que estou vendo liberou 255 e limitou em 40, certo? kk

2 minutes:------- Atualizado -------



Season 4. serve pra s6 e s8 também, só manter o offset.

voce aumente soporte do wing do repack s4 kk . quedari bom

paulobrandao20
28/06/2017, 03:20 AM
tomara que libera 255 e limitou em 40

louis
28/06/2017, 09:34 AM
Vou por 100... É mais que suficiente... Mais que isso pode bugar algo kk

L.Henrique
28/06/2017, 09:40 AM
Preparem os guarda-chuva pois vai chover Wing lol

Unico
28/06/2017, 04:53 PM
kkkk livera soporte y eu livero novas wing kkkkkkk

richardj
29/06/2017, 10:19 PM
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

louis
29/06/2017, 11:59 PM
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.

richardj
30/06/2017, 01:10 PM
@louis ([Only registered and activated users can see links]) então eu gero de novo o main mas msm assim não abre o main.exe

jhonhy™
09/08/2017, 01:59 AM
louis, boris160, 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?

Marco_Aurélio
06/09/2017, 10:08 AM
[Only registered and activated users can see links]

Então liberarei pra comunidade


esse code ira solucionar o bug da asa ficar invisível ao mudar de mapa

Limiti wings



#define MAX_CUSTOM_WING 40


Fixa SetPreviwerChar

Procurar no Item.cpp



__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



__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 -------


@louis ([Only registered and activated users can see links]) então eu gero de novo o main mas msm assim não abre o main.exe

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

LEGENDARY
11/08/2019, 03:21 AM
louis s00x boris160 djagripnos - me ajuda , como corrijo o bug da small wing desaparecer no muemu arkania S6 , quando mudo de mapa ou relogo? da um help ai

s00x
11/08/2019, 11:00 AM
Olá novamente colega!

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.cpp:


#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);
}

WingInvisible.h:


#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

LEGENDARY
11/08/2019, 08:16 PM
Olá novamente colega!

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.cpp:


#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);
}

WingInvisible.h:


#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

OLÁ PARCEIRO , FICO MUITO GRATO AO TER ME RESPONDIDO , REALMENTE A SOURCE QUE ESTOU USANDO É DA MUEMU -AKANIA S6
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Á?...

cleniojr
14/03/2020, 12:09 PM
[Only registered and activated users can see links]

Então liberarei pra comunidade


esse code ira solucionar o bug da asa ficar invisível ao mudar de mapa

Limiti wings



#define MAX_CUSTOM_WING 40


Fixa SetPreviwerChar

Procurar no Item.cpp



__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



__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



Até aparece, mas quando movo vira asa de elf lv1