Комментарий администратора
4epT:
перенёс в "макросы и плагины"
|
Макросы и Плагины Всё что относится к макросам и плагинам. Сборник готовых макросов. |
|
Опции темы | Опции просмотра |
01.03.2008, 09:05 | #1 |
Новичок
Регистрация: 05.02.2008
Сообщений: 31
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Plugin: БашОрг
Помните был макрос - анекдот за деньги. Дык вот, есть идея забахать такую штуку на коре, что бы за (допустим) деньги, бот цитировал баш. На самом сайте есть код, который можно вставлять на сайты, и проч. Там цитате генерится раз в 10 секунд. Исходный код такой:
Код:
<div style="border: 1px solid #9999bb; background: #f0f0ff; padding: 5px; font-family: 'Monaco', 'Courier New', monospace; font-size: 10pt;"> <script language="JavaScript" type="text/javascript" src="http://bash.org.ru/forweb/"> </script> </div> Код:
<script language="JavaScript" type="text/javascript" src="http://bash.org.ru/forweb/?u"> </script> |
14.03.2008, 00:47 | #2 | |
Продвинутый
Регистрация: 26.02.2007
Сообщений: 300
Вы сказали Спасибо: 0
Поблагодарили 23 раз(а) в 14 сообщениях
|
Этот плагин берёт случайную цитату с сайта http://bash.org.ru/ и может написать ее в консоль / в публичный чат / в приватный чат / в партийный чат / в гильдийный чат.
Цитата берется со страницы http://bash.org.ru/forweb/ где она обновляется каждые 10 секунд. Подробнее об этом написано здесь: http://bash.org.ru/webmaster . Для взятия цитаты с сайта используется модуль(маленькая его часть) LWP, взятый из ActivePerl. Плагин регистрирует команду bash: Цитата:
Пример 1(Поставьте в config.txt dealAuto 2 , чтобы бот принимал сделки автоматически): Код:
automacro bash1 { console /^You gained (\d+) zeny/ run-once 1 delay 1 call bash1M } macro bash1M { if ($.lastMatch1 < 5000) goto end do bash c :end release bash1 } Пример 2: Код:
automacro bash2 { pm /хочу баян/ run-once 1 delay 1 call bash2M } macro bash2M { do bash pm $.lastpm release bash2 } Сам плагин: bashorg.pl: Код:
########################### # BashOrg plugin by _vit # This plugin you may use for fun:) # Version 0.02 # 28.03.2008 ########################### package bashorg; use strict; use Plugins; use Log qw(message debug error); use Globals; use Log qw(message warning error); use LWP::Simple; use I18N qw(bytesToString); Plugins::register('bashorg', 'Talking random quote from http://bash.org.ru', \&on_unload, \&on_reload); my $cmd = Commands::register( ["bash", "Talking random quote from http://bash.org.ru", \"e], ); sub on_unload { Commands::unregister($cmd); } sub on_reload { } sub quote { my (undef, $command) = @_; my @commands = split(/ /, $command); my $quote = ""; if ($command eq "" || $command eq "c" || $command eq "p" || $command eq "g" || $commands[0] eq "pm" || $command eq 'c @homtalk' || $command eq 'c @pettalk'){ $quote = get 'http://bash.org.ru/forweb/'; $quote = bytesToString($quote); debug ("\n===== BEFORE =====\n" . $quote . "\n==================\n"); # trim begin $quote =~ s/var borq='';//g; $quote =~ s/.+?approved by.*?</</g; # trim end $quote =~ s/document.write\(borq\);//g; $quote =~ s/.{30}<' \+ 'a href=.http:..bash.org.ru.+//g; # remove JavaScript code $quote =~ s/<' \+ '.*?>/\n/g; $quote =~ s/"/"/g; $quote =~ s/<(.*?)>/$1/eg; $quote =~ s/\n\n\n/\n/g; $quote =~ s/\n\n/\n/g; debug ("\n===== AFTER =====\n" . $quote . "\n=================\n"); my @lines = split(/\n/, $quote); for(my $i = 1; $i < scalar(@lines); $i++){ if ($command eq ""){ message(" " . $lines[$i] . "\n"); }else{ debug("Using command: $command $lines[$i]"); Commands::run("$command $lines[$i]"); } sleep(0.25); } }else{ error("Syntax Error in function 'bash'\nUsage: bash <c|p|g|pm PlayerName|".'c @homtalk|c @pettalk'.">\n"); error("Where:\n <c> - public chat\n <p> - party chat\n <g> - guild chat\n <pm PlayerName> - private message\n"); error(' <c @homtalk>'." - your homuncul will talk the quote\n ".'<c @pettalk>'." - your pet will talk the quote\n"); } } return 1; Изменение от 28.03.2008: добавил поддержку команд @homtalk и @pettalk. ------------------------- Внимание! Одного плагина недостаточно. Нужны еще 2 файла (они находятся в архиве): \src\LWP\Simple.pm \src\HTTP\Status.pm P.S: Если вы найдете баг, или у вас появится какая-нибудь интересная идея, обязательно напишите это тут. Последний раз редактировалось vitt; 28.03.2008 в 17:29. |
|
14.03.2008, 12:16 | #3 |
Гость
Сообщений: n/a
|
Работает чьёрт побери
|
14.03.2008, 22:15 | #4 |
Админ
|
Комментарий администратора
4epT:
перенёс в "макросы и плагины"
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤ Быстро и качественно напишу конфиг (макрос) за yAD! Стучи! |
16.03.2008, 16:42 | #5 |
Начинающий ботовод
|
у меня говорит только первые две стврочки, и если не влазит в строку то обрыв(
Последний раз редактировалось dixoos; 16.03.2008 в 16:53. |
16.03.2008, 19:56 | #6 |
Продвинутый
Регистрация: 26.02.2007
Сообщений: 300
Вы сказали Спасибо: 0
Поблагодарили 23 раз(а) в 14 сообщениях
|
|
16.03.2008, 20:47 | #7 |
Начинающий ботовод
|
OpenKore 1.9.4, ВХ...
если цитата больше чем две строки, тока кажет только первые две... и если сама строка длинее чем можно отправить за один раз в игре, то она обрывается З.Ы.: ошибок нет, просто некоректно получается |
16.03.2008, 23:10 | #8 |
Продвинутый
Регистрация: 26.02.2007
Сообщений: 300
Вы сказали Спасибо: 0
Поблагодарили 23 раз(а) в 14 сообщениях
|
|
26.03.2008, 16:59 | #9 |
Гость
Сообщений: n/a
|
Предлагаю усовершенствовать плагин, добавлением комманд @homtalk и @pettalk
Что бы за хозаина говорил пет Или гом @pettalk Бла бла бла - и пет это говорит Так же и с гомом (@homtalk) сервак: Тор, или Thor как вам угодно. Это х1к RusRO. |
28.03.2008, 17:45 | #10 |
Продвинутый
Регистрация: 26.02.2007
Сообщений: 300
Вы сказали Спасибо: 0
Поблагодарили 23 раз(а) в 14 сообщениях
|
Обновил, тестируйте
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Plugin - PetFeeder | Freddie Mercury | Макросы и Плагины | 13 | 11.12.2008 17:29 |
ГАЙД по Macro plugin | 4epT | Мини ЧАВО | 46 | 06.05.2008 20:36 |