| Главная » Статьи » Мои статьи |
| Cкрипты для бота. Важно! Любой скрипт сохраняйте только в формате ЮНИКОД ! Начну с основных команд скрипта: GOHOME() //Переход к началу скрипта. SAY(Сообщение) //Писать что-либо в окне чата. Не думаю, что это будет полезно JMP(Текст) //Переход к CALL(Текст) где текст в кавычках такой же. CALL(Текст) //Вызов подпрограммы. Переход к LABEL(Текст) где текст в кавычках такой же. LABEL(Текст) //Обозначает метку для перехода по CALL(Текст). DELAY(x) x = милисекунды //Приостановка скрипта. Pause(x) x = милисекунды //Не уверен, что есть разница между DELAY и PAUSE RETURN() //Выход из подпрограммы. EXIT() //Выход из скрипта. ПЕРЕМЕЩЕНИЕ: MOVETO(x,y,z) //Топать в точку с координатами x,y,z ПРЕДМЕТЫ: ITEMCOUNT(Название предмета[ID=#],<,1) { } //Подсчитывает количество указанных предметов с условиями <, >, = и выполняет скрипт в фигурных скобках. USEITEM(Название предмета[ID=#]) //Использует предмет. BuyItem(Название предмета[ID=#],#) //Покупает предмет BuyItem(Название предмета[ID=#],#;Название предмета[ID=#],#) //Покупает за раз более одного предмета (можно указать много предметов через точку с запятой) . SavelItem(Название предмета[ID=#],#) //Помещает предмет в хранилище (Warehouse). SavelItem(Название предмета[ID=#],#;Название предмета[ID=#],#) //Помещает несколько предметов в хранилище (Warehouse). LoadItem(Название предмета[ID=#],#) //Забрать предмет из хранилища. LoadItem(Название предмета[ID=#],#;Название предмета[ID=#],#) //Забрать несколько предметов из хранилища. # - само собой количество. МОБЫ aka NPC's: NPCSEL(Имя NPC[ID=#]) //Выбрать NPC. NPCDLG(Имя NPC[ID=#]) //Открыть диалог с NPC. DLGSEL(Диалог) //Выьрать пункт диалога [пример: DLGSEL(Buy)] StrInDlg(Диалог) { } //Проверяет присутствует ли фраза в диалоге. (например, Thank You!) Если да, то испольняеца кусов скрипта в фигурных скобках ({}). Параметры персонажа: ChangeWaitType(x) Сменить состояние с "сидеть" на "стоять" и наоборот. x = 0 Сесть x = 1 Встать CharStatus([CHP|CMP|HP|MP|WEIGHT|LV|SP|RACE|STAND] ,[>=|>|==|!=|<|<=],число) { } CHP = Здоровье персонажа CMP = Мана персонажа HP = Здоровье (%) MP = Мана (%) WEIGHT = Загрузка (%) LV = Уровень SP = Хрен знает что такое RACE = Это еще менее понятно STAND = Проверка сидишь или стоишь ...,==,0) Сидишь ...,==,1) Стоишь (может быть 0 и 1 надо поменять местами PosInRange(x,y,z,дистанция) { } //Проверка находится ли заданная точка в пределах досягаемости (дистанция). Если да, то выполняется кусок скрипта в фигурных скобках ({}). PosOutRange(x,y,z,дистанция) { } //То же самое, но условие верно, если точка все досягаемости. SET(FIGHTSTART) //Начинает бой. SET(FIGHTSTOP) //Останавливает бой. Пример скрипта: Простейший скрипт для возвращения на место кача после смерти. SET(FIGHTSTOP) //Остановить бой MSG(Begin go from city) MOVETO(43073,50070,-2976) //Координаты точек пути следования бота MOVETO(43127,49827,-2992) MOVETO(43497,50386,-2992) MOVETO(44121,50202,-3056) MOVETO(42680,50112,-2984) MOVETO(43127,49827,-2992) MOVETO(43331,50985,-2984) MOVETO(40092,53247,-3320) MOVETO(37348,50329,-3432) MOVETO(37816,46189,-3432) MOVETO(33460,42697,-3536) MOVETO(32946,39895,-3440) MSG(Begin Combat) Вы уже на месте прокачки SET(FIGHTSTART) //Начать бой EXIT() Для того, что бы этот скрипт запустился после смерти бота нужно: Basik Option->Death Retyrn(поставить галочку); Die After(поставить галочку), в окошке Run Script прописать путь к скрипту. Таким образом, после сметри бот будет останавливать бой, через 60 сек после семрти портаться в город, бежать на место прокачки и продолжать качаться! Программ для написания скриптов НЕТ! Скрипты можно писать либо в OnGame боте(Script->Script Make), либо в блокноте. В OnGame боте есть кнопочка .REC. (Script->Script Make->.REC.), жмёте её и бот записывает все ваши действия. Очень удобно при записи маршрута (MOVETO(x,y,z) ) бота и так же полезна для новичков. ---------------------------------------------------------------------- Мало кто знает зачем в настройках бота нужна вкладка "Control settings"! Эта функция валкера предназначена для того чтоб им можно было управлять через "Приватные сообшения" например мы играем из клиента и находимся на осаде а за нами бишоп стоит на боте так вот пишем ему в приват "Heal me" ну или что вы там захотите а он в ответ вас хиляет(Возможны вариации) независимо от того в партии вы или нет красота не так ли? Для болле простого понимания введем в урок несколько так сказать премменых: "NameBot"-имя персонажа на боте ! "NameChar"-имя персонажа на клиенте! "Heal me"-команда по желанию они могут быть любыми какие токо вы придумаете. Приступим к настройке бота(в данном случае бишоп): В опциях на вкладе "Control Settings" ставим галочку '[v]Recv Request' В поле Send Name пишем NameChar в поле "Text" пишем "Heal me" далее в меню "Skills" выбираем нужный нам скилл в данном случае "Greater heal" и нажимаем "Add" Даллее по желанию добавляем еше скилл "Resurrection" по команде "res" итд... итп... Можно еще привязать бота за собой. И дальнейшая настройка по вашему вкусу. Все бот на данном этапе настроен. Теперь заходим в игру клиентом пишем "NameBot Heal me И вуаля на вас кастуют "Greater heal" Теперь маленькая хитрость от меня Зходим в редактор макросов создаем макросс с первой строчкой типа 1.["NameBot Heal me] Ставим его на панель быстрого доступа нажимаем на него или соответсвуюшею ему клавишу и вуаля на вас кастуют "Greater heal"(ну или что вы там хотите). О макросах я тоже как нибудь сделаю урок это будет зависеть от вашей в этом потребности я это увижу по количеству спасиб сказанных вами. Теперь другая ситуация у бишопа заканчивается ХП или МП Ставим галочку "Send Request" в поле 'Recv name' вводим "NameChar" далее в поле When указываем условие Self HP%< или Self MP%< или Delay(s) даллее указываем число, в первых 2-х случаях этим числом будут проценты здоровья или манны в последнем это будут секунды через которые он переодически будет писять в приват сообшение которое вы введете в поле "Text" например можно ввести "Манны осталось 50%" и указать "When" 'Self MP%<'[ 50 ] или можно ввести "Бишоп дохнет" и указать "When" 'Self HP%<'[ 30 ] или "Бишоп сдох" и указать "When" 'Self HP%<'[ 1 ] Такую же систему можно устроить между двумя ботами... Ах да в поле Range указывается с какого растояния боту можно на вас кастовать. Это сделанно для того чтоб бот не побежал на вас в гагры если вы случайно напишите ему в приват ту самую команду или нажмете на макросс. И вообше если включить воображение можно такое сделать... О практическом применении этой функции в купе со скриптом на бота и макросом я вам раскажу в одной из последуюших моих тем. Теперь раскажу о такой тоже не всем известной функции как <Auto Trade>. Начну с того, что такая функция нужна, когда приходится постояно чтото перекидывать на бота или же постоянно, что то брать у бота она автоматизирует процесс зависяший от бота, тобиш ненадо каждый раз переключатся на бота и выполнять одни и теже действия! Как же настроить такую замечательную функцию? А очень просто: 1.Если нужно постоянно чтото скидывать на бота, например как в мешок то нам нужно будет поставить галочку <Accept Trade> и в следуюшее поле ввести ник персонажа от у которого надо автоматически принимать Trade или несколько ников через точку с запятой. Например: [MyName;YourName;FriendName;] итд. Поле weight%< нужно для того чтоб бот принимал trade только в том случае если у него осталось место в запасе тоесть в случае с нашим скриншотом он не примет trade если у него загруженность достигает 75%. Поле Delay [2] s Done Trade означает, что бот будет принимать трэйд и по истечении 2-х секунд будет потверждать его независимо от того поставили вы что нибудь туда или нет, рекомендую ставить больше 5 секунд. Поле Delay [5] s Cancel Trade означает что если вы тоже не потвердите trade в течении 5 секунд то бот его оменит! Число ставить всегда больше чем в первом поле Delay! Таким образо получается такая картина: Даем боту Trade он его принимает, ставим туда что нам вздумается (допустим, всякий хлам который вы собрали) он сошлашается и все хлам на боте! 2.Если нужно постоянно брать одни и теже веши с бота, например СС банки скрулы итд. Тогда нада настроить все как в первом случае. + В поле Trade item ставим галочку на Targe далее вводим ник кому передавать далее в каком количестве далее выбираем из списка что передавать! Можно передовать сразу до 6 разных наименований или каждому свое! Например в первом Targe ставим, ник Мага и передаем ему спиритшоты а во втором ник война и передаем соулшоты! Таким образом, Магу спиритшоты, а войну соулшоты. 3.Допустим если, наоборот, у бота чтото всегда кончается, а у вас этого навалом тогда нам пригодится поле <Auto Request Trade> Ставим галочку When Item далее указываем предмет, который кончается далее число после которого он буде просить у вас trade далее имя, у которого просить trade. Например, у бота остается меньше 10 банок он у вас просит Trade вы даете ему их, и он молчит не даете он опять просит! И наконец такую систему можно реализовать не только БОТ <> Клиент но и БОТ<>БОТ. Удачи в ботоводстве | |
| Категория: Мои статьи | Добавил: botovod (27.08.2008) | |
| Просмотров: 2370 | Рейтинг: 0.0/0 | |
| Всего комментариев: 0 | |
| Меню сайта |
| Категории каталога | |
|
| Форма входа |
| Поиск |
|
|
| Друзья сайта |
|
|
| Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
| Наш опрос |
| Мини-чат |