PDA

Просмотр полной версии : Бан из-за санок)


Fish
08.01.2008, 16:34
Доброе время суток-пошарился по форуму -вроде не нашёл подобной темки-если что сильно не пинайте-просто мордой тыкните в темку да и удаляйте эту.:-[ Вообщем дело вот в чём при мне забанили пару ботов,причём 1 из них был неплохо настроен-так как отвечал на фразы и благодарил за каст.Дело в том что просто банально вокруг бота,который бьёт моба появлялось святилище и хилило и моба и бота-после того как несколько раз было оно скастованно и не было реакции от бота всё утихомиривалось и бот вылетал ...ну и потом в бан лист сразу влетал .
Я как бы любитель ,и не совсем знаю что надо делать ,но думаю надо сделать что то тип того что бот если моба хиляет что то по 777 хп(именно такого лвл была санка) ну или ещё по скока нить ,что бы он варпался,а ещё лучше выказывал своё возмущение по средствам лайкхъюман ,ну и вообще было бы шикарно если б ещё и саундалерт был кода такое твориться:cool:*ok*
Заранее пасиб

masterspirta
08.01.2008, 16:56
такс...проблему почти понял...короче нужно макрос на винг или адекватные ругательства..
ну короче что то типо такого
automacro{
consol //
call{
pause 2
do c админы казлы или чот такого план
pause 1
do is Fly Wing
}
}
consol // по поводу єтой строки
посмотри в логах чо там происходи когда кидают святилище (санктуари если не ошибаюсь)
consol /<тут строку из консоли каста святилище>/

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

Fish
08.01.2008, 17:49
Вот санка лвл 3
http://i045.radikal.ru/0801/3d/6684eef97173.jpg
НУ а на винг хз если захотят забанить -то постоянно вингующегося типа от святилища грех не забанить)
ЛУчше ругательство в адрес гравити и саунд алерт

masterspirta
08.01.2008, 18:33
в текстовом виде слабо?

automacro{
consol /.* is casting санки он локейшен .* /
call{
pause 2
do c админы лолы или админы уроды и п...**ы
do eval WinUtils::playSound('D:\Games\RO\БОТЫ\Sound\pr ivat.wav');
}

єто универсально для всех...если хош только под себя то
.*- вместо этой хрени в начале строки мака, ставиш начало строки из консоли!!!

Fish
08.01.2008, 18:59
Ну я думал скрином по нагляднее будет.Вообщем пасиб.Пока не могу протестировать ,но думаю всё ок будет:cool:

mazurka
08.01.2008, 20:32
Подскажите пожалуйста, что нужно добавить к стандартному макросу:
automacro spasibo {
console /Player (.*) uses.*(AGI|Blessing|Heal|Manus|Eleison|Assumptio) on you/
timeout 10
call {
$frend = XXX
if ($.lastMatch1 ~ $frend) goto end
pause 3
do e thx
$text = @rando ("thx))", "cgacb,)", "sps)", "Spasib :P", "спасиб:)")" )
pause 3
do c $text
run-once 1
:end
}
}
Что бы бот НЕ говорил рандомные фразы больше 1го раза, если были использованы санки. Или как вариант молчал вовсе.
п.с. Гм, как видно из логов кидает санки разных лвл. как нужно исправить эту строчку:
console /\Unknown (.*)\ is casting Santuary (lvl 3) on location .* /
Что бы она работала с любым лвл санок? Ответте если не трудно :)

masterspirta
08.01.2008, 22:24
console /\Unknown (.*)\ is casting Santuary .* on location .* /

mazurka
08.01.2008, 22:54
А на счёт второго вопроса? Правильно ли будет:
automacro spasibo {
console /Player (.*) uses.*(AGI|Blessing|Heal|Manus|Eleison|Assumptio) on you/
timeout 10
call {
$frend = XXX
if (console /\Unknown (.*)\ is casting Santuary.* on location .* /) goto end
pause 3
do e thx
$text = @random ("thx))", "cgacb,)", "sps)", "Spasib :P", "спасиб")" )
pause 3
do c $text
run-once 1
:end
}
}
И последний вопросик, нужны\важны пробелы перед .*?

masterspirta
08.01.2008, 23:01
1 нет неправильно,
2 хз...вроде да...желательно, почитай тут внимательно (http://ragbot.ru/forum/showpost.php?p=6117&postcount=21) сам не доконца разобрался щас подрукой нет проверки конструкций, усё на роботе!!!

4epT
08.01.2008, 23:12
И последний вопросик, нужны\важны пробелы перед .*?
.* это любое количество любых символов, т.е. пробел нафиг не нужен (в данном случае)

mazurka, тебе лучше создать конструкцию, 2 автомакроса и 1 макрос:

automacro spasibo {
console /Player (.*) uses.*(AGI|Blessing|Heal|Manus|Eleison|Assumptio) on you/
timeout 10
call sps
}
automacro spasibo {
console /is casting Santuary \(.*\) on location/
timeout 10
call sps
}
macro sps {
$frend = имя_чара
if ($.lastMatch1 ~ $frend) goto end
pause 3
do e thx
$text = @rando ("thx))", "cgacb,)", "sps)", "Spasib :P", "спасиб")
pause 3
do c $text
run-once 1
:end
}

mazurka
08.01.2008, 23:57
Если я правильно понял, то после санок в данной связке автомакрос должен прекращатся? То что call sps это верно?

4epT
09.01.2008, 00:03
после санок запустится макрос sps

mazurka
09.01.2008, 00:09
как раз таки нужно что бы после санок бот или 1 раз сказал спасибо (это в идеале) или молчал. потому что я смотрел логи, и бот тупо стоял и перечеслял все "спасибо" пока гм лечил бота вместе с мобом.

masterspirta
09.01.2008, 00:50
console /is casting Santuary \(.*\) on location/==> бред

console /is casting Santuary .* on location/==> так для руских попроще

вот проверка (http://www.pcre.ru/eval/is%20casting%20Santuary%20.*%20on%20location%40%3D %23%3D%40101%40%3D%23%3D%40is%20casting%20Santuary %20(lvl%204)%20on%20location/)

ТО что ты написал это тоже самое только ты не учитываеш скобки тоесть
если будет написано Santuary (lvl 4) on location, то для .* будет только lvl 4, причом lvl 4 не будет переменной $.lastMatch....короче говоря на 4 символа дленее строка эфект тот же!!!

4epT
09.01.2008, 00:59
masterspirta, шаблон должен максимально повторять нужную нам строку, иначе он может срабатывать на ненужные нам вещи. В данном случае это быть может не слишком кретично, т.к. появление строки "is casting Santuary lvl 4 on location" (без скобок) мало вероятно. Однако твой АМ сработает, а мой нет :p

mazurka, не вижу смысла говорить хотяб 1 раз спасибо! Пиши тогда другой макрос (macro sanki {) в котором опиши нужные тебе действия при срабатывании АМ.

mazurka
09.01.2008, 01:12
Предлагаю для использования следущий автомакрос, сильно не бейте, сделал по шаблону сам:
automacro santuary{
console /\Unknown (.*)\ is casting Santuary.* on location/
call {
do eval Utils::Win32::playSound('D:\GAMES\Боты\Лут р\sounds\exp.wav');
$text = @random ("и так лагает..", "в чём дело?", "Оо", "втф?", "ээээ", "завяжи", "ненадо! выкинет!")
pause 3
do c $text
do ai off
pause 60
do quit
}
}

mazurka
09.01.2008, 02:11
Кстати, вот случайно набрёл на плагин, может потестит кто нибудь, так как сам авторhttp://forums.openkore.com/viewtopic.php?t=33382 потестить его не удосужился :). В тему как раз.
I.C.U 0.2
(Detect GM Bot testsOpenKore 2.0.5 (revision 6079) or newer only
Version 0.2.2)
Код
icu {
teleportDetect 0 / 1
teleportCommands command 1, command 2, etc
teleportSound <path to .wav>

skillOnSelfDetect 0 / 1
groundSkillDistance <int> (blockDistance a ground skill has to be to trigger the commands)
skillOnSelfCommands command 1, etc
skillOnSelfSound <sound>

commandTimeout <int> (Wait X seconds before executing next command)
log 0 / 1
}

Пример

icu {
teleportDetect 1
teleportCommands ai off, c wth?, e hmm
teleportSound C:\sounds\TeleportAlert.wav

skillOnSelfDetect 1
groundSkillDistance 4
skillOnSelfCommands ai off, c uhm?
skillOnSelfSound C:\sounds\SkillAlert.wav

commandTimeout 2
log 1
}

Сам плагин http://openkore.svn.sourceforge.net/viewvc/*checkout*/openkore/plugins/trunk/ICU.pl
з.ы. извиняюсь что нет перевода, туговато у меня с инглишом, но помоему и так интересно :)

masterspirta
09.01.2008, 08:26
Предлагаю для использования следущий автомакрос, сильно не бейте, сделал по шаблону сам:
automacro santuary{
console /\Unknown (.*)\ is casting Santuary.* on location/
call {
do eval Utils::Win32:laySound('D:\GAMES\Боты\Луте \sound s\exp.wav');
$text = @random ("и так лагает..", "в чём дело?", "Оо", "втф?", "ээээ", "завяжи", "ненадо! выкинет!")
pause 3
do c $text
do ai off
pause 60
do quit
}
}
mazurka вне форума Пожаловаться на это сообщение Спасибо
/Unknown (.*) is casting Santuary .* on location/ ->так вроде проще

незабуть сохранить в формате UTF-8
do ai off зачем?
do quit зачем?
Если не знаеш ответа на выше указанные вопросы то начинай читать форум а вернее тут внимательно и всё (http://ragbot.ru/forum/showpost.php?p=3296&postcount=1)
зделал молодец а теперь проверь и скажи работает он или нет!!!!
Я проверять твои макросы не буду, ровно как и все остальные. Есть вопрос по теме будет тебе ответ!!!!

Кстати, вот случайно набрёл на плагин, может потестит кто нибудь, так как сам авторhttp://forums.openkore.com/viewtopic.php?t=33382 потестить его не удосужился . В тему как раз.
I.C.U 0.2
(Detect GM Bot testsOpenKore 2.0.5 (revision 6079) or newer only
Version 0.2.2)
Код
Код:

icu {
teleportDetect 0 / 1
teleportCommands command 1, command 2, etc
teleportSound <path to .wav>

skillOnSelfDetect 0 / 1
groundSkillDistance <int> (blockDistance a ground skill has to be to trigger the commands)
skillOnSelfCommands command 1, etc
skillOnSelfSound <sound>

commandTimeout <int> (Wait X seconds before executing next command)
log 0 / 1
}

Пример
Код:

icu {
teleportDetect 1
teleportCommands ai off, c wth?, e hmm
teleportSound C:\sounds\TeleportAlert.wav

skillOnSelfDetect 1
groundSkillDistance 4
skillOnSelfCommands ai off, c uhm?
skillOnSelfSound C:\sounds\SkillAlert.wav

commandTimeout 2
log 1
}

Сам плагин http://openkore.svn.sourceforge.net/...s/trunk/ICU.pl
з.ы. извиняюсь что нет перевода, туговато у меня с инглишом, но помоему и так интересно

С плагом все понятно а тестить его никто не будет так как плагин излишен...его функции можно реализовать маком!!! Если ты хочеш с ним разобраться то просю, переводчиков куча!!!

ВСЕ ты мня конкретно пригрузил кучей предложений и притом ни капли не напрягал свои глаза пальцы и мозк...поэтому если есчо чот такое не дельное тут выложиш я отвечать точно не буду!!!!

mazurka
09.01.2008, 09:22
Гм, do ai off, do quit - сделал для того что бы бот сначала якобы "завис", а потом и вовсе отрубился, возможен вариант с релогом. А санки я обязательно затестю и напишу отчёт в это сообщение :)
Тестил мак, менял значение Unknown (.*) на Player (.*), неработает, жаль :( у меня таким вот макаром бот тоже до 12 года, влетел.

masterspirta
09.01.2008, 10:14
русо туристо облеко марале!!!!
зачем? (накуя это надо, а не чо оно делает)
задержка 60 секунд это перебор
если бот будет постоянно выходить из игры это вельме палевно
Тестил мак, менял значение Unknown (.*) на Player (.*), неработает, жаль у меня таким вот макаром бот тоже до 12 года, влетел
Орлангур тебе в помощь!!!

4epT
09.01.2008, 13:28
надо было хотя бы вот это писать:
console /is casting Santuary .* on location/

mazurka
09.01.2008, 21:57
С помощью граждан 4epT и masterspirta был написан, и проверен макрос на санки.
Макрос включает в себя автомакрос Спасибо, и собственно санки.
automacro spasibo {
console /Player (.*) uses.*(AGI|Blessing|Heal|Manus|Eleison|Assumptio) on you/
timeout 1
call sps
}
automacro santu {
console /is casting Santuary.* on location.*/
timeout 1
call santuary
}
macro sps {
$frend = любое_имя
if ($.lastMatch1 ~ $frend) goto end
pause 3
do e thx
$text = @random ("thx))", "cgacb,)", "sps)", "Spasib :P", "спасиб:)")
pause 3
do c $text
:end
}
macro santuary{
do eval Utils::Win32::playSound('D:\GAMES\Боты\Лут р\sounds\exp.wav');
$text = @random ("и так лагает..", "в чём дело?")
pause 3
do c $text
do ai off
pause 10
do quit
} з.ы. Вцелом макрос пашет нормально. У меня бот закрывает кору, всё же лучше отрубится вовремя, чем потерять шмот. В этой части можете настроить как вам удобнее :)

4epT
10.01.2008, 02:40
таймауты побольше поставь, а то если 2 раза санки кинуть, но обломишься (мне кажется) или всё же нормально "run-once 1" привяжи

mazurka
10.01.2008, 10:26
Тоесть run-once 1 нужно добавить после call santuary?

masterspirta
10.01.2008, 10:41
да...или ваще нах убрать если оно тебяя смущает!!!

4epT
10.01.2008, 13:34
mazurka, посмотри примеры

mazurka
10.01.2008, 13:56
всё работает спасибо. возникла идея делать логаут на 20\30 минут, но в гайде с коммандами я нашёл только команду релог. может подкините идейку?

4epT
11.01.2008, 00:25
Давай так, на F5 я спецально сделал клманду "relog 5"

..я обычно говорю релог
почитай мануал что значит эта команда!!:stop:

mazurka
11.01.2008, 00:53
всё, спасибо, разобрался. Предлагаю заменить строчку
do quit
на
relog 1200
В планах, макрос плана "Заяц в mosk_dun02" :)
Как всё будет работать уже знаю :) Так что ждите, кому интересно, надеюсь скоро опублекую :)

stopfild
06.02.2008, 13:09
Я понимаю что это старый пост, но хочу исправить мазурку. Дело в том, что у гмов как нистранно инстант каст, и пишется не is casting Santuary а uses Santuary. Тоесть заменить надо на /.*uses Santuary.*/. И добавить макрос на СВ, потому что они кидают и санки и СВ. От это. /.*uses Safety Wall.*/
-----------------------------------
Исправил потому, что из за этой глупой ашибки, я потерял рогу почти 87 лвл, и шмоту на 50+ кк :(