Thread: How to work pk (item on death) 718 rune evo v3

Page 1 of 2 12 LastLast
Results 1 to 10 of 20
  1. #1 How to work pk (item on death) 718 rune evo v3 
    Registered Member _Liked's Avatar
    Join Date
    May 2014
    Age
    26
    Posts
    102
    Thanks given
    4
    Thanks received
    3
    Rep Power
    12
    in world.java
    import :-
    Code:
    import com.guardian.ItemManager;
    and find this code:

    Code:
    	public static final void addGroundItem(final Item item, final WorldTile tile) {
    		final FloorItem floorItem = new FloorItem(item, tile, null, false, false);
    		final Region region = getRegion(tile.getRegionId());
    		region.forceGetFloorItems().add(floorItem);
    		int regionId = tile.getRegionId();
    		for (Player player : players) {
    			if (player == null || !player.hasStarted() || player.hasFinished() || player.getPlane() != tile.getPlane() || !player.getMapRegionsIds().contains(regionId))
    				continue;
    			player.getPackets().sendGroundItem(floorItem);
    		}
    	}
    
    	public static final void addGroundItem(final Item item, final WorldTile tile, final Player owner, final boolean underGrave, long hiddenTime, boolean invisible) {
    		addGroundItem(item, tile, owner, underGrave, hiddenTime, invisible, 180);
    	}
    	
    	public static final void addGroundItem(final Item item, final Player owner, long hiddenTime) {
    		WorldTile playerTile = new WorldTile(owner.getX(), owner.getY(), owner.getPlane());
    		addGroundItem(item, playerTile, owner, false, 60, true, 180);
    	}
    	
    	public static final void dropItems(Item item, Player owner, int hiddenTime, int displayTime) {
    		WorldTile playerTile = new WorldTile(owner.getX(), owner.getY(), owner.getPlane());
    		addGroundItem(item, playerTile, owner, false, hiddenTime, true, displayTime);
    		owner.getInventory().deleteItem(item);
    	}
    	
    	public static final void dropItem(Item item, Player owner, int hiddenTime, int displayTime) {
    		owner.getPackets().sendSound(2739, 0, 1);
    		WorldTile playerTile = new WorldTile(owner.getX(), owner.getY(), owner.getPlane());
    		addGroundItem(item, playerTile, owner, false, hiddenTime, true, displayTime);
    		owner.getInventory().deleteItem(item);
    	}
    
    	public static final void addGroundItem(final Item item, final WorldTile tile, final Player owner, final boolean underGrave, long hiddenTime, boolean invisible, final int publicTime) {
    		final FloorItem floorItem = new FloorItem(item, tile, owner, owner == null ? false : underGrave, invisible);
    		final Region region = getRegion(tile.getRegionId());
    		region.forceGetFloorItems().add(floorItem);
    		if (invisible && hiddenTime != -1) {
    			if (owner != null)
    				owner.getPackets().sendGroundItem(floorItem);
    			CoresManager.slowExecutor.schedule(new Runnable() {
    				@Override
    				public void run() {
    					try {
    						if (!region.forceGetFloorItems().contains(floorItem))
    							return;
    						int regionId = tile.getRegionId();
    						if (underGrave || !ItemConstants.isTradeable(floorItem)) {
    							region.forceGetFloorItems().remove(floorItem);
    							if (owner != null) {
    								if (owner.getMapRegionsIds().contains(regionId) && owner.getPlane() == tile.getPlane())
    									owner.getPackets().sendRemoveGroundItem(floorItem);
    							}
    							return;
    						}
    
    						floorItem.setInvisible(false);
    						for (Player player : players) {
    							if (player == null || player == owner || !player.hasStarted() || player.hasFinished() || player.getPlane() != tile.getPlane() || !player.getMapRegionsIds().contains(regionId))
    								continue;
    							player.getPackets().sendGroundItem(floorItem);
    						}
    						removeGroundItem(floorItem, publicTime);
    					} catch (Throwable e) {
    						Logger.handle(e);
    					}
    				}
    			}, hiddenTime, TimeUnit.SECONDS);
    			return;
    		}
    		int regionId = tile.getRegionId();
    		for (Player player : players) {
    			if (player == null || !player.hasStarted() || player.hasFinished() || player.getPlane() != tile.getPlane() || !player.getMapRegionsIds().contains(regionId))
    				continue;
    			player.getPackets().sendGroundItem(floorItem);
    		}
    		removeGroundItem(floorItem, publicTime);
    	}

    replace :-

    Code:
    	public static final void addGroundItems(final Item item, final WorldTile tile) {
    		final FloorItem floorItem = new FloorItem(item, tile, null, false, false);
    		final Region region = getRegion(tile.getRegionId());
    		region.forceGetFloorItems().add(floorItem);
    		int regionId = tile.getRegionId();
    		for (Player player : players) {
    			if (player == null || !player.hasStarted() || player.hasFinished() || player.getPlane() != tile.getPlane() || !player.getMapRegionsIds().contains(regionId))
    				continue;
    			player.getPackets().sendGroundItem(floorItem);
    		}
    	}
    
    	public static final void addGroundItems(final Item item, final WorldTile tile, final Player owner, final boolean underGrave, long hiddenTime, boolean invisible) {
    		addGroundItems(item, tile, owner, underGrave, hiddenTime, invisible, 180);
    	}
    	
    	public static final void addGroundItems(final Item item, final Player owner, long hiddenTime) {
    		WorldTile playerTile = new WorldTile(owner.getX(), owner.getY(), owner.getPlane());
    		addGroundItems(item, playerTile, owner, false, 60, true, 180);
    	}
    	
    	public static final void dropItem(Item item, Player owner, int hiddenTime, int displayTime) {
    		owner.getPackets().sendSound(2739, 0, 1);
    		WorldTile playerTile = new WorldTile(owner.getX(), owner.getY(), owner.getPlane());
    		addGroundItems(item, playerTile, owner, false, hiddenTime, true, displayTime);
    		owner.getInventory().deleteItem(item);
    	}
    
    	public static final void addGroundItems(final Item item, final WorldTile tile, final Player owner, final boolean underGrave, long hiddenTime, boolean invisible, final int publicTime) {
    		final FloorItem floorItem = new FloorItem(item, tile, owner, owner == null ? false : underGrave, invisible);
    		final Region region = getRegion(tile.getRegionId());
    		region.forceGetFloorItems().add(floorItem);
    		if (invisible && hiddenTime != -1) {
    			if (owner != null)
    				owner.getPackets().sendGroundItem(floorItem);
    			CoresManager.slowExecutor.schedule(new Runnable() {
    				@Override
    				public void run() {
    					try {
    						if (!region.forceGetFloorItems().contains(floorItem))
    							return;
    						int regionId = tile.getRegionId();
    						if (underGrave || !ItemConstants.isTradeable(floorItem)) {
    							region.forceGetFloorItems().remove(floorItem);
    							if (owner != null) {
    								if (owner.getMapRegionsIds().contains(regionId) && owner.getPlane() == tile.getPlane())
    									owner.getPackets().sendRemoveGroundItem(floorItem);
    							}
    							return;
    						}
    
    						floorItem.setInvisible(false);
    						for (Player player : players) {
    							if (player == null || player == owner || !player.hasStarted() || player.hasFinished() || player.getPlane() != tile.getPlane() || !player.getMapRegionsIds().contains(regionId))
    								continue;
    							player.getPackets().sendGroundItem(floorItem);
    						}
    						removeGroundItem(floorItem, publicTime);
    					} catch (Throwable e) {
    						Logger.handle(e);
    					}
    				}
    			}, hiddenTime, TimeUnit.SECONDS);
    			return;
    		}
    		int regionId = tile.getRegionId();
    		for (Player player : players) {
    			if (player == null || !player.hasStarted() || player.hasFinished() || player.getPlane() != tile.getPlane() || !player.getMapRegionsIds().contains(regionId))
    				continue;
    			player.getPackets().sendGroundItem(floorItem);
    		}
    		removeGroundItem(floorItem, publicTime);
    	}
    
    	public static final void addGroundItem(final Item item, final WorldTile tile) {
    		final FloorItem floorItem = new FloorItem(item, tile, null, false,
    				false);
    		final Region region = getRegion(tile.getRegionId());
    		region.forceGetFloorItems().add(floorItem);
    		int regionId = tile.getRegionId();
    		for (Player player : players) {
    			if (player == null || !player.hasStarted() || player.hasFinished()
    					|| player.getPlane() != tile.getPlane()
    					|| !player.getMapRegionsIds().contains(regionId))
    				continue;
    			player.getPackets().sendGroundItem(floorItem);
    		}
    	}
    
    	public static final void addGroundItem(final Item item,
    			final WorldTile tile, final Player owner/* null for default */,
    			final boolean underGrave, long hiddenTime/* default 3minutes */,
    			boolean invisible) {
    		addGroundItem(item, tile, owner, underGrave, hiddenTime, invisible,
    				false, 180);
    	}
    
    	public static final void addGroundItem(final Item item,
    			final WorldTile tile, final Player owner/* null for default */,
    			final boolean underGrave, long hiddenTime/* default 3minutes */,
    			boolean invisible, boolean intoGold) {
    		addGroundItem(item, tile, owner, underGrave, hiddenTime, invisible,
    				intoGold, 180);
    	}
    
    	public static final void addGroundItem(final Item item,
    			final WorldTile tile, final Player owner/* null for default */,
    			final boolean underGrave, long hiddenTime/* default 3minutes */,
    			boolean invisible, boolean intoGold, final int publicTime) {
    		if (intoGold) {
    			if (!ItemConstants.isTradeable(item)) {
    				int price = ItemManager.getPrice(item.getId());
    				if (price <= 0)
    					return;
    				item.setId(995);
    				item.setAmount(price);
    			}
    		}
    		
    		final FloorItem floorItem = new FloorItem(item, tile, owner,
    				owner == null ? false : underGrave, invisible);
    		final Region region = getRegion(tile.getRegionId());
    		region.forceGetFloorItems().add(floorItem);
    		if (invisible && hiddenTime != -1) {
    			if (owner != null)
    				owner.getPackets().sendGroundItem(floorItem);
    			CoresManager.slowExecutor.schedule(new Runnable() {
    				@Override
    				public void run() {
    					try {
    						if (!region.forceGetFloorItems().contains(floorItem))
    							return;
    						int regionId = tile.getRegionId();
    						if (underGrave || !ItemConstants.isTradeable(floorItem)
    								|| item.getName().contains("Dr nabanik")) {
    							region.forceGetFloorItems().remove(floorItem);
    							if (owner != null) {
    								if (owner.getMapRegionsIds().contains(regionId)
    										&& owner.getPlane() == tile.getPlane())
    									owner.getPackets().sendRemoveGroundItem(
    											floorItem);
    							}
    							return;
    						}
    
    						floorItem.setInvisible(false);
    						for (Player player : players) {
    							if (player == null || player == owner || !player.hasStarted() || player.hasFinished() || player.getPlane() != tile.getPlane() || !player.getMapRegionsIds().contains(regionId))
    								continue;
    							player.getPackets().sendGroundItem(floorItem);
    						}
    						removeGroundItem(floorItem, publicTime);
    					} catch (Throwable e) {
    						Logger.handle(e);
    					}
    				}
    			}, hiddenTime, TimeUnit.SECONDS);
    			return;
    		}
    		int regionId = tile.getRegionId();
    		for (Player player : players) {
    			if (player == null || !player.hasStarted() || player.hasFinished() || player.getPlane() != tile.getPlane() || !player.getMapRegionsIds().contains(regionId))
    				continue;
    			player.getPackets().sendGroundItem(floorItem);
    		}
    		removeGroundItem(floorItem, publicTime);
    	}

    you will get error in RefugeOfFear.java

    open RefugeOfFear.java

    and find this code:

    Code:
    	World.addGroundItem(KEYS[RANDOM.nextInt(KEYS.length)], getWorldTile(13, 9), player, false, -1, false,  -1);
    replace :-

    Code:
    	World.addGroundItem(KEYS[RANDOM.nextInt(KEYS.length)], getWorldTile(13, 9), player, false, -1, false, false, -1);
    in player.java

    import :-

    Code:
    import java.util.concurrent.CopyOnWriteArrayList;
    and find this code:

    Code:
    	public void sendItemsOnDeath(Player killer) {
    		if (getControlerManager().getControler() instanceof WiseOldMan)
    			return;
    		if (rights == 2 || rights == 7 || rights == 10)
    			return;
    		
    		if (isTradeLocked())
    			return;
    		
    		charges.die();
    		auraManager.removeAura();
    		
    		ArrayList<Item> contained = new ArrayList<Item>();
    		ArrayList<Item> savedItems = new ArrayList<Item>();
    	
    		for (int i = 0; i < 14; i++) {
    			if (equipment.getItem(i) == null)
    				continue;
    			if (ItemConstants.isSafeOnDeath(equipment.getItem(i).getId()) || 
    					ItemConstants.isTradeable(equipment.getItem(i))) {
    				savedItems.add(equipment.getItem(i));
    			} else {
    				contained.add(equipment.getItem(i));
    			}
    		}
    		
    		for (int i = 0; i < 28; i++) {
    			if (inventory.getItem(i) == null)
    				continue;
    			if (ItemConstants.isSafeOnDeath(inventory.getItem(i).getId())|| 
    					ItemConstants.isTradeable(inventory.getItem(i))) {
    				savedItems.add(inventory.getItem(i));
    			} else {
    				contained.add(inventory.getItem(i));
    			}
    		}
    		
    		if (contained.isEmpty())
    			return;
    		
    		int keptAmount = hasSkull() ? 0 : 3;
    		
    		if (prayer.usingPrayer(0, 10) || prayer.usingPrayer(1, 0)) {
    			keptAmount++;
    		}
    		
    		Item lastItem = new Item(1, 1);
    		
    		for (int i = 0; i < keptAmount; i++) {
    			for (Item item : contained) {
    				if (item == null)
    					continue;
    				int price = ItemManager.getPrice(item.getId());
    				if (price >= Shop.getBuyPrice(lastItem)) {
    					lastItem = item;
    				}
    			}
    			savedItems.add(lastItem);
    			contained.remove(lastItem);
    			lastItem = new Item(1, 1);
    		}
    		
    		inventory.reset();
    		equipment.reset();
    		
    		for (Item item : savedItems) {
    			if (getInventory().hasFreeSlots()) {
    				getInventory().addItem(item);
    			} else {
    				getBank().addItem(item.getId(), item.getAmount(), false);
    				sendMessage(""+item.getName()+" has been placed in your bank.");
    			}
    		}
    		
    		Player owner = killer == null ? this : killer;
    		
    		for (Item item : contained) {
    			if (item == null)
    				continue;
    			World.dropItem(item, owner, 600, Settings.droppedItemDelay);
    		}
    	}
    replace :-

    Code:
    	public void sendItemsOnDeath(Player killer) {
    		charges.die();
    		auraManager.removeAura();
    		CopyOnWriteArrayList<Item> containedItems = new CopyOnWriteArrayList<Item>();
    		for (int i = 0; i < 14; i++) {
    			if (equipment.getItem(i) != null
    					&& equipment.getItem(i).getId() != -1
    					&& equipment.getItem(i).getAmount() != -1)
    				containedItems.add(new Item(equipment.getItem(i).getId(),
    						equipment.getItem(i).getAmount()));
    		}
    		for (int i = 0; i < 28; i++) {
    			if (inventory.getItem(i) != null
    					&& inventory.getItem(i).getId() != -1
    					&& inventory.getItem(i).getAmount() != -1)
    				containedItems.add(new Item(getInventory().getItem(i).getId(),
    						getInventory().getItem(i).getAmount()));
    		}
    		if (containedItems.isEmpty())
    			return;
    		int keptAmount = 0;
    		if (!(controlerManager.getControler() instanceof CorpBeastControler)
    				&& !(controlerManager.getControler() instanceof CrucibleControler)) {
    			keptAmount = hasSkull() ? 0 : 3;
    			if (prayer.usingPrayer(0, 10) || prayer.usingPrayer(1, 0))
    				keptAmount++;
    		}
    		CopyOnWriteArrayList<Item> keptItems = new CopyOnWriteArrayList<Item>();
    		Item lastItem = new Item(1, 1);
    		for (int i = 0; i < keptAmount; i++) {
    			for (Item item : containedItems) {
    				int price = ItemManager.getPrice(item.getId());
    				if (price >= Shop.getBuyPrice(lastItem)) {
    					lastItem = item;
    				}
    			}
    			keptItems.add(lastItem);
    			containedItems.remove(lastItem);
    			lastItem = new Item(1, 1);
    		}
    		inventory.reset();
    		equipment.reset();
    		for (Item item : keptItems) {
    			getInventory().addItem(item);
    		}
    		for (Item item : containedItems) {
    			World.addGroundItem(item, getLastWorldTile(), killer == null ? this
    					: killer, false, 180, true, true);
    		}
    	}
    thats make drop item on death and keep item appears on ground if you drop item from inventory

    dont remove sendItemsOnDeath2

    if you need difficulty 5 (extreme) keep item on death only

    in player.java

    find this code :-

    Code:
    	public void dropItemsOnDeath() {
    		if (getDifficulty() > 3) {
    			sendItemsOnDeath(this);
    		}
    	}
    replace :-

    Code:
    	public void dropItemsOnDeath() {
    		if (getDifficulty() == 1) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 2) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 3) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 4) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 5) {
    			sendItemsOnDeath2(this);
    		}
    	}

    finished item on death now pk fully work

    if you get any error post down

    ~Liked
    Reply With Quote  
     

  2. #2  
    Registered Member
    Join Date
    Nov 2012
    Posts
    599
    Thanks given
    14
    Thanks received
    54
    Rep Power
    26
    it didnt fix it? please help
    Reply With Quote  
     

  3. #3  
    don't leech guys

    ANTILEECH's Avatar
    Join Date
    Jun 2013
    Posts
    736
    Thanks given
    171
    Thanks received
    196
    Rep Power
    129
    how to work english
    Reply With Quote  
     

  4. Thankful user:


  5. #4  
    Donator


    Join Date
    Jul 2013
    Posts
    1,233
    Thanks given
    1
    Thanks received
    493
    Rep Power
    0
    Quote Originally Posted by spasticboy22 View Post
    how to work english
    Died irl reading that
    Reply With Quote  
     

  6. #5  
    Registered Member _Liked's Avatar
    Join Date
    May 2014
    Age
    26
    Posts
    102
    Thanks given
    4
    Thanks received
    3
    Rep Power
    12
    Quote Originally Posted by khayam View Post
    it didnt fix it? please help
    Can you show me your error ?
    Reply With Quote  
     

  7. #6  
    Banned

    Join Date
    Mar 2010
    Posts
    2,218
    Thanks given
    170
    Thanks received
    262
    Rep Power
    0
    looked ripped. lols
    Reply With Quote  
     

  8. #7  
    Registered Member
    Join Date
    Nov 2012
    Posts
    599
    Thanks given
    14
    Thanks received
    54
    Rep Power
    26
    There is no error but this just doesnt fix it eg,
    When some1 gets pked in wildy, the player loses all his items but his items dont appear on floor for the killer who killed the person, so this hasnt fixed anything

    Please help
    Reply With Quote  
     

  9. #8  
    Registered Member _Liked's Avatar
    Join Date
    May 2014
    Age
    26
    Posts
    102
    Thanks given
    4
    Thanks received
    3
    Rep Power
    12
    Quote Originally Posted by khayam View Post
    There is no error but this just doesnt fix it eg,
    When some1 gets pked in wildy, the player loses all his items but his items dont appear on floor for the killer who killed the person, so this hasnt fixed anything

    Please help
    make sure you removed this code:
    Code:
    	public void dropItemsOnDeath() {
    		if (getDifficulty() > 3) {
    			sendItemsOnDeath(this);
    		}
    	}
    and replace with :-

    Code:
    	public void dropItemsOnDeath() {
    		if (getDifficulty() == 1) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 2) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 3) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 4) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 5) {
    			sendItemsOnDeath2(this);
    		}
    	}
    Reply With Quote  
     

  10. #9  
    Registered Member
    Join Date
    Nov 2012
    Posts
    599
    Thanks given
    14
    Thanks received
    54
    Rep Power
    26
    Quote Originally Posted by DrLikedRs View Post
    make sure you removed this code:
    Code:
    	public void dropItemsOnDeath() {
    		if (getDifficulty() > 3) {
    			sendItemsOnDeath(this);
    		}
    	}
    and replace with :-

    Code:
    	public void dropItemsOnDeath() {
    		if (getDifficulty() == 1) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 2) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 3) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 4) {
    			sendItemsOnDeath(this);
    		}
    		if (getDifficulty() == 5) {
    			sendItemsOnDeath2(this);
    		}
    	}
    But wont that mean even if they are outside of wilderness if they are killed they will lose items on death?
    Reply With Quote  
     

  11. #10  
    Registered Member _Liked's Avatar
    Join Date
    May 2014
    Age
    26
    Posts
    102
    Thanks given
    4
    Thanks received
    3
    Rep Power
    12
    give me your skybe name
    Reply With Quote  
     

Page 1 of 2 12 LastLast

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. Replies: 4
    Last Post: 11-07-2012, 09:01 AM
  2. Add how to keep 3 items on death
    By ill pk ur as in forum Tutorials
    Replies: 12
    Last Post: 09-24-2011, 01:02 AM
  3. Replies: 0
    Last Post: 10-26-2010, 06:54 AM
  4. How to Use Client Items on a Source?
    By Amirtje12 in forum Help
    Replies: 3
    Last Post: 01-29-2010, 10:22 AM
  5. how to use a item on another?
    By sheezy2 in forum Help
    Replies: 5
    Last Post: 04-24-2009, 11:16 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •