Боты 7.02 №3 Extended

  1. в прошлом году

    Nikoliasik_Zeus

    11 Mar 2017Администратор+ 1157489 RP  

    Практически каждый патч добавляют новые команды ботам, возможно,в этом году планируется турнир ботов
    // в прошлом году был турнир ботов по CS GO - было очень интересно смотреть

    [u]Список обновлений за ~45 дней с момента публикации прошлых обновлений[/u]
    (из названия функций понятно, что они должны выполнять.К некоторым непонятным функциям будет описание)
    >Добавлена команда GetModifierList() к API ботов;
    >Добавлена команда IsFlyingCourier( hCourier ) к API ботов;
    >Добавлена команда DebugPause() к API ботов;
    >Добавлена команда GetTowerAttackTarget( nTeam, nTower ) к API ботов;
    >Добавлена команда GetBotNames() , которая возвращает имена ботов , чтобы использовать имена в следующих играх;
    >Добавлен элемент 'caster' к GetIncomingTrackingProjectiles() (бот отслеживает, кто пустил в него спелл);
    >Добавлена таблица 'player' для GetAvoidanceZones , возвращает таблицу( Зона уклонения ботов - получить данные об игроках в зоне уклонения,возвращает таблицу);
    >Пофикшена команда GetTarget() , которая крашила игру, если небыло ботов/игроков ;
    >Юниты,которые не были ботами (как крипы на линии) стали теперь ботами (эффект доминатора) теперь ими можно управлять, используя MinionThink() ;
    >Теперь для ботов есть отдельная WORKSHOP-страница, в игре появилась возможность выбирать файлы ботов для загрузки;
    >Добавлен dump_modifier_list ,который делает дамп всех логов в консоли;
    >Добавлен GetAttackCombatProficiency( hTarget ) и GetDefendCombatProficiency( hAttacker ) к функциям ботов( скиллы , которыми нужно атаковать, и соответственно, обороняться);
    >Пофикшен WORKSHOP, когда невозможно было загрузить своих ботов;
    >Исправлен UI-баг, когда нельзя было выбрать сценарий ботов в настройках лобби;
    >Добавлена 'player' таблица элементов к результатам GetDroppedItemList();
    >Добавлена 'player' таблица элементов к результатам GetIncomingTrackingProjectiles();
    >Пофикшена команда MinionThink(), которая вызывалась при убийстве бота(т.е продолжала работать);
    >Команда Think() была убрана, теперь вместо её MinionThink();
    >Боты на последних 2х сложностях теперь не имеют задержки;
    >Пофикшена команда ItemPurchaseThink(), когда боты не могли покупать предметы, заданные в скриптах;
    >Изменены все элементы 'player' в таблице GetLinearProjectiles(),GetLinearProjectileByHandle(), GetIncomingTrackingProjectiles(),GetDroppedItemList(), and GetAvoidanceZones() на 'playerid';
    >Пофикшена команда IsShrineHealing, которая не всегда возвращала значение true( т.е боты не понимали, использовали они фонтан или нет);
    >Добавлена функция GetAllTrees() , чтобы вернуть в таблицу месторасположение всех деревьев на карте;
    >Добавлена функция CreateHTTPRequest() , чтобы делать HTTP-запросы на локальной машине; ;
    >Добавлена команда dota_bot_long_frame_warning для отключения предупреждений о частоте кадров;
    >Исправлен вылет при использовании функции UpdateRoamDesire(), т.е функция не возвращала таблицу и приводила к крашу;
    >Боты теперь пытаются забрать лежачие предметы, не пытаются теперь оптимизировать свой стэш и предметы(т.е перекладывать);
    >Пофикшена команда GetManaRegen(), теперь корректно возвращает значение;
    >Изменена функция Action_MoveToLocation() для более точного перемещения бота в заданные координаты;
    >Пофикшена команда Action_MoveToUnit() ,теперь можно применять к группам юнитов;
    >Пофикшена команда GetUnitList() теперь корректно возвращает список зданий на базах;
    >Пофикшена команда dota_bot_reload_scripts , когда при её вызове игра крашилась;
    >Команда UpdateLaneAssignments() теперь возвращает значение в виде таблицы. Теперь для возвращения необходимой строчки в таблице нужно использовать функцию GetTeamMember();
    >Пофикшена глобальная переменная GetNeutralSpawners() , теперь возвращает значения в таблице "имя лагеря,месторасположение лагеря";
    >Добавлены союзные/вражеские варды в GetUnitList() наряду с UNIT_LIST_ALLIED_WARDS и UNIT_LIST_ENEMY_WARDS константами;
    >Добавлена GetNearbyBarracks() и GetNearbyShrines() функции;
    >Добавлена Action_UseShrine() функция;
    >Добавлена Action_DisassembleItem() и Action_SetItemCombineLock() функции;
    >Добавлена Action_Ping() и GetMostRecentPing() функции;
    >Добавлена GetCurrentActiveAbility() функция;
    >Добавлена GetModifierStackCount() функция;
    >Добавлена GetBuybackCost() and GetBuybackCooldown() функции;
    >Добавлена GetLevel() функция;
    >Функция GetEstimatedDamageToTarget() теперь не работает на ботах , только на крипах и вышках;
    >Добавлены функции CanBeDisassembled() иIsCombineLocked(). Эти функции применяются только к предметам;

    Разработчики VALVE планируют добавить поддержку [u]Выделенных Серверов[/u] для тестирования ботов( пока только локально или в лобби можно играть одному или с друзьями);
    Также планируется выделение в WORKSHOP отдельной страницы под ботов( Сейчас в Workshop'е все вперемешку, т.е все скрипты лежат в dota2 workshop);

    Интерактивная прога dota2 bot console для откладки, написанная на питоне
    https://github.com/Keithenneu/dota2comm/tree/master/interactiveConsole

    -image-

    Сбалансированные боты , которые более-менее играбельные
    https://github.com/Nostrademous/Dota2-FullOverwrite

    Еще одни интерактивные боты
    https://github.com/Nostrademous/Dota2-FullOverwrite/wiki/Workflow-for-Debugging-Bots

 

  
или зарегистрируйтесь чтобы ответить!