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

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.

  • 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 (edited)
3 minutes ago, BruT said:

control+shift+o and import

ok i import them

  .i go check .sec

Edited by scraw
  • 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...