I using this code for Max_ip online but noting heppen
I doing the code correct?
some 1 please help. sorry for my ENG
I using l2jserver 6670------
here is the code...
at server.properties
------------------------
# MAX IP
MaxIp = 2
at L2pcinstance
------------------------------
public void findDualBox(L2PcInstance activeChar)
{
Map<String, List<L2PcInstance>> ipMap = new HashMap<>();
String ip = "0.0.0.0";
int multibox = Config.MAX_IP;
final Map<String, Integer> dualboxIPs = new HashMap<>();
for (L2PcInstance player : L2World.getInstance().getPlayers())
{
ip = player.getIP();
if (ipMap.get(ip) == null)
{
ipMap.put(ip, new ArrayList<L2PcInstance>());
}
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
2 clients:
StyleA: Original client
test1: Unity client
Monster kills are displayed correctly on both clients. Soon it will be possible to kill mobs in a party on 2 different clients
I apologize for my incompetence. The ability to trade is limited only for builder 1. Ordinary characters can trade with each other, and this has nothing to do with auto loot.)
Question
aonniemnoi
I using this code for Max_ip online but noting heppen
I doing the code correct?
some 1 please help. sorry for my ENG
I using l2jserver 6670------
here is the code...
at server.properties
------------------------
# MAX IP
MaxIp = 2
at L2pcinstance
------------------------------
public void findDualBox(L2PcInstance activeChar)
{
Map<String, List<L2PcInstance>> ipMap = new HashMap<>();
String ip = "0.0.0.0";
int multibox = Config.MAX_IP;
final Map<String, Integer> dualboxIPs = new HashMap<>();
for (L2PcInstance player : L2World.getInstance().getPlayers())
{
ip = player.getIP();
if (ipMap.get(ip) == null)
{
ipMap.put(ip, new ArrayList<L2PcInstance>());
}
ipMap.get(ip).add(player);
if (ipMap.get(ip).size() >= multibox)
{
Integer count = dualboxIPs.get(ip);
if (count == null)
{
dualboxIPs.put(ip, multibox);
}
else
{
dualboxIPs.put(ip, count++);
}
}
}
List<String> keys = new ArrayList<>(dualboxIPs.keySet());
Collections.sort(keys, (left, right) -> dualboxIPs.get(left).compareTo(dualboxIPs.get(right)));
Collections.reverse(keys);
for (String dualboxIP : keys)
{
findCharacterByIp(activeChar, dualboxIP);
}
}
/**
* @return
*/
private String getIP()
{
// TODO Auto-generated method stub
return null;
}
private void findCharacterByIp(L2PcInstance activeChar, String IpAdress) throws IllegalArgumentException
{
boolean findDisconnected = false;
if (IpAdress.equals("disconnected"))
{
findDisconnected = true;
}
else
{
if (!IpAdress.matches("^(?:(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$"))
{
throw new IllegalArgumentException("Malformed IPv4 number");
}
}
String ip = "0.0.0.0";
for (L2PcInstance player : L2World.getInstance().getPlayers())
{
if (findDisconnected)
{
continue;
}
ip = player.getIP();
if (!ip.equals(IpAdress))
{
continue;
}
}
stopDualbox();
logout();
antiDualbox();
}
public static void startAntiDualTask(L2PcInstance player)
{
player.antiDualbox();
}
public static ScheduledFuture<?> _antiDualbox;
private static void stopDualbox()
{
if (_antiDualbox != null)
{
_antiDualbox.cancel(false);
_antiDualbox = null;
}
}
public void antiDualbox()
{
_antiDualbox = ThreadPoolManager.getInstance().scheduleAi(new startDualbox(), 300000);
}
private class startDualbox implements Runnable
{
public startDualbox()
{
findDualBox(_plD);
}
@Override
public void run()
{
}
}
L2PcInstance _plD;
}
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.