[ Delphi / Pascal ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by begin_end, 28 Apr 2015.

  1. VulturRe

    VulturRe Member

    Joined:
    9 Dec 2010
    Messages:
    59
    Likes Received:
    6
    Reputations:
    0
    так автоматизацию через приложение надо delphi
     
  2. VulturRe

    VulturRe Member

    Joined:
    9 Dec 2010
    Messages:
    59
    Likes Received:
    6
    Reputations:
    0
  3. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    https://www.libssh.org/ только header нужно поискать
     
  4. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Можно ли в игре навестись средствами Delphi чётко на середину экрана ?
    Если я пробую так:
    Code:
    SetCursorPos(1024 div 2, 768 div 2);
    То ничего не происходит, а если я нажимаю ESC то курсор нормально на середину встаёт
     
  5. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    634
    Likes Received:
    246
    Reputations:
    42
    Скорее всего фактически курсор уже находится в центре экрана и программно там держится, а движения прицела в игре вычисляются по отклонениям от заданных координат.
    Для подтверждения моей теории задери ствол и получи координаты через GetCursorPos
     
  6. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Ну так и есть да там как бы середина экрана динамическая !
    Ну а вообще есть способы ?
     
  7. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    634
    Likes Received:
    246
    Reputations:
    42
    Да способы всегда есть, но думаю нужно рассматривать каждый случай отдельно. Вообще мне не приходилось делать подобного рода ботов для игр, поэтому подсказать вряд ли смогу. Но по логике вещей, в игре должна быть своя система координат прицела. Попробуй для начала через ArtMoney или CheatEngine найти адрес с координатами, затем указатель на него ну и соответственно дальше нужно будет танцевать с отладчиком, чтобы понять как подставлять нужные тебе координаты в функцию обработки.
     
  8. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Речь не про аимбот речь про прострелы в голову ) дело в том что я много знаю прострелов на разных картах только простреливаю не в голову поэтому необходимо наводится на центр экрана а точнее даже просто правильно выше/ниже брать
     
  9. F1shka

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

    Joined:
    10 Apr 2008
    Messages:
    173
    Likes Received:
    305
    Reputations:
    3
    Доброго времени суток! Голова уже совсем не работает, нужна небольшая помощь! Есть форма на сайте, после отправки POST данных идет редирект. Именно он мне и нужен, увы idhttp1.response.location не записывается в мемо нужный мне URL, куда собственно и идет редирект, а пишет всю страницу целиком. Кто чем может, спасибо.



    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    
    var
      str:TStringList;
      url, result: string;
    begin
      url:='http://site.govno'; // URL пост запроса
      str:=TStringList.Create(); // Создаем переменную
      str.Add('addurl='+edit1.text);   // Ваш сайт
      str.Add('button=Добавить');   // Кнопка
      result:= IdHTTP1.Post(url,str); // Отправляем POST запрос
      memo1.lines.Add(idhttp1.Get(idhttp1.Response.Location)); // Запихиваю в мемо страницу. 
    end;
    end.
    
     
  10. vasykas

    vasykas Banned

    Joined:
    7 Mar 2011
    Messages:
    963
    Likes Received:
    137
    Reputations:
    37
    Code:
    h_ttp://stackoverflow.com/questions/4549809/indy-idhttp-how-to-handle-page-redirects?answertab=votes#tab-top
    
    h_ttp://programmerinfo.ru/htmlred/?v=f9308c5d0596
     
  11. F1shka

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

    Joined:
    10 Apr 2008
    Messages:
    173
    Likes Received:
    305
    Reputations:
    3
    Мусор, нет ничего полезного, это я и сам с гугла найду. Мне нужен URL, а не просто обработать редирект. Как урл мне вытащить, куда ведет редирект после post запроса?
     
  12. binarymaster

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

    Joined:
    11 Dec 2010
    Messages:
    4,717
    Likes Received:
    10,195
    Reputations:
    126
    Помню там был параметр HandleRedirects, или подобный. Его нужно выставить в False, чтобы редиректы обрабатывать вручную.
     
  13. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Как можно запустить javacript и выдернуть из него значение например в string ?
    Code:
    var
    str:string;
    Str:=Chromium1.Browser.GetMainFrame.ExecuteJavaScript('document.getElementsByClassName("text")[0].innerText',url,0);
    
    Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
    Понятно конечно что string нельзя присвоить значение procedure, но мб есть вариант(ы) ?
     
  14. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    634
    Likes Received:
    246
    Reputations:
    42
    По логике вещей, нужно в переменной записать скрипт "document.getElementsByClassName("text")[0].innerText",уже сам скрипт вызывать из переменной.

    Code:
    var
    MyJScript: string;
    begin
    ...
    MyJScript:= 'document.getElementsByClassName("text")[0].innerText';
    Chromium1.Browser.MainFrame.ExecuteJavaScript(MyJScript, url, 0);
    ...
    
    btw Chromium.Browser.Mainframe и Chromium.Browser не должны быть nil, иначе крашнется.
     
  15. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Ааа значение при выполнении данного JavaScript же не запишется в MyJScript, ты может не так меня понял при выполнении document.getElementsByClassName("text")[0].innerText я выдираю нужный текст данным скриптом и вот теперь то что этот скрипт выдрал (значение) нужно бы записать в String ну или Memo
     
  16. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Здравствуйте подскажите как измерить пинг до сервера средствами Synapse если я имею такой код:

    Code:
    var
    udp:TUDPBlockSocket;
    Q,A: TTimeStamp;
    begin
    UDP:=TUDPBlockSocket.Create;
    UDP.Connect('192.168.1.1','7777');
    udp.SendString(Hextostr('FFBB4502B'));
    Q := DateTimeToTimeStamp(Now);
    udp.RecvString(100);
    A := DateTimeToTimeStamp(Now);
    Memo1.Lines.add(IntToStr(Trunc(TimeStampToMSecs(A) - TimeStampToMSecs(Q)-100)));
    
    DateTimeToTimeStamp и Tickcount конечно можно, но всё же поточнее хочется
     
  17. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    634
    Likes Received:
    246
    Reputations:
    42
    Для пинга нужно юзать ICMP, а не UDP как бы...

    з.ы.: я в synapse не умею, но уверен что тебе нужно гуглить как юзоть класс TPingSend ;-)
     
  18. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Если именно нужно пингануть сервер по порту 7777 а не просто по хосту то есть на мой пакет приходит ответ от сервера !
     
  19. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    634
    Likes Received:
    246
    Reputations:
    42
    тут как бы взаимоисключающие параграфы)

    Ты видимо хочешь замерить скорость ответа сервера на твой пакет. Заюзай например GetTickCount, конечно погрешность там есть и зависит он множества факторов, но даже при замере тактов через rtdsc, все-равно всегда учитывается погрешнось...при том не хилая такая)
     
  20. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Нужно конкретно получить какой пинг от cs 1.6 сервера