Просмотр полной версии : Условие в боте возможно ли?
Хочу написать скрипт для прохождение нублеса на пвп фришках.
В общем перейду сразу к делу, все мы знаем про квест на нублес и как он проходится наверно наизусть. Если под напрячь нашу память в первом квест у нас есть задание: 7. Идите в Dragon Valley. Охотьтесь на Malruk Succubus и Malruk Succubus Tauren, пока не получите 10 Malruk succubus claws. Запаситесь терпением, дроп этих вещей очень низкий. . Написать скрипт до убийства сукубов не составило труда, а вот теперь вопрос, как заставить бота атаковать их (на скрипте) и убивать до тех пор пока он не наберет 10 Malruk succubus claws..
Обсуждаем :o
Да тут вроде нечего обсуждать=)
label(Qitem)
ITEMCOUNT([Айди твоей квест вещи],<,10)
{
delay(500)
jmp(Qitem)
}
Ну и далее действия, которые выполнять после получения 10 квест итемов.
viteksamb
27.07.2010, 10:51
Просто. Ставишь в скрипте командой сначала не атаковать всех мобов, а потом так же командой атаковать мобов только с нужным ID (в твоем случае ставишь ID сукубов - его глянуть можно в любой БД по Л2. И проверяй скриптом кол-во предметов - если набрал нужное, скрипт заканчивается и все.
Да тут вроде нечего обсуждать=)
label(Qitem)
ITEMCOUNT([Айди твоей квест вещи],<,10)
{
delay(500)
jmp(Qitem)
}
Ну и далее действия, которые выполнять после получения 10 квест итемов.
Что такое Qitem, в этом условии как он разберет какого моба ему бить если ему тут надо лиш указать чтоб он выбил 10 итемов
Добавлено через 2 минуты
Просто. Ставишь в скрипте командой сначала не атаковать всех мобов, а потом так же командой атаковать мобов только с нужным ID (в твоем случае ставишь ID сукубов - его глянуть можно в любой БД по Л2. И проверяй скриптом кол-во предметов - если набрал нужное, скрипт заканчивается и все.
Пожалуйсто обозначения как поставить командой не атаковать всех мобов, так же атаковать только с нужным ИД и команду если набрал нужное кол-во юзал след действие
SET(MON,NOATTACK,*)
SET(MON,ATTACK,name[ID=айди сукуба твоего])
label(Qitem)
ITEMCOUNT([Айди твоей квест вещи],<,10)
{
delay(500)
jmp(Qitem)
}
Вот так более точно. Qitem просто метка.
viteksamb
27.07.2010, 10:58
Что такое Qitem, в этом условии как он разберет какого моба ему бить если ему тут надо лиш указать чтоб он выбил 10 итемов
LABEL(START)
SET(MON,NOATTACK,*)
DELAY(1000)
SET(MON,ATTACK,"имя моба (необязательно писать) [ID="ИД моба писать обязательно])
DELAY(1000)
LABEL(QITEM)
ITEMCOUNT([Айди твоей квест вещи],<,10)
{
DELAY(1000)
JMP(QITEM)
}
// Продолжаем квест дальше
SET(MON,NOATTACK,*)
SET(MON,ATTACK,name)
label(Qitem)
ITEMCOUNT([Айди твоей квест вещи],<,10)
{
delay(500)
jmp(Qitem)
}
Вот так более точно.
А радиус фарма сукубов тут как будет ставится? всех которых вблизь видит?
* - это обозначает что типа всех мобов не бить как я понял?
[I]Добавлено через 1 минуту
Еще вопрос, если сукубов 2 вида, как добавить 2 ид ?
ну радиус можно скриптом"SET(RANGETYPE,STARTPOS,800)", хотя я вообще предпочитаю в данных ситуациях конфиги грузить.
Добавить включая логику=)
ну радиус можно скриптом"SET(RANGETYPE,STARTPOS,800)", хотя я вообще предпочитаю в данных ситуациях конфиги грузить.
Если поставлю без радиуса, то будет бить всех кого можно взять по /target ?
нет, по дефаулту не помню какой там радиус.
SET(RANGETYPE,STARTPOS,800)
SET(MON,NOATTACK,*)
SET(MON,ATTACK,name[ID=айди сукуба твоего])
label(Qitem)
ITEMCOUNT([Айди твоей квест вещи],<,10)
{
delay(500)
jmp(Qitem)
}
вот так сделай и будет работать.
viteksamb
27.07.2010, 11:06
Если поставлю без радиуса, то будет бить всех кого можно взять по /target ?
SET(RANGETYPE,RAND) тебе тогда эта команда, но не рекомендую ее - так как бот убежит ХЗ куда
А как насчет 2 видов моба ?
Предпологаю что так:
SET(MON,ATTACK,name[ID=айди сукуба твоего1],[id=айди сукуба 2]) прав?)
viteksamb
27.07.2010, 11:12
Проще всего будет, как Анзорик написал
Добавлено через 49 секунд
А как насчет 2 видов моба ?
Предпологаю что так:
SET(MON,ATTACK,name,[id=айди сукуба 2]) прав?)
Прав
[I]Добавлено через 3 минуты
Хотя чтоб наверняка можно так
SET(MON,ATTACK,name)
DELAY(500)
SET(MON,ATTACK,name[ID=айди сукуба твоего2])
[I]Добавлено через 45 секунд
Анзорик, мы тут родили с тобой скрипт можно сказать))
viteksamb,
Ага, групповое скриптописание :D
Проще всего будет, как Анзорик написал
Добавлено через 49 секунд
Прав
Добавлено через 3 минуты
Хотя чтоб наверняка можно так
SET(MON,ATTACK,name)
DELAY(500)
SET(MON,ATTACK,name[ID=айди сукуба твоего2])
[I]Добавлено через 45 секунд
Анзорик, мы тут родили с тобой скрипт можно сказать))
тоесть это он если 1 сукуба не найдет то через пол секунды будет искать сукуба 2 ? :)
нед, он просто пометит обоих для аттаки. А убивать будет рандомно.
viteksamb
27.07.2010, 11:21
Будет убивать, который ближе или который приоритетнее (по умолчанию приоритет у обоих одинаковый, так что не заморачивайся)
viteksamb
27.07.2010, 11:31
Хм... Да вроде работал :) Ну не суть важно... Фиг с ним с приоритетом - главное будет работать скрипт.
Добавлено через 6 минут
Анзорик, и вот где наша с тобой куча спасибок в каждом посту? =)
Ну я их не тыкаю просто так :) Вот вечером приду домой проверю и растыкаю по каждому посту :)
Добавлено через 6 часов 55 минут
LABEL(START)
SET(MON,NOATTACK,*)
DELAY(1000)
SET(MON,ATTACK,"имя моба (необязательно писать) [ID="ИД моба писать обязательно])
DELAY(1000)
LABEL(QITEM)
ITEMCOUNT([Айди твоей квест вещи],<,10)
{
DELAY(1000)
JMP(QITEM)
}
// Продолжаем квест дальше
Я кстате не понял, звездочку из SET(MON,NOATTACK,*) или её заменить на ид тех мобов которых бить ненадо?
Звездочка обозначает выбор всех предметов в списке, в твоем случае всех мобов.
viteksamb
27.07.2010, 18:49
ид тех мобов которых бить ненадо?
улыбнулся-посмелся :) Оставь как есть
А если во время прохождения квеста сольют в ПК,можно сделать так чтоб он продолжал делать то на чем остановился?
И как будут дела обстоять если на меня с агрится дракон?
п.с: дракон это агр моб в локации с сукубами
dyh9l, Блин скачай готовых скриптов, смотри код и разбирайся, все так начинали. Не ленись.
viteksamb
28.07.2010, 10:37
Сольют в ПК - делай через равные промежутки времени проверку на смерть. Если помер - по условию ТП в город, изучи точки респа в городе, пропиши их. И из каждой точки респа пропиши путь до нубобафа. Нубобафнись и иди опять на спот с сукубами.
Если сагрится дракон - бот его грохнет. Расписывать покомандно не буду. А принцип я объяснил.
В чем разница между Delay() и Pause() ?
В чем разница между Delay() и Pause() ?
задержка это таймер, а пауза это пауза, пока не нажмешь продолжить будет скрипт стоять
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot