alertSound - звуковая сигнализация событий

Дополнения к OpenKore, расширяющиее её функциональность, называются плагинами.

Модератор: 4epT

Аватара пользователя
мираж
Admin
Сообщения: 610
Зарегистрирован: Сб ноя 04, 2006 1:15 am
Откуда: Москва

alertSound - звуковая сигнализация событий

Сообщение мираж »

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

Код: Выделить всё

alertSound 1

alertSound - {
eventList public chat
notInTown 1
inLockOnly 0
play I:\RoBot\sounds\pub_chat_male.wav
}

alertSound - {
eventList private chat
notInTown 0
inLockOnly 0
play I:\RoBot\sounds\priv_chat_male.wav
}

alertSound - {
eventList map change, system message
notInTown 0
inLockOnly 0
play I:\RoBot\sounds\map_change_male.wav
}

alertSound - {
eventList gm near, public gm chat, private gm chat
notInTown 0
inLockOnly 0
play I:\RoBot\sounds\gm_male.wav
}
Поменяв путь к музыкальным файлам.

(дополнение от piroJOKE)
Кое-что про звуки, что вы используете в алертере.
Это могут быть либо звуковые файлы, либо системные звуки.

Пару примеров:

play C:\windows\media\tada.wav <-- проиграть один из файлов Windows (указан абсолютный путь к файлу)
play ahtung.wav <-- проигать звуковой файл, что лежит рядом с исполняемыми файлами OpenKore - start.exe/wxstart.exe
play SystemDefault <-- проиграть системный "биип"


Свежая версия
Админ в забое.
ravenclaw_
Энтузиаст
Сообщения: 66
Зарегистрирован: Вс дек 03, 2006 12:31 pm
Откуда: Москва

Сообщение ravenclaw_ »

Требуется помощь - подскажите, пожалуйста, как настроить плагин так, чтобы он НЕ реагировал на сообщения от определенных игроков. Это возможно?
Maslenica
Энтузиаст
Сообщения: 55
Зарегистрирован: Вс янв 14, 2007 12:04 pm

Сообщение Maslenica »

реально ли сделать реакцию на гильд чат? Иногда просто жалеешь, что нет такого :(
Аватара пользователя
Rosetta
Грамотный
Сообщения: 155
Зарегистрирован: Вт ноя 21, 2006 7:04 pm

Сообщение Rosetta »

гильд чат.... вроде тут и далее по теме...

я пока через автомакрос делаю

Код: Выделить всё

automacro SoundGuildChat {
	guild /.*/
	call {
		do eval Utils::Win32::playSound('sound.wav');
	}
}
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8204
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Обзор плагина в первом посте - никакой.
Поэтому читаем оригинальную доку:

http://bibian.ath.cx/openkore/viewtopic.php?t=2032
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8204
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Вот немного модифицированная версия плагина. Вероятно, будет идти в наших следующих дистрибутивах.

Фичи. По просьбе xmpe выделен отдельный чат под команду @main (используется на некоторых пирацких серверах).

Код: Выделить всё

-                my ($chatMsgUser, $chatMsg) = $chat =~ /([\s\S]*?) : ([\s\S]*)/;
+                my ($chatMsgUser, $chatMsg) = $chat =~ /([\s\S]*?):([\s\S]*)/;
+                $chatMsg =~ s/^ +//;

...

        # Public chat message.
...
                if ($chatMsgUser =~ /^([a-z]?ro)?-?(Sub)?-?\[?GM\]?/i) {
                        alertSound("public GM chat");
+		  } elsif (unpack("V", $ID) == 0) {
+                        alertSound("npc chat");
                } else {
                        alertSound("public chat");
                }
в config:
alertSound - {
eventList npc chat
notInTown 1
inLockOnly 0
play sounds\message.wav
}

Пофиксен вылет alertSound-а в 1.9.4 (на неизвестных картах?) :

Код: Выделить всё

-                && (!$config{"alertSound_".$i."_notInTown"} || !$cities_lut{$field->name().'.rsw'})
+                && (!$config{"alertSound_".$i."_notInTown"} || !$cities_lut{$field{name}.'.rsw'})
........
-                && (!$config{"alertSound_".$i."_inLockOnly"} || $field->name() eq $config{'lockMap'})) {
+                && (!$config{"alertSound_".$i."_inLockOnly"} || $field{name} eq $config{'lockMap'})) {
PS: Тестировалось на версии 194SVN5597.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
lirikpl
Грамотный
Сообщения: 476
Зарегистрирован: Вс ноя 12, 2006 12:58 am

Сообщение lirikpl »

Я научу вас ненавидеть эти звуки:D
Они хотя бы разные и легко отличимые,с родной сборкой-это сложнее проделывать...а тут даже на пару именных есть...Александр и киирр,так что может кому то даже совпадет))
Собственно вот
Измененные родные звуки алерт саунда(12шт на выбор):D ,просто скопируйте или замени имена файликов под собственные события и наслаждайтесь))
зы советую ваф "я здоох",применить на попадание в тюрьму в макросе,поверте -не проспите)))))
зыы так же ваф "сашин чат" заставит обделаться с просони любого сашу :D (или не сашу :lol: )
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8204
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Maksimilianoo писал(а):Как кста на обкаст звук сделал?
И где задержку на эмоции ставить?чет не найду
Никак. Этот плагин не для этого. 8)

