Okay so on my server it had it where if you dropped an item it just said "the item dissapears as it hits the ground." So what I did was remove all the code that did that but now when you try to drop an item nothing happens. I want it to be where the item appears on the ground like normal. Will thank and rep. heres my dropitem.java
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(c.arenas()) {
c.sendMessage("You can't drop items inside the arena!");
return;
}
if(!c.getItems().playerHasItem(itemId,1,slot)) {
//c.sendMessage("Stop cheating!");
return;
}
boolean droppable = true;
for (int i : Config.UNDROPPABLE_ITEMS) {
if (i == itemId) {
droppable = false;
break;
}
}
if(c.playerItemsN[slot] != 0 && itemId != -1 && c.playerItems[slot] == itemId + 1) {
if(droppable) {
if (c.underAttackBy > 0) {
if (c.getShops().getItemShopValue(itemId) > 5000) {
c.sendMessage("You may not drop items worth more than 5000 while in combat.");
return;
}
}
} else {
c.sendMessage("This item cannot be dropped.");
}
}
}
}
Heres what it looked like before I edited it
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(c.arenas()) {
c.sendMessage("You can't drop items inside the arena!");
return;
}
if(!c.getItems().playerHasItem(itemId,1,slot)) {
//c.sendMessage("Stop cheating!");
return;
}
boolean droppable = true;
for (int i : Config.UNDROPPABLE_ITEMS) {
if (i == itemId) {
droppable = false;
break;
}
}
if(c.playerItemsN[slot] != 0 && itemId != -1 && c.playerItems[slot] == itemId + 1) {
if(droppable) {
if (c.underAttackBy > 0) {
if (c.getShops().getItemShopValue(itemId) > 5000) {
c.sendMessage("You may not drop items worth more than 5000 while in combat.");
return;
}
}
c.sendMessage("Your item dissapeared after it touched the ground.");
c.getItems().deleteItem(itemId, slot, c.playerItemsN[slot]);
server.model.players.PlayerSave.saveGame(c);
} else {
c.sendMessage("This item cannot be dropped."); }
}
}
}