/**
*
*Скрипт свадьба пользователей, на основе banroom!
*!свадьба 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("svadba","свадьба");
out="Ok";
return;
}
// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "svadba")) return;
try{
Vector v = cmd.getParser().parseArgs(msg);
//невеста
int i1 = (Integer)v.get(0);
//жених
int i2 = (Integer)v.get(1);
Users sss = cmd.srv.us.getUser(uin);
Users u = cmd.srv.us.getUser(i1);
Users uss = cmd.srv.us.getUser(i2);
// номер комнаты для свадьбы
if((uss.room!=9) && (u.room!=9) && (sss.room!=9))
{
proc.mq.add(uin,"Свадьба может быть только в 9 комнате и молодожены тоже должны быть тут же...");
return;
}
// Проверка по базе если они вообще
if((u.id==0) || (uss.id==0)){
proc.mq.add(uin,"Пользователь не найден");
return;
}
// проверка были ли замужем или женат один из юзеров
File acu = new File ("./users2/" + i1);
File acu1 = new File ("./users2/" + i2);
if (acu.exists() || acu1.exists()){proc.mq.add(uin,"Пользователи уже в браке"); return;}
if((u.state != UserWork.STATE_CHAT) || (uss.state != UserWork.STATE_CHAT) ) {
proc.mq.add (uin,"Этого пользователя нет в чате.");
return;
}
// Оповещаем чат
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 + "]");
OutputStreamWriter ow1 = new OutputStreamWriter(new FileOutputStream("./users2/" + i2,true),"windows-1251");
OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./users2/" + i1,true),"windows-1251");
// Меняем ник у жены
String nick = u.localnick + " замужем за " + uss.localnick;
String oldNick = u.localnick;
ow.write(u.localnick + "<br>");// пишем старый ник в фаил
ow.close();
u.localnick=nick;
cmd.srv.us.updateUser(u);
cmd.srv.us.db.event(u.id, uin , "reg", 0, "", nick);
cmd.srv.us.revokeUser(i1, "reg");// лишаем прав на смену ника
// Меняем ник у мужа
String nick1 = uss.localnick + " женат на " + oldNick;
String oldNick1 = uss.localnick;
ow1.write(uss.localnick + "<br>");//пишем старый ник в фаил
ow1.close();
uss.localnick=nick1;
cmd.srv.us.updateUser(uss);
cmd.srv.us.db.event(uss.id, uin , "reg", 1, "", nick1);
cmd.srv.us.revokeUser(i2, "reg");// лишаем прав на смену ника
// Сообщаем об успешном выполнении команды
proc.mq.add(uin,"Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " обвенчались!");
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}