(оригинал поста на который я отвечаю, я замочил)
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Maksimilianoo
Энтузиаст
Сообщения: 100
Зарегистрирован: Вс фев 25, 2007 4:04 pm
Откуда: Сыктывкар

Сообщение Maksimilianoo »

Ну может какнить с помощью другого средства, тока чур без макросов )
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2795
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494

Сообщение 4epT »

Maksimilianoo, а тут выбора нет, либо макросам, либо плагином

кстати, всегда забываю про шедевр (пишется в конфиг):

Код: Выделить всё

doCommand eval Utils::Win32::playSound('sounds\birds.wav') {
 whenStatusActive Blessing,Increase AGI,Impositio Manus,Aspersio,Kyrie Eleison,Cp Weapon,Cp Shield,Cp Armor,Cp Helm,Flame Weapon,Frost Weapon,Lightning Loader,Seismic Weapon,Muted,Assumptio
 timeout 3
}
Проверил, работает :P
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
jack_spa
Грамотный
Сообщения: 330
Зарегистрирован: Чт июл 26, 2007 11:12 am
Откуда: Crimean Sea

Сообщение jack_spa »

Извеняюсь за оффтоп.
Чёрт,поясни пожалуйста,что в данном случае означает и делает eval ?
Юзал поиск - не нашёл.
Рыл мануалу по макросам - нашёл но @eval,они отличаются или нет?
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2795
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494

Сообщение 4epT »

jack_spa, а вот же оно ;)

В принципе эта команда оценивает выражение Perl
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8204
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Вообще это как-бы оффтопик, но идея интересная. Не помню, было ли это у нас, но на всякий случай запостю:
Народ, у нас ГМы любят пользоватся чатами над головой (превратившись в моба или из ГМхайда) Как настроить соунд алерт, чтоб при виде любого чата выла сирена? И настроить его же чтоб при виде любого плеера пищал.
{Было бы непхохо иметь реакцию} на чаты над головой при виде любого игрока пищал
Спёрто у 4орта.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

piroJOKE писал(а):Вообще это как-бы оффтопик, но идея интересная. Не помню, было ли это у нас, но на всякий случай запостю:
Народ, у нас ГМы любят пользоватся чатами над головой (превратившись в моба или из ГМхайда) Как настроить соунд алерт, чтоб при виде любого чата выла сирена? И настроить его же чтоб при виде любого плеера пищал.
{Было бы непхохо иметь реакцию} на чаты над головой при виде любого игрока пищал
Спёрто у 4орта.
Было у нас такое.
Вот тут Aib0 сделал эту доработку, которая мной успешно используется:
viewtopic.php?t=1556&postdays=0&postorder=asc&start=39
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

Вот доработка, позволяющая использовать в блоках alertSound'а параметр notPlayers
notPlayers <список игроков через запятую>
Этот параметр можно использовать со следующими типами eventList: public chat, private chat

Например:
alertSound - {
eventList private chat
notInTown 1
inLockOnly 0
notPlayers _vit, 4epT, piroJOKE
play sounds\phone.wav
}
Если указанные тут игроки будут писать вам в приват, то плагин не будет срабатывать.

my $packetHook = Plugins::addHook('parseMsg/pre', \&CheckPacket);
+ my $playerName;

my $switch = $args->{switch};
my $msg = $args->{msg};
+ $playerName = "";

$chatMsgUser =~ s/ $//;
+ $playerName = $chatMsgUser;

my ($privMsgUser) = substr($msg, 4, 24) =~ /([\s\S]*?)\000/;
+ $playerName= $privMsgUser;

if (Utils::existsInList($config{"alertSound_".$i."_eventList"}, $event)
+ && !Utils::existsInList($config{"alertSound_".$i."_notPlayers"}, $playerName)
&& (!$config{"alertSound_".$i."_notInTown"} || !$cities_lut{$field{name}.'.rsw'})
&& (!$config{"alertSound_".$i."_inLockOnly"} || $field{name} eq $config{'lockMap'})) {
На всякий случай приложу изменённый alertsound.pl.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось vit Вт янв 29, 2008 6:29 am, всего редактировалось 1 раз.