Перейти к содержимому


Загс в чате !


Сообщений в теме: 124

#41 Петрович

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 174 сообщений

Отправлено 08 Июнь 2009 - 12:34

fraer72, как сделать когда свадьба лишала юзеров на право сменить ник? и когда развод чтобы давало им право на смену ника?

#42 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 08 Июнь 2009 - 12:39

Можно забрать полномочие "рег" при смени ника
cmd.srv.us.revokeUser(cmd.srv.us.getUser(ms.uin).id, "reg");
cmd.srv.us.revokeUser(cmd.srv.us.getUser(ms.uin).id, "рег");
А при разводе вернуть прова юзера.
// Возвращаем права
   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);
Или просто вернуть полномочие "рег"
вроде так:
cmd.srv.us.grantUser(cmd.srv.us.getUser(ms.uin).id, "reg");
cmd.srv.us.grantUser(cmd.srv.us.getUser(ms.uin).id, "рег");


#43 Петрович

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 174 сообщений

Отправлено 08 Июнь 2009 - 12:52

Сделал вот так
// Лишаем юзера прав на смену ника
cmd.srv.us.revokeUser(i1, "reg");
// Меняем ник у жениха     
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);
  // Меняем ник у невесты
String nick1 = uss.localnick + "[женат]";
String oldNick1 = uss.localnick;
uss.localnick=nick1;
cmd.srv.us.updateUser(uss);
cmd.srv.us.db.event(uss.id, uin , "REG", 1, "", nick1);
}
у жены снимает права на смену ника, у мужа нет

#44 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 08 Июнь 2009 - 12:55

Попробуй так.
// Лишаем невесту прав на смену ника
cmd.srv.us.revokeUser(i1, "reg");
cmd.srv.us.revokeUser(i1, "рег");
cmd.srv.us.revokeUser(i1, "ник");
// Лишаем мужа прав на смену ника
cmd.srv.us.revokeUser(i2, "reg");
cmd.srv.us.revokeUser(i2, "рег");
cmd.srv.us.revokeUser(i2, "ник");

#45 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 08 Июнь 2009 - 12:56

И в разводе попробуй.
// Возврощаем "reg" невесте
cmd.srv.us.grantUser(i1, "reg");
// Возврощаем "reg" мужу
cmd.srv.us.grantUser(i2, "reg");

#46 Петрович

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 174 сообщений

Отправлено 08 Июнь 2009 - 13:07

Спасибо получилось.

#47 Graf

    Профи

  • Пользователи
  • PipPipPipPipPip
  • 557 сообщений

Отправлено 08 Июнь 2009 - 13:19

fraer72 сказал:

Попробуй так.
// Лишаем невесту прав на смену ника
cmd.srv.us.revokeUser(i1, "reg");
cmd.srv.us.revokeUser(i1, "рег");
cmd.srv.us.revokeUser(i1, "ник");
// Лишаем мужа прав на смену ника
cmd.srv.us.revokeUser(i2, "reg");
cmd.srv.us.revokeUser(i2, "рег");
cmd.srv.us.revokeUser(i2, "ник");
извените за тупой вопрос но куда это вставлять?

#48 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 08 Июнь 2009 - 13:22

Перед сменой ника

#49 Петрович

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 174 сообщений

Отправлено 08 Июнь 2009 - 13:25

Фраер не проще так сделать?
// Лишаем невесту прав на смену ника
cmd.srv.us.revokeUser(i1, "reg");
// Лишаем мужа прав на смену ника
cmd.srv.us.revokeUser(i2, "reg");


#50 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 08 Июнь 2009 - 13:27

Проще. Ну если вроде будет менять через !рег или !ник , то ник смениться! Я то чно не знаю. Проверь :)

#51 Юрий

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 196 сообщений

Отправлено 08 Июнь 2009 - 13:28

Петрович сказал:

Фраер не проще так сделать?
// Лишаем невесту прав на смену ника
cmd.srv.us.revokeUser(i1, "reg");
// Лишаем мужа прав на смену ника
cmd.srv.us.revokeUser(i2, "reg");
Если тебе проще делай так, у некоторых может несколько объектов полномочий на регистрацию, поэтому забираются все, что бы на верника

#52 Петрович

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 174 сообщений

Отправлено 08 Июнь 2009 - 13:29

fraer72 сказал:

Проще. Ну если вроде будет менять через !рег или !ник , то ник смениться! Я то чно не знаю. Проверь :)
Нет не меняется, полномочие полностью убирается

#53 mmaximm

    Эх...

  • Модераторы
  • 927 сообщений

