For the ::item you probably have command added twice?
|
|
![]()
erm....im not sure what i did or when i did it but when i buy something from a shop and ask for 1 it gives me two..and when i do ::item 995 36 it gives me 72..i need to fix this asap so please help
![]()
![]()
For the ::item you probably have command added twice?
Chck your addItem method.
ok erm leeme just find that really fast...
ok found it see anything wrong here?
Code:public boolean addItem(int item, int amount) { synchronized(c) { if (amount < 1) { amount = 1; } if(item <= 0) { return false; } if ((((freeSlots() >= 1) || playerHasItem(item, 1)) && Item.itemStackable[item]) || ((freeSlots() > 0) && !Item.itemStackable[item])) { for (int i = 0; i < c.playerItems.length; i++) { if ((c.playerItems[i] == (item + 1)) && Item.itemStackable[item] && (c.playerItems[i] > 0)) { c.playerItems[i] = (item + 1); if (((c.playerItemsN[i] + amount) < Config.MAXITEM_AMOUNT) && ((c.playerItemsN[i] + amount) > -1)) { c.playerItemsN[i] += amount; } else { c.playerItemsN[i] = Config.MAXITEM_AMOUNT; } if(c.getOutStream() != null && c != null ) { c.getOutStream().createFrameVarSizeWord(34); c.getOutStream().writeWord(3214); c.getOutStream().writeByte(i); c.getOutStream().writeWord(c.playerItems[i]); if (c.playerItemsN[i] > 254) { c.getOutStream().writeByte(255); c.getOutStream().writeDWord(c.playerItemsN[i]); } else { c.getOutStream().writeByte(c.playerItemsN[i]); } c.getOutStream().endFrameVarSizeWord(); c.flushOutStream(); } i = 30; return true; } } for (int i = 0; i < c.playerItems.length; i++) { if (c.playerItems[i] <= 0) { c.playerItems[i] = item + 1; if ((amount < Config.MAXITEM_AMOUNT) && (amount > -1)) { c.playerItemsN[i] = 1; if (amount > 1) { c.getItems().addItem(item, amount - 1); return true; } } else { c.playerItemsN[i] = Config.MAXITEM_AMOUNT; } /*if(c.getOutStream() != null && c != null ) { c.getOutStream().createFrameVarSizeWord(34); c.getOutStream().writeWord(3214); c.getOutStream().writeByte(i); c.getOutStream().writeWord(c.playerItems[i]); if (c.playerItemsN[i] > 254) { c.getOutStream().writeByte(255); c.getOutStream().writeDWord(c.playerItemsN[i]); } else { c.getOutStream().writeByte(c.playerItemsN[i]); } c.getOutStream().endFrameVarSizeWord(); c.flushOutStream(); }*/ resetItems(3214); i = 30; return true; } } return false; } else { resetItems(3214); c.sendMessage("Not enough space in your inventory."); return false; } } }
Try using mine method.
Code:public boolean addItem(int item, int amount) { synchronized(c) { if (amount < 1) { amount = 1; } if(item <= 0) { return false; } if ((((freeSlots() >= 1) || playerHasItem(item, 1)) && Item.itemStackable[item]) || ((freeSlots() > 0) && !Item.itemStackable[item])) { for (int i = 0; i < c.playerItems.length; i++) { if ((c.playerItems[i] == (item + 1)) && Item.itemStackable[item] && (c.playerItems[i] > 0)) { c.playerItems[i] = (item + 1); if (((c.playerItemsN[i] + amount) < Config.MAXITEM_AMOUNT) && ((c.playerItemsN[i] + amount) > -1)) { c.playerItemsN[i] += amount; } else { c.playerItemsN[i] = Config.MAXITEM_AMOUNT; } /*if(c.getOutStream() != null && c != null ) { c.getOutStream().createFrameVarSizeWord(34); c.getOutStream().writeWord(3214); c.getOutStream().writeByte(i); c.getOutStream().writeWord(c.playerItems[i]); if (c.playerItemsN[i] > 254) { c.getOutStream().writeByte(255); c.getOutStream().writeDWord(c.playerItemsN[i]); } else { c.getOutStream().writeByte(c.playerItemsN[i]); } c.getOutStream().endFrameVarSizeWord(); c.flushOutStream(); }*/ updateInventory = true; i = 30; return true; } } for (int i = 0; i < c.playerItems.length; i++) { if (c.playerItems[i] <= 0) { c.playerItems[i] = item + 1; if ((amount < Config.MAXITEM_AMOUNT) && (amount > -1)) { c.playerItemsN[i] = 1; if (amount > 1) { c.getItems().addItem(item, amount - 1); return true; } } else { c.playerItemsN[i] = Config.MAXITEM_AMOUNT; } /*if(c.getOutStream() != null && c != null ) { c.getOutStream().createFrameVarSizeWord(34); c.getOutStream().writeWord(3214); c.getOutStream().writeByte(i); c.getOutStream().writeWord(c.playerItems[i]); if (c.playerItemsN[i] > 254) { c.getOutStream().writeByte(255); c.getOutStream().writeDWord(c.playerItemsN[i]); } else { c.getOutStream().writeByte(c.playerItemsN[i]); } c.getOutStream().endFrameVarSizeWord(); c.flushOutStream(); }*/ //resetItems(3214); updateInventory = true; i = 30; return true; } } return false; } else { updateInventory = true; //resetItems(3214); c.sendMessage("Not enough space in your inventory."); return false; } } }
nope didnt work
but guys... i really need to fix this
| « [PI] Zamorakian Spear Help | Paying 15$ For overload Models or similar » |
| Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |