

Бутылочка
#1
Отправлено 08 Июнь 2009 - 17:38
Предлагаю следующее
Юзер набирает !бутылка. Затем скрипт выбирает случайного пользователя и пишет готовые тексты из файла. Типа ударить ловатой, подцеловать, просить руки.
Типа : User1 тепрь вы должны отсасать у user2. или типа пригласить на чашечку кофе. Главное чтобы словарь был большим
#2
Отправлено 08 Июнь 2009 - 18:17
/** * Скрипт бутылочка * */ import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; import java.util.Random; //Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!бутылочка", new Cmd("!бутылочка","$s",39,name)); out="Ok"; return; } // Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; try { //Считываем текст Users uss = cmd.srv.us.getUser(uin); String s = cmd.psp.loadText("./text/butilochka.txt"); //Разбиваем текст на куски, в качестве разделителя будем использоватьНе забудь добавить фаил в /text/butilochka.txt , который прекряплен снизу.String[] ss = s.split(" "); int R = (int) ((Math.random()*ss.length)); proc.mq.add(uin,uss.localnick + "[" + uss.id + "] " + "должен >> "+ss[R]); } catch (Exception ex) { ex.printStackTrace(); Log.talk("Error save msg: " + ex.getMessage()); proc.mq.add(uin,"Обшибка " + ex.getMessage()); }
Прикрепленные файлы
#3
Отправлено 08 Июнь 2009 - 19:24
#4
Отправлено 08 Июнь 2009 - 19:36
HubMasster сказал:
{
proc.mq.add(uin,"играть можно только в 10 комнате");
return;
}
#5
Отправлено 08 Июнь 2009 - 19:43
/** * Скрипт игры в бутылочку. */ 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{ String s = cmd.psp.loadText("./text/butilochka.txt"); String[] ss = s.split("Добавил фразы в butilochka.txt"); int R = (int) ((Math.random()*ss.length)); Vector v = cmd.getParser().parseArgs(msg); int i1 = (Integer)v.get(0); Users u = cmd.srv.us.getUser(i1); Users uss = cmd.srv.us.getUser(uin); if(u.id==0){ proc.mq.add(uin,"Пользователь не найден"); return; } if(u.state!=UserWork.STATE_CHAT){ proc.mq.add(uin,"Этого пользователя нет в чате."); return; } // Оповещаем чат if(uss.room!=10) { proc.mq.add(uin,"Играть можно только в 10 комнате"); return; } cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "] " + " должен >> " +ss[R]+ " пользователя " + u.localnick + "[" + u.id + "]", u.sn, u.room); cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "] " + " должен >> " +ss[R]+ " пользователя " + u.localnick + "[" + u.id + "]", uss.sn, uss.room); // Оповещаем юзера cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Пользователь " + uss.localnick + "[" + uss.id + "]" + " должен "+ss[R]+ "тебя(тебе)"); proc.mq.add(uin,"Ты должен >> "+ss[R]+ " пользователя " + u.localnick + "[" + u.id + "]"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
Прикрепленные файлы
#6
Отправлено 08 Июнь 2009 - 20:27
Еще бы сделать чтоб из тех кто сейчас в комнате выбирался случайный юзер.
Посмотреть из скрипта +тут
#7
Отправлено 08 Июнь 2009 - 20:56
String g=""; Enumeration e = cmd.srv.cq.uq.keys(); while(e.hasMoreElements()){ String i = e.nextElement(); Users us = cmd.srv.us.getUser(i); if(us.state==UserWork.STATE_CHAT){ if(us.room==uss.room) { g +=us.id + ";"; } } } String[] gg = g.split(";"); int k = (int) ((Math.random()*gg.length));
#8
Отправлено 08 Июнь 2009 - 21:38
/** * Скрипт игры в бутылочку. */ 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("!бутылочка","",39,name)); out="Ok"; return; } // Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; try{ String g=""; Users uss = cmd.srv.us.getUser(uin); Users u = cmd.srv.us.getUser(uin); Enumeration e = cmd.srv.cq.uq.keys(); while(e.hasMoreElements()){ String i = e.nextElement(); Users us = cmd.srv.us.getUser(i); if(us.state==UserWork.STATE_CHAT){ if(us.room==uss.room) { g += us.id + ";"; } } } String[] gg = g.split(";"); int k = (int) ((Math.random()*gg.length)); String s = cmd.psp.loadText("./text/butilochka.txt"); String[] ss = s.split(""); int R = (int) ((Math.random()*ss.length)); Users uss = cmd.srv.us.getUser(uin); if(uss.id==0){ proc.mq.add(uin,"Пользователь не найден"); return; } if(uss.state!=UserWork.STATE_CHAT){ proc.mq.add(uin,"Этого пользователя нет в чате."); return; } // Оповещаем чат if(uss.room!=10) { proc.mq.add(uin,"Играть можно только в 10 комнате"); return; } cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "] " + " должен >> " +ss[R]+ " пользователя(ю) " +gg[k], uss.sn, uss.room); proc.mq.add(uin,"Ты должен >> "+ss[R]+ " пользователя(ю) " +gg[k]); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
Цитата
!бутылочка
ПРОБНЫЙ
Ты должен >>
Чмокнуть пользователя(ю) 2
ПРОБНЫЙ
БУТЫЛОЧКА>> Пользователь тест[1] должен >>
Чмокнуть пользователя(ю) 2
#9
Отправлено 08 Июнь 2009 - 21:41
Users u = cmd.srv.us.getUser(gg[k]);Ну а дальше как обычно :) u.localnick или что там надо уже :)
#10
Отправлено 08 Июнь 2009 - 21:49
#11
Отправлено 08 Июнь 2009 - 22:03
// Оповещаем чат if(uss.room!=999) { proc.mq.add(uin,"Играть можно только в 999 комнате"); cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "]" + " должен " +ss[R]+ " пользователя(ю) " + u.localnick, uss.sn, uss.room); return; }Попробуй так!
#12
Отправлено 08 Июнь 2009 - 22:39
/** * Скрипт игры в бутылочку. */ 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("!бутылочка","",39,name)); out="Ok"; return; } // Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; try{ String g=""; Users uss = cmd.srv.us.getUser(uin); Enumeration e = cmd.srv.cq.uq.keys(); while(e.hasMoreElements()){ String i = e.nextElement(); Users us = cmd.srv.us.getUser(i); if(us.state==UserWork.STATE_CHAT){ if(us.room==uss.room) { g += us.id + ";"; } } } String[] gg = g.split(";"); int k = (int) ((Math.random()*gg.length)); String s = cmd.psp.loadText("./text/butilochka.txt"); String[] ss = s.split("Незабываем про butilochka.txt :!:"); int R = (int) ((Math.random()*ss.length)); Users u = cmd.srv.us.getUser(Integer.parseInt(gg[k])); Users uss = cmd.srv.us.getUser(uin); if(uss.id==0){ proc.mq.add(uin,"Пользователь не найден"); return; } if(uss.state!=UserWork.STATE_CHAT){ proc.mq.add(uin,"Этого пользователя нет в чате."); return; } // Оповещаем чат if(uss.room!=999) { proc.mq.add(uin,"Играть можно только в 999 комнате"); cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "]" + " должен " +ss[R]+ " пользователя(ю) " +gg[k] + u.localnick, uss.sn, uss.room); return; } proc.mq.add(uin,"Ты должен >> "+ss[R]+ " пользователя(ю) " +gg[k] + u.localnick); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
#13
Отправлено 08 Июнь 2009 - 23:21
#14
Отправлено 08 Июнь 2009 - 23:25
#15
Отправлено 09 Июнь 2009 - 00:08
g += us.id + ";";на
g += "(" + us.id + ")" + ";";Ошибка:
[ERROR] - java.lang.NumberFormatException: For input string: "(2)"Как исправить :?:
#16
Отправлено 09 Июнь 2009 - 00:21
#17
Отправлено 09 Июнь 2009 - 00:22
mmaximm сказал:
#18
Отправлено 09 Июнь 2009 - 02:20
fraer72 сказал:
/** * Скрипт игры в бутылочку. */ 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("!бутылочка","",39,name)); out="Ok"; return; } // Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; try{ String g=""; Users uss = cmd.srv.us.getUser(uin); Enumeration e = cmd.srv.cq.uq.keys(); while(e.hasMoreElements()){ String i = e.nextElement(); Users us = cmd.srv.us.getUser(i); if(us.state==UserWork.STATE_CHAT){ if(us.room==uss.room) { g += us.id + ";"; } } } String[] gg = g.split(";"); int k = (int) ((Math.random()*gg.length)); String s = cmd.psp.loadText("./text/butilochka.txt"); String[] ss = s.split("Незабываем про butilochka.txt :!:"); int R = (int) ((Math.random()*ss.length)); Users u = cmd.srv.us.getUser(Integer.parseInt(gg[k])); Users uss = cmd.srv.us.getUser(uin); if(uss.id==0){ proc.mq.add(uin,"Пользователь не найден"); return; } if(uss.state!=UserWork.STATE_CHAT){ proc.mq.add(uin,"Этого пользователя нет в чате."); return; } // Оповещаем чат if(uss.room!=999) { proc.mq.add(uin,"Играть можно только в 999 комнате"); cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "]" + " должен " +ss[R]+ " пользователя(ю) " +gg[k] + u.localnick, uss.sn, uss.room); return; } proc.mq.add(uin,"Ты должен >> "+ss[R]+ " пользователя(ю) " +gg[k] + u.localnick); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
почему то не выдает
cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "]" + " должен " +ss[R]+ " пользователя(ю) " +gg[k] + u.localnick, uss.sn, uss.room);в чат
#19
Отправлено 09 Июнь 2009 - 02:38
// Оповещаем чат if(uss.room!=999) { proc.mq.add(uin,"Играть можно только в 999 комнате"); cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "]" + " должен " +ss[R]+ " пользователя(ю) " +gg[k] + u.localnick, uss.sn, uss.room); return; }на
Цитата
{
proc.mq.add(uin,"Играть можно только в 999 комнате");
return;
}
// Оповещаем чат
cmd.srv.cq.addMsg("БУТЫЛОЧКА>> Пользователь " + uss.localnick + "[" + uss.id + "]" + " должен " +ss[R]+ " пользователя(ю) " +gg[k] + u.localnick, uss.sn, uss.room);
#20
Отправлено 09 Июнь 2009 - 03:20
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых пользователей