Bump.
EDIT: I fixed it, but I might have caused a dupe or something doing so... Can someone tell me what the point of this is in my fromTrade method?
Code:
public boolean fromTrade(int itemID, int fromSlot, int amount) {
Client o = (Client) Server.playerHandler.players[c.tradeWith];
if(o == null) {
return false;
}
try {
if (!c.inTrade || !c.canOffer) {
declineTrade();
return false;
}
/*if(!c.getItems().playerHasItem(itemID, amount))
return false;*/
c.tradeConfirmed = false;
o.tradeConfirmed = false;
if(!Item.itemStackable[itemID]) {
for(int a = 0; a < amount; a++) {
for (GameItem item : offeredItems) {
if(item.id == itemID) {
if(!item.stackable) {
offeredItems.remove(item);
c.getItems().addItem(itemID, 1);
o.getPA().sendFrame126("Trading with: " + c.playerName+" who has "+c.getItems().freeSlots()+" free slots" ,3417);
} else {
if(item.amount > amount) {
item.amount -= amount;
c.getItems().addItem(itemID, amount);
o.getPA().sendFrame126("Trading with: " + c.playerName+" who has "+c.getItems().freeSlots()+" free slots" ,3417);
} else {
amount = item.amount;
offeredItems.remove(item);
c.getItems().addItem(itemID, amount);
o.getPA().sendFrame126("Trading with: " + c.playerName+" who has "+c.getItems().freeSlots()+" free slots" ,3417);
}
}
break;
}
o.getPA().sendFrame126("Trading with: " + c.playerName+" who has "+c.getItems().freeSlots()+" free slots" ,3417);
c.tradeConfirmed = false;
o.tradeConfirmed = false;
c.getItems().resetItems(3322);
resetTItems(3415);
o.getTradeAndDuel().resetOTItems(3416);
c.getPA().sendFrame126("", 3431);
o.getPA().sendFrame126("", 3431);
}
}
}
for (GameItem item : offeredItems) {
if(item.id == itemID) {
if(!item.stackable) {
} else {
if(item.amount > amount) {
item.amount -= amount;
c.getItems().addItem(itemID, amount);
o.getPA().sendFrame126("Trading with: " + c.playerName+" who has "+c.getItems().freeSlots()+" free slots" ,3417);
} else {
amount = item.amount;
offeredItems.remove(item);
c.getItems().addItem(itemID, amount);
o.getPA().sendFrame126("Trading with: " + c.playerName+" who has "+c.getItems().freeSlots()+" free slots" ,3417);
}
}
break;
}
}
o.getPA().sendFrame126("Trading with: " + c.playerName+" who has "+c.getItems().freeSlots()+" free slots" ,3417);
c.tradeConfirmed = false;
o.tradeConfirmed = false;
c.getItems().resetItems(3322);
resetTItems(3415);
o.getTradeAndDuel().resetOTItems(3416);
c.getPA().sendFrame126("", 3431);
o.getPA().sendFrame126("", 3431);
} catch(Exception e){}
return true;
}
All it does is checking if the player has the item, he's trying to take out in his inventory. What's the point of that?