

Загс в чате !
#1
Отправлено 07 Июнь 2009 - 13:49
#2
Отправлено 07 Июнь 2009 - 14:41
/** * Скрипт женить пользователя! */ 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)); 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 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("Пользователь" + "[" + u.id + "]" + u.localnick + " женился*DRINK*!", u.sn, u.room); u.room=i2; cmd.srv.us.updateUser(u); cmd.srv.cq.changeUserRoom(u.sn, i2); // Оповещаем юзера cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"[" + u.id + "]" + u.localnick + " поздравляю:), ты женат!!!"); // Переводим в группу cmd.srv.us.getUser(i1).group = "женат"; boolean f = cmd.srv.us.setUserPropsValue(u.id, "group", "женат") && cmd.srv.us.setUserPropsValue(u.id, "grant", "") && cmd.srv.us.setUserPropsValue(u.id, "revoke", ""); cmd.srv.us.clearCashAuth(u.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); } // Сообщаем об успешном выполнении команды proc.mq.add(uin,"Пользователь" + "[" + u.id + "]" + u.localnick + " поженился!"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
Ошибка:
[ERROR] - java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1
#3
Отправлено 07 Июнь 2009 - 14:50
Цитата
int i1 = (Integer)v.get(0); int i2 = (Integer)v.get(1);P.S. Вроде как названия групп должны быть по английски :)
#4
Отправлено 07 Июнь 2009 - 14:53
#5
Отправлено 07 Июнь 2009 - 14:55
u.room=i2; cmd.srv.us.updateUser(u); cmd.srv.cq.changeUserRoom(u.sn, i2);
#6
Отправлено 07 Июнь 2009 - 15:08
Во рабочий!
/** * Скрипт женить пользователя! */ 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)); 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); 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("Пользователь" + "[" + u.id + "]" + u.localnick + " женился*DRINK*!", u.sn, u.room); // Оповещаем юзера cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"[" + u.id + "]" + u.localnick + " поздравляю:), ты женат!!!"); // Переводим в группу cmd.srv.us.getUser(i1).group = "jenat"; boolean f = cmd.srv.us.setUserPropsValue(u.id, "group", "jenat") && cmd.srv.us.setUserPropsValue(u.id, "grant", "") && cmd.srv.us.setUserPropsValue(u.id, "revoke", ""); cmd.srv.us.clearCashAuth(u.id); // Меняем ник String nick = u.localnick + "(jenat)"; String oldNick = u.localnick; u.localnick=nick; cmd.srv.us.updateUser(u); cmd.srv.us.db.event(u.id, uin, "REG", 0, "", nick); } // Сообщаем об успешном выполнении команды proc.mq.add(uin,"Пользователь" + "[" + u.id + "]" + u.localnick + " поженился!"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
#7
Отправлено 07 Июнь 2009 - 15:13
/** * Скрипт замужем! */ 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)); 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); 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("Пользователь" + "[" + u.id + "]" + u.localnick + " вышла замуж*DRINK*!", u.sn, u.room); // Оповещаем юзера cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"[" + u.id + "]" + u.localnick + " поздравляю:), ты замужем!!!"); // Переводим в группу cmd.srv.us.getUser(i1).group = "zamujem"; boolean f = cmd.srv.us.setUserPropsValue(u.id, "group", "zamujem") && cmd.srv.us.setUserPropsValue(u.id, "grant", "") && cmd.srv.us.setUserPropsValue(u.id, "revoke", ""); cmd.srv.us.clearCashAuth(u.id); // Меняем ник String nick = u.localnick + "(zamujem)"; String oldNick = u.localnick; u.localnick=nick; cmd.srv.us.updateUser(u); cmd.srv.us.db.event(u.id, uin, "REG", 0, "", nick); } // Сообщаем об успешном выполнении команды proc.mq.add(uin,"Пользователь" + "[" + u.id + "]" + u.localnick + " вышла замуж!"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
#8
Отправлено 07 Июнь 2009 - 15:24
/** * Скрипт развода! */ 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)); 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); // Находим юзера Users u = cmd.srv.us.getUser(i1); // Проверяем есть ли такой юзер ваще? if(u.id==0){ proc.mq.add(uin,"Пользователь не найден"); return; } // Возвращаем права if (cmd.qauth(proc,u.sn, "OpChat")) { cmd.srv.us.grantUser(i1, "achat");} // Переводим в группу усер cmd.srv.us.getUser(i1).group = "user"; boolean f = cmd.srv.us.setUserPropsValue(u.id, "group", "user") && cmd.srv.us.setUserPropsValue(u.id, "grant", "") && cmd.srv.us.setUserPropsValue(u.id, "revoke", ""); cmd.srv.us.clearCashAuth(u.id); // Меняем ник если не надо стереть. String nick = u.localnick.replace("(jenat)",""); String nick = u.localnick.replace("(zamujem)",""); 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()); }
#9
Отправлено 07 Июнь 2009 - 15:25
#10
Отправлено 07 Июнь 2009 - 15:25
#11
Отправлено 07 Июнь 2009 - 15:29
nek сказал:
#12
Отправлено 07 Июнь 2009 - 15:33
Только я не понял зачем вы в группу переводите? А если муж или жена админ или мод?
#13
Отправлено 07 Июнь 2009 - 15:34
Цитата
// Переводим в группу cmd.srv.us.getUser(i1).group = "jenat"; boolean f = cmd.srv.us.setUserPropsValue(u.id, "group", "jenat") && cmd.srv.us.setUserPropsValue(u.id, "grant", "") && cmd.srv.us.setUserPropsValue(u.id, "revoke", ""); cmd.srv.us.clearCashAuth(u.id);
#14
Отправлено 07 Июнь 2009 - 16:11
Цитата
* Скрипт женить пользователя!
*/
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 uss = cmd.srv.us.getUser(uin);
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.getIcqProcess(u.basesn).mq.add(u.sn,"Поздравляю ты поженилась с " + uss.localnick + "|" + uss.id + "|");
}
// Сообщаем об успешном выполнении команды
proc.mq.add(uin,"Ты успешно женился на " + u.localnick + "|" + u.id + "|");
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}
#15
Отправлено 07 Июнь 2009 - 16:25
#16
Отправлено 07 Июнь 2009 - 16:33
// Переводим в группу cmd.srv.us.getUser(i1).group = "jenat"; boolean f = cmd.srv.us.setUserPropsValue(u.id, "group", "jenat") && cmd.srv.us.setUserPropsValue(u.id, "grant", "") && cmd.srv.us.setUserPropsValue(u.id, "revoke", ""); cmd.srv.us.clearCashAuth(u.id);я понял). и еще заметил что нельзя поменять ник после этого((
sd (17:25:06 7/06/2009) Поздравляю ты поженилась с Артур|1| (17:25:25 7/06/2009) +аа sd (17:25:26 7/06/2009) Список пользователей в чате 0 - Админ 2 - Патра(женат) [22] 1 - Артур [0] (17:26:02 7/06/2009) !рег Матра sd (17:26:03 7/06/2009) Вы не имеете доступа к данной команде.подскажете может я чего не то делаю(( да и как можно узнать кто на ком женат\замужем тоже нету(((
#17
Отправлено 07 Июнь 2009 - 17:14
Bublee сказал:
sd (17:25:06 7/06/2009) Поздравляю ты поженилась с Артур|1| (17:25:25 7/06/2009) +аа sd (17:25:26 7/06/2009) Список пользователей в чате 0 - Админ 2 - Патра(женат) [22] 1 - Артур [0] (17:26:02 7/06/2009) !рег Матра sd (17:26:03 7/06/2009) Вы не имеете доступа к данной команде.подскажете может я чего не то делаю(( да и как можно узнать кто на ком женат\замужем тоже нету(((
#18
Отправлено 07 Июнь 2009 - 17:24
!свадьба 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 + "]"); } // Сообщаем об успешном выполнении команды proc.mq.add(uin,"Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " обвенчались!"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
#19
Отправлено 07 Июнь 2009 - 17:48
Цитата
String nick = u.localnick + "(женат)" + " на " + uss.localnick;
#20
Отправлено 07 Июнь 2009 - 18:08
// Меняем ник у жениха String nick = u.localnick + "(женат)" + " на " + uss.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 + "(замужем)" + " за " + u.localnick; String oldNick1 = uss.localnick; u.localnick=nick1; cmd.srv.us.updateUser(uss); cmd.srv.us.db.event(uss.id, uin , "REG", 1, "", nick1); }И в чате херь какая то...
Цитата
Комната: 0 -
Тема:
Список пользователей
0 - Админище
1 - НЕВЕСТА(замужем) за Саня(женат) на НЕВЕСТА [0]
2 - НЕВЕСТА [0]
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых пользователей