Перейти к содержимому


Загс в чате !


Сообщений в теме: 124

#21 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 07 Июнь 2009 - 18:31

Ребята ктонибудь выложите уже готовый скрипт ! Который будет предлогать предложения и показывать со сменой ник Женат на ,,,,,

#22 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 07 Июнь 2009 - 18:37

Ну вот что в итоге получилось. Тестим.
!свадьба id(невесты) id(жениха)
Обязательно вводим по порядку id(невесты) id(жениха)

/**
* Скрипт свадьба пользователя!
*!свадьба id(невесты) id(жениха)
*/


import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!свадьба", new Cmd("!свадьба","$n $n",39,name));
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;


try{
   Vector v = cmd.getParser().parseArgs(msg);
//невеста
int i1 = (Integer)v.get(0);
//жених
int i2 = (Integer)v.get(1);
Users uss = cmd.srv.us.getUser(i2);
Users u = cmd.srv.us.getUser(i1);
if(u.id==0){
proc.mq.add(uin,"Пользователь не найден");
return;
}
if(u.state!=UserWork.STATE_CHAT){
proc.mq.add(uin,"Этого пользователя нет в чате.");
return;

} else {
// Оповещаем чат
cmd.srv.cq.addMsg("У пользователей " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + "свадьба*DRINK*!", u.sn, u.room);
cmd.srv.cq.addMsg("У пользователей " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + "свадьба*DRINK*!", uss.sn, uss.room);
// Оповещаем юзера
cmd.srv.getIcqProcess(uss.basesn).mq.add(uss.sn,"Поздравляю у тебя свадьба, твоя невеста " + u.localnick + "[" + u.id + "]");
cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Поздравляю у тебя свадьба, твой жених  " + uss.localnick + "[" + uss.id + "]");
// Меняем ник у жениха     
String nick = u.localnick + "(замужем)";
String oldNick = u.localnick;
u.localnick=nick;
cmd.srv.us.updateUser(u);
cmd.srv.us.db.event(u.id, uin , "REG", 0, "", nick); 
  // Меняем ник у невесты
String nick1 = uss.localnick + "(женат)";
String oldNick1 = uss.localnick;
uss.localnick=nick1;
cmd.srv.us.updateUser(uss);
cmd.srv.us.db.event(uss.id, uin , "REG", 1, "", nick1);
}

// Сообщаем об успешном выполнении команды
proc.mq.add(uin,"Пользователи " + uss.localnick + "[" + uss.id + "] " + " и "  + u.localnick + "[" + u.id + "] " +  " обвенчались!");
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#23 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 07 Июнь 2009 - 18:40

Кому надо можете заменить
String nick = u.localnick + "(замужем)";
на
String nick = u.localnick + "(замужем)" + " за " + uss.localnick;
и
String nick1 = uss.localnick + "(женат)";
на
String nick = uss.localnick + "(женат)" + " на " + u.localnick;
Не проверял!

#24 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 07 Июнь 2009 - 20:27

Спасибо большое все работает!

#25 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 07 Июнь 2009 - 20:35

fraer72 сказал:

Кому надо можете заменить
String nick = u.localnick + "(замужем)";
на
String nick = u.localnick + "(замужем)" + " за " + uss.localnick;
и
String nick1 = uss.localnick + "(женат)";
на
String nick = uss.localnick + "(женат)" + " на " + u.localnick;
Не проверял!

Я это заменил все работает! ну касяк в том что когда с другой женишся все остаеться толкьо к нику добовляеться еше тоже самое как это испраить?
777 - 8-)"A"R.K|@|S.H.K."A"8-)|EX|(женат) на 8-)I-LOVE-[Boxing]8-)[Mod](замужем) за 8-)"A"R.K|@|S.H.K."A"8-)|EX|(женат) на 8-)I-LOVE-[Boxing]8-)[Mod](замужем) за 8-)"A"R.K|@|S.H.K."A"8-)|EX|(замужем) за 8-)"A"R.K|@|S.H.K."A"8-)|EX|(женат) на 8-)I-LOVE-[Boxing]8-)[Mod](замужем) за 8-)"A"R.K|@|S.H.K."A"8-)|EX| [Админ] (0)

#26 Юрий

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 196 сообщений

Отправлено 07 Июнь 2009 - 21:31

Я это заменил все работает! ну касяк в том что когда с другой женишся все остаеться толкьо к нику добовляеться еше тоже самое как это испраить?
777 - 8-)"A"R.K|@|S.H.K."A"8-)|EX|(женат) на 8-)I-LOVE-[Boxing]8-)[Mod](замужем) за 8-)"A"R.K|@|S.H.K."A"8-)|EX|(женат) на 8-)I-LOVE-[Boxing]8-)[Mod](замужем) за 8-)"A"R.K|@|S.H.K."A"8-)|EX|(замужем) за 8-)"A"R.K|@|S.H.K."A"8-)|EX|(женат) на 8-)I-LOVE-[Boxing]8-)[Mod](замужем) за 8-)"A"R.K|@|S.H.K."A"8-)|EX| [Админ] (0)
Так ты сначала разведись с одной, потом женись на другой, вот многоженец. :lol:

#27 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 07 Июнь 2009 - 21:55

А как развестись? кто подскажет? дай скрипт Юра!

#28 mobinext2009

    Продвинутый пользователь

  • Специалисты
  • PipPipPip
  • 118 сообщений
  • ГородСатка

Отправлено 07 Июнь 2009 - 22:03

Именно в этом скрипте.перед первой заменой ника определите еще одну переменную например
// Меняем ник
String nick = uss.localnick + "(замужем) за " + u.localnick;
String oldNick = uss.localnick;

А во втором вместо u.localnick поставте oldNick.
А вообще писать нужно тогда или в файл или в базу ид ник .
И делать проверку есть ли запись при следующем браке.
Если есть то отказ от свадьбы. Нужно сначала развестись.
Сделать еще один скрипт развода где удаляются данные и ставится ник по ид который замысан.

#29 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 07 Июнь 2009 - 22:07

Юра сможеш сделать ?? Очень надо!

#30 mobinext2009

    Продвинутый пользователь

  • Специалисты
  • PipPipPip
  • 118 сообщений
  • ГородСатка

Отправлено 07 Июнь 2009 - 22:16

Насчет ида перемудрил :-D
Писать старый ник.

sn = OldNick + "; Зарегестрирован брак с гражданином " + u.localnick;
File zags = new File ("./zags/"+uss.id+".txt");
if (zags.exists()) zags.delete();
OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./zags/"+uss.id+".txt",true),"windows-1251");
ow.write(sn);
ow.close();

Примерно так.

#31 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 07 Июнь 2009 - 22:58

mobinext2009 насчет то что перемудрил не спорю, как получилось так и выложил! :) Для этого и надо протестить! Спасибо то что отписался, приму к сведенью.

#32 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 07 Июнь 2009 - 23:01

Развод можно написать на основе ubanroom, я там набросок выкладывал в начале темы. Пробуйте, тестите, отписывайтесь. :)

#33 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 07 Июнь 2009 - 23:23

в Скрипте развода баг не миняет ник потом !

#34 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 07 Июнь 2009 - 23:26

/**
* Скрипт развода!
*/


import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!развести", new Cmd("!развести","$n",39,name));
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;


try{
   //Парсим строку аргументов
   Vector v = cmd.getParser().parseArgs(msg);
   //Согласно шаблону, аргумент должн быть числом
   int i1 = (Integer)v.get(0);
   // Находим юзера
   Users u = cmd.srv.us.getUser(i1);
   // Проверяем есть ли такой юзер ваще?
   if(u.id==0){
      proc.mq.add(uin,"Пользователь не найден");
      return;
   }

   // Меняем ник если не надо стереть.
   String nick = u.localnick.replace("(женат)","");
   String nick = u.localnick.replace("(замужем)","");
String oldNick = u.localnick;
   u.localnick=nick;
   cmd.srv.us.updateUser(u);
   cmd.srv.us.db.event(u.id, uin, "REG", 0, "", nick);   
///////////////////////////////////
   if(u.state==UserWork.STATE_CHAT){
       cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Ты свободен.");
   }
   // Сообщаем об успешном выполнении команды
   cmd.srv.cq.addMsg("[" + u.id + "]" + u.localnick + " развелся(развелась)", u.sn, u.room);
   proc.mq.add(uin,"Пользователю " + "[" + u.id + "]" + u.localnick + " развелся(развелась).");
} catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}


#35 Сержо

    Новичок

  • Пользователи
  • Pip
  • 29 сообщений

Отправлено 08 Июнь 2009 - 00:01

у мну проблема, когда я тестил я поженился нормально а когда разводился у жены всё нормально прошло - из ника (замужем) у неё убралось а у меня всё осталось как не пробовал только разводиться....

Вот смотрите:

Цитата

я (00:45:30 8/06/2009)
!свадьба 111 1

чат (00:45:31 8/06/2009)
Поздравляю у тебя свадьба, твоя невеста Оленька:-*[111]

чат (00:45:32 8/06/2009)
Пользователи Son(женат)[1] и Оленька:-*(замужем)[111] обвенчались!

чат (00:45:34 8/06/2009)
У пользователей Son[1] и Оленька:-*[111] свадьба*DRINK*!

я (00:45:45 8/06/2009)
+все

чат (00:45:46 8/06/2009)
Список пользователей в чате
0 - Стражник[BoT]8-)
1 - Son(женат) [0]
111 - Оленька:-*(замужем) [0]

я (00:48:10 8/06/2009)
!развести 111

чат (00:48:11 8/06/2009)
Пользователю [111]Оленька:-* развелся(развелась).

чат (00:48:13 8/06/2009)
[111]Оленька:-* развелся(развелась)

я (00:48:40 8/06/2009)
!развести 1

