PDA

Просмотр полной версии : Макросы от IBotMana


IBotMan
05.12.2006, 20:50
Выключение мозгов после взятия нужной вещи.
automacro Won {
inventory "Thara Frog Card" > 0
delay 6
call {
pause 3
do ai off
}
run-once 1
}
Когда ГМ пишет из неоткуда...

automacro nearGM {
delay 2
console /dist=unknown/
call {
$emo = @random ("wav", "omg", "dum", "pea", "fst")
pause 2
do e $emo
pause 6
do quit
}

delay 6
run-once 1
}
Когда вас забанели... =(
automacro ban {
console /Your account has been banished/
call {
do eval WinUtils::playSound('C:\sounds\ban_female.wav');
do quit
}
}
Когда вас посадили на пожизненое...
automacro ban2 {
console /GM has send you in jails/
call {
do eval WinUtils::playSound('C:\sounds\ban_female.wav');
pause 10
do c ••••••
do ai off
pause 120
do quit
}
}
ГМ вас хелит из неоткуда...
automacro gmheal {
console /\Unknown (.*)\ uses Heal on you:/
call {
do eval WinUtils::playSound('C:\sounds\ban_female.wav');
pause 6
do c ••••••
do ai off
}
}

kotarev
28.05.2007, 10:08
automacro nearGM {
delay 2
console /dist=unknown/
call {
$emo = @random ("wav", "omg", "dum", "pea", "fst")
pause 2
do e $emo
pause 6
do quit
}

delay 6
run-once 1
}
данный макрос сработал когда в консоли появилось:
[dist=unknown] Unknown #110017931: *...*
так ругается мантис просто обычно пишет расстояние:
[dist=15.3] Monster Mantis (0): *...*
была ли эта проверка ГМа или это глюк коры\макроса

qvatra
29.05.2007, 07:24
хорошая подборка макросов,а есть ли макрос когда ктото хелит твоего моба?

4epT
30.05.2007, 13:56
kotarev, нада смотреть логи если ЭТО (создание) больше никак не проявлялось, то это скорее глюк коры.
Я когда удалил мантиса из коры, то он определялся как 110023390 или как 110023393 (2 раза пробовал).

qvatra, ну дык вкючай соображалку. Тебе всего лишь нада заменить строчку "console /\Unknown (.*)\ uses Heal on you:/" на свою.

qvatra
30.05.2007, 16:07
console /\Unknown (.*)\ uses Heal on monster:/

xD так чтоль?

4epT
30.05.2007, 16:32
qvatra, тебе веднее..

B@HO
26.10.2007, 17:15
сорь за тупой вопрос) но "гм вас хелит из неоткуда" эт тоесть если отнимется хп то я хилится буду?)))))

4epT
26.10.2007, 21:43
B@HO, мультиков насмотрелся? "гм вас хелит из неоткуда" - это так и понимать. допустим гм в хайде, ты его не видит, а он над тобой прикалывается хил кидает и на тебя смотрит. Бот это типо "понимает" и вырубает мозги (себе).

kronas
05.11.2007, 11:18
всё конечно прикольно, но если бот рубится в то время как гм за ним смотрит, то бот подписывает автоматом себе смертный приговор. или я ошибаюсь? ведь гм тоже человек а не бот. :)

4epT
05.11.2007, 11:26
ты не ошибаешься :)

на реакцию к близости ГМа в конфиге ещё отвечает "avoidGM_near"

FireSun
20.11.2007, 18:17
ыыы) интересно, а можно ли как-то реагировать на гма рядом и причем когда он в хайде?))

Кстати раз уж пошли макросы по теме антибан то я тут недавно у гма одного подсмотрел занимательный способ ловить ботов. Варпается к боту используя всякие там @who3 и @jumpto естественно в хайде а потом кидает кому. Если бот садиться сею секунду то гм сразу кидает джаил навсегда или бан. Как вам такой способ?

Average
24.12.2007, 14:19
на оффе...
вроде как гмы оффа чтобы проверить бот ты или нет...пока вы бьёте моба, кидает на эту площадь святилище...можно как нить прописать чтобы бот перелог после того как в светилище оказался? (чтобы в городе макрос не срабатывал)

4epT
25.12.2007, 02:31
подходить гм кидает святилище.. ты перелог..он ещё раз кидает..ты опять перелог.. бан

Average
25.12.2007, 03:11
Тогда quit?)...как можно прописать в макросе что ты стоишь в святилище...и как нить указать чтобы в городе макрос не срабатывал?

Saiiiia
20.01.2008, 20:12
какой смысл что-то делать, если тебя в тюрьму отправили? зачем нужен такой макр?

Sir_PhoeNix
05.03.2008, 23:44
вот немного покумекал и доработал макрос, правда проверке он пока не подвергался
#####ГМ лечит вас из хайда#####
automacro gmheal {
console /\Unknown (.*)\ uses Heal on you:/
call {
do is Butterfly Wing
do ai off
pause 30
run-once 1
relog 120
}
}
#########################
Либо же если лечат моба (не могу понять только как это в одном макросе сделать)

#####ГМ лечит моба из хайда#####
automacro gmheal2 {
console /\Unknown (.*)\ uses Heal on monster:/
call {
do is Butterfly Wing
do ai off
pause 30
run-once 1
relog 120
}
}
#########################

4epT
07.03.2008, 02:16
вот так в одном:
Unknown.*uses Heal on (you|monster)

Sir_PhoeNix
19.03.2008, 08:38
снова возникли вопросы...
1 - во время работы макроса бот юзает крыло, попадает в город, отключает себе мозг и стоит не делая релогин. В консоли:

Calculating lockMap .................
Map Change: prt_fild05.gat (367, 205)
Portal Exists: prt_fild05 -> prontera (373, 205) - (0)
Player Unknown #445948 uses Heal on you : 1680 hp gained
[macro] automacro gmheal3 triggered.
Permitted to use Teleport (26), level 2
You used Item: Butterfly Wing (2) x 1 - 3 left
AI turned off
Map Change: prontera.gat (33, 207)
[macro] tempMacro2 error: error in 3: syntax error
the line number may be incorrect if you called a sub-macro.

и бот стоит в городе с выключенным мозгом до момента проверки и повторного включения оного.
Следующий вопрос: как тоже самое сделать для аколито подобных?
Я в макросе вместо крылышек прописал
do is tele 2
но бот просто отключается на карте и стоит не летя в город.

4epT
20.03.2008, 22:22
Sir_PhoeNix, так у тебя синтаксическая ошибки!

1. "run-once 1" - это условие запуска АМ, а ты его в тело самого макроса запихал (вот он тебе и пишет что ошибка в 3-й строке. первая считается нулевой)
2. "relog 120" - это консольная команда, а она в макросе пишется через do!
3. кстати я не уверен, будет ли у тебя бот включать мозги после релога или же ему придёся принудительно их включать..


4. "do is tele 2" ты где такое вдел? is - использовать на себя итем, а так как итема "tele 2" у тебя нету, то и работать это не будет!

