1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Покупка баллов за смс

Тема в разделе "Дополнения для Jimbot", создана пользователем cerber, 22 фев 2015.

  1. TopicStarter Overlay
    cerber

    cerber Местный инквизитор Команда форума

    Регистрация:
    25.02.11
    Сообщения:
    8.445
    Симпатии:
    2.783
    Баллы:
    575
    Пол:
    Мужской
    Адрес:
    АДА
    автор - REDOSS
    ChatCommandProc

    Код:
    authObj.put("ball_sms", "Активировать полученный пароль для покупки баллов за SMS");
    Код:
    commands.put("!смсбалл", new Cmd("!смсбалл","$s",67));
    Код:
    case 67:
    commandBallSms(proc, uin, parser.parseArgs(tmsg));
    break;
    Код:
    /**
    * !смсбалл pass - Купить n-ое колличество баллов за SMS
    * @author REDOSS
    * @param proc
    * @param uin
    * @param v
    */
    public void commandBallSms(IcqProtocol proc, String uin, Vector v) {
    if(!isChat(proc, uin) && !psp.testAdmin(uin)) return;
    if(!auth(proc, uin, "ball_sms")) return;
    try {
    String pass = (String)v.get(0);
    Users u = srv.us.getUser(uin);
    int num = 0;
    if(pass.equals("")){
    proc.mq.add(uin,"Пустой пароль");
    return;
    }
    // читаем пароль
    PreparedStatement pst = (PreparedStatement) srv.us.db.getDb().prepareStatement("SELECT `id` FROM sms WHERE `txt` = ?  ");
    pst.setString(1,pass);
    ResultSet rs = pst.executeQuery();
    if(rs.next()){
    num = rs.getInt(1);
    } else {
    proc.mq.add(uin,"Неверный пароль");
    return;
    }
    rs.close();
    pst.close();
    // удалим пароль
    String q = "DELETE FROM sms WHERE id="+num+" LIMIT 1";
    PreparedStatement pst2 = (PreparedStatement) srv.us.db.getDb().prepareStatement(q);
    pst2.execute();
    pst2.close();
    int i = u.ball+psp.getIntProperty("ball.sms"); // даём рейтинг
    u.ball=i;
    int i1 = u.answer+psp.getIntProperty("ball.sms"); // даём правильные ответы
    u.answer=i1;
    srv.us.updateUser(u);
    proc.mq.add(uin, "Вы успешно купили " + psp.getIntProperty("ball.sms") + " баллов за SMS");
    srv.cq.addMsg("Пользователь " + u.localnick + "|" + u.id + "| купил " + psp.getIntProperty("ball.sms") + " баллов за SMS", "", u.room);
    } catch (Exception ex){
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка " + ex.getMessage());
    }
    }
    ChatProps
    Код:
    setIntProperty("ball.sms",300);
    
    new UserPreference(UserPreference.INTEGER_TYPE,"ball.sms","Колличество продаваемых баллов за SMS",getIntProperty("ball.sms")),
    SQL запрос
    Код:
    --
    -- Структура таблицы `sms`
    --
    
    CREATE TABLE `sms` (
      `id` int(11) NOT NULL auto_increment,
      `txt` char(30) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1251 ;
    
    --
    -- Дамп данных таблицы `sms`
    --
    INSERT INTO `sms` VALUES (1, '123456');
    INSERT INTO `sms` VALUES (2, 'qwerty');
    Xpert™ нравится это.

Поделиться этой страницей