Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Основные игры > WarCraft 3 > WarCraft 3 Боты
Присоединяйся к нам

WarCraft 3 Боты Вопросы и обсуждения ботов.



Ответ
 
Опции темы Опции просмотра
Старый 30.10.2013, 13:37   #1
Рядовой
 
Аватар для ruslanisch
 
Регистрация: 22.03.2012
Сообщений: 25
Репутация: 13
Автор Восклицание

Создание DoTA бота для автокриппинга


Добрый день.
Хочу сделать своего бота для сабжа.
Есть dreamdota 13.90 - не устраивает качество автодобивания.
Есть guai - добивание норм, но плохо харасит врага, нет нормального авто отступления, если тебя харасят.
Вообще смысл бота - отиграть первые минут 10, когда важна скорость криппинга.
Посмотрел какие есть варианты, это JASS и LUA.
Не очень понятна схема встраивания скриптов в сам варик, может знает кто?
Также интересует, знает ли кто, как dreamdota или guai встраивает скрипты в варик?
Все это будет опенсорц или "for free", если что.
  Ответить с цитированием Наверх
Старый 30.10.2013, 13:52   #2
Матерый
 
Аватар для e X s
 
Регистрация: 16.09.2013
Адрес: Дома
Сообщений: 245
Репутация: 49
Отправить сообщение для e X s с помощью ICQ Отправить сообщение для e X s с помощью AIM Отправить сообщение для e X s с помощью Yahoo Отправить сообщение для e X s с помощью Skype™
По умолчанию

!!! GUAI представитель у него спроси !! он типо Этого делал
__________________
Если человек решил стать умнее, то он точно не был глупцом.
  Ответить с цитированием Наверх
Старый 30.10.2013, 14:21   #3
Старожил

 
Аватар для DKzetname
 
Регистрация: 19.05.2013
Сообщений: 524
Репутация: 423
Отправить сообщение для DKzetname с помощью ICQ Отправить сообщение для DKzetname с помощью AIM Отправить сообщение для DKzetname с помощью MSN Отправить сообщение для DKzetname с помощью Yahoo Отправить сообщение для DKzetname с помощью Skype™
По умолчанию

Цитата:
Сообщение от e X s Посмотреть сообщение
!!! GUAI представитель у него спроси !! он типо Этого делал
ты наверн имеешь ввиду Abso
__________________

ZETMAN
  Ответить с цитированием Наверх
Пользователь сказал cпасибо:
ruslanisch (30.10.2013)
Старый 30.10.2013, 14:50   #4
Рядовой
 
Аватар для ruslanisch
 
Регистрация: 22.03.2012
Сообщений: 25
Репутация: 13
Автор По умолчанию

e X s, если ты считаешь, что это боян, то мог бы и не писать, т.к. написал ты бред.
GUAI - платная программа, я хочу сделать бесплатную.
  Ответить с цитированием Наверх
Старый 30.10.2013, 15:10   #5
O kitty



 
Аватар для Der_SySLIK
 
Регистрация: 12.09.2010
Сообщений: 354
Репутация: 521
Отправить сообщение для Der_SySLIK с помощью Skype™
По умолчанию

Цитата:
Сообщение от ruslanisch Посмотреть сообщение
GUAI - платная программа, я хочу сделать бесплатную.
на нашем форуме есть 'Abso' оффициальный представитель данной программы. НО это не имеет к делу никакого отношения.
Формально всё это делается так : проверяем память, находим адреса героев (в твоём случае крипов) чекаем хп => делаем действие. Более подробно тебе Abso расскажет если захочет.
__________________
Бульбазавр спешит на помощь ^.^
  Ответить с цитированием Наверх
Пользователь сказал cпасибо:
ruslanisch (30.10.2013)
Старый 30.10.2013, 15:19   #6
Рядовой
 
Аватар для ruslanisch
 
Регистрация: 22.03.2012
Сообщений: 25
Репутация: 13
Автор По умолчанию

Der_SySLIK, т.е. прямое чтение/запись памяти? Хм... как-то не очень. Может можно заставить варик запустить скрипт?
  Ответить с цитированием Наверх
Старый 31.10.2013, 10:59   #7
Support GuAI



 
Аватар для Abso!
 
Регистрация: 31.10.2009
Адрес: BY
Сообщений: 1,428
Монетки D3Scene.Ru: 200
Репутация: 700
Отправить сообщение для Abso! с помощью Skype™
По умолчанию

Я думаю в GuAI используется Jass код, как и в DreamDota, если использовать classJass то действия вызывают десинхронизацию,а это значит у них используется как-то чистый Jass код, только без десинхронизации. Думаю это что-то связанное с Jass AI скриптами , но не уверен :)

С помощью cJass(class Jass не путайте с cJass ) можно сейчас получить координаты всех юнитов, их хп, лвл и т.п

Для бота нужно как-то юниту отдавать приказ. (можно отследить обработчик мыши и какие функции вызываются при правом клике или использовании способности)

Т.е для создания бота все есть кроме приказов.
  Ответить с цитированием Наверх
