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

QuetrawX

KY Kıdemli Üye
KY Üye
Katılım
16 Nis 2024
Mesajlar
92
Tepkime puanı
3
Puanları
8
Çö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: 5
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
KY YardımSever
Server Sahibi
Katılım
8 Şub 2021
Mesajlar
467
Çözümler
17
Tepkime puanı
342
Puanları
123
Yaş
35
@YNG yardımcı olur
Kendisi işini bilen işin ehli bir arkadaş
 

Melanor21

KY Uzman Üye
KY YardımSever
Katılım
23 Mar 2024
Mesajlar
74
Çözümler
1
Tepkime puanı
40
Puanları
18
çözülen varsa benimle paylaşabilir misi lazım olanlar var.
 

YNG

Süper Moderatör
KY YardımSever
Coder
Katılım
21 Ağu 2022
Mesajlar
119
Çözümler
7
Tepkime puanı
148
Puanları
53
Yaş
35
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üper Moderatör
Teknik Üye
KY YardımSever
Katılım
22 Ocak 2022
Mesajlar
789
Çözümler
16
Tepkime puanı
507
Puanları
223
Yaş
30
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
Katılım
4 Ağu 2023
Mesajlar
195
Tepkime puanı
9
Puanları
18
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
Katılım
3 Şub 2024
Mesajlar
188
Çözümler
1
Tepkime puanı
11
Puanları
18
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üper Moderatör
KY YardımSever
Coder
Katılım
21 Ağu 2022
Mesajlar
119
Çözümler
7
Tepkime puanı
148
Puanları
53
Yaş
35
g_pMain yazan yerleri Engine
olarak düzeltiniz.
 

byfantastiq

KY Kıdemli Üye
Katılım
3 Şub 2024
Mesajlar
188
Çözümler
1
Tepkime puanı
11
Puanları
18
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:

Aakinci

Co-Admin
Premium Üye
KY Saygın Üye
KY YardımSever
KY Kod Editörü
Katılım
5 Tem 2021
Mesajlar
538
Çözümler
86
Tepkime puanı
257
Puanları
93
Yaş
32
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👏
g_pMain-> yazan yerleri Engine-> olarak değiştirin
 

Benzer konular

Reklam