Перейти к содержанию
Авторизация  
se1dhe

Модератор Чата

Рекомендуемые сообщения

Сабж. Скрипт модератора чата для сборок на основе Lucera.

 


package handlers.voice;
import java.text.SimpleDateFormat;
import ru.catssoftware.gameserver.banmanager.BanManager;
import ru.catssoftware.gameserver.handler.IVoicedCommandHandler;
import ru.catssoftware.gameserver.handler.VoicedCommandHandler;
import ru.catssoftware.gameserver.model.L2World;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage;
public class Moder implements IVoicedCommandHandler
{
private final static int MAX_BAN_MIN_LENGTH = 1440;
private static final String[] VOICED_COMMANDS = {
"moder"
};
@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
if(activeChar == null)
return false;
if(command.startsWith("moder"))
{
try
{
if(!activeChar.getCharacterData().getBool("ChatModerator"))
return false;
}
catch(Exception e)
{
return false;
}
String[] args;
try
{
args = target.split(" ");
if(args.length != 2)
throw new NumberFormatException();
String charName = args[0];
L2PcInstance pc = L2World.getInstance().getPlayer(charName);
if(pc == null)
throw new NumberFormatException();
int minutes = Integer.parseInt(args[1]);
if(minutes < 1 || minutes > MAX_BAN_MIN_LENGTH)
throw new NumberFormatException();
BanManager.getInstance().banChat(activeChar, pc, "Chat was banned by moderator.", minutes);
StringBuilder html = new StringBuilder();
html.append("<html><title>Moderator</title><body>");
html.append("<br><center>");
html.append("Player: ").append(pc).append("<br1>");
html.append("Delay: ").append(minutes).append(" minutes.<br>");
html.append("Time: ").append(new SimpleDateFormat("dd/MM/yyyy HH:mm").format(System.currentTimeMillis()));
html.append("</center></body></html>");
NpcHtmlMessage msg = new NpcHtmlMessage(0);
msg.setHtml(html.toString());
activeChar.sendPacket(msg);
return true;
}
catch(Exception e)
{
activeChar.sendMessage("Usage: .moder charName banMinute");
return false;
}
}
return false;
}
@Override
public String[] getVoicedCommandList()
{
return VOICED_COMMANDS;
}
@Override
public String getDescription(String command)
{
if(command.equals("moder"))
return "Команда бана чата для модератора.";
return null;
}
public static void main(String[] args)
{
VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Moder());
}
}

 

Изменено пользователем seidhe
  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Розьяснили бы для приличия что и как, это выходит все игроки будут модераторами? или же тут определённый ассес левел нужен?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, не все. В скрипте же видно, что нужно создать в бд таблицу, в которой вводится ИД чара, который будет модератором. Если сами не напишите, то через пару часов, как буду дома - скину и запрос.

 

Вся прелесть в том, что модератором может быть и человек вообще с accesslvl=0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

некаких таблиц создавать не нужно..

вот запрос в базу и все

 

INSERT INTO `character_data` VALUES ('ваш charId', 'ChatModerator', 'true');

 

в игре команда

.moder name time

.moder masone 15

Изменено пользователем masone

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что никто не подскажет как поправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что никто не подскажет как поправить?

в вашей сборке в классе BanManager отсутствует метод banChat(L2PcInstans p, L2PcInstans p2, String s, int m);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в вашей сборке в классе BanManager отсутствует метод banChat(L2PcInstans p, L2PcInstans p2, String s, int m);

И что делать? )

У меня как бы так же люцера...

Изменено пользователем Danar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И что делать? )

У меня как бы так же люцера...

я не знаю что вам делать. :)  у вас ядро старо или новой я хз. есть ли сорцы? откройте посмотрите какие методы в BanManager

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я не знаю что вам делать. :)  у вас ядро старо или новой я хз. есть ли сорцы? откройте посмотрите какие методы в BanManager

Сорсы второй люсы шара от рута.

Есть сорсы) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сорсы второй люсы шара от рута.

Есть сорсы) 

Если меня не подводит память - после 7.8 апдейта - переписано множество методов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если меня не подводит память - после 7.8 апдейта - переписано множество методов.

Аааа вот оно что :(

Печалька.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Аааа вот оно что :(

Печалька.

перепишите название методов. в чем проблема то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Аааа вот оно что :(

Печалька.

Ну или напишите завтра утром по контактам, помогу.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну или напишите завтра утром по контактам, помогу.

Ок. Спасибо.

 

Seidhe *** receives messages from verified contacts only. Please verify your account at http://www.icq.com/656510309/verifyphone

Изменено пользователем Danar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подтвердите аккаунт с помощью мобильника 

Может это прозвучит странно но у меня нет тут связи там где я нахожусь.

Может вы добавите меня? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...