Jump to content

Question

Posted (edited)

-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

Recommended Posts

  • 0
Posted

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

 

  • 0
Posted
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()

  • 0
Posted
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..

  • 0
Posted

@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

  • 0
Posted
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);

}

}

}

  • 0
Posted (edited)

when u hold on the error what does it say?

i guess you forgot the

List<String> ips = new ArrayList<>();
	
Edited by BruT
  • 0
Posted
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 

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

  • 0
Posted (edited)

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
  • 0
Posted
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

Guest
This topic is now closed to further replies.


×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..