!warp command with moopledev (no rmi)

Status
Not open for further replies.
Newbie Spellweaver
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) {
                }
            }
        }
 
Status
Not open for further replies.
Back