^Wyatt Posted February 12, 2013 Posted February 12, 2013 line 78 - boolean canReward = false; (playerIps empty array in that position) line 80 - if (playerIps.containsKey(pIp)) (won't enter here .> array empty) line 96 - if (canReward) (won't enter here .> boolean is false) I think we should think what are we posting before doing it, not?
^Wyatt Posted February 12, 2013 Posted February 12, 2013 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); } } }
Galessia Posted September 8, 2014 Posted September 8, 2014 what is method reunion plz help ! what is method ...
SweeTs Posted September 11, 2014 Posted September 11, 2014 (edited) Put size() instead of values. L2World.getInstance().getAllPlayers().size(); Else you can try like L2World.getInstance().getAllPlayersArray(); - if he use(d) l2j method .. If you still get error then use search option for "L2World.getInstance().getAllPlayers()" and you will see how it is @ reunion. Edited September 11, 2014 by SweeTs
Galessia Posted September 11, 2014 Posted September 11, 2014 Put size() instead of values. L2World.getInstance().getAllPlayers().size(); its same error ... :( search for other method?
SweeTs Posted September 11, 2014 Posted September 11, 2014 1st of all, when you say "error" tell us what error.. 2nd thing, just do as I said aka use search option for that, you will find the answer on your own.
Loses Posted September 12, 2014 Posted September 12, 2014 /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package l2r.gameserver.model.entity; import java.util.HashMap; import l2r.Config; import l2r.gameserver.ThreadPoolManager; import l2r.gameserver.model.L2World; import l2r.gameserver.model.actor.instance.L2PcInstance; /** * @author Loses */ public class MiniReward { static HashMap<String, Integer> Ips = new HashMap<>(); public static void getInstance() { ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable() { @Override public void run() { L2PcInstance[] pls = L2World.getInstance().getAllPlayersArray(); 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, 14400 * 1000); } static void reward(L2PcInstance player) { for (int i : Config.MINI_REWARD.keySet()) { player.addItem("Mini Reward.", i, Config.MINI_REWARD.get(i), player, true); } } }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now