Sir_PhoeNix
23.03.2008, 13:12
Подправил, подлатал, раз 20 прогнал через тест и получил вот такой макрос
automacro gmheal3 {
console /\Unknown.*uses Heal on (you|monster) :/
call {
pause 10
do is Butterfly Wing
do ai off
pause 30
do relog 320
}
}
Мозг действительно не включается, поэтому сделал так
automacro backingame {
console /\You are now in the game/
call {
pause 20
do ai on
}
}
У аколитоподобных вместо крылышек написал
do tele 2
Спасибо Чёрту за поправки! :-[
Я в написании макросов ещё нуп потому допускаю такие нелепые ошибки :(

4epT
23.03.2008, 23:54
ну а давай вот так попробуем:

automacro gmheal3 {
console /Unknown.*uses Heal on (you|monster)/
call {
pause 10
do is Butterfly Wing
do ai off
pause 30
do ai on
do relog 320
}
}

Sir_PhoeNix
27.03.2008, 08:26
Макрос был опробован. Всё работает в лучшем виде. Спасибо!
Но возник дополнительный вопрос - как убрать срабатывание макроса при хиле географером кого то ещё?

4epT
27.03.2008, 09:36
нужно создать уникальный шаблон (console /Unknown.*uses Heal on (you|monster)/)

который будет отсеивать лишнее

Sir_PhoeNix
27.03.2008, 19:26
То есть нужно точно знать номера под которыми эти действия будут делать ГМы? Или усложнить макрос что бы при обнаружении неизвестного лечильщика, но который подпадает под указанный номер географа, макрос сбрасывался на начало...

automacro gmheal3 {
console /Unknown #(1)|Unknown #(2)|Unknown #(3)|Unknown.*uses Heal on (you|monster)/
timeout 10
call {
if ($.lastMatch1 = Unknown #(1)) goto end
if ($.lastMatch2 = Unknown #(2)) goto end
if ($.lastMatch3 = Unknown #(3)) goto end
pause 2
if ($.lastMatch2 = Unknown.*) goto relog
:relog
pause 10
do is Butterfly Wing
do ai off
pause 30
do ai on
do relog 320
stop
:end
}
}

Соответственно Unknown #(1),Unknown #(3),Unknown #(3) - номера под которыми засветились гео (без ковычек)
но вот ещё вопрос, можно ли это упростить если к примеру прописать что лечение было на 1024НР, так как ГМы обычно лечат с помощью санктуари на 777, или же если это делает другой игрок то такой точный показатель подстроить сложнее..

4epT
28.03.2008, 12:32
напиши строчку которая при этом появляется

Sir_PhoeNix
28.03.2008, 20:08
номера гео сильно варьируются, от 58300 до 58400 где то...

когда гео лечит гео в консоли видно следующее
Unknown #58352 (0) uses Heal on Unknown #58373 (0) : 1064 hp gained

4epT
28.03.2008, 20:30
ну если по простецки, то можно для гео написать:
console /Unknown.*uses Heal on Unknown.*: 1064 hp gained/

что-то блин это не дело макрос по гео тут обсуждать !!

Sir_PhoeNix
28.03.2008, 20:40
я просто хочу доработать макрос исключив ложные срабатывания из-за хила мобами.

vitt
28.03.2008, 21:01
я просто хочу доработать макрос исключив ложные срабатывания из-за хила мобами.

Это происходит потому, что когда моб только появляется на экране, он отображается как ункноун. Подкрути(в меньшую сторону) параметр ai_getInfo в таймаутах. Это уменьшит количество ложных срабатываний.

Sir_PhoeNix
28.03.2008, 21:04
в меньшую уже некуда значение стоит 1 :(

vitt
28.03.2008, 21:22
в меньшую уже некуда значение стоит 1 :(
:)):)):)) Ну, открою тебе маленькую тайну, там можно дробные числа писать.

через точку!

Sir_PhoeNix
30.03.2008, 20:08
попробовал уменьшить но... тут ведь ситуация такая - ты видишь гео, начинаешь его бить и вдруг его лечит другой которого ты уже не видишь, соответственно срабатывает макрос и мы в городе...
я вего лишь прошу помочь мне встроить в макрос условие что при обнаружении неизвестного лечащего с номером от #58300 до #58400 макрос не срабатывал.
И ещё вопрос - как сделать что бы макрос не срабатывал в городе? Очень напрягает время осад =-o

vitt
30.03.2008, 21:01
я вего лишь прошу помочь мне встроить в макрос условие что при обнаружении неизвестного лечащего с номером от #58300 до #58400 макрос не срабатывал.
Я тебя огорчу, но тут дело в том, что все акторы(плееры(и ГМ в том числе), монстры, НПЦ, и т. д.) имеют ИД в этом диапазоне. Чтобы определить, кто это - для этого ОК посылает еще один пакет и запрашивает тип Актора. Поэтому исключение ИД из этого диапазона тебе не поможет...

И ещё вопрос - как сделать что бы макрос не срабатывал в городе? Очень напрягает время осад =-o
почитай условия запуска автомакроса в гайде по макросам. Там есть нужное.

Sir_PhoeNix
30.03.2008, 23:02
vitt извини, но помоему ты не совсем прав - по крайней мере логинясь в Пронтере я чётко вижу что у игроков ИД шестизначное!

vitt
30.03.2008, 23:45
Ну как-то так попробуй...
automacro gmheal3 {
console /Unknown #(\d+).*uses Heal on (you|monster)/
call {
if ($.lastMatch1 > 58400) goto end
if ($.lastMatch1 < 58300) goto end
pause 10
do is Butterfly Wing
do ai off
pause 30
do ai on
do relog 320
:end
}
}

4epT
31.03.2008, 12:28
vitt, я думаю нужно собрать все строчки в одно место и сделать из них окуенный шаблон :)

