Jump to content

Recommended Posts

Posted

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?

Posted

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);
        }
}
}

  • 1 year later...
Posted (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 by SweeTs
Posted

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.

Posted


/*

* 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);

}

}

}

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 account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • 11-29-2025 - OUR TOPIC IS RELEVANT! CONTACT US BY THE CONTACTS BELOW
    • 🔥 Launch was a success! Over 500 players joined L2Elixir on opening day, and we are holding a steady 420–450 online! We faced extortion attempts and heavy DDoS attacks, but our protections held strong — even if the cost was far higher than expected. What matters is we fought back and kept the server online for you. ⚔️ 💙 Our priority is simple: Deliver a stable, fair, and growing server that will evolve for years to come. We continue to invest in protections, advertising, and development — and we won’t stop. All we ask from YOU is one thing: 👉 Keep playing. The more active the community is, the faster the server grows. 💠 Important Note: We have no paid clans or CPs, no “boosted” groups, no unfair benefits. Everyone has an equal chance to progress and compete. Thank you to everyone who joined, supported, and believed in this project. Let’s make L2Elixir great again — even in 2025–2026! 🚀   Website: https://l2elixir.org/ Discord: https://discord.gg/5ydPHvhbxs   @Atom Can you please move to Private Servers? Thanks!
    • https://jumpshare.com/share/kIdeKALOhgtMKpBKqxpg Test Equip Armors-> FullPlate, Gloves, Legs, Chest , Boots
    • 黑色星期五 — 为您的流量提供高级福利 仅在11月28日,我们的特别促销码可为您提供13%的商店折扣。 促销码: BLACKFRIDAY (13% 折扣) 您可以通过我们的网站或 Telegram 机器人在商店购物! 有效链接: 数字商品商店(网站): 前往 商店 Telegram 机器人: 前往 – 通过 Telegram Messenger 方便访问商店。 其他服务: 虚拟号码服务: 前往 用于购买 Telegram Stars 的机器人: 前往 – 快速且优惠地在 Telegram 中购买 Stars。 SMM 面板: 前往 – 推广您的社交媒体账户。 我们向您呈现当前的 促销和特惠活动 列表,用于购买我们服务的产品和服务: 1. 您可以在首次购买时使用促销码:SOCNET(15% 折扣) 2. 获取 $1 商店余额或 10–20% 折扣 — 只需在我们网站注册后发送您的用户名,格式如下:“SEND ME BONUS, MY USERNAME IS...” — 您需要在我们的论坛帖子中写下这句话! 3. SMM 面板首次试用可获得 $1:只需在我们的网站(支持)提交主题为“Get Trial Bonus”的工单。 4. 我们的 Telegram 频道和 Stars 购买机器人每周都会举办 Telegram Stars 抽奖活动! 新闻: ➡ Telegram 频道: https://t.me/accsforyou_shop ➡ WhatsApp 频道: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器: https://discord.gg/y9AStFFsrh 联系方式与支持: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ 邮箱: solomonbog@socnet.store
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock