Ir para conteúdo
Faça parte da equipe! (2024) ×

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

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

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • 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.