OpenKore

Rage

Новичок
Репутация
0 / 131
Сборка бота
(06.02.08)
- поддержка шифрованных заголовков пакетов официальных серверов RO
- эксперементальная поддержка режима xKore 1
- \\"патчконнект\\" - специальную штуку, чтобы не коннектиться на сервер, пока тот закрыт
- плагин alertSound + звуки для него - это звуковая сигнализация на разные события
- плагины macro и doCommand - для всяческой автоматизации

1.9.4.SVN5704.gif


Kore по умолчанию настроена на RagGame (русский оф).

Если вы играете на другом серваке, то вам следует удалить плагин patchConnect.pl


http://depositfiles.com/ru/files/6044176 - (SVN6184)

timeouts.txt - таймауты, не редактировать..

Теперь в кратце о config.txt как будет вести себя БОТ:

Код:
master  - здесь пишем сервер
server - номер сервера (первый ставим «0» второй «1» и т.д.)
username - Ваш логин к аккаунту
password - пароль к аккаунту
char - номер вашего чара, слева на право первый 0 второй 1 и т.д.

attackAuto...
0 - не атаковать монстров (используется для пристов, аколитов, танков и при follow)
1 - не атаковать монстров, но принимать ответные меры когда моб бьёт вас
2 - автоматически атаковать не агрессивных монстров

attackAuto_party...
0 - не атаковать
1 - атаковать мобов, которых бъют однопартийцы
2 - атаковать мобов, как только они "нацелятся" на однопартийца

attackDistance и attackMa:Distance
для рукопашников советуют 1.5 и 2.5
для лучников 10.5 и 12.5

attackCanSnipe..
0 - если чар не лучник
1 - если лучник

attackLooters..
0 - не атаковать
1 - атакует монстра (например поринга, муравья) который подобрал у вас лут


Код:
follow..
0 - бот ни за кем не следует
1 - следует

followTarget (ник перса, за которым следовать)

followEmotion..
0 - не повторять смайлики
1 - повторять
Например когда с вами бегает бот ако\прист, будет ли он повторять ваши
смайлики или юзать другие

followEmotion_distance 4
расстояние в клетках, с которого бот будет повторять смайлы

followDistanceMax 6
максимальное расстояние в клетках, на котором бот будет
СТАРАТЬСЯ держаться от вас

followDistanceMin 3
минимальное расстояние соотвественно

followSitAuto..
0 - бот не будет садиться при простое
1 - будет


Код:
runFromTarget..
1 - бот бежит от цели
0 - не бежит
runFromTarget_dist 6
если "runFromTarget 1", то бот бежит на 6 клеток от цели
по умолчанию стоит 0, советую не редактировать.

Рассмотрим примеры, attackSkillSlot, useSelf_skill, partySkill, monsterSkill и useSelf_item
Всё это надо для того чтобы БОТ пользовался скиллами, вещами и т.п.

Первый пример:

Код:
attackSkillSlot Bash {
                lvl 5
                maxUses 3
}

Это значит БОТ будет бить всех подряд скиллом Баш 5 уровня по 3 раза.

Второй пример:

Код:
attackSkillSlot Bash {
                lvl 5
                maxUses 3
                monsters Poring
}

Тоже что и первый, только тут БОТ будет бить только Порингов.

Третий пример:

Код:
attackSkillSlot Bowling Bash {
                lvl 10
                aggressives > 4
}

Бот будет бить Боулинг Башем 10 уровня только в том случае, если на него нападут больше 4 мобов.

Четвёртый пример:

Код:
useSelf_item Red Herb,Yellow Potion {
             hp < 50 %
}

Будет жрать Red Herb,Yellow Potion, если хп у бота будет меньше 50%

Пятый пример:

Код:
useSelf_item Green Potion {
             whenStatusActive Poisoned
}

Будет жрать Green Potion, если на бота будет действовать Яд.

Шестой пример:

Код:
useSelf_skill Heal {
              lvl 10
              hp < 60 %
              sp > 10 %
}

Будет Лечнить себя скиллом Heal 10 уровня, если хп у бота меньше 60% и сп больше 10%

Седьмой пример:

Код:
useSelf_skill Twohand Quicken {
            lvl 10
            whenStatusInactive Twohand Quicken
}

Полезно для кнайтов, будет делать на себя Twohand Quicken 10 уровня, если у нету этого эффекта, как закончится дейтсвие Twohand Quicken, то бот опять его сделает.

Восьмой пример:

Код:
partySkill Heal {
           lvl 3
           target_hp < 40
}

Будет лечить всех членов пати Хилом 3 уровня если у цели хп меньше 40%

Девятый пример:

Код:
partySkill Blessing {
           lvl 10
           target_whenStatusInactive Blessing
}

Будет делать Блесс 10 уровня всем членам пати если у них нету этого эффекта блесс..

Десятый пример:

Код:
monsterSkill Blessing {
             lvl 1
             maxUses 1
             target Deviruchi,Khalitzburg
}

