Перейти к содержанию

Presario

Стажёры
  • Постов

    9
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Сообщения, опубликованные Presario

  1. Спойлер
    
    [ENABLE]
    //code from here to '[DISABLE]' will be used to enable the cheat
    aobscan(Build,D8 74 24 14 D9 86 9C 01 00 00)
    registersymbol(Build)
    alloc(newmem,2048)
    label(returnhere)
    label(originalcode)
    label(exit)
    
    newmem: //this is allocated memory, you have read,write,execute access
    push eax
    push ebx
    cmp ebx,0
    je originalcode
    mov eax,[game.dat+62B688]
    mov eax,[eax+0C]
    cmp eax,0
    je originalcode
    mov ebx,[ebx+000001B0]
    cmp ebx,0
    je originalcode
    mov ebx,[ebx+08]
    mov ebx,[ebx+0C]
    cmp eax,ebx
    je exit
    
    originalcode:
    pop ebx
    pop eax
    fdiv dword ptr [esp+14]
    fld dword ptr [esi+0000019C]
    jmp returnhere
    
    exit:
    pop ebx
    pop eax
    mov [esp+14],(Float)1
    fdiv dword ptr [esp+14]
    fld dword ptr [esi+0000019C]
    jmp returnhere
    
    Build:
    jmp newmem
    nop
    nop
    nop
    nop
    nop
    returnhere:
    
    [DISABLE]
    //code from here till the end of the code will be used to disable the cheat
    unregistersymbol(Build)
    dealloc(newmem)
    Build:
    fdiv dword ptr [esp+14]
    fld dword ptr [esi+0000019C]
    //Alt: db D8 74 24 14 D9 86 9C 01 00 00

     

     

    Добрый вечер.Народ,кто нибудь кто разбирается в этом плагине,можете этот код настроить под него? я не сколько раз пытался это сделать (по видео Руслана),но мне всегда выдает ошибку при выделении памяти.Я в этом особо не разбираюсь, и в Lua не силен.

  2. 1 час назад, Xipho сказал:

    Попробуй, и узнаешь. Зачем изначально предполагать то, чего ты наверняка знать не можешь?

     

    Да,проверил:unsure: никак..таким образом у меня не получается выйти на скорость.

  3. Garik,я думаю такое в моем случае не прокатит,моя игра достаточно старая,и я не думаю что в нем используется данный алгоритм передвижение^_^ есть другой вариант поиска ? :D

  4. 1 час назад, srg91 сказал:

    @Presario привет. Мне кажется ты не читаешь правила и игнорируешь мои просьбы.

    Пожалуйста, переоформи тему в соответствии с пунктом 1.3 правил форума.

     

    "Если тема создается с вопросом по какой-то конкретно игре, название этой игры (в английском варианте) должно обязательно присутствовать в начале названия темы в квадратных скобках." извините(( мне тему пересоздать или что?

  5. Добрый день! да вопрос для многих чрезвычайно простой,но всё же,я хотел спросить с чего начать поиск скорости передвижения объекта,в моем случае это трактор,который строит здание.Игра называется generals zero hour (стратегия)

  6. Привет.По задумке программа должна работать так...каждые 40-50 м/с программа пермещается по координатам и сканирует их наличие определенного цвета,если цвет найден то программа кликает на него и всё,программа создавалась для игры piano tiles,чтобы она кликала по плиткам,которые идут с вверху в низ.

     

    Сама игра (gameplay) 

    Спойлер

     

     

     

    Но у меня что то не так..по координатам она перемещается (сканирует) но когда она видит плитку она на него не кликает,помогите найти ошибку в моем коде.

    Spoiler
    
    using System;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Drawing;
    using System.Threading;
    using System.Drawing.Drawing2D;
    using System.Windows.Forms;
    public static class Program
    {
       public static int Rset;        //R Input
       public static int Gset;        //G Input
       public static int Bset;        //B Input
       public static int DefaultSpeed = 0;   //Speed.Defult 0 %
        public static int SaveCoordsw1X;    
        public static int SaveCoordsw1Y;
        public static int SaveCoordsw2X;
        public static int SaveCoordsw2Y;         //Coords save
        public static int SaveCoordsw3X;
        public static int SaveCoordsw3Y;   
        public static int SaveCoordsw4X;
        public static int SaveCoordsw4Y;
    
       //// static void StartTime()        //Timeout 
       // {
    
       //     Console.WriteLine("Выполнения программы начнется через 5");
       //     Thread.Sleep(1000);
       //     Console.WriteLine("Выполнения программы начнется через 4");
       //     Thread.Sleep(1000);
       //     Console.WriteLine("Выполнения программы начнется через 3");
       //     Thread.Sleep(1000);
       //     Console.WriteLine("Выполнения программы начнется через 2");
       //     Thread.Sleep(1000);
       //     Console.WriteLine("Выполнения программы начнется через 1");
       //     Thread.Sleep(1000);
       // }
    
        [DllImport("user32.dll")]
        public static extern bool SetCursorPos(int x, int y);
    
    
        [System.Runtime.InteropServices.DllImport("user32.dll")]
        public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
    
        [DllImport("user32.dll", SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool GetCursorPos(out Point lpPoint);
    
        [DllImport("user32.dll")]
        static extern IntPtr GetDC(IntPtr hwnd);
    
        [DllImport("user32.dll")]
        static extern Int32 ReleaseDC(IntPtr hwnd, IntPtr hdc);
    
        [DllImport("gdi32.dll")]
        static extern uint GetPixel(IntPtr hdc, int nXPos, int nYPos);
    
        public const int MOUSEEVENTF_LEFTDOWN = 0x02;
        public const int MOUSEEVENTF_LEFTUP = 0x04;
        public static void LeftMouseClick(int xpos, int ypos)
        {
            
            mouse_event(MOUSEEVENTF_LEFTDOWN, xpos, ypos, 0, 0);
            //mouse_event(MOUSEEVENTF_LEFTUP, xpos, ypos, 0, 0);
        }
    
    
    
        public static void ColorLoad()
        {
            
            Console.WriteLine("Введите номер Red");
            Rset = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите номер Green");
            Gset = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите номер Blue");
            Bset = Convert.ToInt32(Console.ReadLine());
        }
    
        public static void SpeedSet()
        {   
            Console.WriteLine("Введите скорость в миллисекундах");
            DefaultSpeed = Convert.ToInt32(Console.ReadLine());
        }
    
        static void Main()
        {
            ColorLoad();
            SpeedSet();
          //  StartTime();
            Console.Clear();
            Point tmp = new Point();
            GetCursorPos(out tmp);
    
            while (true)
            {
                
                Point curPoint = new Point();
                GetCursorPos(out curPoint);
              //  Console.WriteLine("X {0} Y {1}", curPoint.X, curPoint.Y);
    
                IntPtr hDC = GetDC(IntPtr.Zero);
                uint pixel = GetPixel(hDC, curPoint.X, curPoint.Y);
                ReleaseDC(IntPtr.Zero, hDC);
    
    
                byte r = (byte)(pixel & 0x000000FF);
                byte g = (byte)((pixel & 0x0000FF00) >> 8);
                byte b = (byte)((pixel & 0x00FF0000) >> 16);
    
    
                //  Console.Clear();
                //  Console.WriteLine(r);
                //  Console.WriteLine(g);
                // Console.WriteLine(b);
                SaveOneCoord();
                Thread.Sleep(DefaultSpeed);
                SaveTwoCoord();
                Thread.Sleep(DefaultSpeed);
                SaveTreeCords();
                Thread.Sleep(DefaultSpeed);
                SaveFoocords();
    
                if (r == Rset && Gset == g && Bset ==b ) //Если на координатах найден нужный цвет то выполняем щелчок 
                {
                    LeftMouseClick(curPoint.X, curPoint.Y);
                }
    
                //  LeftMouseClick(1026, 31);
    
    
    
            }
    
    
    
        }
    
        public static void SaveOneCoord()   //Предотвращение повторного выполнения  
        {
            if (SaveCoordsw1X != 0 && SaveCoordsw1Y != 0)
            {
    
                SetCursorPos(SaveCoordsw1X, SaveCoordsw1Y);
    
            }
            else
            {
                Console.WriteLine("ШАГ 1! Введите координаты X И Y: ");
                SaveCoordsw1X = Convert.ToInt32(Console.ReadLine());
                SaveCoordsw1Y = Convert.ToInt32(Console.ReadLine());
            }
    
        }
        public static void SaveTwoCoord()
        {
            if (SaveCoordsw2X != 0 && SaveCoordsw2Y != 0)
            {
                SetCursorPos(SaveCoordsw2X, SaveCoordsw2Y);
            }
            else
            {
                Console.WriteLine("ШАГ 2! Введите координаты X И Y: ");
    
                SaveCoordsw2X = Convert.ToInt32(Console.ReadLine());
                SaveCoordsw2Y = Convert.ToInt32(Console.ReadLine());
            }
        }
        public static void SaveTreeCords()
        {
            if (SaveCoordsw3X != 0 && SaveCoordsw3Y != 0)
            {
                SetCursorPos(SaveCoordsw3X, SaveCoordsw3Y);
            }
            else
            {
                Console.WriteLine("ШАГ 3! Введите координаты X И Y: ");
    
                SaveCoordsw3X = Convert.ToInt32(Console.ReadLine());
                SaveCoordsw3Y = Convert.ToInt32(Console.ReadLine());
            }
        }
        public static void SaveFoocords()
        {
            if (SaveCoordsw4X != 0 && SaveCoordsw4Y != 0)
            {
                Thread.Sleep(20);
                SetCursorPos(SaveCoordsw4X, SaveCoordsw4Y);
            }
            else
            {
    
                Console.WriteLine("ШАГ 4! Введите координаты X И Y:");
    
                SaveCoordsw4X = Convert.ToInt32(Console.ReadLine());
                SaveCoordsw4Y = Convert.ToInt32(Console.ReadLine());
            }
    
    
        }
    
    }
    

     

    // прошу обратить внимание на правила оформления тем, в частности п. 1.3 и п. 1.5.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.