Отправлено 08 Июнь 2009 - 18:34

fraer72 сказал:

Проще. Ну если вроде будет менять через !рег или !ник , то ник смениться! Я то чно не знаю. Проверь :)
Полномочие одно reg, а !reg, !рег и !ник это только команда, для выполнения которой надо иметь полномочие reg

#54 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 10 Июнь 2009 - 10:35

Ребята а как сделать чтобы Соглашения спрашевало?

#55 BosZZZ

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений

Отправлено 10 Июнь 2009 - 18:07

пли3 теперь выложите конечные скрипты)

#56 Петрович

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 174 сообщений

Отправлено 10 Июнь 2009 - 18:10

BosZZZ сказал:

пли3 теперь выложите конечные скрипты)
Всё тебе дай и сделай, в теме всё есть

#57 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 10 Июнь 2009 - 18:17

пли3 теперь выложите конечные скрипты)
В готовых скриптах смотри!

#58 BosZZZ

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений

Отправлено 10 Июнь 2009 - 18:17

напишите и тему офф((((ну плиз(((

#59 Петрович

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 174 сообщений

Отправлено 10 Июнь 2009 - 18:47

Совсем люди оборзели уже. Скрипт написали, выложили, теперь только проглатить осталось

#60 masterzx

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 738 сообщений
  • ГородБарнаул

Отправлено 28 Июнь 2009 - 12:29

Скрипты свадьбы и развода почти рабочие
Скрипт свадьбы:
/**
*
*Скрипт свадьба пользователей, на основе 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("wedding","свадьба");
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "wedding")) 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!=3) && (u.room!=3) && (sss.room!=3)) 
{
 proc.mq.add(uin,"Свадьба может быть только в 3 комнате и молодожены тоже должны быть тут же..."); 
 return;
 }
// Проверка по базе если они вообще 
if((u.id==0) || (uss.id==0)){
proc.mq.add(uin,"Пользователь не найден");
return;
}
// проверка были ли замужем или женат один из юзеров 
File acu = new File ("./users/" + i1);
File acu1 = new File ("./users/" + 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("./users/" + i2,true),"windows-1251");
OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./users/" + i1,true),"windows-1251");

// Меняем ник у жены     
String nick = u.localnick + "(жена)" + uss.localnick;
String oldNick = u.localnick;
ow.write(u.localnick + "
");// пишем старый ник в фаил
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 + "
");//пишем старый ник в фаил
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());
}

Скрипт развода:
//**
//* Скрипт развести пользователей, на основе ubanroom !
//*!развести 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("wedding","свадьба");
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "wedding")) 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);
   Users uss = cmd.srv.us.getUser(i2);
// Проверяем есть ли такой юзер ваще?
   if((u.id==0) || (uss.id==0)){
      proc.mq.add(uin,"Пользователи не найдены");
      return;
   }

   File acu = new File ("./users/" + i1);
   File acu1 = new File ("./users/" + i2);
   if ((!acu.exists() )|| (!acu1.exists())){proc.mq.add(uin,"Пользователи не были в браке"); return;}
   String nick = cmd.psp.loadText("./users/" + i1);
   String[] snick = nick.split("
");
   String nick1 = cmd.psp.loadText("./users/" + i2);
   String[] snick1 = nick1.split("
");
   if ((nick == "") || (nick1 == "")){proc.mq.add(uin,"Пользователи не были в браке"); return;}
   acu.delete();
   acu1.delete();
// Меняем ник у жены 
   u.localnick = snick[0];
   cmd.srv.us.updateUser(u);
   cmd.srv.us.db.event(u.id, uin, "reg", 0, "", snick[0]);
   cmd.srv.us.grantUser(i1, "reg");// возвращаем права на смену ника 
  
// Меняем ник у мужа 
   
   uss.localnick= snick1[0];
   cmd.srv.us.updateUser(uss);
   cmd.srv.us.db.event(uss.id, uin, "reg", 1, "", snick1[0]);
   cmd.srv.us.grantUser(i2, "reg");// возвращаем права на смену ника    

   // Сообщаем об успешном выполнении команды
   cmd.srv.cq.addMsg("Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " Развелись!", u.sn, u.room);
   cmd.srv.cq.addMsg("Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " Развелись!", uss.sn, uss.room);
   proc.mq.add(uin,"Брак распался...");
// Сюда нужно добавить команды на удаление файлов юзера
} catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}

Вопрос такой может кто подсказать как удалит файлы через скрипт...

P.S. Все скрипт рабочий на 100% Спасибо всем кто помог





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей