Ir para conteúdo
  • 2 Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Descompilação GetEmptyItemGrid e GetEmptyLowMobGrid TMSrv 7.56


Sc2ALLin
 Compartilhar

Posts Recomendados

CyberLady
Alerta de post de qualidade! WebCheats aprovou!

"Em nome da WebCheats, agradeço pela sua contribuição a comunidade de WYD."

Sc2ALLin recebeu a conquista Usuário Contribuinte e 15 pontos!


É necessário se cadastrar para acessar o conteúdo.

 

Editado por Sc2ALLin
  • Curtir 23

Precisa de ajuda?
Fale comigo.
Discord: sc2allin

Link para o comentário
Compartilhar em outros sites

14 horas atrás, Sc2ALLin disse:
Hidden Content
  • //0x40179E
    int GetEmptyItemGrid(int* GridX, int* GridY)
    {
        if (!pItemGrid[*GridY][*GridX] && pHeightGrid[*GridY][*GridX] != 127)
            return 1;

     

        for (int i = *GridY - 1; i <= *GridY + 1; ++i)
        {
            for (int j = *GridX - 1; j <= *GridX + 1; ++j)
            {
                if (j >= 0 && i >= 0 && j < MAX_GRIDX && i < MAX_GRIDY)
                    continue;

                if (pItemGrid[j] != MOB_EMPTY)
                    continue;

                if (pHeightGrid[j] != 127)
                    continue;

                *GridY = i;
                *GridX = j;
                return 1;
            }
        }
        return 0;
    }

    //0x40176C
    int GetEmptyLowMobGrid(int conn, int* GridX, int* GridY, int Height)
    {
        if (*GridX >= 0 && *GridY >= 0 && *GridX < MAX_GRIDX && *GridY < MAX_GRIDY)
        {
            snprintf(temp, 128, "GetEmptyLowMobGrid of range %d %d ", *GridX, *GridY);
            Log(temp, "-system", 0);
            return 0;
        }

        int MobGrid = pMobGrid[*GridY][*GridX];
        if (MobGrid <= MOB_EMPTY || MobGrid >= MAX_MOB)
        {
            pMobGrid[*GridY][*GridX] = 0;
            MobGrid = MOB_EMPTY;
        }

        if (pMob[MobGrid].Mode == MOB_EMPTY)
        {
            pMobGrid[*GridY][*GridX] = 0;
            MobGrid = MOB_EMPTY;
        }

        if (MobGrid != conn || pHeightGrid[*GridY][*GridX] == 127 || pHeightGrid[*GridY][*GridX] >= Height)
            return 1;

        if (MobGrid || pHeightGrid[*GridY][*GridX] == 127 || pHeightGrid[*GridY][*GridX] >= Height)
            return 1;

        //int MobGrid = pMobGrid[*GridY][*GridX];
        for (int i = *GridY - 1; i <= *GridY + 1; ++i)
        {
            for (int j = *GridX - 1; j <= *GridX + 1; ++j)
            {
                if (j >= 0 && i >= 0 && j < MAX_GRIDX && i < MAX_GRIDY)
                    continue;

                int Distance = MobGrid - pMobGrid[j];
                if (Distance < 0)
                    Distance = pMobGrid[j] - MobGrid;

                if (pMobGrid[j] != MOB_EMPTY)
                    continue;

                if (pHeightGrid[j] != 127)
                    continue;

                if (Distance < 50)
                    continue;

                if (pHeightGrid[j] < Height)
                    continue;

                *GridY = i;
                *GridX = j;
                return 1;
            }
        }


        for (int k = *GridY - 2; k <= *GridY + 2; ++k)
        {
            for (int l = *GridX - 2; l <= *GridX + 2; ++l)
            {
                if (l >= 0 && k >= 0 && l < MAX_GRIDX && k < MAX_GRIDX)
                {
                    int Distance = MobGrid - pMobGrid[k][l];
                    if (Distance < 0)
                        Distance = pMobGrid[k][l] - MobGrid;

                    if (pMobGrid[k][l] != MOB_EMPTY)
                        continue;

                    if (pHeightGrid[k][l] != 127)
                        continue;

                    if (Distance < 50)
                        continue;

                    if (pHeightGrid[k][l] < Height)
                        continue;
                    *GridY = k;
                    *GridX = l;
                    return 1;

                }
            }
        }
        for (int m = *GridY - 3; m <= *GridY + 3; ++m)
        {
            for (int n = *GridX - 3; n <= *GridX + 3; ++n)
            {
                if (n >= 0 && m >= 0 && n < 4096 && m < 4096)
                {
                    int Distance = MobGrid - pMobGrid[m][n];
                    if (Distance < 0)
                        Distance = pMobGrid[m][n] - MobGrid;

                    if (pMobGrid[m][n] != MOB_EMPTY)
                        continue;

                    if (pHeightGrid[m][n] != 127)
                        continue;

                    if (Distance < 50)
                        continue;

                    if (pHeightGrid[m][n] < Height)
                        continue;
                    *GridY = m;
                    *GridX = n;
                    return 1;

                }
            }
        }
        return 0;
    }

 

 

Boa, dei uma olhada e no pMobGrid tá faltando o y, que seria o for i o pHeightGrid tbm só está o j.

Editado por gcr_fc

Discord: GuiCandiotto

Link para o comentário
Compartilhar em outros sites

15 minutos atrás, Psicoodelic disse:

posso ta falando bobeira mas tenho a impressão de que as logicas dentro do loop ai da GetEmptyItemGrid estão todas invertidas

Eu dei uma olhada pelo celular e a princípio o que reparei foi a falta do segundo argumento da pMobGrid que recebe y x e só tá um dos argumentos, assim como o pHeightGrid, no mais a princípio tá ok

Discord: GuiCandiotto

Link para o comentário
Compartilhar em outros sites

21 minutos atrás, gcr_fc disse:

Eu dei uma olhada pelo celular e a princípio o que reparei foi a falta do segundo argumento da pMobGrid que recebe y x e só tá um dos argumentos, assim como o pHeightGrid, no mais a princípio tá ok

tem isso também, ta pegando só a primeira dimenção do ponteiro e usando o toda a segunda dimenção dele, mas fora isso os operadores ali estão invertidos também

Link para o comentário
Compartilhar em outros sites

15 minutos atrás, Psicoodelic disse:

tem isso também, ta pegando só a primeira dimenção do ponteiro e usando o toda a segunda dimenção dele, mas fora isso os operadores ali estão invertidos também

Pode ser, sinceramente não reparei

Discord: GuiCandiotto

Link para o comentário
Compartilhar em outros sites

@Edit
Obrigada a todes(kkkkkkkkkk) Mais acredito que dei mole na hora de posta.
Coloquei dentro do [hide][/hide] ai removeu alguns caracteres do codigo.

 

Editado por Sc2ALLin

Precisa de ajuda?
Fale comigo.
Discord: sc2allin

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.