Skip to content

java code help

Featured Replies

-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

string list.

put to list each ppl ip while put ip address check is already exists or no if exists then ppl already rewarded. easy way.

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

 

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()

  • Author
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..

  • Author

@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

it has to be
p.getClient().getConnection().getInetAddress().getHostAddress();

Edited by BruT

  • Author
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);

}

}

}

when u hold on the error what does it say?

i guess you forgot the

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

Edited by BruT

  • Author
1 minute ago, BruT said:

when u hold on the error what does it say?

i guess you forgot the


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

no it doesnt 

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

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

  • Author
3 minutes ago, BruT said:

control+shift+o and import

ok i import them

  .i go check .sec

Edited by scraw

  • Author
7 minutes ago, BruT said:

control+shift+o and import

it isnt award at all now :/

read above

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.