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

Добавить Hwidban В Админ Команды [Catsguard]

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

Сборка Silentium http://forummaxi.ru/...958#entry351796

Нужно добавить команду //banhwid

Сутки проковырялся, безуспешно, компилятор показывает ошибки.

Основа: посмотрел на исходниках люцеры как там реализовано. Там отдельный класс CatsGuardHandler.java

Пробывал прикрутить:

1. Поменял импорты - неудачно. Некоторых нужных классов нету, а создать их без ошибок не получилось(

2. Попробывал вырезать оттуда код отвечающий за banhwid и прикрутить его по аналогии в копию AdminCache.java - неудачно. И то я пробывал сделать только 20% реализации этой команды.

 

package silentium.scripts.handlers.admin;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import silentium.commons.database.DatabaseFactory;
import silentium.gameserver.handlers.IAdminCommandHandler;
import silentium.gameserver.model.actor.instance.L2PcInstance;
import silentium.gameserver.network.clientpackets.Say2;
public class AdminBanHwid implements IAdminCommandHandler
{
private static final String[] ADMIN_COMMANDS =
{
"admin_hwidban"
};

@Override
public String[] getAdminCommandList()
{
return ADMIN_COMMANDS;
}

@Override
/* public void runCommand(L2PcInstance admin, String... params) {
String command = params[0]; */
public boolean useAdminCommand(String... params, L2PcInstance admin) {
String command = params[0];
if (command.startsWith("hwidban")) {
String hwid=null;
if (params.length==1) {
if(admin.getTarget() instanceof L2PcInstance)
 hwid = ((L2PcInstance)admin.getTarget()).getHWid();
}
/* else {
hwid = L2Utils.getHwId(params[1]);
}
if(hwid!=null) {
try {
//	 Integer.parseInt(hwid,16);
 CatsGuard.getInstance().ban(hwid);
 for(L2PcInstance pc : L2World.getInstance().getAllPlayers()) {
 if(pc.getHWid()!=null && pc.getHWid().equals(hwid) && !gmCache.getInstance().isGm(pc.getObjectId()))
 new Disconnection(pc).defaultSequence(false);
 }
 admin.sendMessage("HWID "+hwid+" забанен");
} catch(NumberFormatException e) {
 admin.sendMessage("Нет такого игрока "+params[1]);
}

}
runCommand(admin, new String[] {"hwidbanned"});
}### */

return true;
}
}
}

 

3. Пробывал из CatsGuard.java вытянуть бан при обнаружении hack софта. И вставить по аналогии в копию AdminCache.java

if (ProtectionProperties.ON_HACK_ATTEMP.equals("hwidban") && (cl.getHWid() != null))
{
ban(cl.getHWid());
}

Получилась - неудача.

 

package silentium.scripts.handlers.admin;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import silentium.commons.database.DatabaseFactory;
import silentium.gameserver.handlers.IAdminCommandHandler;
import silentium.gameserver.model.actor.instance.L2PcInstance;
import silentium.protection.CatsGuard;
import silentium.gameserver.network.clientpackets.Say2;
private class AdminBanHwid implements IAdminCommandHandler
{
@Override
public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
if (command.startsWith("hwidban"))
{
ban(activeChar.getTarget().getHWid());
}
}
}

 

Исходник CatsGuardHandler из люцеры:

 

 

Исходник CatsGuard из силентиума:

 

 

Укажите пожалуйста на то, как нужно прикручивать.

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

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


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

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

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

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

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

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

Войти

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

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

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

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

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