scraw Posted April 28, 2020 Share Posted April 28, 2020 (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 April 28, 2020 by Rootware Link to comment Share on other sites More sharing options...
0 wongerlt Posted April 28, 2020 Share Posted April 28, 2020 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. Link to comment Share on other sites More sharing options...
0 Rootware Posted April 28, 2020 Share Posted April 28, 2020 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 More sharing options...
0 melron Posted April 28, 2020 Share Posted April 28, 2020 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 More sharing options...
0 scraw Posted April 28, 2020 Author Share Posted April 28, 2020 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 More sharing options...
0 scraw Posted April 28, 2020 Author Share Posted April 28, 2020 @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 More sharing options...
0 BruT Posted April 28, 2020 Share Posted April 28, 2020 (edited) it has to be p.getClient().getConnection().getInetAddress().getHostAddress(); Edited April 28, 2020 by BruT Link to comment Share on other sites More sharing options...
0 scraw Posted April 28, 2020 Author Share Posted April 28, 2020 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 More sharing options...
0 BruT Posted April 28, 2020 Share Posted April 28, 2020 (edited) when u hold on the error what does it say? i guess you forgot the List<String> ips = new ArrayList<>(); Edited April 28, 2020 by BruT Link to comment Share on other sites More sharing options...
0 scraw Posted April 28, 2020 Author Share Posted April 28, 2020 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 Link to comment Share on other sites More sharing options...
0 scraw Posted April 28, 2020 Author Share Posted April 28, 2020 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 More sharing options...
0 BruT Posted April 28, 2020 Share Posted April 28, 2020 (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 April 29, 2020 by BruT Link to comment Share on other sites More sharing options...
0 scraw Posted April 28, 2020 Author Share Posted April 28, 2020 (edited) 3 minutes ago, BruT said: control+shift+o and import ok i import them .i go check .sec Edited April 28, 2020 by scraw Link to comment Share on other sites More sharing options...
0 scraw Posted April 28, 2020 Author Share Posted April 28, 2020 7 minutes ago, BruT said: control+shift+o and import it isnt award at all now :/ Link to comment Share on other sites More sharing options...
0 BruT Posted April 28, 2020 Share Posted April 28, 2020 read above 1 Link to comment Share on other sites More sharing options...
0 scraw Posted April 28, 2020 Author Share Posted April 28, 2020 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 More sharing options...
Question
scraw
-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):
Link to comment
Share on other sites
16 answers to this question
Recommended Posts