- Joined
- Jun 3, 2008
- Messages
- 84
- Reaction score
- 13
So since kevin did a lot of file moving and RMI being removed, the warp command also had to be changed. Here is the modified command I made.
PHP:
} else if (sub[0].equals("warp")) {
MapleCharacter victim = cserv.getPlayerStorage().getCharacterByName(sub[1]);
try{
player.changeMap(Integer.parseInt(sub[1]));
} catch(Exception e){
}
if (victim != null) {
if (sub.length == 2) {
MapleMap target = victim.getMap();
player.changeMap(target, target.findClosestSpawnpoint(victim.getPosition()));
} else {
MapleMap target = victim.getClient().getChannelServer().getMapFactory().getMap(Integer.parseInt(sub[2]));
victim.changeMap(target, target.getPortal(0));
}
} else {
try {
if (c.getWorldServer().find(sub[1]) != c.getWorldServer().find(player.getName())) {
String[] socket = Server.getInstance().getIP(c.getWorld(), (c.getWorldServer().find(sub[1]))).split(":");
Server server = Server.getInstance();
server.getPlayerBuffStorage().addBuffsToStorage(player.getId(), player.getAllBuffs());
player.cancelBuffEffects();
player.cancelMagicDoor();
player.saveCooldowns();
player.cancelExpirationTask();
player.getInventory(MapleInventoryType.EQUIPPED).checked(false); //test
player.getMap().removePlayer(player);
player.setMap(c.getWorldServer().getPlayerStorage().getCharacterByName(sub[1]).getMap());
player.getClient().getChannelServer().removePlayer(player);
c.getWorldServer().getPlayerStorage().removePlayer(player.getId());
player.saveToDB(true);
server.getLoad(c.getWorld()).get(c.getChannel()).decrementAndGet();
server.getPlayerStorage().addPlayer(player);
player.getClient().updateLoginState(MapleClient.LOGIN_SERVER_TRANSITION);
try {
c.getSession().write(MaplePacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
} catch (Exception e) {
}
}
}

