Hi there...First off, I'm not sure how often or if there is, a limit on how many help posts a person is allowed to make for a certain duration of time. I've noticed that I've been making quite a few for the past week T.T. If there is a limit, I'll try to keep it to a minimum.
I've been trying to add
Which can be found here because it seems like a nice efficient thing to have. But I'm not sure how to add it toCode:killMonster(monster, chr, true); List<MapleMapObject> items = chr.getMap().getMapObjectsInRange(chr.getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.ITEM)); if (items.size() >= 500) { for (MapleMapObject i : items) { chr.getMap().removeMapObject(i); chr.getMap().broadcastMessage(MaplePacketCreator.removeItemFromMap(i.getObjectId(), 0, chr.getId())); } chr.dropMessage("[Map] - 500 drops on map reached. Drops cleared."); }
Without getting them to work together. I've tried:Code:public boolean damageMonster(MapleCharacter chr, MapleMonster monster, int damage) { if (monster.getId() == 8800000) { for (MapleMapObject object : chr.getMap().getMapObjects()) { MapleMonster mons = chr.getMap().getMonsterByOid(object.getObjectId()); if (mons != null) { if (mons.getId() >= 8800003 && mons.getId() <= 8800010) { return true; } } } } if (monster.isAlive()) { boolean killMonster = false; synchronized (monster) { if (!monster.isAlive()) { return false; } if (damage > 0) { int monsterhp = monster.getHp(); monster.damage(chr, damage, true); if (!monster.isAlive()) { // monster just died killMonster(monster, chr, true); if (monster.getId() >= 8810002 && monster.getId() <= 8810009) { for (MapleMapObject object : chr.getMap().getMapObjects()) { MapleMonster mons = chr.getMap().getMonsterByOid(object.getObjectId()); if (mons != null) { if (mons.getId() == 8810018 || mons.getId() == 8810026) { damageMonster(chr, mons, monsterhp); } } } } } else if (monster.getId() >= 8810002 && monster.getId() <= 8810009) {//zakum for (MapleMapObject object : chr.getMap().getMapObjects()) { MapleMonster mons = chr.getMap().getMonsterByOid(object.getObjectId()); if (mons != null) { if (mons.getId() == 8810018 || mons.getId() == 8810026) { damageMonster(chr, mons, damage); } } } } } } if (killMonster) { killMonster(monster, chr, true); } return true; } return false; }
It doesn't give any errors (Thank goodness), but the clearing drops part doesn't work. Only the original first part of it works. If there's a way to make these two function together, how can I do it?Code:public boolean damageMonster(MapleCharacter chr, MapleMonster monster, int damage) { if (monster.getId() == 8800000) { for (MapleMapObject object : chr.getMap().getMapObjects()) { MapleMonster mons = chr.getMap().getMonsterByOid(object.getObjectId()); if (mons != null) { if (mons.getId() >= 8800003 && mons.getId() <= 8800010) { return true; } } } } if (monster.isAlive()) { boolean killMonster = false; synchronized (monster) { if (!monster.isAlive()) { return false; } if (damage > 0) { int monsterhp = monster.getHp(); monster.damage(chr, damage, true); if (!monster.isAlive()) { // monster just died killMonster(monster, chr, true); if (monster.getId() >= 8810002 && monster.getId() <= 8810009) { for (MapleMapObject object : chr.getMap().getMapObjects()) { MapleMonster mons = chr.getMap().getMonsterByOid(object.getObjectId()); if (mons != null) { if (mons.getId() == 8810018 || mons.getId() == 8810026) { damageMonster(chr, mons, monsterhp); } } } } } else if (monster.getId() >= 8810002 && monster.getId() <= 8810009) {//zakum for (MapleMapObject object : chr.getMap().getMapObjects()) { MapleMonster mons = chr.getMap().getMonsterByOid(object.getObjectId()); if (mons != null) { if (mons.getId() == 8810018 || mons.getId() == 8810026) { damageMonster(chr, mons, damage); } } } } } if (damage > 0) { int monsterhp = monster.getHp(); monster.damage(chr, damage, true); if (!monster.isAlive()) { // monster just died killMonster(monster, chr, true); List<MapleMapObject> items = chr.getMap().getMapObjectsInRange(chr.getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.ITEM)); if (items.size() >= 1500) { for (MapleMapObject i : items) { chr.getMap().removeMapObject(i); chr.getMap().broadcastMessage(MaplePacketCreator.removeItemFromMap(i.getObjectId(), 0, chr.getId())); } chr.dropMessage("The maximum amount of drops has been reached. 1500 items have been cleared."); } } } } if (killMonster) { killMonster(monster, chr, true); } return true; } return false; }
Thanks in advance!


Reply With Quote![[Help] Putting two functions together v83](http://ragezone.com/hyper728.png)

