Guild Logo Name Player - Season 3 1.04j / Season 6 1.04e

Автор Wendigo, 2023 Июнь 11, 22:09

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Wendigo


1.04j
.h
void InitIconsView();
void DrawIcons(int x, int y, DWORD a3);

.cpp
void InitIconsView()
{
    SetCompleteHook(0xE8, 0x0059F307, &DrawIcons);
}

void DrawIcons(int x, int y, DWORD c)
{
    DWORD character = *(DWORD*)(c + 628); //Get Character Struct
    if (*(BYTE*)(character + 188) == 1) //Check Character Type
    {
        if (*(short*)(character + 554) != -1) //Check Character Guild
        {
            ((void(__cdecl*)(int nMarkIndex, bool blend)) 0x005FA170)(*(WORD*)(character + 554), true); //CreateGuildMark
            ((void(__cdecl*)(int Texture, float x, float y, float Width, float Height, float u, float v, float uWidth, float vHeight, bool Scale, bool StartScale, float Alpha)) 0x006438B4)(0x22, ((float)x - 21.0f), (float)y, 16.0f, 16.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1, 1, 0); //RenderBitmap
        }
    }
    ((void(__cdecl*)(int x, int y, DWORD c)) 0x0053F870)(x, y, c); //RenderBoolean
}

1.04e

#define RenderBoolean ((void(__cdecl*)(int a1, int a2, char *a3)) 0x005985F0)
#define CreateGuildMark ((void(__cdecl*)(int a1, bool a2)) 0x005D30F0)
#define RenderBitmap ((void(__cdecl*)(int a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8, float a9, char a10, char a11, float a12)) 0x00637C60)

void CRenderBoolean(int a1, int a2, char *a3)
{
int result = *(DWORD *)(a3 + 668);
if ( *(BYTE *)(result + 800) == 1 )
{
CreateGuildMark(*(WORD *)(result + 124), 1);
RenderBitmap(31740, a1 - 15, a2 + 2, 16.0, 16.0, 0.0, 0.0, 1.0, 1.0, 1, 1, 0.0);
}
RenderBoolean(a1,a2,a3);
}

SetCompleteHook(0xE8, 0x005BAFAB, &CRenderBoolean);

Похожие темы (5)