PDA

Просмотр полной версии : Макрос: Обкаст приста для указаной гильды.


bloom
12.04.2008, 13:41
Поступило предложение выложить макрос "обкаст для гильды", что собственно и делаю.
За основу был макрос варпа для гильды (http://ragbot.ru/forum/showthread.php?t=1399) г-на Чёрта.
automacro kast {
pubm /kasti|baf|rfcn|,fa|,ea|buf|kast|кастик|buf|a gi|аги|блесу|блес|bles|обкасто ать|обкастуй|каст|кастани| астини|обкастуйте|аги|блес |бафни|баф|касту/i,10
call {
$guild = myguild,muguild baby
$i = @player($.lastpub)
if ($id = -1) goto stop
$g = @eval (exists $::players{$::playersID[$i]}->{guild} ? $::players{$::playersID[$i]}->{guild}{name} : 'null')
if ($g ~ $guild) goto ok
stop
:ok
do e omg
do sp 29 @player($.lastpub) 10
pause 0.5
do sp 34 @player($.lastpub) 10
release kast
}
}
Сразу хочу рассказать, с какими я проблемами столкнулся использую данный макрос.
1. Самая гадкая проблема [решена, но имеет недостатки].
Это - человеческий фактор. Бот использовался на ГВ :) Касту просили несколько человек сразу,
вследствии чего бот сбивался и не мог кастовать в последствии.
Возникала ошибка:
Unable to cast skill Assumptio in 3 tries.
[заместо сумки мог оказатся блесс, аги и т.п.] И помогала только перезагрузка бота. Решилась она подсказкой чёрта:
.. run-once 1
call { ...
Бот начал работать исправно, но переставал в последствии кастовать одним и тем же игрокам тупо их игнорировав. Как это исправить я незнаю.
2. Скилл Assumptio не желал кастовацо если прописать sp 361.

Так, ну вот и всё и парочка примечаний. Гильдии $guild = пишуцо через запятую без пробела. Добовляем сумку:
pause 0.5
do sp Assumptio @player($.lastpub) 5

Используя макрос без run-once 1 не спамьте боту и всё будет работать в шеколаде.
Количество вариантов просьбы можете выбирать сами, просто удалите ненужные.

Вроде всё. Если есть желание исправить макрос - исправляйте, буду только рад. Все вопросы можете писать ниже.
з.ы. Используя этот макрос можете запросто сделать "Хил для гильды"
нужно заменить блок:

do sp 29 @player($.lastpub) 10
pause 0.5
do sp 34 @player($.lastpub) 10
release kast
На:
do sp 28 @player($.lastpub) 10
pause 0.5
do sp 28 @player($.lastpub) 10
release kast
Канец. Сори что многобукв.

vitt
12.04.2008, 21:44
Решилась она подсказкой чёрта:
.. run-once 1
call { ...
Бот начал работать исправно, но переставал в последствии кастовать одним и тем же игрокам тупо их игнорировав. Как это исправить я незнаю.
В конце макроса(после всех кастов) напиши release имя_автомакроса

А вообще run-once 1 и release в 99% случаев используется в паре.

bloom
13.04.2008, 04:37
release присуцтвует вроде, в конце. А run-once 1 я не стал ставить потому, что он перестаёт кастовать тем, кто просил уже. Тем кто не просил - кастует норм.

vitt
13.04.2008, 21:41
release присуцтвует вроде, в конце. А run-once 1 я не стал ставить потому, что он перестаёт кастовать тем, кто просил уже. Тем кто не просил - кастует норм.
Вот релиз и должен был по-идее от этого избавлять... хз, что там за фигня.

bloom
13.04.2008, 22:52
Кому не трудно потестите, на гильде, спамьте толпой, отпишие результаты. Не забудьте написать сервер и версию ОК.
з.ы. Макрос работал на Тhor'е.
з.ы.ы. Тор - это кивой сервак, возможно эти ошибки прусуцтвуют только там, там вообще почти всё через жопу пашет.