PDA

Просмотр полной версии : как поставить бота на выбивание определённого лута


Женя
06.02.2008, 20:19
И так, у нас есть бот, и даже бъёт абы кого с безумством достойным Ганнибала Лектора. Но необходимо чтобы он выбивал определённый лут. Карты, лут на квесты, траву для варки, вещи и прочее. Попробуем разобраться как это сделать.
Сперва надо определиться с тем что нужно. Возьмём к примеру Cactus Needle, который нужен для варки ЕДП.

Смотрим по базе (http://www.db.kafra.ru/eng/items/etc/detail/952.html) с кого падает. Ага, с моба Muka (http://www.db.kafra.ru/eng/mobs/detail/1055.html), которых больше всего водится на карте moc_fild18 (http://www.db.kafra.ru/eng/maps/moc_fild18). Проверяем какие есть агрессивные мобы и начинаем настройку бота.

Сперва определяемся с монстрами:
Идём в mon_control.txt и прописываем там следующее:
all 0 0 0
Hunter Fly 0 1 0
Dragon Fly 0 1 0
Muka 1 0 0
Теперь бот не будет атаковать никого кроме Muka и станет телепортироваться от агрессивных мух.

Думаем дальше, мы бъём только Muka, но с него же падает до черта всякой всячины...
Сперва в items_control.txt ставим строку Cactus Needle 0 1 0, так как они нам и нужны.
Объясняю почему: Итем контрол отвечает за то, что будет впоследствии делаться с предметом, волею судьбы попавшим к вам.
- Первый 0 отвечает за то, сколько предметов должно быть в инвентаре постоянно.
- Единица говорит что мы будем складировать предмет в кафру.
- Второй ноль запрещает продавать предмет.
Смотрим дальше, Empty Bottle, ставим те же параметры. Остальное можно либо на продажу (Guisarme [2] 0 0 1), либо, если вообще ненадо - выкидывать.

Как выкидываем ненужное:
Допустим нам падает Iron Ore, а он нам вот ни на что не нужен, да ещё и стоит мало, а весит огого. Ищем замечательный файл pickupitems.txt и вставляем там следующую строчку:
Iron Ore -1
Всё, теперь, если случайно это пакость окажется в инвентаре, то бот выбросит.

С другой стороны можно же просто включить @autoloot(на некоторых серверах разрешено) и поставить чтоб ненужный лут выбрасывался(хотя это черевато обнаружением). Для этого мы идём в macros.txt и вставляем там вот такие строчки:
automacro loot {
delay 2
console /Your Coordinates: / #фраза в консоли, срабатывающая как включатель
call {
do c @autoloot #включающаяся команда(можно вставить автолут итем )
}
}
Команда проверялась на работу в OpenKore_205SVN6073.

Так, мобов и лут настроили, принимаемся за самое сладкое - config.txt

Перво-наперво мы ставим боту локацию (за локацию кача отвечает lockMap):
lockMap moc_fild18
Теперь бот будет бегать по локации и бить мобов собирая то что нам надо... но ведь это надо складировать или продавать... ищем блоки ######## Autostorage/autosell ######## и прописываем следущее:

sellAuto 1
sellAuto_npc morocc 147 102
sellAuto_standpoint
sellAuto_distance 5
Бот будет автоматом продавать всё то, что вы указали в файле items_control.txt.

storageAuto 1
storageAuto_npc morocc 156 97
storageAuto_distance 5
storageAuto_npc_type 1
storageAuto_npc_steps c r1 n
storageAuto_password
storageAuto_keepOpen 0
storageAuto_useChatCommand
minStorageZeny 60
relogAfterStorage 0
А заодно и отправлять в склад то что надо. Следует сказать, что все вещи, не указаные в итем контроле автоматом будут идти на склад, если прописать all 0 1 0. Или на продажу, если all 0 0 1

Отлично, теперь бот будет выбивать иглы кактуса и собирать их на склад.
Теперь улучшаем нашу жизнь с помощью телепорта:
Ищем строки
saveMap *указать имя карты, где сохранились*
saveMap_warpToBuyOrSell *ставим 1, чтобы использовать ухо или скилл*
saveMap_warpChatCommand *использовать команду, если таковые разрешены на сервере*

А если на сервере есть команда @storage? Изменяем блок storageAuto следующим образом:
storageAuto 1
storageAuto_useChatCommand @storage
storageAuto_npc
storageAuto_distance
storageAuto_npc_type
storageAuto_npc_steps
storageAuto_passwor
storageAuto_keepOpen 0
relogAfterStorage 0

И добавим немного антиГМского, пропишем блок, чтоб бот автоматом отходил от точки респа:
autoMoveOnDeath 1
autoMoveOnDeath_map morocc
autoMoveOnDeath_x 152
autoMoveOnDeath_y 101
теперь бот после смерти отойдёт от точки респа на несколько шагов.

В написании данного руководства использовались посты 4epT'a, AmsTaFF'a и GoldenShadow. А так же Гайды и руководства, до чтения которых у многих просто ум не доходит.

Обсуждение ведётся тут (http://ragbot.ru/forum/showthread.php?p=16846)

Женя
24.03.2008, 14:39
Чтоб наш бот не умер от голода...

Наше детище может бегать и убивать монстриков, но даже если это син, то НР, винги и прочее рано или поздно заканчиваются... жаль... Ам... жаль?) Нет. Легко поправить!

Идём в уже знакомый блок Autostorage/autosell

И прописываем следущее:
buyAuto Fly Wing {
npc morocc 147 102
standpoint
distance 5
minAmount 1
maxAmount 50
zeny > 3000
}

buyAuto Meat {
npc morocc 157 72
standpoint
distance 5
minAmount 2
maxAmount 50
zeny > 2500
}

Теперь бот автоматом будет закупать мясо и винги, когда те заканчиваются.
Точно так же можно настроить покупку потов и аваков.

Что же нам надо, чтоб бот их собственно кушал?..
Расскажу на примере мяса.
Нам нужен блок useSelf_item
Там необходимо прописать, чтоб мясо елось допустим... когда у бота меньше 200 НР. Пишем так:
useSelf_item Meat {
hp < 200
}

По идее, после этих не хитрых манипуляций бот начинает кушать мясо, когда здоровье опускается ниже отметки 200.