чат (00:48:41 8/06/2009)
Ты свободен.

чат (00:48:41 8/06/2009)
Пользователю [1]Son(женат) развелся(развелась).

я (00:48:48 8/06/2009)
+все

чат (00:48:49 8/06/2009)
Список пользователей в чате
0 - Стражник[BoT]8-)
1 - Son(женат) [0]
111 - Оленька:-* [0]

кто знает почему так?

#36 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 08 Июнь 2009 - 01:32

Вот этот рубит норм.
!развести id(невесты) id(жениха)
/**
* Скрипт развести пользователей!
*!развести id(невесты) id(жениха)
*/


import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!развести", new Cmd("!развести","$n $n",39,name));
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;


try{
//Парсим строку аргументов
   Vector v = cmd.getParser().parseArgs(msg);
// Жена
   int i1 = (Integer)v.get(0);
// Муж
   int i2 = (Integer)v.get(1);
// Находим юзера
   Users u = cmd.srv.us.getUser(i1);
   Users uss = cmd.srv.us.getUser(i2);
// Проверяем есть ли такой юзер ваще?
   if(u.id==0){
      proc.mq.add(uin,"Пользователи не найден");
      return;
   }

   // Меняем ник у жены если не надо стереть.
   String nick = u.localnick.replace("(замужем)","");
String oldNick = u.localnick;
   u.localnick=nick;
   cmd.srv.us.updateUser(u);
   cmd.srv.us.db.event(u.id, uin, "REG", 0, "", nick);   
// Меняем ник у мужа если не надо стереть.
String nick1 = uss.localnick.replace("(женат)","");
String oldNick1 = uss.localnick;
   uss.localnick=nick1;
   cmd.srv.us.updateUser(uss);
   cmd.srv.us.db.event(uss.id, uin, "REG", 1, "", nick1);  
///////////////////////////////////
   if(u.state==UserWork.STATE_CHAT){
       cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Ты свободен.");
   }
   // Сообщаем об успешном выполнении команды
   cmd.srv.cq.addMsg("Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " Развелись!", u.sn, u.room);
cmd.srv.cq.addMsg("Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " Развелись!", uss.sn, uss.room);
proc.mq.add(uin,"Брак распался...");
} catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}
	


#37 Сержо

    Новичок

  • Пользователи
  • Pip
  • 29 сообщений

Отправлено 08 Июнь 2009 - 09:14

спасибо - всё норм работает... :)

#38 Петрович

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 174 сообщений

Отправлено 08 Июнь 2009 - 12:13

fraer72, огромное спасибо как раз нужен был скрипт отлично написан! ;)

#39 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 08 Июнь 2009 - 12:25

РЕбята а кто даст скрипт который ! Только избраный человек мог бы женить а не все!

#40 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 08 Июнь 2009 - 12:33

/**
* Скрипт свадьба пользователя!
*!свадьба id(невесты) id(жениха)
*/


import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;

//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!свадьба", new Cmd("!свадьба","$n $n",39,name));
   cmd.addAuth("свадьба","Свадьба юзверев");
out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "свадьба")) return;


try{
   Vector v = cmd.getParser().parseArgs(msg);
//невеста
int i1 = (Integer)v.get(0);
//жених
int i2 = (Integer)v.get(1);
Users uss = cmd.srv.us.getUser(i2);
Users u = cmd.srv.us.getUser(i1);
if(u.id==0){
proc.mq.add(uin,"Пользователь не найден");
return;
}
if(u.state!=UserWork.STATE_CHAT){
proc.mq.add(uin,"Этого пользователя нет в чате.");
return;

} else {
// Оповещаем чат
cmd.srv.cq.addMsg("У пользователей " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + "свадьба*DRINK*!", u.sn, u.room);
cmd.srv.cq.addMsg("У пользователей " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + "свадьба*DRINK*!", uss.sn, uss.room);
// Оповещаем юзера
cmd.srv.getIcqProcess(uss.basesn).mq.add(uss.sn,"Поздравляю у тебя свадьба, твоя невеста " + u.localnick + "[" + u.id + "]");
cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Поздравляю у тебя свадьба, твой жених  " + uss.localnick + "[" + uss.id + "]");
// Меняем ник у жениха     
String nick = u.localnick + "(замужем)";
String oldNick = u.localnick;
u.localnick=nick;
cmd.srv.us.updateUser(u);
cmd.srv.us.db.event(u.id, uin , "REG", 0, "", nick);
  // Меняем ник у невесты
String nick1 = uss.localnick + "(женат)";
String oldNick1 = uss.localnick;
uss.localnick=nick1;
cmd.srv.us.updateUser(uss);
cmd.srv.us.db.event(uss.id, uin , "REG", 1, "", nick1);
}

// Сообщаем об успешном выполнении команды
proc.mq.add(uin,"Пользователи " + uss.localnick + "[" + uss.id + "] " + " и "  + u.localnick + "[" + u.id + "] " +  " обвенчались!");
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}
	
	






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей