[Настройка] Второй персонаж в чате

Описание настройки чего либо

Модераторы: immortal, newz20

Ответить
Galakart
Сообщения: 66
Зарегистрирован: Вт авг 06, 2013 3:49 pm
Откуда: Новокузнецк

[Настройка] Второй персонаж в чате

Сообщение Galakart »

Приближается дачный сезон, в связи с этим захотелось распространить свои эксперименты с majordomo и на огород. Поскольку дача далеко, и большую часть времени пустует, то вместо ещё одного сервера было решено дополнить её беспроводным модулем, передающим на домашний сервер все события на даче.
Железо, датчики, схема подключения - ещё в процессе. Но добавить второго "огородного" персонажа в командный чат можно уже сейчас :)

Открываем файл /lib/common.class.php, прокручиваем до функции say, и строку

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

function say($ph, $level=0)
меняем на

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

function say($ph, $level=0, $pers='alice')
и строку

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

$rec['MEMBER_ID'] = 0;
меняем на

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

if ($pers=='matrona') {
$rec['MEMBER_ID'] = -1;
} else {
$rec['MEMBER_ID'] = 0;
}
Далее открываем файл /modules/shoutbox/shouts_search.inc.php, и код

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

 if ($res[$i]['MEMBER_ID']==0) {
     $res[$i]['NAME']='Alice';
    }
    $txtdata.="".$res[$i]['DAT']." <b>".$res[$i]['NAME']."</b>: ".nl2br($res[$i]['MESSAGE'])."<br>";
меняем на

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

if ($res[$i]['MEMBER_ID']==0) {
     $res[$i]['NAME']='<font color=\"green\">Алиса:</font>';
    } else if ($res[$i]['MEMBER_ID']==-1) {
     $res[$i]['NAME']='<font color=\"#0a00ff\">Матрёна:</font>';
    } else { $res[$i]['NAME'].=":"; }
    $txtdata.="".$res[$i]['DAT']." <b>".$res[$i]['NAME']."</b> ".nl2br($res[$i]['MESSAGE'])."<br>";
В реакциях системы, относящихся к событиям от беспроводного модуля, вместо обычного say вызываем:

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

say("На даче всё спокойно!",0,"matrona");
В результате, в командном чате можно наблюдать примерно такую картину:
matron.jpg
matron.jpg (93.98 КБ) 14155 просмотров
Разумеется, реализовать можно и поизящней, но сама идея работает
Linux, Raspberry pi
Мой профиль в CONNECT
MajorDroid
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Огородный филиал сервера

Сообщение sergejey »

Забавно выглядит :)
Насчёт нескольких персонажей хорошая идея.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am

Re: Огородный филиал сервера

Сообщение dmw »

А если еще и голоса разные, то вообще.. ))
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Огородный филиал сервера

Сообщение Alex »

Должны быть разные голоса. Холодильник может говорить басом, стиральная машина — женским голосом, дверь — голосом робота, унитаз — голосом гнома и т. д. на что фантазии хватит. Я пробовал на каком-то свободном движке (уже не помню названия) — очень прикольно. Можно очеловечить и персонифицировать любой объект.
Hitman_dc
Сообщения: 8
Зарегистрирован: Сб май 04, 2013 8:39 am

Re: Огородный филиал сервера

Сообщение Hitman_dc »

Вы тут по аккуратнее, а то Алиса с Матрёной сговорится и устроят бабий бунт))
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am

Re: Огородный филиал сервера

Сообщение dmw »

Нативно пока никак не реализована данная функциональность?
Ато дошел до того что у меня уже 4 персонажа (объекта) и возникли затруднения их както различать.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Огородный филиал сервера

Сообщение sergejey »

dmw писал(а):Нативно пока никак не реализована данная функциональность?
Ато дошел до того что у меня уже 4 персонажа (объекта) и возникли затруднения их както различать.
уже довольно давно можно указывать ID пользователя, от чьего имени записывается фраза:
say("Привет",0,3);
0 - приоритет
3 - ID пользователя

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить