Правила, для тех, кто выкладывает коды:
1.Указываем название Или для чего используется код!
2.Коды должны быть рабочими!
За несоблюдение правил , посты будут удаляться !
Теги: Здесь будем выкладывать дополнения в исходные коды Jimbot
Поддержка проекта JimBot |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Поддержка проекта JimBot » Дополнения для JimBot » Здесь будем выкладывать дополнения в исходные коды Jimbot
Правила, для тех, кто выкладывает коды:
1.Указываем название Или для чего используется код!
2.Коды должны быть рабочими!
За несоблюдение правил , посты будут удаляться !
Теги: Здесь будем выкладывать дополнения в исходные коды Jimbot
В ChatProps:
setIntProperty("kol.warn",5);
setIntProperty("kol.warns",5);
setIntProperty("kick.warn",15);
new UserPreference(UserPreference.CATEGORY_TYPE,"warn", "Настройки предупреждений",""),
new UserPreference(UserPreference.INTEGER_TYPE,"kol.warn","Количество предупреждений",getIntProperty("kol.warn")),
new UserPreference(UserPreference.INTEGER_TYPE,"kol.warns","Сколько снимать предупреждений",getIntProperty("kol.warns")),
new UserPreference(UserPreference.INTEGER_TYPE,"kick.warn","Время кика ",getIntProperty("kick.warn")),
В ChatCommandProc:
commands.put("!предупреждение", new Cmd("!предупреждение", "$n", ***));
commands.put("!спредупреждение", new Cmd("!спредупреждение", "$n", ***));
case ***:
commandwarning(proc, uin,parser.parseArgs(tmsg));
break;
case ***:
commandSwarning(proc, uin,parser.parseArgs(tmsg));
break;
/**Автор
*xakerok*/
private void commandwarning(IcqProtocol proc, String uin, Vector v)
{
if (!isChat(proc, uin)) return;
if (!auth(proc, uin, "warning")) return;
int s = ((Integer)v.get(0)).intValue();
Users us = srv.us.getUser(s);
Users uss = srv.us.getUser(uin);
if (us.id == 0)
{
proc.mq.add(uin, "Данный пользователь ещё не зарегестрировался в чате");
return;
}
proc.mq.add(uin, "Вы выставили предупреждение пользователю [" + us.id + "] " + us.localnick +", всего у него их [" +us.birthday+ "]\nПо достижению [" + psp.getIntProperty("kol.warn") + "] предупреждений(я) пользователь вылетит из чата на [" + psp.getIntProperty("kick.warn") + "] минут");
int warning = us.birthday + 1;
us.birthday = warning;
srv.us.updateUser(us);
srv.getIcqProcess(us.basesn).mq.add(us.sn, "Вам выставленно предупреждение от пользователя: [" + uss.id + "] " + uss.localnick + ", у вас теперь предупреждений: [" + warning + "]\nПо достижению [" + psp.getIntProperty("kol.warn") + "] ты вылетишь из чата на [" + psp.getIntProperty("kick.warn") + "] минут");
int vremya = psp.getIntProperty("kick.warn");
if(us.birthday==psp.getIntProperty("kol.warn")) {
proc.mq.add(us.sn, "Вы были выпнуты из чата на " + vremya + ". Причина: вы набрали "+psp.getIntProperty("kol.warn")+" предупреждений(я)\nВ следущий раз сидите тихо!");
us.birthday = 0;
tkick(proc, us.sn, vremya);
srv.us.clearCashAuth(us.id);
srv.us.updateUser(us);
}
}
/**
* Снять предупреждение
* Автор: Smatlyun)
* ICQ#: 981326
* НЕ ПИЗДИТЬ, КОПИРАЙТЫ НЕ МЕНЯТЬ
*/
private void commandSwarning(IcqProtocol proc, String uin, Vector v){
if (!isChat(proc, uin)) return;
if (!auth(proc, uin, "warning")) return;
int ss = (Integer)v.get(0);
Users us = srv.us.getUser(ss);
Users uss = srv.us.getUser(uin);
if(us.id==0) {
proc.mq.add(uin,"Данный пользователь ещё не зарегестрировался в чате");
return;
}
if(us.state!=UserWork.STATE_CHAT){
proc.mq.add(uin,"Данный пользователь не в чате");
return;
}
if(us.birthday==0){
proc.mq.add(uin,"У пользователя итак нет предупреждений");
return;
}
proc.mq.add(uin, "Вы сняли предупреждение пользователю [" + us.id + "] " + us.localnick +", всего у него их [" +us.birthday+ "]");
int sswarning = psp.getIntProperty("kol.warns");
int swarning = us.birthday - sswarning;
us.birthday = swarning;
if (us.birthday < 0) {
us.birthday = 0;
}
srv.us.updateUser(us);
srv.getIcqProcess(us.basesn).mq.add(us.sn, "Вам уменьшен уровень предупреждений от пользователя: [" + uss.id + "] " + uss.localnick + ", у вас теперь предупреждений: [" + swarning + "]");
}
[color=red]В ChatProps:[/color]
setBooleanProperty("otp.on.off",true);
setIntProperty("otp.room",5);
setIntProperty("otp.pball",100);
setIntProperty("otp.mball",50);
new UserPreference(UserPreference.CATEGORY_TYPE, "otp", "Отпиздить", ""),
new UserPreference(UserPreference.BOOLEAN_TYPE, "otp.on.off", "Включить/выключить",getBooleanProperty("otp.on.off")),
new UserPreference(UserPreference.INTEGER_TYPE,"otp.room","Комната игры",getIntProperty("otp.room")),
new UserPreference(UserPreference.INTEGER_TYPE,"otp.pball","Сколько давать при победе",getIntProperty("otp.pball")),
new UserPreference(UserPreference.INTEGER_TYPE,"otp.mball","Сколько забирать при проигрыше",getIntProperty("otp.mball")),
[color=red]В ChatCommandProc:[/color]
В public class ChatCommandProc extends AbstractCommandProcessor
добавить:
public ConcurrentHashMap<Integer, Long> otp;
В public ChatCommandProc(ChatServer s)
добавить:
otp = new ConcurrentHashMap<Integer, Long>();
authObj.put("games", "Играть в игры");
commands.put("!отпиздить", new Cmd("!отпиздить", "$n", ***));
case ***:
if (psp.getBooleanProperty("otp.on.off")) {
commandotpizdit(proc,uin,parser.parseArgs(tmsg));
} else {
proc.mq.add(uin, "Система: Эта игра была закрыта администрацией чата");
}
break;
/**
* Отпиздить
* Автор: Smatlyun)
* ICQ#: 981326
* НЕ ПИЗДИТЬ, КОПИРАЙТЫ НЕ МЕНЯТЬ
*/
private void commandotpizdit(IcqProtocol proc, String uin, Vector v) {
int i = (Integer)v.get(0);//хз
int ppriz = psp.getIntProperty("otp.pball");//балы при выигрыше
int mpriz = psp.getIntProperty("otp.mball");//баллы при проигрыше
int mhp = 5;//-хп при проигрыше
int mhpp = 50;//после скольки хп нельзя пиздить
long iw = System.currentTimeMillis();
if (!auth(proc, uin, "games")) return;//полномочие
Users us = srv.us.getUser(uin);//я
Users u = srv.us.getUser(i);//не я
if (!(otp.containsKey(Integer.valueOf(us.id)))) {
otp.put(Integer.valueOf(us.id), Long.valueOf(iw));
}
else
{
long iss = ((Long)otp.get(Integer.valueOf(us.id))).longValue();
if (System.currentTimeMillis() - iss < 300000L)
{
proc.mq.add(uin, "Вы не можете пиздить чаще, чем раз в [5] минут...");
return;
}
otp.put(Integer.valueOf(us.id), Long.valueOf(iw));
}
if (us.room != psp.getIntProperty("otp.room"))
{
proc.mq.add(uin, "Пиздить можно только в ["+psp.getIntProperty("otp.room")+"] комнате");
return;
}
if(u.id==0) {
proc.mq.add(uin,"Данный пользователь ещё не зарегестрировался в чате");
return;
}
if(u.state!=UserWork.STATE_CHAT){
proc.mq.add(uin,"Данный пользователь не в чате");
return;
}
if(u.room!=us.room) {
proc.mq.add(uin,"Ты должен быть в одной комнате с тем кого пиздишь");
return;
}
if(u.hp<=mhpp){
proc.mq.add(uin, "Пожалей у пользователя итак нету хп!");
return;
}
if(u.ball<=mpriz){
proc.mq.add(uin, "Пожалей у пользователя итак нету баллов!");
return;
}
try {
proc.mq.add(u.sn,"Вас отпиздил пользователь [" + us.id + "]" +us.localnick+ " у вас взымается за это ["+mpriz+"] баллов и вы теряете ["+mhp+"] хп\nЧто бы попробовать дать сдачи и забрать свои баллы введите !отпиздить " + us.id + "");
u.hp -= mhp;
u.ball -= mpriz;
srv.us.updateUser(u);
proc.mq.add(uin,"Вы отпиздили пользователя [" + u.id + "]" + u.localnick+ " и получаете за это ["+ppriz+"] баллов");
us.ball += ppriz;
srv.us.updateUser(us);
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}
}Насильно регистрировать пользователя
commands.put("!зарегать", new Cmd("!зарегать", "$c $c", 137));case 137: commandRegUser(proc, uin, parser.parseArgs(tmsg)); break;
public void commandRegUser(IcqProtocol proc, String uin, Vector v){
if ((!isChat(proc, uin)) && (!psp.testAdmin(uin))) return;
if (!auth(proc, uin, "reg_user")) return; try
{
int maxNick = psp.getIntProperty("chat.maxNickLenght");
String user = (String)v.get(0);
String nick = (String)v.get(1);
Users uss = srv.us.getUser(user);
if (uss.id != 0) {
proc.mq.add(uin, "Юзер уже зареган в чате: " + uss.localnick + "|" + uss.id + "|");
return;
}
if ((nick.equals("")) || (nick.equals(" "))) {
proc.mq.add(uin, "Ошибка: Пустой ник");
return;
}
if (user.length() < 6) {
proc.mq.add(uin, "Наврятли в чате кто то будет сидеть с 5ти знака!");
return;
}
if (nick.length() > maxNick) {
nick = nick.substring(0, maxNick);
proc.mq.add(uin, "Предупреждение! ник слишком длинный и будет обрезан.");
}
if (!testNick(uin, nick)) {
proc.mq.add(uin, "Ошибочный ник, попытайтесь еще раз");
return;
}
if (this.srv.us.isUsedNick(nick)) {
proc.mq.add(uin, "Такой ник уже существует. Попробуйте другой ник");
return;
}
uss.state = 1;
uss.basesn = proc.baseUin;
uss.localnick = nick;
uss.sn = user;
int id = srv.us.addUser(uss);
srv.us.db.log(id, user, "REG", nick, uss.room);
srv.us.db.event(id, user, "REG", 0, "", nick);
proc.mq.add(user, "Теперь Вы пользователь нашего чата. Вход по команде !чат");
proc.mq.add(uin, "Вы успешно зарегистрировали юзера");
this.srv.cq.addMsg("Зарегистрировали пользователя " + uss.localnick + "|" + uss.id + "|", "", 0);
} catch (Exception ex) {
ex.printStackTrace();
}
}создание, редактирование и удаление комнат интерактивно
/**
* !crroom - Создание новой комнаты
* @param proc
* @param uin
* @param v
*/
public void commandCrRoom(IcqProtocol proc, String uin, String mmsg){
if(!isChat(proc,uin) && !psp.testAdmin(uin)) return;
if (!auth(proc, uin, "wroom")) return;
try{
int step = 0;
String cmd = "";
Vector v8 = new Vector();
if (comMap.containsKey(uin)){
step = Integer.parseInt(comMap.get(uin).getMsg());
cmd = comMap.get(uin).getCmd();
v8 = comMap.get(uin).getData();
}
switch (step){
case 0:
proc.mq.add(uin, "Введите ид комнаты(только цифру)");
comMap.put(uin, new CommandExtend(uin,mmsg,"1",v8,60000));
break;
case 1:
int room;
try {
room = Integer.parseInt(mmsg);
} catch(NumberFormatException e) {
proc.mq.add(uin, " *NO* не так, напишите только цифру!");
comMap.put(uin, new CommandExtend(uin,cmd,"1",v8,60000));
return;
}
if (srv.us.checkRoom(room)) {
proc.mq.add(uin,"Такая комната уже существует, введите другое ид");
comMap.put(uin, new CommandExtend(uin,cmd,"1",v8,60000));
return;
}
v8.add(0, room);
proc.mq.add(uin,"Введите название комнаты");
comMap.put(uin, new CommandExtend(uin,cmd,"2",v8,60000));
break;
case 2:
int k = ((Integer)v8.get(0)).intValue();
v8.add(1, mmsg);
String s = mmsg;
Rooms r = new Rooms();
r.setId(k);
r.setName(s);
srv.us.createRoom(r);
proc.mq.add(uin,"Комната " + k + " успешно создана!");
comMap.remove(uin);
break;
}
}catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin, "Error: " + ex.getMessage());
}
}/**
* Изменение комнаты
* @param proc
* @param uin
* @param v
*/
public void commandChRoom(IcqProtocol proc, String uin, String mmsg){
if(!isChat(proc,uin) && !psp.testAdmin(uin)) return;
if (!auth(proc, uin, "wroom")) return;
try{
int step = 0;
String cmd = "";
Vector v9 = new Vector();
if (comMap.containsKey(uin)){
step = Integer.parseInt(comMap.get(uin).getMsg());
cmd = comMap.get(uin).getCmd();
v9 = comMap.get(uin).getData();
}
switch (step){
case 0:
proc.mq.add(uin, "Введите ид комнаты которую хотите изменить(только цифру)");
comMap.put(uin, new CommandExtend(uin,mmsg,"1",v9,60000));
break;
case 1:
int room;
try {
room = Integer.parseInt(mmsg);
} catch(NumberFormatException e) {
proc.mq.add(uin, " *NO* не так, напишите только цифру!");
comMap.put(uin, new CommandExtend(uin,cmd,"1",v9,60000));
return;
}
if (!srv.us.checkRoom(room)) {
proc.mq.add(uin, "Такой комнаты не существует, выберите другую");
comMap.put(uin, new CommandExtend(uin,cmd,"1",v9,60000));
return;
}
v9.add(0, room);
proc.mq.add(uin,"Введите новое название комнаты");
comMap.put(uin, new CommandExtend(uin,cmd,"2",v9,60000));
break;
case 2:
int k = ((Integer)v9.get(0)).intValue();
v9.add(1, mmsg);
String s = mmsg;
Rooms r = srv.us.getRoom(k);
r.setName(s);
srv.us.saveRoom(r, "");
proc.mq.add(uin, "Комната ["+Integer.valueOf(k)+"] успешно изменена!" );
comMap.remove(uin);
break;
}
}catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin, "Error: " + ex.getMessage());
}
}/**
* Удаление комнат
* @param proc
* @param uin
* @param v
*/
public void commandDeleteRoom(IcqProtocol proc, String uin, String mmsg){
if(!isChat(proc,uin) && !psp.testAdmin(uin)) return;
if (!auth(proc, uin, "wroom")) return;
try{
Users uss = srv.us.getUser(uin);
int step = 0;
String cmd = "";
Vector v7 = new Vector();
if (comMap.containsKey(uin)){
step = Integer.parseInt(comMap.get(uin).getMsg());
cmd = comMap.get(uin).getCmd();
v7 = comMap.get(uin).getData();
}
switch (step){
case 0:
proc.mq.add(uin, "Введите ид комнаты которую хотите удалить(только цифру)");
comMap.put(uin, new CommandExtend(uin,mmsg,"1",v7,60000));
break;
case 1:
int room;
try {
room = Integer.parseInt(mmsg);
} catch(NumberFormatException e) {
proc.mq.add(uin, " *NO* не так, напишите только цифру!");
comMap.put(uin, new CommandExtend(uin,cmd,"1",v7,60000));
return;
}
int f = Integer.parseInt(mmsg);
if (!srv.us.checkRoom(f)) {
proc.mq.add(uin,"Такая комната не существует, введите другое ид");
comMap.put(uin, new CommandExtend(uin,cmd,"1",v7,60000));
return;
}
Rooms r = new Rooms();
r.setId(room);
srv.us.deleteRoom(r);
srv.cq.addMsg("Была удалена комната " + srv.us.getRoom(room).getName() + "[" + room + "] пользователем " + uss.localnick + "[" + uss.id + "]", uin, uss.room);
proc.mq.add(uin, "Комната " + room + " была успешно удалена");
comMap.remove(uin);
break;
}
}catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin, "Error: " + ex.getMessage());
}
}Вы здесь » Поддержка проекта JimBot » Дополнения для JimBot » Здесь будем выкладывать дополнения в исходные коды Jimbot