только проверять нудно не ИД, а на количество ХП которым тебя лечат

vitt
31.03.2008, 13:05
vitt, я думаю нужно собрать все строчки в одно место и сделать из них окуенный шаблон :)

только проверять нудно не ИД, а на количество ХП которым тебя лечат
Собирай=)). Просто мне кажется, что последний макрос, который я выложил, нерабочий....

Женя
31.03.2008, 15:01
vitt, Кажется или так и есть?) Проверь)

vitt
31.03.2008, 17:03
vitt, Кажется или так и есть?) Проверь)
Да я нигде не играю, и проверить не могу...

Polkovnik
31.03.2008, 17:50
if ($.lastMatch1 > 58400) goto end
if ($.lastMatch1 < 58300) goto end
А вот вы мне скажите поддерживает ли макрос такой синтаксис:
if ($.lastMatch1 < 58300 || $.lastMatch1 > 58400)
Если поддерживает, то я думаю эти условия целесообразнее написать так.. :))))

vitt
31.03.2008, 18:05
Возьми да сам проверь

Sir_PhoeNix
31.03.2008, 20:23
к сожелению ни в одном из вариантов не работает макрос :(

kinikik
07.07.2008, 19:28
Вот макрос из первого поста

Код:
automacro nearGM {
delay 2
console /dist=unknown/
call {
$emo = @random ("wav", "omg", "dum", "pea", "fst")
pause 2
do e $emo
pause 6
do quit
}

delay 6
run-once 1
}


Проблема в том что кора выключается, когда мобы показывают смайлы, как сделать чтоб но мобов не реагировал? и может ещё на людей(но на это не сморел)?

4epT
07.07.2008, 19:43
когда моб рядом что в консоле пишется?

kinikik
07.07.2008, 19:57
[dist=unknown] Unknown #62524: *$!@#*
[macro] automacro nearGM triggered.
Unknown #62524 (0) uses Fire Attack
бот: *Peace*
и отрубился

4epT
07.07.2008, 20:37
тут нет явного отличая от человека.. так что придётся так париться

Foxik`
23.02.2009, 15:56
подскажите плс как сделать так что бы на хил из неоткуда бот не релогинился а писал в общий сначала "?" , а через 5 сек что-то типо "чё за фигня?", постоял секунд 30 и продолжил бы кач, я пробовал сам но нефига не получилось, весь мозг уже вынес))

4epT
23.02.2009, 21:31
Foxik`, макрос на первой странице "ГМ вас хелит из неоткуда..." чуть чуть доработать

Foxik`
24.02.2009, 02:31
а поподробнее мона?

4epT
24.02.2009, 20:02
а куда уже более подробно? запихиваешь это макрос в файл macros.txt и наслаждаешься его работой.