Thread: [PI] Dropitem.java [REP+THANK]

Results 1 to 6 of 6
  1. #1 [PI] Dropitem.java [REP+THANK] 
    Banned
    Join Date
    Jan 2012
    Posts
    387
    Thanks given
    28
    Thanks received
    24
    Rep Power
    0
    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.");			}
    		}
    
    	}
    }
    Reply With Quote  
     

  2. #2  
    Registered Member
    Join Date
    Jul 2010
    Posts
    65
    Thanks given
    0
    Thanks received
    0
    Rep Power
    1
    Is this your un-edited Dropitem.java? If not, add your un-edited Dropitem.java and see if these lines are commented out. If so, un-comment them.

    Code:
     //Server.itemHandler.createGroundItem(c, itemId, c.getX(), c.getY(), c.playerItemsN[slot], c.getId());
    //c.getItems().deleteItem(itemId, slot, c.playerItemsN[slot]);
    Reply With Quote  
     

  3. #3  
    Banned
    Join Date
    Jan 2012
    Posts
    387
    Thanks given
    28
    Thanks received
    24
    Rep Power
    0
    Quote Originally Posted by flyfot View Post
    Is this your un-edited Dropitem.java? If not, add your un-edited Dropitem.java and see if these lines are commented out. If so, un-comment them.

    Code:
     //Server.itemHandler.createGroundItem(c, itemId, c.getX(), c.getY(), c.playerItemsN[slot], c.getId());
    //c.getItems().deleteItem(itemId, slot, c.playerItemsN[slot]);
    This is my edited dropitems.java and I don't have those in it. So what should I do?
    Reply With Quote  
     

  4. #4  
    Registered Member
    Join Date
    Jul 2010
    Posts
    65
    Thanks given
    0
    Thanks received
    0
    Rep Power
    1
    Post your un-edited dropitem.java.
    Reply With Quote  
     

  5. #5  
    Banned
    Join Date
    Jan 2012
    Posts
    387
    Thanks given
    28
    Thanks received
    24
    Rep Power
    0
    Quote Originally Posted by flyfot View Post
    Post your un-edited dropitem.java.
    Ok I got this from a backup , all I did was remove like two lines of code.
    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.");
    			}
    		}
    
    	}
    }
    Reply With Quote  
     

  6. #6  
    Registered

    Izumi's Avatar
    Join Date
    Jun 2010
    Posts
    2,458
    Thanks given
    240
    Thanks received
    597
    Rep Power
    2463
    try this

    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;
    					}
    				}
    				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 item cannot be dropped.");
    			}
    		}
    
    	}
    }



    Reply With Quote  
     

  7. Thankful user:



Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Adding pets to dropitem.java
    By sk8rdude461 in forum Help
    Replies: 0
    Last Post: 01-22-2012, 02:10 AM
  2. My dropitem.java and curse.java
    By chad8812 in forum Help
    Replies: 11
    Last Post: 01-16-2012, 12:22 AM
  3. [JAVA] Could someone look over a Java™ exercise I did? [REP+]
    By Ambient in forum Application Development
    Replies: 35
    Last Post: 10-18-2011, 09:45 PM
  4. dropItem method help?
    By Discardedx2 in forum Help
    Replies: 2
    Last Post: 09-21-2009, 10:28 PM
  5. DropItem
    By SilentZPrO in forum Help
    Replies: 4
    Last Post: 06-16-2009, 10:25 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •