Ir para conteúdo
Sistema de Servidores de Jogos ×
  • 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


Posts Recomendados

CyberLady
Alerta de postagem 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 25

Precisa de ajuda?
Fale comigo.
Discord: sc2allin

Link para o comentário
https://www.webcheats.com.br/topic/2290560-descompila%C3%A7%C3%A3o-getemptyitemgrid-e-getemptylowmobgrid-tmsrv-756/
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

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

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

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

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

@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

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
×
×
  • 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.