Page 5 of 6 FirstFirst ... 3456 LastLast
Results 41 to 50 of 60

Thread: Bot hand made

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

    Re: Bot hand made

    -- Удалил глупости.

    У меня большая проблема сейчас - выбивает клиент. Я подозреваю что это из-за того, что срабатывают триггеры. Поставил сейчас задержки после инжектов по-больше. Буду тестировать. Сейчас работает 2-3 часа и потом вырубается. Бот стоит и ничего как будто вокруг не видит, пока не пойму в чем дело.
    Как думаете из-за чего еще так может быть?[adp:]-- 2010-10-27, 07:23 --[/adp:]Поделитесь опытом пожалуйста!
    Как вы реализовали многопоточность чтобы бот не стопорил всю систему во время циклов?
    Задержки в работе циклов? Приоритеты? Другое? Это реально проблема ((. Я когда 1-ого бота запускал - все нормально было, почти не чувствовалось. А когда 3 запустил - они весь процессор заняли.
    Если Вы не отзоветесь, мы напишем в Спортлото!

  2. #42
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,221
    Thanks
    211
    Thanked 2,224 Times in 289 Posts
    Rep Power
    10

    Re: Bot hand made

    krukovis
    # Все зависит от того, как в целом реализованы алгоритмы. Без конкретного примера невозможно сказать, почему бот отнимает столько ресурсов.
    # О каких именно циклах идет речь?
    # У меня было 4-5 потоков. Некоторые "спали" по 1 секунде, другие по 100мс.; часть вообще запускалась только при срабатывании триггера. Приоритет минимальный.
    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. The Following User Says Thank You to Dwar For This Useful Post:


  4. #43
    krukovis
    krukovis is offline
    New member
    Join Date
    2010 Jul
    Posts
    36
    Thanks
    7
    Thanked 1 Time in 1 Post
    Rep Power
    0

    Re: Bot hand made

    Попробовал минимальный приоритет - бот вообще встал )). Минимальный не пойдет... У меня при запуске бота запускается несколько потоков. Поток поддержания жизнедеятельности - хилит перса и хилит пета и кормит пета. Второй долбит мобов и собирает лут. Второй поток периодически запускает еще 2 потока - кастование скилов перса и пета. Все это в циклах. Проблема в том, что я задержки в циклах поставил маленькие и с приоритемами "Normal". Нужно либо задержки увеличить, либо приоритет уменьшить. Это сейчас в стадии тестирования, просто нужно подобрать оптимальные режимы работы. Я склоняюсь к задержкам, но может и передумаю - надо смотреть как будет лучше.
    ================
    Сейчас запустил 3 окна ботов - все работают без тормозов. Систему грузят самый минимум. Решилось все просто задержками в работе потоков. Такая красота! )) Не нарадуюсь.
    Если Вы не отзоветесь, мы напишем в Спортлото!

  5. #44
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,221
    Thanks
    211
    Thanked 2,224 Times in 289 Posts
    Rep Power
    10

    Re: Bot hand made

    Второй поток периодически запускает еще 2 потока - кастование скилов перса и пета. Все это в циклах.
    До сих пор не могу понять это. Каким образом организована работа потока? Что значит "Все это в циклах"? Поток в цикле?! о_О
    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

  6. #45
    .jerry
    .jerry is offline
    Guest
    Join Date
    2010 Oct
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    Re: Bot hand made

    Все это веселье с потоками помоему заканчивается в тот момент, когда юзеру захочется нажать на кнопку stop посреди выполнения потока У вас этот момент нормально отрабатывается ?

  7. #46
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,221
    Thanks
    211
    Thanked 2,224 Times in 289 Posts
    Rep Power
    10

    Re: Bot hand made

    .jerry
    А где сложность с этим? Булева переменная принимает значение true, поток отслеживает это изменение и останавливается. Т.е., в конце процедуры Execute потока ставим проверку: if stop then suspend;
    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

  8. #47
    .jerry
    .jerry is offline
    Guest
    Join Date
    2010 Oct
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    Re: Bot hand made

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

  9. #48
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,221
    Thanks
    211
    Thanked 2,224 Times in 289 Posts
    Rep Power
    10

    Re: Bot hand made

    как правильно дождаться завершения потока
    все тот же триггер; можно сделать event для потока, срабатывающий при определенных случаях (останов, termination, suspend)
    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

  10. #49
    krukovis
    krukovis is offline
    New member
    Join Date
    2010 Jul
    Posts
    36
    Thanks
    7
    Thanked 1 Time in 1 Post
    Rep Power
    0

    Re: Bot hand made

    Quote Originally Posted by Dwar
    Второй поток периодически запускает еще 2 потока - кастование скилов перса и пета. Все это в циклах.
    До сих пор не могу понять это. Каким образом организована работа потока? Что значит "Все это в циклах"? Поток в цикле?! о_О
    Вот процедура убийства моба - работает в цикле do-loop пока бот запущен (blnBotStart = true) с задержкой в 1000 мс. :
    Код на VB - легко должен читаться - если что не понятно спрашивайте. Откомментировал максимально подробно.
    Code:
     'Нахожу ближайшего моба
            FindNearMob()
    
            'Создаю и запускаю 2 новых потока
            'Поток Искользования скиллов пета
            ThreadUsePetSkill = New Thread(AddressOf UsePetSkill)
            ThreadUsePetSkill.Priority = ThreadPriority.Normal
            ThreadUsePetSkill.Start()
            ''Поток Использования скиллов персонажа
            ThreadUseMyPersonageSkills = New Thread(AddressOf UseMyPersonageSkills)
            ThreadUseMyPersonageSkills.Priority = ThreadPriority.Normal
            ThreadUseMyPersonageSkills.Start()
            'Запускаю цикл использования скиллов: 
            Do
                'Если поток прекратил свое действие - запускаем еще один поток
                If ThreadUsePetSkill.IsAlive = False Then
                    ThreadUsePetSkill = New Thread(AddressOf UsePetSkill)
                    ThreadUsePetSkill.Start()
                End If
                'Если поток прекратил свое действие - запускаем еще один поток
                If ThreadUseMyPersonageSkills.IsAlive = False Then
                    ThreadUseMyPersonageSkills = New Thread(AddressOf UseMyPersonageSkills)
                    ThreadUseMyPersonageSkills.Priority = ThreadPriority.Normal
                    ThreadUseMyPersonageSkills.Start()
                End If
                'Отдыхаем, дожидаемся пока потоки скиллов поработают
                Thread.Sleep(2000)
                'Читаем что в цели у персонажа - для того чтобы понять убили мы моба или нет
                Dim intMyPersonageTargetID As Integer
                Dim MY_PERSONAGE_TARGET_ID() As Integer = {&H0, &H1C, &H20, &HAF8} 'Цель персонажа
                intMyPersonageTargetID = MF.ReadMemoryInt(MY_PERSONAGE_TARGET_ID)
                'Если в цели 0, то выходим из цикла
            Loop While intMyPersonageTargetID <> 0
            'Дожидаемся пока все ранее запущенные потоки прекратят свою работу:
            Do
                If ThreadUsePetSkill.IsAlive = False Then
                    If ThreadUseMyPersonageSkills.IsAlive = False Then
                        If ThreadMobDiesCoordinates.IsAlive = False Then
                            Exit Do
                        End If
                    End If
                End If
                Thread.Sleep(1000)
            Loop
            'Идем собирать лут
            LootUp()
    -- 2010-10-31, 14:30 --
    Ищу значение показывающее хватает ли ярости для использования скилла. Подскажите - есть ли оно вообще и как вы решали эту задачу, если его нет?
    Если Вы не отзоветесь, мы напишем в Спортлото!

  11. #50
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,221
    Thanks
    211
    Thanked 2,224 Times in 289 Posts
    Rep Power
    10

    Re: Bot hand made

    Т.е., перед каждой атакой моба, бот создает две нити, ждет завершения этих нитей и так происходит постоянно. Я правильно понял? Если да, то все необходимые нити можно создать при инициализации бота, а потом управлять ими через resume/suspend, что значительно сэкономит ресурсы и понизит время исполнения операций.

    Были данные для ярости но, учитывая 8 месяцев, в течение которых клиент многократно обновлялся, все мои таблицы и т.п. безнадежно устарели. Если я правильно помню, ярость в диапазоне 0-100, каждый сегмент = 10.
    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 5 of 6 FirstFirst ... 3456 LastLast
Visitors found this page by searching for:

PWBot_Pack.rar

исходник бота pw

бот ресурсы perfect world

pwbot_pack

pwbot_pack.rar‎ алгоритм написания бота для пвначала бото писания пв на дельфибот для pw исходникбот собирающий ресы pwбот собирающий ресурсы для pwбот на пв собирающий ресурсыисходники бота perfect worldбот pw ресурсыисходник бота для pwисходник pw клиентбот пв исходный кодкак в перфект ворлд создать ботабайты для CE на деньги для perfect worldбот с исходниками для пвбот с исходниками для пв на делфикак делают ботов для perfect worldБот на деньги в Perfect Worldбот для pw на delphiautoit создание бота для PWBA 1C как найти хп pw

Posting Permissions

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