Будет делать Блесс 1 уровня на Деверучи или Блаблабла.

Подробную инфу по переменным Скиллов и Слотов вы можете прочитать в файле config.txt на английском языке.

================================================== ==

И последняя настройка файла config.txt
В самом низу..


Код:
statsAddAuto 1
statsAddAuto_list 20 str, 30 dex, 30 agi, 30 vit
statsAddAuto_dontUseBonus 1
 
skillsAddAuto 1
skillsAddAuto_list Basic Skill 9, Enlarge Weight Limit 5, Pushcart 3, Vending 10, Discount 10, Mammonite 10

statsAddAuto_list при получении уровня бот будет расскилывать статы в определённом порядке.

Можно сделать так:

Код:
statsAddAuto_list 10 str, 10 dex, 10 vit, 20 str, 15 dex, 40 vit, 30 str, 25 dex, 60 vit

Тогда бот будет в таком порядке расскидывать статы.

тоже самое и тут skillsAddAuto_list
В каком порядке он это будет делать не важно.. главно чтобы правильно было.

Заполнять все это не обязательно, советую для хай-лвл чаров вообще это не трогать, а
просто оставить statsAddAuto 0 и skillsAddAuto 0
 
Файлик servers.txt содержит настройки на серверы, и находится в папочке tables.

Чтобы подключиться к одному из упомянутых в servers.txt серверов, надо в config.txt очистить строчки master, server и serverType. После этого, если запустить ОпенКору, она предложит выбрать сервер из списка.

Серверов в данном файле по умолчанию множество, но вашего там конечно не оказалось - жаль... но мы это исправим!

Файлик servers.txt имеет такой формат:

Подробности. Этот гайд (выше) порос мхом. Он очень древний. Он написан был в те времена, когда все сервера были практически одинаковы. В нём не хватает одного важного момента - определение serverType сервера.

serverType - это, фактически, версия протокола обмена информацией между клиентом и сервером (т.е. какого размера пакеты и как в них уложена информация). Как его определить? Логичнее всего захватить WPE несколько пакетов - move, attack, и сравнить их с... э... ну с исходниками Kore. Если вам не понятно, как это сделать, просто подберите это число. Типичные значения (в порядке снижения популярности) - 8, 9, 5, 0, 8_1. Если эти значения не подходят, попробуйте другие, из диапазона 0...20.

* * *

Дополнение. Определяем сервер-тайп:

Замый простой для понимания нупов метод - WPE в зубы, и отлавливаешь пакет мап-логина.

Затем, у изловленного пакета смотришь на...
а) первые два байта (заголовок).
б) его длину.

Вот этот фрагмент нупам делать не обязательно, дальше есть упрощенный метод; но все равно прочитать стоит:
Цитата:
Далее, лезешь в исходники OpenKore, в network...send... и в разных файлах/процедурах там (в сервертайпах) ищешь, чему тобой изловленное равняется; т.е. какой сервер-тайп генерирует такие пакеты, как ты изловил (еще раз, нас интересует соответствие заголовка и длины).

Длину пакета нупам определить по исходнику обычно тоже затруднительно. Ну что ж, тогда плюешь на длину, просто записываешь себе все serverType с подходящим заголовком, и пробуешь их по очереди.

PS:Стоит сделать табличку, чтобы не лазить по исходникам, но чо-та лень. (Это уже сделано! См. ниже!)


ЗЫ: Приложение. Как изловить мап логин. Доходишь до выбора чара, нажимаешь "запись" в WPE, затем выбираешь чара. Через секунду нажимаешь "стоп", и смотришь чо изловилось. Самый первый пакет будет посылка чар-серверу, как правило, в порт 6121. А то, что тебе нужно - первый пакет "к другому порту", как правило, к 5121.

PPS: На картинке в первом посте темы НЕ тот пакет что нам нужен, но, чисто для примера, заголовок этого пакета "64 00" (0x0064), а его длина "55".

Вот здесь на картинке изловлен мап-логин, как описано выше. Давайте найдем нужную нам информацию...

finding_servertype_wpe.png


Тут кстати видно, в каком слоте афтар картинки выбрал чара (пакет №6, send, смотреть на последний байт). А чар сервер (порт 6121) тебе на это ответил (Recv, пакет №7) "где ты появляешься" (т.е., какую карту загружать клиенту)(это был последний пакет от чар-сервера). И вот, после загрузки карты клиент телеграфирует (пакет №8) мап-серверу (смена порта на 5121, send) ("карта загружена, поехали!") - так вот это нам и надо (мап-логин)! Здесь у тебя заголовок "9B 00", длина 26. Кажется, это или сервертайп 8, или 8_1, имхо, я точно не помню какой.


* * *

А вот теперь совсем всё просто. Упрощенный метод. Достаточно захватить этот самый пакет мап-логина и заглянуть вот в эту свеженарисованную табличку:
Табличка соответствий serverType - eA's packet version - параметры мап-логина (заголовок, длина), не совсем полная:

8 ....... 22 ....... 0x009b,26 ....... eA середины 2007 - самая распространенная
нет ....... 21 ....... 0x009b,26 ....... немного устаревший вариант еА; внимание, та же длина пакетов, что и у sT-8, но другое расположение аргуметов (?).
9 ....... 19 ....... 0x009b,37 ....... eA ~середина 2006
5 ....... 18 ....... 0x009b,32 ....... eA ~начало 2006
0 ....... 5 ....... 0x0072,19 ....... iRO, а так же устаревшие сервера разных платформ
8_1 ....... (не поддерживается eA) ........ 0x009b,34 ....... редкость
3 ....... 16 ....... 0x009b,32 ....... как sT-5, но другое расположение аргументов; редкость.
4 ....... 13 ....... 0x00f5,29 ....... иногда встречается.



* * *

Правильное определение serverType поможет вашей безопасности. Дело в том, что эмулятор eAthena разрешает работу сразу нескольких версий клиента, но показывает администратору, какую именно версию использует клиент.
Разумеется, если там будет указана "не родная" версия, не такая как у оригинального клиента, это может вызвать подозрения, плавно переростающие в уверенность, что вы используете "нехороший" софт.

* * *

Дополнение: На данный момент (март 2008) появились варианты serverType 8_2, 8_3 и 8_4. Руководство по их использованию пока не составлено.

Что делать, если имя чара, его профессия и уровень отображаются неправильно?

A1: Наверняка вы неправильно определили serverType! См. про него выше.

A2: Однако, в очень редких случаях, если вы уверены что serverType верен... читаем дальше:
[/QUOTE]
Очень часто жалуются, что "имя чара, его уровни и даже цвета отображаются неправильно". Ну, например, новис имеет уровень 0/0.
Вот типичный пример, как это выглядит; тут кусочек экрана клиента и кучочек экрана OpenKore (видите, внизу имя обрезано?):
charblocksize.png

В таком случае следует добавить в servers.txt (в описание сервера) такую строчку:
charBlockSize 108
Эта цифра - это к-во байт; указывает, какое количество байтов отводится под описание каждого из персонажей. Раньше всегда этот размер был равен 106, но вот теперь он на новых серверах 108, и возможно, будет когда-нибудь еще изменен.
И еще вот что: эта штука не работает со старыми OpenKore; нужен ~ 1.9.4 SVN 5200, и выше.
Полезно знать, что в ОпенКоровском serverType 8 уже внутри его прописана цифра 108, поэтому он не требует под себя дополнительной настойки, ему не нужна вот эта строчка "чарБлокСайз".

Режим xKore 1 и serverType:

[/QUOTE]
Кстати, правильное определение serverType необходимо для работы в режиме xKore 1.

Если "serverType" клиента и serverType OpenKore не совпадут - вы получите вылеты из игры и/или зависания персонажа в игре.
И это несмотря на то, что по отдельности клиент будет работать и OpenKore в режиме xKore 0 тоже!

- - - - - -

P.S.: Речь идет о том, что многие сервера не требует четкого определения сервертайпа и допускают работу нескольких сервертайпов.

P.P.S.: Для самых маленьких разъясняю: сервер-тайп задается в servers.txt, и оттудова он автоматом переносиццо в config.txt.
(Правда, чтобы он перенесся автоматом, первый раз следует запустить OpenKore в режиме (внимание!) xKore 0, что и рекомендуеццо сделать, прежде чем лезть в xKore 1).

P.P.P.S.: Вторая часто распространенная проблема режима xKore - неверный файл recvpackets.txt.


* * *

Хозяйке на заметку, о простом определении адреса/порта сервера.

[/QUOTE]
Смотрите-ка, какую здравую мысль высказал нуп Димончаун с Чит-Ворлдса:

"чтобы узнать IP нуна сделать вещи
1 Войдя в игру нажать Пуск.Выполнить пропечатать "cmd"
2 В появившейся консоли прописать "netstat"
3 Выбираем свой Ip и Port"

Ы? Красота.

PS: Уточняю. Сначала набираем команду в консоли, но не нажимаем "ввод". Затем логинимся, сразу переключаемся на консоль, и жмем "ввод". Среди установленных соединений (обычно их не много), видим наше, как правило с флажком "time_wait".

kLabMouse говорит: netstat -a -n
4орт говорит: лучше netstat -b и это действительно хороший вариант, т.к. указывается сразу имя приложения, например sakexe.exe.

ЗЗЫ: Не. Фигня этот netstat. Не всегда срабатывает. Лучше классический мэтод.

Взято: http://rofan.ru/ и http://www.ragnarokbot.ru/
 
Бот красивый ...выручал не раз ... но щас на многих серверах стоит защита (((
 
Так она вся обходится ) даже мотр. (xkore 1)
 
Сверху