Jump to content
  • 0

java code help


scraw

Question

-Hello..i know that noone will answer but i never stop hopping..so get to the point:

 

-I have an code for auto-reward every shcelude time "X" but it reward all players in L2World no matter if dualbox or whatever.

-That i want is: Players reward by Ip (only one player) 

 

thats what i have (for L2JFROZEN REV 1132):

public static void AutoReward()
{
	Collection <L2PcInstance> pls = L2World.getInstance().getAllPlayers();
	for (L2PcInstance p: pls)
	{
		p.sendMessage("AutoReward: You got " + Config.AUTO_REWARD_COUNT + " " + Config.NAME_ITEM_REWARD + " by being online");
		p.getInventory().addItem("", Config.AUTO_REWARD_ID, Config.AUTO_REWARD_COUNT, p, null);
	}
}

 

Edited by Rootware
Link to comment
Share on other sites

Recommended Posts

  • 0

Try this but check the IP adress method in your sources.

public static void AutoReward()
{
	List<String> ips = new ArrayList<>();
	Collection <L2PcInstance> pls = L2World.getInstance().getAllPlayers();
	for (L2PcInstance p : pls)
	{
		final String ip = p.getConnection().getInetAddress();
		if (ips.contains(ip))
			continue;

		p.sendMessage("AutoReward: You got " + Config.AUTO_REWARD_COUNT + " " + Config.NAME_ITEM_REWARD + " by being online");
		p.getInventory().addItem("", Config.AUTO_REWARD_ID, Config.AUTO_REWARD_COUNT, p, null);

		ips.add(ip);
	}
}

 

Link to comment
Share on other sites

  • 0
1 hour ago, Rootware said:

Try this but check the IP adress method in your sources.


public static void AutoReward()
{
	List<String> ips = new ArrayList<>();
	Collection <L2PcInstance> pls = L2World.getInstance().getAllPlayers();
	for (L2PcInstance p : pls)
	{
		final String ip = p.getConnection().getInetAddress();
		if (ips.contains(ip))
			continue;

		p.sendMessage("AutoReward: You got " + Config.AUTO_REWARD_COUNT + " " + Config.NAME_ITEM_REWARD + " by being online");
		p.getInventory().addItem("", Config.AUTO_REWARD_ID, Config.AUTO_REWARD_COUNT, p, null);

		ips.add(ip);
	}
}

 

getClient().getConnection().getInetAddress().getHostAddress()

Link to comment
Share on other sites

  • 0
3 hours ago, Rootware said:

Try this but check the IP adress method in your sources.


public static void AutoReward()
{
	List<String> ips = new ArrayList<>();
	Collection <L2PcInstance> pls = L2World.getInstance().getAllPlayers();
	for (L2PcInstance p : pls)
	{
		final String ip = p.getConnection().getInetAddress();
		if (ips.contains(ip))
			continue;

		p.sendMessage("AutoReward: You got " + Config.AUTO_REWARD_COUNT + " " + Config.NAME_ITEM_REWARD + " by being online");
		p.getInventory().addItem("", Config.AUTO_REWARD_ID, Config.AUTO_REWARD_COUNT, p, null);

		ips.add(ip);
	}
}

 

i tried that .but unsuccesfully..

Link to comment
Share on other sites

  • 0

@Rootware  i insert your code and also @melron but i have this problem: 

 

 

public static void AutoReward ()
 {
 Collection <L2PcInstance> pls = L2World.getInstance (). getAllPlayers ();
 for (L2PcInstance p: pls)
 {
        final String ip =

p.getConnection().getInetAddress().getClient().getConnection().getInetAddress().getHostAddress();
        if (ip.contains(ip))
            continue;
 p.sendMessage ("AutoReward: You got" + Config.AUTO_REWARD_COUNT + "" + Config.NAME_ITEM_REWARD + "for being online");
 p.getInventory (). addItem ("", Config.AUTO_REWARD_ID, Config.AUTO_REWARD_COUNT, p, null);
}
}

}

/end line

 

and i cant find my sources code for that

Link to comment
Share on other sites

  • 0
1 minute ago, BruT said:

add getClient() before getConnection()

it work but now i have this

        final String ip = p.getClient().getConnection().getInetAddress().getHostAddress();
        if (ip.contains(ip))
            continue;
 p.sendMessage ("AutoReward: You got" + Config.AUTO_REWARD_COUNT + "" + Config.NAME_ITEM_REWARD + "for being online");
 p.getInventory (). addItem ("", Config.AUTO_REWARD_ID, Config.AUTO_REWARD_COUNT, p, null);
 ips.add(ip);

}

}

}

Link to comment
Share on other sites

  • 0
2 minutes ago, BruT said:

when u hold on the error what does it say?

i guess you forgot the


List<String> ips = new ArrayList<>();
	

yes i did forgot that..but now i have this :

 

public static void AutoReward ()
 {
     List<String> ips = new ArrayList<>();
 Collection <L2PcInstance> pls = L2World.getInstance (). getAllPlayers ();
 for (L2PcInstance p: pls)
 {
        final String ip = p.getClient().getConnection().getInetAddress().getHostAddress();
        if (ip.contains(ip))
            continue;
 p.sendMessage ("AutoReward: You got" + Config.AUTO_REWARD_COUNT + "" + Config.NAME_ITEM_REWARD + "for being online");
 p.getInventory (). addItem ("", Config.AUTO_REWARD_ID, Config.AUTO_REWARD_COUNT, p, null);
 ips.add(ip);
 }
}

Link to comment
Share on other sites

  • 0

control+shift+o and import

 

why you keep breaking the code

at the first place it was

if (ips.contains(ip))

now its
if (ip.contains(ip))

 ?!

Edited by BruT
Link to comment
Share on other sites

  • 0
12 minutes ago, BruT said:

control+shift+o and import

 

why you keep breaking the code

at the first place it was

if (ips.contains(ip))

now its
if (ip.contains(ip))

 ?????????????????????????

yes ..you are right !!! FIXED THANKS A LOT . you save me from hours of searching.. also thanks to all who replied

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • 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