Старый 31.10.2013, 11:50   #8
Рядовой
 
Аватар для ruslanisch
 
Регистрация: 22.03.2012
Сообщений: 25
Репутация: 13
Автор По умолчанию

Abso!,
OK, давайте для начала разберемся в терминологии, назовем jass native class, тот который вызывает jass функи непосредственно из game.dll - cnJass, а cJass так и останется. Чтобы не путаться.
Теперь вопрос такой: чем же отличается использование cnJass от cJass?
Ведь в cnJass мы вызываем эти методы так же, как и в cJass, за тем исключением, что используются разные методы синхронизации.
cnJass для этого используют методы, грубо говоря, WinAPI (потоки, таймеры, крит. секции, мьютексы и т.п.).
cJasss скорее использует для этого свои механизмы (например триггеры).
Проще говоря, если решать одну и туже задачу (скажем, отступление юнита при появлении врага) при одних и тех же исходных данных на cnJass и cJass, то между ними получится разница во времени при отступлении. Это и есть десинхронизация?
И почему с помощью cnJass нельзя отдавать приказы, не понял?
  Ответить с цитированием Наверх
Старый 31.10.2013, 12:35   #9
Support GuAI



 
Аватар для Abso!
 
Регистрация: 31.10.2009
Адрес: BY
Сообщений: 1,428
Монетки D3Scene.Ru: 200
Репутация: 700
Отправить сообщение для Abso! с помощью Skype™
По умолчанию

cnJass выполняется для LocalPlayer, допустим один юнит каким-то образом получил приказ атаковать, а у других игроков этого приказа небыло = десинхронизация.
  Ответить с цитированием Наверх
Старый 31.10.2013, 12:43   #10
Рядовой
 
Аватар для ruslanisch
 
Регистрация: 22.03.2012
Сообщений: 25
Репутация: 13
Автор По умолчанию

Abso!, если выполняется jass картой/вариком (вообще пока смутно представляю как это работает), то об этом знают и другие игроки?
Не очень понятно, почему возникает разсинхрон. Ведь команды одни и те же. Может как-то можно из cnJass выполнять нативки как раз-таки в нужном контексте (в том же, в котором выполняются нормальные скрипты вара)?
  Ответить с цитированием Наверх
Старый 31.10.2013, 13:26   #11
Матерый

 
Аватар для StiGaBeasT
 
Регистрация: 14.10.2012
Сообщений: 310
Репутация: 132
По умолчанию

сабж - такой же бот для автодобивания для д2 есть?
__________________
мэтр гомосексуализма, гуру пафоса
Гуру величия. Шаман сексуальности.
  Ответить с цитированием Наверх
Старый 31.10.2013, 13:50   #12
Местный
 
Аватар для 1qwerty12
 
Регистрация: 28.11.2012
Адрес: Россия
Сообщений: 123
Репутация: 67
По умолчанию

Учись сам фармить
  Ответить с цитированием Наверх
Старый 31.10.2013, 13:55   #13
Рядовой
 
Аватар для ruslanisch
 
Регистрация: 22.03.2012
Сообщений: 25
Репутация: 13
Автор По умолчанию

1qwerty12, сам решу, чему мне учиться. Не оффтопь.

Добавлено через 13 минут
Abso!, если отладчиком подцепиться к варику, то не срабатывают бряки на jass функции. Что за фигня?

Последний раз редактировалось ruslanisch; 31.10.2013 в 14:08. Причина: Добавлено сообщение
  Ответить с цитированием Наверх
Старый 31.10.2013, 17:41   #14
Заблокирован
 
Аватар для Ulan-Ude
 
Регистрация: 25.11.2008
Сообщений: 176
Репутация: 33
Отправить сообщение для Ulan-Ude с помощью Skype™
По умолчанию

Цитата:
сабж - такой же бот для автодобивания для д2 есть?
Есть, Project Ensage (скрипт)
  Ответить с цитированием Наверх
Старый 31.10.2013, 19:52   #15
Рядовой
 
Аватар для ruslanisch
 
Регистрация: 22.03.2012
Сообщений: 25
Репутация: 13
Автор По умолчанию

Пока что не могу понять, как вообще должно быть все устроено.
Либо это будут LUA скрипты, либо jass.
С lua пока вообще не понятно, насколько они применимы.
С jass не до конца. Если бот будет полностью на скрипте (возможно также создание дополнительных custom native jass), то куда его загружать? Как я понял, все скрипты карты хранятся в файле war3map.j (он, в свою очередь, храниться в карте), который стартует при загрузке карты. Можно поискать функцию загрузки этого скрипта при старте карты и вставлять в него свой код на триггерах.

Добавлено через 14 минут
В общем, здесь я свой монолог закончил...
Если у кого-то есть желание создать нечто свое, опыт реверса, программирования, то пишите в лс.

Последний раз редактировалось ruslanisch; 31.10.2013 в 20:07. Причина: Добавлено сообщение
  Ответить с цитированием Наверх
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 00:42. Часовой пояс GMT +4.