partoftheworlD Опубликовано 17 апреля, 2017 Поделиться Опубликовано 17 апреля, 2017 (изменено) Всю ночь гуглил и что-то так и не нашел, как можно задать приоритет выполнения участков кода? Задача такая, есть аимбот, проверка видимости по костям, регистратор попаданий, допустим если видна голова и туловище,надо увеличить приоритет участку кода который работает с прицеливанием в голову, если не попадает в голову с нескольких выстрелов, то изменить приоритет и стрелять в туловище. Набросал пока такой код ,думаю как лучше сделать, первое что приходит в голову использовать нейросеть. Может, можно это сделать без неё, и если да, то как лучше? Мой черновой вариант, вроде как рабочий, но мне не нравится, не могу сказать что. Показать контент class CWeapon { public: int CurrentAmmo(); int HitReg(); int iShotNum(); }; class CLogic : CWeapon { public: int Priority(); int Shot() const; int SetPriority(DWORD PlayerID, DWORD Bone, int Priority); int SetVisibleBone(DWORD CPlayer); int SetNextVisibleBone(DWORD CPlayer); int iPriority = 0; }; int CLogic::Priority() { if (this->iShotNum() >= 2 && this->HitReg() < 1 && this->iPriority < 0 ? this->iPriority = 0 : this->iPriority = this->iPriority || this->iPriority > 10 ? this->iPriority = 10 : this->iPriority = this->iPriority); { return this->SetPriority(this->PlayerID, this->SetVisibleBone(CPlayer), this->iPriority -= 1); } return this->SetPriority(this->PlayerID, this->SetNextVisibleBone(CPlayer), this->iPriority += 1); } int CLogic::Shot() const { if(this->iPriority <= 1) { //...Расчет вектора на голову } if(this->iPriority >= 2) { //...Расчет вектора на следующую видимую кость } return 0; } Изменено 17 апреля, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
b15q95 Опубликовано 17 апреля, 2017 Поделиться Опубликовано 17 апреля, 2017 Хуки на оффсеты сначала надо сделать, чтобы писать подобные функции. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 17 апреля, 2017 Автор Поделиться Опубликовано 17 апреля, 2017 (изменено) В 17.04.2017 в 13:36, b15q95 сказал: Хуки на оффсеты сначала надо сделать Показать Что-то не понимаю, зачем хукать смещения(впервые слышу о таком)? Объясни, пожалуйста. А вообще не в смещениях дело, мне надо сам код оптимизировать для автоматического изменения приоритета противника т.е по ком в первую очередь стрелять и куда лучше, а не просто по головам бить. Изменено 17 апреля, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 18 апреля, 2017 Поделиться Опубликовано 18 апреля, 2017 В 17.04.2017 в 13:36, b15q95 сказал: Хуки на оффсеты сначала надо сделать, чтобы писать подобные функции. Показать Там ещё вроде рефрактор на поток байтов нужен ? Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 18 апреля, 2017 Поделиться Опубликовано 18 апреля, 2017 Блин, приоритет - это круто. Можно для начала сделать тупо - ты же знаешь, что у тебя видно, а что нет, вот и сделай так, что в первую очередь приоритет выставляется тем хитбоксам, которые видны в момент проверки. Далее, если их несколько (которые видны), то можно отрандомить и не париться. Можно умнее - сделать коэффициент, типа у головы 100%, у тушки - 80%, у пяток - 20%, бла-бла-бла. Самое смешное, что нейронка тут прям отлично должна зайти, как инструмент решения, но надо над этим подумать. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 18 апреля, 2017 Автор Поделиться Опубликовано 18 апреля, 2017 В 18.04.2017 в 19:12, keng сказал: Самое смешное, что нейронка тут прям отлично должна зайти, как инструмент решения, но надо над этим подумать. Показать Никогда просто не работал с нейросетями, читал про них, так что реального профита не знаю, но раз зайдет значит, буду сеть писать. Просто если так подумать, есть доступ ко всей информации, так зачем стрелять в голову, если у противника 15 хп к примеру или урон у оружия меньше, чем максимальное здоровье 1 выстрел в голову 1 в грудь. Самообучаемый аимбот - лол. В 18.04.2017 в 19:12, keng сказал: Можно для начала сделать тупо - ты же знаешь, что у тебя видно, а что нет, вот и сделай так, что в первую очередь приоритет выставляется тем хитбоксам, которые видны в момент проверки. Далее, если их несколько (которые видны), то можно отрандомить и не париться. Показать Отличная мысль, не подумал даже про это. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 18 апреля, 2017 Поделиться Опубликовано 18 апреля, 2017 В 18.04.2017 в 20:15, partoftheworlD сказал: зачем стрелять в голову, если у противника 15 хп к примеру или урон у оружия меньше, чем максимальное здоровье 1 выстрел в голову 1 в грудь. Показать В этом весь и прикол нейронок. Ты просто скармливаешь ей входные данные (доступные хитбоксы, хп и проч.) и просишь стрелять таким образом, чтобы убивать максимально быстро, тратить меньше всего патронов и тому подобное. Дальше уже нейронка думает, или ты ее предварительно обучаешь на входных данных вида "если у противника 15хп - то стреляй хоть в пятку из любого оружия". PS: Была тут новость недавно, что валве свой античит теперь нейронкой обучают. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения