Okay so when i try to drop items it wont delete them from the players inventory nor will they appear on the ground, how can i fix
Code:
package server.model.players.packets;
import server.Config;
import server.Server;
import server.model.players.Client;
import server.model.players.PacketType;
/**
* Drop Item
**/
public class DropItem implements PacketType {
@Override
public void processPacket(Client c, int packetType, int packetSize) {
int itemId = c.getInStream().readUnsignedWordA();
c.getInStream().readUnsignedByte();
c.getInStream().readUnsignedByte();
int slot = c.getInStream().readUnsignedWordA();
if (System.currentTimeMillis() - c.alchDelay < 1800) {
return;
}
if(c.arenas()) {
c.sendMessage("You can't drop items inside the arena!");
return;
}
if(c.inTrade) {
c.sendMessage("You can't drop items while trading!");
return;
}
boolean droppable = true;
for (int i : Config.UNDROPPABLE_ITEMS) {
if (i == itemId) {
droppable = false;
break;
}
}
if(itemId == 4045) {
int explosiveHit = 15;
c.startAnimation(827);
c.getItems().deleteItem(itemId, slot, c.playerItemsN[slot]);
c.handleHitMask(explosiveHit);
c.dealDamage(explosiveHit);
c.getPA().refreshSkill(3);
c.forcedText = "Ow! That really hurt!";
c.forcedChatUpdateRequired = true;
c.updateRequired = true;
if(itemId == 2379) {
int rockCakeDamage = 50;
c.startAnimation(827);
c.getItems().deleteItem(itemId, slot, c.playerItemsN[slot]);
c.handleHitMask(rockCakeDamage);
c.dealDamage(rockCakeDamage);
c.getPA().refreshSkill(3);
c.forcedText = "Ow! What the ****?";
c.forcedChatUpdateRequired = true;
c.updateRequired = true;
}
if(c.playerItemsN[slot] != 0 && itemId != -1 && c.playerItems[slot] == itemId + 1) {
if(droppable) {
if (c.underAttackBy > 0) {
if (c.getShops().getItemShopValue(itemId) > 1000) {
c.sendMessage("You may not drop items worth more than 1000 while in combat.");
return;
}
}
Server.itemHandler.createGroundItem(c, itemId, c.getX(), c.getY(), c.playerItemsN[slot], c.getId());
c.getItems().deleteItem(itemId, slot, c.playerItemsN[slot]);
} else {
c.sendMessage("This items cannot be dropped.");
}
}
}
}
}
Here is also the Drop items method in playerassistant
Code:
public void dropitems() {
if (c.lastsummon > 0) {
if (c.totalstored > 0) {
c.firstslot();
for (int i = 0; i < 29; i += 1) {
Server.itemHandler.createGroundItem(c, c.storeditems[i],
NPCHandler.npcs[c.summoningnpcid].absX,
NPCHandler.npcs[c.summoningnpcid].absY, 1,
c.playerId);
c.storeditems[i] = -1;
c.occupied[i] = false;
}
}
c.lastsummon = -1;
c.totalstored = 0;
c.summoningnpcid = 0;
c.summoningslot = 0;
c.sendMessage("Your BoB items have drop on the floor");
}
}