Page 3 of 6 FirstFirst 12345 ... LastLast
Results 21 to 30 of 60

Thread: Bot hand made

  1. #21
    krukovis
    krukovis is offline
    New member
    Join Date
    2010 Jul
    Posts
    36
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Rep Power
    0

    Re: Bot hand made

    Подскажите, пожалуйста, по луту - там тоже как у мобов 767 значений ? Или определять кол-во проходов по массиву нужно ориентируясь на значение: BA+$8+$28+$14? Просто это значени меняется постоянно, особенно в районных с усиленным фармом. Или учитывая что мне нужен конкретный лут возле моба с конкретными координатами (аналогично про шахту) париться на эту тему не стоит?

    И еще одна проблема - не могу найти идентификатор сломано что то или нет. Подскажите пожалуйста где это лежит?
    -- 2010-07-25, 14:31 --
    На первый вопрос ответ понял ).
    Нужно прокручивать все 797 указателей, т.к. указатели лежат не рядышком, а в зависимости от выделенной памяти под ресурс.

    По второму вопросу - не вижу. Уже все вещи персонажу переломал )) - не вижу... ((
    Если Вы не отзоветесь, мы напишем в Спортлото!

  2. #22
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10

    Re: Bot hand made

    достаточно поставить ограничение: если количество просмотренных указателей = количеству лута, то останов. Т.е., в большинстве случаев, все указатели на лут располагаются в середине массива, и с данным условием отпадет необходимость крутить весь массив до конца.

    на второй вопрос отвечу позже
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  3. #23
    krukovis
    krukovis is offline
    New member
    Join Date
    2010 Jul
    Posts
    36
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Rep Power
    0

    Re: Bot hand made

    достаточно поставить ограничение: если количество просмотренных указателей = количеству лута, то останов. Т.е., в большинстве случаев, все указатели на лут располагаются в середине массива, и с данным условием отпадет необходимость крутить весь массив до конца.
    Да, я видел ваше предложение останавливать перебор, если все значения найдены, еще на немецком сайте, но у меня есть несколько поводов ее не делать:
    1. Дополнительная команда If then в каждый цикл перебора - это одна из самых медленных команд, на сколько мне известно, и скорости перебору это не добавит.
    2. Я пишу на vb.net, а не на AutoIt и код работает на порядок быстрее .
    3. И самое, по-моему, важное: значение "Кол-во лута" меняется и может так случиться, что в момент когда я определил это значение N и начал считывать информацию из памяти клиента (пока не нашли N значений) может появится еще несколько адресов лута, у которых i меньше чем у нужного мне лута и нужные мне вещи в перечень предметов не попадут, т.к. я из перебора выйду. А по закону Мерфи именно так и случится. =)
    Если Вы не отзоветесь, мы напишем в Спортлото!

  4. #24
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10

    Re: Bot hand made

    и скорости перебору это не добавит
    ...если работать на 486DX, а если стоит Искра 1030, то о каком-либо переборе вообще можно забыть...
    проблему в скорости работы алгоритма для подобных задач (с подобным объемом данных) можно и не поднимать.
    даже если, ради эксперимента, получать данные о луте при помощи такого цикла
     found := 0; 
    for i := 0 to 767 do
    begin
    ReadProcessMemory(Hdl, PTR + i*4, @LootPTR, 4, BytesRead);
    if LootPTR <> 0 then
    begin
    ReadProcessMemory(Hdl, …., @LootData, 4, BytesRead);
    …..
    inc(found);
    if found = count then // если число найденных = общем числу, остановить перебор
    break;
    end;
    end;
    не будет никаких явных задержек.
    Убрав «if found = count then» из цикла, получим напрасное расходование ресурсов, особенно, когда в массиве несколько элементов;
    Если есть возражения по данному пункту, предоставьте сравнение быстродействия алгоритмов, где видно, что скорость различается не на микросекунды, а, хотя бы, на десятки миллисекунд.
    в перечень предметов не попадут
    не подпадут любые значения, если в данный момент производится запись данных в массив из другого потока.

    В любом случае, бессмысленно получать данные о луте чаще одного раза в секунду
    -- 2010-07-26, 04:54 --
    Дабы не быть голословным, вот два цикла, в которых идет поиск 10000 элементов, случайно разбросанных по массиву из 100000 элементов.
     // заполняем случайные ячейки RandArray 
    for I := 0 to 10000 do
    begin
    num := RandomRange(0,100000);
    if RandArray[num] = 0 then
    RandArray[num] := 1;
    end;

    // перебор всего массива
    for I := 0 to 100000 do
    begin
    if RandArray[i] <> 0 then
    FoundArray[i] := 1;
    end;

    // останавливаем перебор, если найдены все 10000 значений
    found := 0;
    for I := 0 to 100000 do
    begin
    if RandArray[i] <> 0 then
    begin
    FoundArray[i] := 1;
    inc(found);
    if found = 10000 then
    break;
    end;
    end;


    Результат выполнения:
    0,112 мс – первый алгоритм
    0,015 мс – второй алгоритм
    учтите, что затраченное время измеряется в миллисекундах.

    Тест был сделан:
    Windows XP SP3
    Core 2 Duo E8400 1966 MHz
    2048 Мб (DDR3-1333 DDR3 SDRAM)
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  5. #25
    krukovis
    krukovis is offline
    New member
    Join Date
    2010 Jul
    Posts
    36
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Rep Power
    0

    Re: Bot hand made

    Dwar, со всем согласен. Не предмет для споров цикл с перебором в 800 значений на современных компьютерах.

    [offtopic]По поводу рекламы сторонних ресурсов.
    Сердце кровью обливается когда вижу что люди пишут глядя на клавиатуру со скоростью 100-200 знаков в минуту с опечатками и портят себе глаза. Особенно мне очень жаль программистов, которые не могут жить без компьютера. А еще больше мне жаль вас, Dwar. Потому что вы пишите в 1000 раз больше чем все остальные. А по стилю написания текстов я явно вижу, что десятипальцевым слепым методом набора текста вы не владеете. Поэтому и добавил в подпись этот ресурс. Я сам за месяц не напрягаясь особо освоил курс на русском (еще на программе Соло на клавиатуре 7.0, потом когда начал программировать прошел и английскую версию за пару дней. Теперь я набираю 300-400 знаков в минуту на любом языке не глядя на клавиатру. А ошибки, если и есть, то из за общей неграмотности, опечатки, если и есть, то 2-3 на 1000 знаков. Очень рекомендую пройти этот курс - жизнь облегчает на порядок без преувеличений.[/offtopic]
    Если Вы не отзоветесь, мы напишем в Спортлото!

  6. #26
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10

    Re: Bot hand made

    krukovis
    [offtopic]Скорость моего набора чуть больше 400 знаков, десять пальцев, "соло" - проект хороший, но для меня он был нуден, я написал свой клавиатурный тренажер.
    + каким это образом можно определить по стилистике текста, владеет ли человек 10 пальцевым методом набора или нет?[/offtopic]
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  7. #27
    krukovis
    krukovis is offline
    New member
    Join Date
    2010 Jul
    Posts
    36
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Rep Power
    0

    Re: Bot hand made

    [offtopic]
    Стиль написания некоторых топиков родил во мне сомнение...
    Не бывает такого, что за вас иногда отвечет другой человек?

    А отличить написан текст в десять пальцев или в два можно по ряду признаков:
    Человек, который пишет в десять пальцев не будет допускать некоторые ленности в оформлении (пользуется списками, пишет цифры словами в виде "один раз мы пошли на реку" и не допустит написания "1 раз мы пошли на реку", и т.д. и т.п. ).
    Предложения всегда начинаются с заглавных букв.
    Расставлены знаки препинания.
    Если есть опечатки в тексте, то они характерны и их сразу видно.
    Тексты более объемные, осмысленные и связные, потому что есть возможность проанализировать текст пока пишешь, а не искать в это время на клавиатуре знакомые буквы.
    Тема раскрывается более полно, т.к. стучать не напрягает.

    Нудность тренажера Соло обманчива. Шахиджанян не даром посвятил значительную часть своей жизнь обучению людей набору текста (начинал он еще с печатной машинки). Он собирал статистику, анализировал.
    Соло - не идинственный тренажер. Есть и другие компьютерные тренажеры, есть бумажные издания. Я не стремлюсь сделать рекламу конкретно тренажеру Соло. Но это один из самых популярных и самых продуманных тренажеров, по моему мнению. И я точно знаю что результат после выполнения всех заданий будет 100%, т.к. я проверил это на себе. И, как я уже говорил, мне всегда больно смотреть как люди набирают двумя пальцами. Особенно когда двумя пальцами набирают программисты...[/offtopic]
    -- 2010-07-26, 08:29 --
    -- 2010-07-26, 09:26 --
    [offtopic]Еще раз проанализировал ряд ваших топиков.
    Меня ввел в заблуждение стиль, потому что вы учились не по курсу Соло, а на своем тренажере.
    Соло приучает к определенной стилистике. Мне не комфортно ставить точку в конце предложения и начинать текст с маленькой буквы. У меня руки сами это делают. Они уже не умеют этого не делать =).
    Мои знакомые иногда спрашивают меня, почему я все время ставлю точку в конце предложений, даже если это одно слово, например так: "Спасибо." - очень сложно объяснить что я по другому не могу =), мне сложнее ее не поставить, чем поставить =)...[/offtopic]
    Если Вы не отзоветесь, мы напишем в Спортлото!

  8. #28
    magnym
    magnym is offline
    Member-in-training
    Join Date
    2010 Jun
    Posts
    86
    Thanks Thanks Given 
    17
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Rep Power
    0

    Re: Bot hand made

    жаль что большинство зарегестрированных на этом,да и предыдущих форумах всего лишь потребители спх Двара(как и я),я к сожалению не понимаю о чем вы тут говорите)) но довольно интиресно читать переписку 2-х увлеченных людей)

  9. #29
    krukovis
    krukovis is offline
    New member
    Join Date
    2010 Jul
    Posts
    36
    Thanks Thanks Given 
    7
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Rep Power
    0

    Re: Bot hand made

    Quote Originally Posted by Dwar
    на второй вопрос отвечу позже
    Если появится свободная минутка...

    Сейчас переделываю работу со скилами, захотелось уточнить:
    У вас была некая табличка где была вся информация по скилам - боевыене боевые, к какому типу персонажа относится, используются в форме заверя или нет, картинка скила и прочее. Или вы прям из памяти сразу всю эту информацию брали?
    -- 2010-08-04, 14:51 --
    Dwar, еще разок апну темку...

    Возможно ли вытащить прям из клиента имя скила? Или надо в config.pck искать все это и составлять свою таблицу? Видел что то вроде адреса на картинку скила, но как бы ее вытащить и в свою прогу воткнуть?
    Если Вы не отзоветесь, мы напишем в Спортлото!

  10. #30
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10

    Re: Bot hand made

    krukovis
    Все хранится в elements.data. Достаточно распотрошить данный файл и будет полный список всех доступных предметов, скиллов, их Id и т.д.

    P.S. где-то лежит у меня скрипт с почти разобранной структурой elements.data. При первой возможности выложу его.
    -- 2010-08-09, 03:18 --
    Появилась идея начать проект по разработке длл, в которую бы входили все необходимые боту функции (движение, атака, получение информации о локации и т.п.). Вызов функций и возвращаемые значения документировать, дабы любой желающий мог писать собственного бота обращаясь к внедренной в клиент длл.
    Из особенностей: поиск по паттернам нужных адресов функций, что сделает библиотеку универсальной для любого сервера.
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

Page 3 of 6 FirstFirst 12345 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •