RagBot Forum
 

Вернуться   RagBot Forum > • Всё что касается бота • > Конфиги

Конфиги Всё что касается замечательного файла config.txt

Ответ
 
Опции темы Опции просмотра
Старый 22.01.2007, 23:05   #11
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

Вот чё получилось (подправил):[/COLOR][/SIZE][/FONT]
Код:
automacro refillsp {
sp < 85%
aggressives < 2
monster Sleeper# << к примеру
run-once 1
call refilluseskill
}
macro refilluseskill {
$sp = @eval($::char->{sp})
log sp = $sp
$perc = @eval(@eval($::char->{sp_max}) * 0.85)
log 85% ot polnogo SP sostavlaet $perc SP
while ($sp < $perc) as sploop
log SP < 85%
do sm 262 0
$sp = @eval($::char->{sp})
log SP = $sp
pause 5
end sploop
release refillsp
log SP > 85%
}
#©4epT
Этот макрос будет работать, только при соблюдении 3-х условий:
1. у вас меньше 85% СП
2. агрессивных мобов вокруг(скорее всего нападающих) меньше 2-х (т.е либо 1, либо вообще нету)
3. когда в приделах видимости находится моб Sleeper (в данном примере)
Нюансы:
"Нумерация" мобов начинается как только моб попадает в поле зрения бота (начиная с 0), т.е меньшему номеру соответствует моб которого бот увидел раньше. (нумерацию можно посмотреть командой "ml" - Monster List). В макросе прописано, чтобы бот юзал скил на моба под номером 0 (do sm 262 0). Может так получиться, что монк убьёт моба под номером 1, и у него совпадут 3 условия, тогда он будет пытаться "Украсть СП" у несуществующего моба.. Бот будет выдавать ошибку: "Monster %d does not exist." Можно прописать несколько строк:
Код:
do sm 262 0
do sm 262 1
или
Код:
do sm 262 0
do sm 262 1
do sm 262 2
тогда бот будет "Красть СП" сначала у 0-го моба, потом у 1-го, и т.д.. потом проверять условие (сп < 85%) и либо красть заново (у 0-го, у 1-го, ...), либо закончит. Т.е нет однозначной привязки между "monster Sleeper" и "do sm 262 0"

Marker, правильно писать не agressives, а aggressives!

Добавил, поднабравшись опыта..
Чёт мне не нравитс этот макрос совсем, ибо как только у вас будет флудить в консоль
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!

Последний раз редактировалось 4epT; 07.06.2007 в 18:45.
4epT вне форума   Ответить с цитированием
Старый 19.01.2008, 22:26   #12
SpLaTt
Новичок
 
Регистрация: 05.12.2006
Сообщений: 28
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

долго он это делает помоему сидеть ито быстрее ))))) но сёравно пасипки
SpLaTt вне форума   Ответить с цитированием
Старый 19.01.2008, 22:57   #13
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

да уж.. какоу-то ацтойный макрос
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума   Ответить с цитированием
Старый 20.01.2008, 13:07   #14
SpLaTt
Новичок
 
Регистрация: 05.12.2006
Сообщений: 28
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

этот макрос нужен чампу с 120 декса(который обычно в лабе бегает)
а так лучше посидеть)))
SpLaTt вне форума   Ответить с цитированием
Старый 26.01.2008, 03:05   #15
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

Учим макрос понимать "спецальное ключевое слово" @monster:

файл plugins\Macro\Automacro.pm
незнаю зачем, но тут (20 строчка) добавляем getMonsterID, я добавлял по аналогии с "getPlayerID":
Код:
use Macro::Utilities qw(between cmpr match getArgs refreshGlobal
	getPlayerID getMonsterID getSoldOut getInventoryAmount getCartAmount
	getShopAmount getStorageAmount callMacro);
файл plugins\Macro\Data.pm:
Код:
	"player"       . "|" .
+	"monster"      . "|" .
	"vender"       . "|" .
файл plugins\Macro\Parser.pm:
Код:
use Macro::Utilities qw(refreshGlobal getnpcID getItemIDs getStorageIDs getInventoryIDs
+	getPlayerID getMonsterID getVenderID getRandom getRandomRange getInventoryAmount
	getCartAmount getShopAmount getStorageAmount getConfig getWord q4rx);


	elsif ($kw eq 'player')     {$ret = getPlayerID($arg)}
+	elsif ($kw eq 'monster')    {$ret = getMonsterID($arg)}
	elsif ($kw eq 'vender')     {$ret = getVenderID($arg)}
файл plugins\Macro\Utilities.pm:
Код:
our @EXPORT_OK = qw(ai_isIdle q4rx between cmpr match getArgs refreshGlobal getnpcID getPlayerID
+	getMonsterID getVenderID getItemIDs getInventoryIDs getStorageIDs getSoldOut getInventoryAmount
	getCartAmount getShopAmount getStorageAmount getRandom getRandomRange getConfig getWord callMacro);


# get player array index
sub getPlayerID {
	foreach my $pl (@{$playersList->getItems()}) {
		return $pl->{binID} if $pl->name eq $_[0]
	}
	return -1
}

+# get monster array index
+sub getMonsterID {
+	foreach my $ml (@{$monstersList->getItems()}) {
+		return $ml->{binID} if $ml->name eq $_[0]
+	}
+	return -1
+}

# get vender array index
я считаю, что это "спец. ключевое слово" должно было существовать с самого начало создания макро-плагина. И посему нада бы за СВНить :twisted: А то получается мы можем АМ реагировать на моба, получаем его имя и координаты а дальше ничего с ним сделать не можем (ну если только eval'ом)

далее в файле mon_control.txt пишем: "Geographer -1"

в макросах пишем:
Код:
automacro absorption {
notMonster Sleeper
monster Geographer
sp < 80%
run-once 1
call {
	do a @monster ($.lastMonster)
	release absorption

}
}

automacro absorpstop {
monster Geographer
sp > 79%
timeout 5
call {
	do as
	release absorption
}
}
в конфиге пишем:
Код:
attackSkillSlot Vigor Absorption {
	lvl 1
	dist 10
	sp < 80%
#	aggressives < 2
	inLockOnly 0
	notWhileSitting 1
	notInTown 1
	monsters Geographer
}
вроде всё.. теперь мы с гео сосём только СП и ничего более.

-думаю нада как-то ещё учесть агресоров
-пробовал вместо АМ записать докоммандером, нефига не вышло. Тут достоинство АМ в том, что он активируется когда в поле видимости попадает нужный нам моб.
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума   Ответить с цитированием
Старый 27.01.2008, 14:47   #16
hahatoon
Нюб делает первые шаги
 
Регистрация: 24.12.2007
Сообщений: 1
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

спасибо)
hahatoon вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:30. Часовой пояс GMT +3.