ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
84   •   Посмотреть все темы

функция "стукнуть"

 

30
booratino @booratino
serhio пишет:

booratino пишет:

Эта говорит что перед , ты говоришь что после .... вы там договоритесь 😀

послушайся богиню - она дело говорит... towr - это уже вывод сообщения... после него бессмысленно что-то писать...

я тут уже всех поочереди послушал , по тестировал все места куда вставлять .... но всёравно одна и та же проблема просиходит , что когда пытаешься кого-то стукнуть... ну выбираешь функицую сткнуть слева выбираешь кого ... причину если нужно указал ... И вот как только нажимаешь ОТПРАВИТЬ СООБЩЕНИЕ .... то экран очищается (становится белым) и в вержнем правом углу пишет напривет: мистер-Х больно стукнул мистера-У по бесталковке
ну эт я так примерчик привёл ... Безусловно функция работает нормально , НО ПОЧЕМУ ОНА НА БЕЛОМ ЭКРАНЕ ОТКРЫВАЕТСЯ .... причём у всех кто в чате ...

2902
serhio @serhio
booratino пишет:

я тут уже всех поочереди послушал , по тестировал все места куда вставлять .... но всёравно одна и та же проблема просиходит , что когда пытаешься кого-то стукнуть... ну выбираешь функицую сткнуть слева выбираешь кого ... причину если нужно указал ... И вот как только нажимаешь ОТПРАВИТЬ СООБЩЕНИЕ .... то экран очищается (становится белым) и в вержнем правом углу пишет напривет: мистер-Х больно стукнул мистера-У по бесталковке
ну эт я так примерчик привёл ... Безусловно функция работает нормально , НО ПОЧЕМУ ОНА НА БЕЛОМ ЭКРАНЕ ОТКРЫВАЕТСЯ .... причём у всех кто в чате ...

потому, что явно допустил где-то ошибку... место вставки - после :

/* Проверка пользовательских команд для простого сообщения */
if(cmd==0) {

if (text.substring(0,7)=='/knock ' && nick) {
text=text.substr(7,text.length-7);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<img src=https://forum.vmeste.eu/img/bigsmile/boom.gif><i>"+set_nick+" больно стукнул <b>"+tonick+"</b></i> "+text+" <b><font color=e0e0e0>("+time+")</font></b><br>");
return 1;
}

30
booratino @booratino
Вставил после этого /* Вывод простого сообщения */
if(cmd==0) {
symbol=symbols[0];
color_time="#000000";
if(nick==mynick) symbol=symbols[1];
if(tonick==mynick || text.split(mynick+":").length>1){symbol=symbols[2]; color_time="#ff0000"; }
set_nick=" <a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font></a> ";
set_text=" <font size="+size+" color="+color+" face='"+face+"'>" +set_text+"</font> ";
set_time=" <a onclick=\"parent.sendto('см. "+time+" '); return false;\"><font color="+color_time+">"+time+"</font></a> ";

всё работает , спасибо за помощь

4875
ValdeZ @ValdeZ
сори за оффтоп,я так и не увидел целого сообщения с рассписаным,правильным вариантом
через фильтрацию тупо выходит...
а через скрипты у меня появляется белое окно: Вальдез стукнул Старкон и всё....
мож разьясните?

967
Lefna @Богиня
Богиня пишет:

Попробуй так, у меня пашет.
Скрипты чата -> Функция - вывода сообщений и команд -> Вывод простого сообщения
Перед towr=symbol+set_nick+set_text+set_time+"<br>";

if (text.substring(0,7)=='/knock ' && nick) {
text=text.substr(7,text.length-7);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<img src=https://forum.vmeste.eu/img/bigsmile/boom.gif><i>"+set_nick+" больно стукнул <b>"+tonick+"</b></i> "+text+" <b><font color=e0e0e0>("+time+")</font></b><br>");
return 1;
}


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

a1='/chmok ';
if (text.substring(0,a1.length)==a1 && nick) {
text=text.substr(a1.length,text.length-a1.length);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<i><font color=0000ff> "+set_nick+" ЧмОкНуЛ в ЩеЧкУ</font> <b>"+tonick+"</b> <img src=http://www.mpchat.com/super/smajl1/000.gif></i><font color=0000ff> "+text+" </font><b><font color=0000ff>("+time+")</font></b>");
return 1;
}
То что выделено красным, менять можно для других функций.. "a1" на "a2"
Надеюсь, теперь понятно...

Отредактировано Богиня - 03.08.2008
4875
ValdeZ @ValdeZ
Богиня пишет:

Богиня пишет:

Попробуй так, у меня пашет.
Скрипты чата -> Функция - вывода сообщений и команд -> Вывод простого сообщения
Перед towr=symbol+set_nick+set_text+set_time+"<br>";

if (text.substring(0,7)=='/knock ' && nick) {
text=text.substr(7,text.length-7);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<img src=https://forum.vmeste.eu/img/bigsmile/boom.gif><i>"+set_nick+" больно стукнул <b>"+tonick+"</b></i> "+text+" <b><font color=e0e0e0>("+time+")</font></b><br>");
return 1;
}


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

a1='/chmok ';
if (text.substring(0,a1.length)==a1 && nick) {
text=text.substr(a1.length,text.length-a1.length);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<i><font color=0000ff> "+set_nick+" ЧмОкНуЛ в ЩеЧкУ</font> <b>"+tonick+"</b> <img src=http://www.mpchat.com/super/smajl1/000.gif></i><font color=0000ff> "+text+" </font><b><font color=0000ff>("+time+")</font></b>");
return 1;
}
То что выделено красным, менять можно для других функций.. "a1" на "a2"
Надеюсь, теперь понятно...

добавляю вторую функцию... ник /chmok ник
млин(

967
Lefna @Богиня
что-то не то делаешь. У меня все работает

4875
ValdeZ @ValdeZ
if (text.substring(0,7)=='/knock ' && nick) {
text=text.substr(7,text.length-7);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<img src=https://forum.vmeste.eu/img/bigsmile/boom.gif><i>"+set_nick+" больно стукнул <b>"+tonick+"</b></i> "+text+" <b><font color=e0e0e0>("+time+")</font></b><br>");
return 1;
}

a1='/chmok ';
if (text.substring(0,a1.length)==a1 && nick) {
text=text.substr(a1.length,text.length-a1.length);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<i><font color=0000ff> "+set_nick+" ЧмОкНуЛ в ЩеЧкУ</font> <b>"+tonick+"</b> <img src=http://www.mpchat.com/super/smajl1/000.gif></i><font color=0000ff> "+text+" </font><b><font color=0000ff>("+time+")</font></b>");
return 1;
}




(так вооще чат не грузица)

4875
ValdeZ @ValdeZ
оффтоп) сам допустил ошибку)
Богиня,спасибо огромное)

