PDA

Просмотр полной версии : [Руководство] Настраиваем FloodProtector


baks1
07.02.2010, 13:41
На примере сборки L2EmuRT.
Ищем исходники, открываем gameserver\util\FloodProtector.java
Видим такой код:
package net.l2emuproject.gameserver.util;

import net.l2emuproject.Config;
import net.l2emuproject.gameserver.GameTimeController;
import net.l2emuproject.gameserver.model.actor.instance.L 2PcInstance;

/**
* @author durgus
* rework Visor123
* update by Visor123 04/19/09
*/
public class FloodProtector
{
public static enum Protected
{
USEITEM(400),
ROLLDICE(4200),
FIREWORK(4200),
GLOBAL_CHAT(Config.GLOBAL_CHAT_TIME * GameTimeController.MILLIS_IN_TICK),
TRADE_CHAT(Config.TRADE_CHAT_TIME * GameTimeController.MILLIS_IN_TICK),
ITEMPETSUMMON(1600),
HEROVOICE(10000),
SOCIAL(Config.SOCIAL_TIME * GameTimeController.MILLIS_IN_TICK),
SUBCLASS(10000),
DROPITEM(1000),
BYPASSTOSERVER(100),
UNKNOWNPACKET(1000),
ACTIONS(60000);

private final int _reuseDelay;

private Protected(int reuseDelay)
{
_reuseDelay = reuseDelay;
}

private int getReuseDelay()
{
return _reuseDelay;
}
}

public static void registerNewPlayer(L2PcInstance player)
{
if (player != null)
player.initFloodCount();
}

public static boolean tryPerformAction(L2PcInstance player, Protected action)
{
if (player == null)
return false;

if (player.getFloodCount(action) < System.currentTimeMillis())
{
player.setFloodCount(action, System.currentTimeMillis() + action.getReuseDelay());
return true;
}
return false;
}
}
И заменяем значения на своё усмотрение!
Я думаю все поняли как это делать, а потом компилим исходники. Если хотите вставить в сборку ревизии 1533, качаем исходники за сентябрь, редактируем, сохраняем, смеряем структуру с ядром от ревизии 1553, компилим, открываем ядро за сентябрь, стягиваем оттуда файл который скомпилили, он будет с .class расширением, и вставляем в ядро от ревизии 1553.
Где синие, там менять значение, где красное, это то в чём указывается время...