Neler yeni

ÇÖZÜLDÜ GENEİYİ NASIL SABIT KALMAMSINI AYARLARIM

QuetrawX

KY Kıdemli Üye
KAYIT
16 Nis 2024
Mesajlar
95
Tepki puanı
5
Çözuldu YNG ABİMİZ SAGOLSUN genie sağ ust koşede duruyo ben bunu haraket etmesını istiyorum
 

Ekli dosyalar

  • HELP.png
    HELP.png
    41.5 KB · Görüntüleme: 45
Son düzenleme:
Çözüm
Merhaba

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)
    {...

Pars

KY Saygın Üye
Yardımsever
KAYIT
8 Şub 2021
Mesajlar
507
Çözümler
20
Tepki puanı
594
Yaş
36

YNG

S.Moderatör
Coder
Teknik Üye
Yardımsever
KAYIT
21 Ağu 2022
Mesajlar
176
Çözümler
8
Tepki puanı
271
Yaş
36
Merhaba

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
    }
}
 
Çözüm

Lazoqlu

Ko-yardim.com
S.Moderatör
Kurumsal Üye
Coder
KAYIT
22 Ocak 2022
Mesajlar
1,161
Çözümler
36
Tepki puanı
764
Konum
İstanbul
Ben şimdi İstanbul valiliği ile görüştüm fakat ellerinde yetecek kadar beton yokmuş Çok özürlerini iletiyor abi :D
 

lulu0147

KY Kıdemli Üye
KAYIT
4 Ağu 2023
Mesajlar
288
Tepki puanı
20
Merhaba

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
    }
}
acs ye uymadı knka ıstırap kullanıyorum uyumlu olmadı veya ben hata yapıyorum
 

byfantastiq

KY Kıdemli Üye
KAYIT
3 Şub 2024
Mesajlar
201
Çözümler
1
Tepki puanı
15
g_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👏
 

YNG

S.Moderatör
Coder
Teknik Üye
Yardımsever
KAYIT
21 Ağu 2022
Mesajlar
176
Çözümler
8
Tepki puanı
271
Yaş
36
g_pMain yazan yerleri Engine
olarak düzeltiniz.
 

byfantastiq

KY Kıdemli Üye
KAYIT
3 Şub 2024
Mesajlar
201
Çözümler
1
Tepki puanı
15
extern PearlEngine * g_pMain; ben bu şekilde ekledim ama patron senin koda uyumlu olsun diye pearlengine.h ye ancak bu sefer de iki tane daha hata verdi bizde
&& g_pMain->pClientUIState && isVisible)
g_pMain->pClientUIState->resetPerks();

bu bölümlerdeki pClientUIState paketi eksik malesef

kusura bakma hep sorun ile geliyoruz :)
asdasd.jpg
 
Son düzenleme:
Reklam
Reklam
Üst Alt