*(DWORD*)0xC6F480 = (DWORD)hkGenieSetPos;
void __stdcall SetVisible_Hook
void __stdcall SetUI_Hook(int x, int y)
#if 0
*(DWORD*)0xC6F480 = (DWORD)hkGenieSetPos;
#endif
void __stdcall SetVisible_Hook(bool isVisible)
{
DWORD thisPtr;
__asm
{
MOV thisPtr, ECX
}
if (g_pMain->varius
&& thisPtr == g_pMain->varius
&& g_pMain->pClientUIState && isVisible)
g_pMain->pClientUIState->resetPerks();
if (g_pMain->uiSeedHelperPlug != NULL && thisPtr == g_pMain->uiSeedHelperPlug->group_option_grapic2)
{...
iletişime geçiyorum@YNG yardımcı olur
Kendisi işini bilen işin ehli bir arkadaş
Knk çözümü bulabilirsen bizide bilgilendirirmisin aynı sorunu bende yaşıyorumiletişime geçiyorum
asm taraflıda müdehale edilmesi lazım diye biliyorum şuan @YNG de çalışan sistem var ücretli olarak yardımcı olurçözülen varsa benimle paylaşabilir misi lazım olanlar var.
ne ücreti aksam forumdaasm taraflıda müdehale edilmesi lazım diye biliyorum şuan @YNG de çalışan sistem var ücretli olarak yardımcı olur
*(DWORD*)0xC6F480 = (DWORD)hkGenieSetPos;
void __stdcall SetVisible_Hook
void __stdcall SetUI_Hook(int x, int y)
#if 0
*(DWORD*)0xC6F480 = (DWORD)hkGenieSetPos;
#endif
void __stdcall SetVisible_Hook(bool isVisible)
{
DWORD thisPtr;
__asm
{
MOV thisPtr, ECX
}
if (g_pMain->varius
&& thisPtr == g_pMain->varius
&& g_pMain->pClientUIState && isVisible)
g_pMain->pClientUIState->resetPerks();
if (g_pMain->uiSeedHelperPlug != NULL && thisPtr == g_pMain->uiSeedHelperPlug->group_option_grapic2)
{
g_pMain->SetState(g_pMain->uiSeedHelperPlug->btn_render_objects, isRenderObject ? UI_STATE_BUTTON_DOWN : UI_STATE_BUTTON_NORMAL);
g_pMain->SetState(g_pMain->uiSeedHelperPlug->btn_hide_player, isHideUser ? UI_STATE_BUTTON_DOWN : UI_STATE_BUTTON_NORMAL);
}
if (g_pMain->uiGenieMain != NULL && g_pMain->uiGenieMain->etc == thisPtr && isVisible)
{
g_pMain->SetState(g_pMain->uiGenieMain->btn_party_leader_on, isLeaderAttack ? UI_STATE_BUTTON_DOWN : UI_STATE_BUTTON_NORMAL);
g_pMain->SetState(g_pMain->uiGenieMain->btn_party_leader_off, isLeaderAttack ? UI_STATE_BUTTON_NORMAL : UI_STATE_BUTTON_DOWN);
}
//Genie YNG
#if 0
if (g_pMain->uiGenieSubPlug != NULL)
{
if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam || thisPtr == g_pMain->uiGenieSubPlug->TargetTwo)
{
#if (HOOK_SOURCE_VERSION == 1098 || HOOK_SOURCE_VERSION == 1534)
POINT pt;
g_pMain->GetUiPos(g_pMain->hkServerNotice, pt);
LONG isPost = 63;
if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam && isVisible)
isPost = 115;
else if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam && !isVisible)
{
if (g_pMain->IsVisible(thisPtr))
isPost = 89;
}
else if (thisPtr == g_pMain->uiGenieSubPlug->TargetTwo && !isVisible)
isPost = 47;
else if (thisPtr == g_pMain->uiGenieSubPlug->TargetTwo && isVisible)
isPost = 93; //1098 genieye göre target two ayarlandı. v2 de kontrol edilecek.
#else
POINT pt;
g_pMain->GetUiPos(g_pMain->hkServerNotice, pt);
LONG isPost = 69;
if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam && isVisible)
isPost = 117;
else if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam && !isVisible)
{
if (g_pMain->IsVisible(thisPtr))
isPost = 93;
}
else if (thisPtr == g_pMain->uiGenieSubPlug->TargetTwo && !isVisible)
isPost = 47;
else if (thisPtr == g_pMain->uiGenieSubPlug->TargetTwo && isVisible)
isPost = 93; //2369 genieye göre target two ayarlandı. v2 de kontrol edilecek.
#endif
RECT ASD = g_pMain->GetUiRegion(g_pMain->uiGenieSubPlug->m_dVTableAddr);
ASD.bottom = isPost;
g_pMain->SetUiRegion(g_pMain->uiGenieSubPlug->m_dVTableAddr, ASD);
if (g_pMain->IsVisible(g_pMain->hkCampAdress))
isPost += 18;
POINT zs;
zs.x = pt.x;
zs.y = isPost;
g_pMain->SetUIPos(g_pMain->hkServerNotice, zs);
if (g_pMain->IsVisible(g_pMain->hkCampAdress))
{
g_pMain->GetUiPos(g_pMain->hkCampAdress, pt);
zs.y = LONG(isPost - 22);
g_pMain->SetUIPos(g_pMain->hkCampAdress, zs);
}
POINT z2;
#if (HOOK_SOURCE_VERSION == 1098 || HOOK_SOURCE_VERSION == 1534)
z2.x = LONG(koScreen.x - 169);
z2.y = 0;
#else
z2.x = LONG(koScreen.x - 187);
z2.y = 0;
#endif
g_pMain->SetUIPos(g_pMain->uiGenieSubPlug->m_dVTableAddr, z2);
}
}
#endif
_asm
{
MOV ECX, thisPtr
PUSH isVisible
CALL oSetVisible
}
}
void __stdcall SetUI_Hook(int x, int y)
{
DWORD thisPtr;
__asm
{
MOV thisPtr, ECX
}
//Genie YNG
#if 0
if (g_pMain->uiGenieSubPlug && g_pMain->uiGenieSubPlug->m_dVTableAddr == thisPtr)
{
koScreen = *(POINT*)KO_UI_SCREEN_SIZE;
POINT pt;
g_pMain->GetUiPos(thisPtr, pt);
#if (HOOK_SOURCE_VERSION == 1098 || HOOK_SOURCE_VERSION == 1534)
x = LONG(koScreen.x - 169);
y = 0;
#else
x = LONG(koScreen.x - 187);
y = 0;
#endif
}
else
{
if (g_pMain->uiGenieSubPlug
&& g_pMain->m_bGameStart
&& g_pMain->uiGenieSubPlug->m_dVTableAddr != NULL)
{
POINT zs;
#if (HOOK_SOURCE_VERSION == 1098 || HOOK_SOURCE_VERSION == 1534)
zs.x = LONG(koScreen.x - 169);
zs.y = 0;
#else
zs.x = LONG(koScreen.x - 187);
zs.y = 0;
#endif
g_pMain->SetUIPos(g_pMain->uiGenieSubPlug->m_dVTableAddr, zs);
}
}
#endif
_asm
{
MOV ECX, thisPtr
PUSH y
push x
CALL oSetUIPos
}
}
acs ye uymadı knka ıstırap kullanıyorum uyumlu olmadı veya ben hata yapıyorumMerhaba
Genie sabit kaldırmak için yapılması gerekenler.
Hook tarafından düzenlenecek yerler
C++:*(DWORD*)0xC6F480 = (DWORD)hkGenieSetPos; void __stdcall SetVisible_Hook void __stdcall SetUI_Hook(int x, int y)
Böyle düzenleyin
C++:#if 0 *(DWORD*)0xC6F480 = (DWORD)hkGenieSetPos; #endif void __stdcall SetVisible_Hook(bool isVisible) { DWORD thisPtr; __asm { MOV thisPtr, ECX } if (g_pMain->varius && thisPtr == g_pMain->varius && g_pMain->pClientUIState && isVisible) g_pMain->pClientUIState->resetPerks(); if (g_pMain->uiSeedHelperPlug != NULL && thisPtr == g_pMain->uiSeedHelperPlug->group_option_grapic2) { g_pMain->SetState(g_pMain->uiSeedHelperPlug->btn_render_objects, isRenderObject ? UI_STATE_BUTTON_DOWN : UI_STATE_BUTTON_NORMAL); g_pMain->SetState(g_pMain->uiSeedHelperPlug->btn_hide_player, isHideUser ? UI_STATE_BUTTON_DOWN : UI_STATE_BUTTON_NORMAL); } if (g_pMain->uiGenieMain != NULL && g_pMain->uiGenieMain->etc == thisPtr && isVisible) { g_pMain->SetState(g_pMain->uiGenieMain->btn_party_leader_on, isLeaderAttack ? UI_STATE_BUTTON_DOWN : UI_STATE_BUTTON_NORMAL); g_pMain->SetState(g_pMain->uiGenieMain->btn_party_leader_off, isLeaderAttack ? UI_STATE_BUTTON_NORMAL : UI_STATE_BUTTON_DOWN); } //Genie YNG #if 0 if (g_pMain->uiGenieSubPlug != NULL) { if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam || thisPtr == g_pMain->uiGenieSubPlug->TargetTwo) { #if (HOOK_SOURCE_VERSION == 1098 || HOOK_SOURCE_VERSION == 1534) POINT pt; g_pMain->GetUiPos(g_pMain->hkServerNotice, pt); LONG isPost = 63; if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam && isVisible) isPost = 115; else if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam && !isVisible) { if (g_pMain->IsVisible(thisPtr)) isPost = 89; } else if (thisPtr == g_pMain->uiGenieSubPlug->TargetTwo && !isVisible) isPost = 47; else if (thisPtr == g_pMain->uiGenieSubPlug->TargetTwo && isVisible) isPost = 93; //1098 genieye göre target two ayarlandı. v2 de kontrol edilecek. #else POINT pt; g_pMain->GetUiPos(g_pMain->hkServerNotice, pt); LONG isPost = 69; if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam && isVisible) isPost = 117; else if (thisPtr == g_pMain->uiGenieSubPlug->TargetSam && !isVisible) { if (g_pMain->IsVisible(thisPtr)) isPost = 93; } else if (thisPtr == g_pMain->uiGenieSubPlug->TargetTwo && !isVisible) isPost = 47; else if (thisPtr == g_pMain->uiGenieSubPlug->TargetTwo && isVisible) isPost = 93; //2369 genieye göre target two ayarlandı. v2 de kontrol edilecek. #endif RECT ASD = g_pMain->GetUiRegion(g_pMain->uiGenieSubPlug->m_dVTableAddr); ASD.bottom = isPost; g_pMain->SetUiRegion(g_pMain->uiGenieSubPlug->m_dVTableAddr, ASD); if (g_pMain->IsVisible(g_pMain->hkCampAdress)) isPost += 18; POINT zs; zs.x = pt.x; zs.y = isPost; g_pMain->SetUIPos(g_pMain->hkServerNotice, zs); if (g_pMain->IsVisible(g_pMain->hkCampAdress)) { g_pMain->GetUiPos(g_pMain->hkCampAdress, pt); zs.y = LONG(isPost - 22); g_pMain->SetUIPos(g_pMain->hkCampAdress, zs); } POINT z2; #if (HOOK_SOURCE_VERSION == 1098 || HOOK_SOURCE_VERSION == 1534) z2.x = LONG(koScreen.x - 169); z2.y = 0; #else z2.x = LONG(koScreen.x - 187); z2.y = 0; #endif g_pMain->SetUIPos(g_pMain->uiGenieSubPlug->m_dVTableAddr, z2); } } #endif _asm { MOV ECX, thisPtr PUSH isVisible CALL oSetVisible } } void __stdcall SetUI_Hook(int x, int y) { DWORD thisPtr; __asm { MOV thisPtr, ECX } //Genie YNG #if 0 if (g_pMain->uiGenieSubPlug && g_pMain->uiGenieSubPlug->m_dVTableAddr == thisPtr) { koScreen = *(POINT*)KO_UI_SCREEN_SIZE; POINT pt; g_pMain->GetUiPos(thisPtr, pt); #if (HOOK_SOURCE_VERSION == 1098 || HOOK_SOURCE_VERSION == 1534) x = LONG(koScreen.x - 169); y = 0; #else x = LONG(koScreen.x - 187); y = 0; #endif } else { if (g_pMain->uiGenieSubPlug && g_pMain->m_bGameStart && g_pMain->uiGenieSubPlug->m_dVTableAddr != NULL) { POINT zs; #if (HOOK_SOURCE_VERSION == 1098 || HOOK_SOURCE_VERSION == 1534) zs.x = LONG(koScreen.x - 169); zs.y = 0; #else zs.x = LONG(koScreen.x - 187); zs.y = 0; #endif g_pMain->SetUIPos(g_pMain->uiGenieSubPlug->m_dVTableAddr, zs); } } #endif _asm { MOV ECX, thisPtr PUSH y push x CALL oSetUIPos } }
bendede aynı knkg_pMain bildirimi yapılmamış tanımlayıcı diyor.
Patron pearlengine.h de bi tanımını da paylaşırsan muhteşem olur valla ellerine sağlık
g_pMain-> yazan yerleri Engine-> olarak değiştiring_pMain bildirimi yapılmamış tanımlayıcı diyor.
Patron pearlengine.h de bi tanımını da paylaşırsan muhteşem olur valla ellerine sağlık
pClientUIStat knk hata veriyorg_pMain yazan yerleri Engine
olarak düzeltiniz.