HonorbuddyПлатно требуется написать плагин Для Honorbuddy: За разработку плачу от 3-5к руб за пункт. Договоримся. Мультиклиент приём соединений named pipe (Multiclient). + мультиклиентный сервер tcp-ip. Будет включен комбат бот, всё остальное - делает плагин. Требования: Основная часть - корректное исполнение команд. Файл настроек - у такого-то имени персонажа такой-то номер трубы (и такой-то номер порта), форма правки настроек. (Как ни странно их будет мало) Команды - поступают на пайп, ниже - список: Code: PipeName = "LifePipeServer1"; set fso = CreateObject("Scripting.FileSystemObject") set pipe = fso.CreateTextFile("\\.\pipe\" & PipeName) ' Open the pipe instance pipe.WriteLine("<command name=""slonPLZ"" value=""Слона!"" />") ' Recipient pipe.Close ' Close the pipe instance WScript.Quit(0) ' Exit По всем пунктам (командам) - предоставить тестовый пример VBS (WSH), краткий комментарий (в нём же) когда работает. 1 тестовый пример - на tcp-ip на Wscript. Прочее поведение: -- не обороняться, если напали! к телу - бежать с задержкой 3 минуты. Если фейл, возврат на кладбище и рес у спирит хилера. Но всегда (рандом по времени) поворачиваться лицом к нападающему, делать ход задом на 2-3 секунды, иногда с периодическим поворотом. -- Делается для Альянса (там где касается дело координат) В первой части задания: Команды: Передвинуться, в виде xml текста (<command - далее сами выбираете здесь и далее; при ошибке парсинга - ошибку и текст XML), маршрут из многих точек и название - будет хэш маршрутов (пополняется/обновляется). И маршрут. ответ: xml - массив состояния, в т.ч. трейс до точки куда передвинуться., в бою ли, живой ли, сколько хп, список враждебных дотов с количеством настакавшегося, застаннен или нет и т.п. Команда: трейс ответ: xml - просто да/нет, трассировка до точки Команда: радар. ( с флагами проверять ли видимость у объектов, видимость у враждебных только юнитов) ответ: список всех в xml юнитов, включая хп, враждебные бафы, видимость (-1 - не проверялась, 0 - нет, 1 - проверялась, есть); Комбат рейндж (к некоторым достаточно подойти на 30 метров, причём с определённого направления, а то свалишься в лаву); направление движения, скорость движения (спустя 100 мс апдейт менеджера объектов, уже без трассировки); Команда: таргет (очистить или установить) Команда: фриз (не давать раутину боя драться: снять цель, отменить автоатаку, не выход из процедуры пульс, столько-то секунд или до команды ...) Команда: анфриз Команда: начать бой с целью (своего рода пулл, но ... куча флагов: таунт... см. ниже; опции - с ближайшей, с выбранной, если не выбрана - ничего не происходит, в лог - сообщение и тихий аудио звук о фейле) Команда: возможно ли начать бой "на взгляд" . Флаги: таунтом, бежать к цели (конечная точка сген. маршрута нафигатора дальше 5 метров); дальше 30 метров (летающие). Возврат: массив флагов Команда: лутабл, 2 флага: радиус, в зоне видимости Ответ: да-нет, если есть Команда: лут латабл Ответ: успех Команда: каст спеллайди, с указанием с ожиданием столько-то секунд, если кд (вешается проверка по таймеру на это время и чуть активно - каст; прокать может щит у паладина, например) ответ: осуществлён или сбой за таймаут Команда: следовать, флаг даже если каст, флаг даже если стан (освобождение через каждый за себя у людей и шадоумелд у эльфов), флаг останавливаться по фейл ответ: массив, флаг сумели ли дойти до рендж, где срабатывает FollowUnit("unit") , следовательно и кастанули, или фейл. Таймаут - от 4.5 как скорость бега + дистанция до цели, за которой следовать + 2 секунды. Во второй версии (оплата отдельно): - Смена континента порталами (стабильный выход на нач. позиции профилей норм, БК, ЛК, Кат, МоП) Команда: следовать за нпц, столько-то секунд ответ: маунт, если надо, (в т.ч. для полёта) если игрок нашей группы - уметь находить вне зоны видимости, флай туда слепо, над терраин. Смена континента. перешёл в режим следования , передвижение урывками в зону (+5-10 метров спереди по направлению движения нпц, давать уйти на 15 метров вперёд и вновь для земли; больше - для полёта, у всех последний флай) - вход в данж по имени, долёт до него. ВСЕ данжи МоП, ВСЕ рейды МоП; - выход из него (если рядом со входом, в прямой видимости, но всё же внутри) - включение бота с нужным профилем (профиль - путём относительно папки стандартных профилей ХБ) В третьей версии (оплата отдельно): - Отправить то-то из рюкзака по почте (тип вещи, количество). Команда: вещи ответ: список вещей рюкзака xml, обязательно СПЕК (пал-дд,пал-хил,пал-танк, шам, шам-хил, ...) и уровень вещи. Команда: трейд с тем-то (игроком!), с указанием места рюкзака, указан таймаут ответ: осуществлён или сбой за таймаут Команда: трейд с тем-то нпц, с указанием места рюкзака, указан таймаут ответ: осуществлён или сбой за таймаут Команда: слон ответ: ок. по умолчанию сразу трейд с гнимо и продаёт джанк (код есть) Команда: лист всех профессий ответ: xml со спеллайди всех рецептов, ингредиенты по ним айди и имя, флаг - есть ли ингредиенты на этот рецепт Команда: количество свободных мест в рюкзаке Ответ: xml массив с типами своб. мест. Команда: получить такую-то вещь с почты в количестве ... Ответ: почта не открыта, дурак В четвёртой версии (оплата отдельно): - ролл с корректным дисенчантом / гридом-нидом относительно состава пати (ниид на мейн, если вещь по спеку вещь +5 или больше илевелов), проверка автоэквип эпиков - выдача списка заклинаний с некоторой вкусной внутренней классификацией. т.е. хранение всех активных боевых по классам. ещё несколько вещей