Try this...
public class MiniReward
{
static HashMap<String, Integer> Ips = new HashMap<String, Integer>();
public static void getInstance()
{
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable()
{
@Override
public void run()
{
Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();
for (L2PcInstance p : pls)
{
String pIp = p.getClient().getConnection().getInetAddress().getHostAddress();
if (!Ips.containsKey(pIp))
{
Ips.put(pIp, 1);
reward(p);
}
else
{
int count = Ips.get(pIp);
if (count < Config.DUALBOXES_ALLOWED)
{
Ips.remove(pIp);
Ips.put(pIp, count+1);
reward(p);
}
else
{
p.sendMessage("Already "+Config.DUALBOXES_ALLOWED+" character(s) of your ip have been rewarded, so this character won't be rewarded.");
}
}
}
Ips.clear();
}
}, 0, 86400 * 1000);
}
private static void reward(L2PcInstance player)
{
for (int i : Config.MINI_REWARD.keySet())
{
player.addItem("Mini Reward.", i, Config.MINI_REWARD.get(i), player, true);
}
}
}