How Do You Make Pet Set Item Vac?

Results 1 to 9 of 9
  1. #1
    Enthusiast JarrYDx is offline
    MemberRank
    Jan 2013 Join Date
    28Posts

    How Do You Make Pet Set Item Vac?

    How do you make it so that when you have meso magnet with wing boots and binocular item vac instead of picking up the mesos as you walk over them?


  2. #2
    Gamma Xerixe is offline
    MemberRank
    Apr 2008 Join Date
    MalaysiaLocation
    3,605Posts

    Re: How Do You Make Pet Set Item Vac?

    PetLootHandler? Should be somewhere there, unless the files are changed.
    Or could be PetHandler, idk.

  3. #3
    while(true) spam(); kevintjuh93 is offline
    MemberRank
    Jun 2008 Join Date
    The NetherlandsLocation
    4,119Posts

    Re: How Do You Make Pet Set Item Vac?

    When it drops make the pet instant-loot it. MapleMap.java

  4. #4
    Enthusiast JarrYDx is offline
    MemberRank
    Jan 2013 Join Date
    28Posts

    Re: How Do You Make Pet Set Item Vac?

    Quote Originally Posted by Xerixe View Post
    PetLootHandler? Should be somewhere there, unless the files are changed.
    Or could be PetHandler, idk.
    Nah don't have that.

    Quote Originally Posted by kevintjuh93 View Post
    When it drops make the pet instant-loot it. MapleMap.java
    Yeah thats what I'm after, while it has wing boots and binocular with meso magnet, I want it to instant loot. So I put the method in maplemap.java?

  5. #5
    Enthusiast JarrYDx is offline
    MemberRank
    Jan 2013 Join Date
    28Posts

    Re: How Do You Make Pet Set Item Vac?

    Should this work? Havent tested yet

    Code:
     if (boots && meso && item) {
                        List<MapleMapObject> objects = player.getMap().getMapObjectsInRange(player.getPosition(), MapleCharacter.MAX_VIEW_RANGE_SQ, Arrays.asList(MapleMapObjectType.ITEM));
    
                            for (LifeMovementFragment move : res) {
                                    Point petPos = move.findPosition();
                                    double petX = petPos.getX();
                                    double petY = petPos.getY();
                                    for (MapleMapObject map_object : objects) {
                                            Point objectPos = map_object.getPosition();
                                            double objectX = objectPos.getX();
                                            double objectY = objectPos.getY();
                                            if (Math.abs(petX - objectX) <= 200 || Math.abs(objectX - petX) <= 200) {
                                                    if (Math.abs(petY - objectY) <= 200 || Math.abs(objectY - petY) <= 200) {
                                                            if (map_object instanceof MapleMapItem) {
                                                                    MapleMapItem mapitem = (MapleMapItem)map_object;
                                                                    synchronized (mapitem) {
                                                                            if (mapitem.isPickedUp() || mapitem.getOwner().getId() != player.getId()) {
                                                                                    continue;
                                                                            }
                                                                            if (mapitem.getMeso() > 0 && meso) {
                                                                                    c.getPlayer().gainMeso(mapitem.getMeso(), true, true);
                                                                                    c.getPlayer().getMap().broadcastMessage(
                                                                                            MaplePacketCreator.removeItemFromMap(mapitem.getObjectId(), 5, c.getPlayer().getId(), true),
                                                                                            mapitem.getPosition());
                                                                                    c.getPlayer().getMap().removeMapObject(map_object);
                                                                                    mapitem.setPickedUp(true);
                                                                            } 
                                                                            else {
                                                                                    if (item) {
                                                                                            StringBuilder logInfo = new StringBuilder("Picked up by ");
                                                                                            logInfo.append(c.getPlayer().getName());
                                                                                            if (MapleInventoryManipulator.addFromDrop(c, mapitem.getItem(), logInfo.toString())) {
                                                                                                    c.getPlayer().getMap().broadcastMessage(
                                                                                                            MaplePacketCreator.removeItemFromMap(mapitem.getObjectId(), 5, c.getPlayer().getId(), true),
                                                                                                            mapitem.getPosition());
                                                                                                    c.getPlayer().getMap().removeMapObject(map_object);
                                                                                                    mapitem.setPickedUp(true);
                                                                                            } 
                                                                                    }
                                                                            }
                                                                    }
                                                            }                                         
                                                    }
                                            }
                                    }                        
                            } 
                    } if (bino && boots && meso && item) {
                        List<MapleMapObject> objects = player.getMap().getMapObjectsInRange(player.getPosition(), MapleCharacter.MAX_VIEW_RANGE_SQ, Arrays.asList(MapleMapObjectType.ITEM));
    
                            for (LifeMovementFragment move : res) {
                                    Point petPos = move.findPosition();
                                    double petX = petPos.getX();
                                    double petY = petPos.getY();
                                    for (MapleMapObject map_object : objects) {
                                            Point objectPos = map_object.getPosition();
                                            double objectX = objectPos.getX();
                                            double objectY = objectPos.getY();
                                            if (Math.abs(petX - objectX) <= 270 || Math.abs(objectX - petX) <= 270) {
                                                    if (Math.abs(petY - objectY) <= 270 || Math.abs(objectY - petY) <= 270) {
                                                            if (map_object instanceof MapleMapItem) {
                                                                    MapleMapItem mapitem = (MapleMapItem)map_object;
                                                                    synchronized (mapitem) {
                                                                            if (mapitem.isPickedUp() || mapitem.getOwner().getId() != player.getId()) {
                                                                                    continue;
                                                                            }
                                                                            if (mapitem.getMeso() > 0 && meso) {
                                                                                    c.getPlayer().gainMeso(mapitem.getMeso(), true, true);
                                                                                    c.getPlayer().getMap().broadcastMessage(
                                                                                            MaplePacketCreator.removeItemFromMap(mapitem.getObjectId(), 5, c.getPlayer().getId(), true),
                                                                                            mapitem.getPosition());
                                                                                    c.getPlayer().getMap().removeMapObject(map_object);
                                                                                    mapitem.setPickedUp(true);
                                                                            } 
                                                                            else {
                                                                                    if (item) {
                                                                                            StringBuilder logInfo = new StringBuilder("Picked up by ");
                                                                                            logInfo.append(c.getPlayer().getName());
                                                                                            if (MapleInventoryManipulator.addFromDrop(c, mapitem.getItem(), logInfo.toString())) {
                                                                                                    c.getPlayer().getMap().broadcastMessage(
                                                                                                            MaplePacketCreator.removeItemFromMap(mapitem.getObjectId(), 5, c.getPlayer().getId(), true),
                                                                                                            mapitem.getPosition());
                                                                                                    c.getPlayer().getMap().removeMapObject(map_object);
                                                                                                    mapitem.setPickedUp(true);
                                                                                            } 
                                                                                    }
                                                                            }
                                                                    }
                                                            }                                         
                                                    }
                                            }
                                    }                        
                            } 
                    }
    Last edited by JarrYDx; 14-01-13 at 07:14 PM.

  6. #6
    Enthusiast JarrYDx is offline
    MemberRank
    Jan 2013 Join Date
    28Posts

    Re: How Do You Make Pet Set Item Vac?

    bump..

  7. #7
    Omega sunnyboy is offline
    MemberRank
    Mar 2010 Join Date
    6,109Posts

    Re: How Do You Make Pet Set Item Vac?

    Quote Originally Posted by JarrYDx View Post
    bump..
    If you're asking if it will work why don't you test it first and see. lol

  8. #8
    Enthusiast JarrYDx is offline
    MemberRank
    Jan 2013 Join Date
    28Posts

    Re: How Do You Make Pet Set Item Vac?

    Quote Originally Posted by sunnyboy184 View Post
    If you're asking if it will work why don't you test it first and see. lol
    I will, been sleeping haha, just thaught someone might have a shorter method or easier one than mine.

  9. #9
    Enthusiast JarrYDx is offline
    MemberRank
    Jan 2013 Join Date
    28Posts

    Re: How Do You Make Pet Set Item Vac?

    Actually I can just change maxdist right and that would work?

    Code:
    package net.sf.odinms.net.channel.handler;
    
    
    import java.awt.Point;
    import java.util.Arrays;
    import java.util.List;
    
    
    import net.sf.odinms.client.MapleCharacter;
    import net.sf.odinms.client.MapleClient;
    import net.sf.odinms.client.MapleInventoryType;
    import net.sf.odinms.client.MaplePet;
    import net.sf.odinms.server.MapleInventoryManipulator;
    import net.sf.odinms.server.maps.MapleMapItem;
    import net.sf.odinms.server.maps.MapleMapObject;
    import net.sf.odinms.server.maps.MapleMapObjectType;
    import net.sf.odinms.server.movement.LifeMovementFragment;
    import net.sf.odinms.tools.MaplePacketCreator;
    import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
    import net.sf.odinms.tools.data.input.StreamUtil;
    
    
    public class MovePetHandler extends AbstractMovementPacketHandler {
    
    
        private int maxdist;
    
    
        @Override
        public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
            int petId = slea.readInt();
            slea.readInt();
            StreamUtil.readShortPoint(slea);
            List<LifeMovementFragment> res = parseMovement(slea);
    
    
            MapleCharacter player = c.getPlayer();
            int slot = player.getPetIndex(petId);
            if (slot == -1) {
                return;
            }
            player.getPet(slot).updatePosition(res);
            player.getMap().broadcastMessage(player, MaplePacketCreator.movePet(player.getId(), petId, slot, res), false);
    
    
            Boolean meso = false, item = false, boots = false, bino = false;
            if (c.getPlayer().getInventory(MapleInventoryType.EQUIPPED).findById(1812001) != null) {
                item = true;
                maxdist = 30;
            }
            if (c.getPlayer().getInventory(MapleInventoryType.EQUIPPED).findById(1812000) != null) {
                meso = true;
                maxdist = 30;
            }
            if (c.getPlayer().getInventory(MapleInventoryType.EQUIPPED).findById(1812004) != null) {
                boots = true;
                maxdist = 80;
            }
            if (c.getPlayer().getInventory(MapleInventoryType.EQUIPPED).findById(1812005) != null) {
                bino = true;
                maxdist = 120;
            }
    
    
            if ((boots || bino) || meso || item) {
                List<MapleMapObject> objects = player.getMap().getMapObjectsInRange(player.getPosition(), MapleCharacter.MAX_VIEW_RANGE_SQ, Arrays.asList(MapleMapObjectType.ITEM));
    
    
                for (LifeMovementFragment move : res) {
                    Point petPos = move.findPosition();
                    double petX = petPos.getX();
                    double petY = petPos.getY();
                    for (MapleMapObject map_object : objects) {
                        Point objectPos = map_object.getPosition();
                        double objectX = objectPos.getX();
                        double objectY = objectPos.getY();
                        if (Math.abs(petX - objectX) <= maxdist || Math.abs(objectX - petX) <= maxdist) {
                            if (Math.abs(petY - objectY) <= maxdist || Math.abs(objectY - petY) <= maxdist) {
                                if (map_object instanceof MapleMapItem) {
                                    MapleMapItem mapitem = (MapleMapItem) map_object;
                                    synchronized (mapitem) {
                                        if (mapitem.isPickedUp() || mapitem.getOwner().getId() != player.getId()) {
                                            continue;
                                        }
                                        if (mapitem.getMeso() > 0 && meso) {
                                            c.getPlayer().gainMeso(mapitem.getMeso(), true, true);
                                            c.getPlayer().getMap().broadcastMessage(
                                                    MaplePacketCreator.removeItemFromMap(mapitem.getObjectId(), 5, c.getPlayer().getId(), true, slot),
                                                    mapitem.getPosition());
                                            c.getPlayer().getMap().removeMapObject(map_object);
                                            mapitem.setPickedUp(true);
                                        } else {
                                            if (item) {
                                                if (mapitem.getItem().getItemId() >= 5000000 && mapitem.getItem().getItemId() <= 5000045) {
                                                    int pet = MaplePet.createPet(mapitem.getItem().getItemId());
                                                    if (pet == -1) {
                                                        return;
                                                    }
                                                    MapleInventoryManipulator.addById(c, mapitem.getItem().getItemId(), mapitem.getItem().getQuantity(), "Was picked up by " + c.getPlayer().getName(), null, pet);
                                                    c.getPlayer().getMap().broadcastMessage(
                                                            MaplePacketCreator.removeItemFromMap(mapitem.getObjectId(), 5, c.getPlayer().getId(), true, slot),
                                                            mapitem.getPosition());
                                                    c.getPlayer().getMap().removeMapObject(map_object);
                                                    mapitem.setPickedUp(true);
                                                } else {
                                                    StringBuilder logInfo = new StringBuilder("Picked up by ");
                                                    logInfo.append(c.getPlayer().getName());
                                                    if (MapleInventoryManipulator.addFromDrop(c, mapitem.getItem(), logInfo.toString())) {
                                                        c.getPlayer().getMap().broadcastMessage(
                                                                MaplePacketCreator.removeItemFromMap(mapitem.getObjectId(), 5, c.getPlayer().getId(), true, slot),
                                                                mapitem.getPosition());
                                                        c.getPlayer().getMap().removeMapObject(map_object);
                                                        mapitem.setPickedUp(true);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    Yep worked, done :3



Advertisement