4756
заблокирован @Nikolays
Действия/Функции стукнуть, поцеловать и т.д

Итак, заходим в скрипты.

/* [Функция - вывода сообщений и команд] */

Находим в функции вывода сообщений и команд,

/* Вывод простого сообщения */

В самом конце функции вывода простого сообщения находим строки:

towr=symbol+set_nick+set_text+set_time+"<br>";
if(nick==mynick || tonick==mynick) myhistory+=towr;
wr(towr);
}


ПЕРЕД этими строками ставим ту самую функцию стукнуть:

if (text.substring(0,7)=='/knock ' && nick) {
text=text.substr(7,text.length-7);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<i><font color=00ee77> "+set_nick+" ДаЁт ХоРоШеГо ПоДзАтЫлЬнИкА</font> <b>"+tonick+"</b> <img src=http://imgs.su/bigsmile3/punish.gif></i><font color=00ee77> "+text+" </font><b><font color=00ee77>("+time+")</font></b>");
return 1;
}

Код получится следующим:

/* Вывод простого сообщения */
if(cmd==0) {
symbol=symbols[0];if(nick==mynick) symbol=symbols[1];if(tonick==mynick || text.split(mynick+":").length>1) symbol=symbols[2];
set_nick=" <a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font></a> ";
set_text=" <font size="+size+" color="+color+" face='"+face+"'>" +set_text+"</font> ";
if (text.substring(0,7)=='/knock ' && nick) {
text=text.substr(7,text.length-7);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<i><font color=00ee77> "+set_nick+" ДаЁт ХоРоШеГо ПоДзАтЫлЬнИкА</font> <b>"+tonick+"</b> <img src=http://imgs.su/bigsmile3/punish.gif></i><font color=00ee77> "+text+" </font><b><font color=00ee77>("+time+")</font></b>");
return 1;
}
towr=symbol+set_nick+set_text+set_time+"<br>";
if(nick==mynick || tonick==mynick) myhistory+=towr;
wr(towr);
}

Далее проходим в Нижний фрейм , и добавляем в строки с пользовательскими командами, строку нашей команды "Стукнуть"

document.write("<option value='/knock '>Стукнуть");

Обновляемся.
Обращаем внимание что красные /knock должны совпадать.

Следующее действие добавляем после нашего первого "Стукнуть". К примеру возьмём поцеловать.

a1='/chmok ';
if (text.substring(0,a1.length)==a1 && nick) {
text=text.substr(a1.length,text.length-a1.length);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<i><font color=00ee77> "+set_nick+" Поцеловал(а) в засос </font> <b>"+tonick+"</b> <img src=http://imgs.su/bigsmile2/38.gif></i><font color=00ee77> "+text+" </font><b><font color=00ee77>("+time+")</font></b>");
return 1;
}

*Обратите внимание на a1, которое отмечено зелёным цветом

И точно так же проходим в нижний фрейм и добавляем :

document.write("<option value='/chmok '>Поцеловать");

