MapleMap.java
Add This
[php]
public boolean inFM() {
return (this.map.getId() >= 910000001 && this.map.getId() <= 910000022);
}
[/php]
HiredMerchantRequest.java
Replace
[php]
if (c.getPlayer().getMap().getMapObjectsInRange(c.getPlayer().getPosition(), 23000, Arrays.asList(MapleMapObjectType.HIRED_MERCHANT)).size() == 0) {
if (!c.getPlayer().hasMerchant())
[/php]
With
[php]
if (c.getPlayer().getMap().getMapObjectsInRange(c.getPlayer().getPosition(), 23000, Arrays.asList(MapleMapObjectType.HIRED_MERCHANT)).size() == 0 && c.getPlayer().inFM()) {
if (!c.getPlayer().hasMerchant()) {
[/php]
Add in
PlayerInteractionHandler.java
[PHP]//Should fix the merchant problems.
if(perBundle > Integer.MAX_VALUE || perBundle < 0 || bundles > Integer.MAX_VALUE || bundles < 0 || price > Integer.MAX_VALUE || price < 0) {
return;
} [/PHP]
All credits to Sean425 aka my best buddy.
Add This
[php]
public boolean inFM() {
return (this.map.getId() >= 910000001 && this.map.getId() <= 910000022);
}
[/php]
HiredMerchantRequest.java
Replace
[php]
if (c.getPlayer().getMap().getMapObjectsInRange(c.getPlayer().getPosition(), 23000, Arrays.asList(MapleMapObjectType.HIRED_MERCHANT)).size() == 0) {
if (!c.getPlayer().hasMerchant())
[/php]
With
[php]
if (c.getPlayer().getMap().getMapObjectsInRange(c.getPlayer().getPosition(), 23000, Arrays.asList(MapleMapObjectType.HIRED_MERCHANT)).size() == 0 && c.getPlayer().inFM()) {
if (!c.getPlayer().hasMerchant()) {
[/php]
Add in
PlayerInteractionHandler.java
[PHP]//Should fix the merchant problems.
if(perBundle > Integer.MAX_VALUE || perBundle < 0 || bundles > Integer.MAX_VALUE || bundles < 0 || price > Integer.MAX_VALUE || price < 0) {
return;
} [/PHP]
All credits to Sean425 aka my best buddy.