Бот на Delphi 7

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by xsenen, 26 Jul 2010.

  1. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    Вот задумался написать бота для игры Aion. Мне хотелось бы чтобы он собирал ресурсы... А именно тыкал на одну кнопку постоянно....

    Мне предлогали использовать обычный макроспроги, но в дальнейшем собираюсь улучшать его...

    И так вопросик))) Как можно это осуществить???
     
  2. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    если просто кнопку, то имитируй нажатие мышкой.
     
  3. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    902
    Likes Received:
    276
    Reputations:
    59
    В грамотно составленном вопросе уже есть ответ.
     
  4. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    хмм А как это сделать? прост я тока начинаю прогить... Единственное что пока пишу это разные мини базы с фильтром и все)) вот углубляюсь дальше



    Не хочу проги использовать.. хочу научиться писать их...
     
  5. dreamcation

    dreamcation New Member

    Joined:
    2 Apr 2010
    Messages:
    75
    Likes Received:
    0
    Reputations:
    0
    Эта процедура посылает сообщение о нажатии клавиши.
    Code:
    procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean);   
      
    type TShiftKeyInfo = record  
        shift: Byte;   
        vkey: Byte;   
      end;   
      byteset = set of 0..7;   
    const shiftkeys: array[1..3] of TShiftKeyInfo = ((shift: Ord(ssCtrl);   
        vkey: VK_CONTROL), (shift: Ord(ssShift); vkey: VK_SHIFT), (shift: Ord(ssAlt); vkey: VK_MENU));   
        
    var flag: DWORD;   
      bShift: ByteSet absolute shift;   
      i: Integer;   
    begin  
      for i := 1 to 3 do  
        if shiftkeys[i].shift in bShift then    
          keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0);   
      if specialkey then  
        flag := KEYEVENTF_EXTENDEDKEY   
      else  
        flag := 0;   
      keybd_event(key, MapvirtualKey(key, 0), flag, 0);   
      flag := flag or KEYEVENTF_KEYUP;   
      keybd_event(key, MapvirtualKey(key, 0), flag, 0);   
      for i := 3 downto 1 do  
        if shiftkeys[i].shift in bShift then    
          keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), KEYEVENTF_KEYUP, 0);   
    end;
    Чтобы воспользоваться этой процедурой надо предварительно найти и активизировать нужное окно:
    Code:
    SetForegroundWindow(FindWindow(PChar(WindowClassName), PChar(WindowCaption)));
    PS. не забудьте поставить задержки типа Sleep(100) после активизации окна и между посылаемыми клавишами, не то окно может не успевать реагировать на клавиши...
     
  6. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    902
    Likes Received:
    276
    Reputations:
    59
    Autoit например попробуйте, uopilot. Для них найдете кучу примеров скриптов, даже с русскими комментариями.
    Делать с нуля практически такой же функционал на делфи мне кажется сомнительным занятием + сильно похоже на создание велосипеда
     
  7. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    Огромное спасибо)) Как раз что надо!!
     
  8. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    тіікай кнопкой по нужних координатах
    если нужно могу виложить свой старий проект (в поле мемо вводиш набор команд и он исполняєт) правда ето бета версия и на проект я забил...
     
  9. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    честно не откажусь... может чтонибудь стоящее придумаю
     
  10. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    Блин чтото не получается... Кто нить может пл написать и скинуть мну прогу... я посижу поразбираюсь как это...

    Хотелось бы чтоб там был ComboBox и кнопка нажималась та которую мы выбрали....
    Буду очень благодарен
     
  11. dreamcation

    dreamcation New Member

    Joined:
    2 Apr 2010
    Messages:
    75
    Likes Received:
    0
    Reputations:
    0
    сомневаюсь что кто то захочет писать тебе прогу... скажи лучше что именно не получается, тогда скорее помогут.
     
  12. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    НЕзнаю как воплотить в жизнь.. Над чтоб она в определенном окне ( например игры ) нажимала на ту кнопку которую я задам в Комбобоксе с перерывом который будет задан в эдите
     
  13. waik

    waik Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    xsenen могу написать тебе на AutoIt.
     
  14. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    хммм а что это такое?? Просто интересно))

    я хотел научиться на делфи чтобы потом усовершенствовать)) ну чтото по типу айболита... тока бесплатно
     
  15. waik

    waik Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    AutoIt это ЯП ,он как раз для таких задач.А мучить дельфи ради бота думаю не имеет смысла.
     
  16. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18

    то ты говоришь, что хочешь научиться, то ты говоришь, чтобы тебе написали...

    ты определись уже, а?
     
  17. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    вот ненадо тут флудить....
     
  18. waik

    waik Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    это не флуд а конкретный вопрос.
     
  19. xsenen

    xsenen New Member

    Joined:
    10 May 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    я просто не понял как это делается.. если напишет кто нить... то я буду сидеть и вдуплять.. и попробую по аналогии написать... типа примера


    а про AutoIT прочитал... Ненадо спасибо
     
  20. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    лучше возьмись, нажрись бобовых побольше, перед этим хорошо подкрепившись. Купи книжечку по WinAPI. и сиди изучай, сам поймешь где.