Код получается следующим:
/* Вывод простого сообщения */
if(cmd==0) {
symbol=symbols[0];if(nick==mynick) symbol=symbols[1];if(tonick==mynick || text.split(mynick+":").length>1) symbol=symbols[2];
set_nick=" <a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font></a> ";
set_text=" <font size="+size+" color="+color+" face='"+face+"'>" +set_text+"</font> ";
if (text.substring(0,7)=='/knock ' && nick) {
text=text.substr(7,text.length-7);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<i><font color=00ee77> "+set_nick+" ДаЁт ХоРоШеГо ПоДзАтЫлЬнИкА</font> <b>"+tonick+"</b> <img src=http://imgs.su/bigsmile3/punish.gif></i><font color=00ee77> "+text+" </font><b><font color=00ee77>("+time+")</font></b>");
return 1;
}
a1='[color=red]/chmok[/color] ';
if (text.substring(0,a1.length)==a1 && nick) {
text=text.substr(a1.length,text.length-a1.length);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr("<i><font color=00ee77> "+set_nick+" Поцеловал(а) в засос </font> <b>"+tonick+"</b> <img src=http://imgs.su/bigsmile2/38.gif></i><font color=00ee77> "+text+" </font><b><font color=00ee77>("+time+")</font></b>");
return 1;
}
towr=symbol+set_nick+set_text+set_time+"<br>";
if(nick==mynick || tonick==mynick) myhistory+=towr;
wr(towr);
}

Следующее и последующие действия делаются по аналогу действия /chmok.
Меняется сама команда с /chmok , на /komanda1 , /komanga2 как в коде скрипта, так и в коде, который мы добавляем в нижний фрейм.

А теперь вспоминаем то, что отмечено зелёным цветом. Это меняется так... Меняем эти самые, ВСЕ что отмечены зелёным цветом a1 , на другие, например b2, c3.

Желаю удачи в установке.
С кодом помогал- admiral. Последующие действия сделаны с помощью кодов от Богиня.

Отредактировано Nikolays - 09.03.2009
1241
VL@DLEN @VLaDLEN
НАПРИМЕР: Ник1 стукнул Ник2 (текст)

А можно как-то сделать чтоб Нику2 (которому приходит сообщение) у него выделялось, что но пришло ему?

Или чтоб ему выдало алерт... как сделать?

106
Branelo @Branelo
Если так зделать, то первые 2 буквы пропадают

Отредактировано Branelo - 12.07.2009
967
Lefna @Богиня
Сделать как? 🤨

458
ridz @ridz
попробуйте так
b1='/stat';
if (text.substring(0,b1.length)==b1 ) {
text=text.replace(b1,"");
if (tonick){text=text.substr(tonick.length+2)};
wr("тут как обычно для команды");
return 1;
}

b1='/stat'; без пропуска

106
Branelo @Branelo
Терь ясно... это если стукать пустоту...
А терь вопрос:
Как поставить сообщение?? Хочу зделать обычное сообщение...
НО!!
/me Занят. благодаря ему я использую ВИП Сообщение, поэтому нужно добавить новую функцию...
Добавил с вашей помощью, но когда пишешь сообщение(никому, а просто) первые 2 буквы стираются... как этот эфект убрать?

106
Branelo @Branelo
wr(set_time+"<i><font color=00ee77>Сообщение от "+set_nick+": </font></i><font color=00ee77> "+text+" </font>");
Пытаюсь такую фишку зделать... Но как и говорю, всё правильно выходит, только 2 символа вначале убираются

4036
DelFast @DelFast
дай скрипт полностью который вставлял, там изменять надо кое что

106
Branelo @Branelo
/* Вывод простого сообщения */
if(cmd==0) {
symbol=symbols[0];if(nick==mynick) symbol=symbols[1];if(tonick==mynick || text.split(" "+mynick+":").length>1) symbol=symbols[2];
set_nick=" <a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font></a> ";
set_text=" <font size="+size+" color="+color+" face='"+face+"'>" +set_text+"</font> ";
if (text.substring(0,7)=='/knock ' && nick) {
text=text.substr(7,text.length-7);
text=text.substr(tonick.length+2,text.length-tonick.length-2);
wr(set_time+"<b>Сообщение от <font size=2 color="+colornick+">"+set_nick+":</font></b> <i>"+set_text+"</i><br>");
return 1;
}

towr=symbol+set_nick+set_text+set_time+"<br>";
if(nick==mynick || tonick==mynick) myhistory+=towr;
wr(towr);
}

4036
DelFast @DelFast
......
if (text.substring(0,6)=='/knock ' && nick) {
text=text.substr(6,text.length-6);
.......

Подсчитывай сколько в тэге символов и на те цифры заменяй на количество символов в тэге

Отредактировано DelFast - 13.07.2009
458
ridz @ridz
a1='/chmok '; - если учитывать пропуск команда проскочит в лог если вы отправляите с пустым tonick
if (text.substring(0,a1.length)==a1 && nick) { - проверять на ник && nick бессмысленно
text=text.substr(a1.length,text.length-a1.length);
text=text.substr(tonick.length+2,text.length-tonick.length-2); - это сьест 2 буквы текста да и сама обрезка нужна если есть tonick
смотрите 94 пост там команда всегда сработает и произойдёт замена команды на строку