So when i kill my opponent i believe the kill goes NULL there wont appear any drop Nor bones, but after 30 seconds the drop appears on the ground. Because he still died, the player cannot run back to pick up his items he got killed for in the wild. But the items wont instantly appear for the killer, cuz killer is NUll i think.

Code:

GiveLife

Code:
public void giveLife() {
		
		c.isDead = false;
		c.faceUpdate(-1);
		c.freezeTimer = 0;
		if(c.duelStatus <= 4 && !c.getPA().inPitsWait()) { // if we are not in a duel we must be in wildy so remove items
			if (!c.inPits && !c.inFightCaves() && !c.inPitsGameArea() && !c.inFunPk() && !c.inDuel2()) {
				c.getItems().resetKeepItems();
				
				if (c.playerRights != 3) {
					if (!c.isSkulled) {
						c.getItems().keepItem(0, true);
						c.getItems().keepItem(1, true);
						c.getItems().keepItem(2, true);
					}
					if ((c.prayerActive[10] && System.currentTimeMillis() - c.lastProtItem > 700) && c.redSkull != 1) {
						 c.getItems().keepItem(3, true);
					}
						c.getItems().dropAllItems();
						c.getItems().deleteAllItems();
					if (!c.isSkulled) {
						for (int i1 = 0; i1 < 3; i1++) {
							if (c.itemKeptId[i1] > 0)  {
								c.getItems().addItem(c.itemKeptId[i1], 1);
							}
						}
					}
					if (c.prayerActive[10] && c.redSkull != 1) {
						if (c.itemKeptId[3] > 0) {
							c.getItems().addItem(c.itemKeptId[3], 1);
						}
					}
				}
				c.getItems().resetKeepItems();
			}
		} else
			c.getCombat().resetPrayers();
		for (int i = 0; i < 20; i++) {
			c.playerLevel[i] = c.getPA().getLevelForXP(c.playerXP[i]);
			c.getPA().refreshSkill(i);
		}
		 if (c.duelStatus <= 4)  {
			movePlayer(Constants.RESPAWN_X, Constants.RESPAWN_Y, 0);
			c.isSkulled = false;
			c.skullTimer = 0;
			c.lastVeng = 0;
			c.vengOn = false;
			c.attackedPlayers.clear();
			c.specAmount = 10.0;
			c.getItems().addSpecialBar(c.playerEquipment[c.playerWeapon]);
			c.sendMessage("Your special attack refills completely!");
			c.sendMessage(Double.toString(c.specAmount) + ":specialattack:");
		} else if (c.inFightCaves()) {
			c.getPA().resetTzhaar();
		}
		PlayerSave.saveGame(c);
		c.getCombat().resetPlayerAttack();
		resetAnimation();
		frame1();
		resetTb();
		c.safeTimer = 0;
		c.isSkulled = false;
		c.attackedPlayers.clear();
		c.headIconPk = -1;
		c.skullTimer = -1;
		c.redSkull = 0;
		c.getDamageLog().reset();
		c.getPA().requestUpdates();
		c.getCombat().resetPrayers();
	}
DropAllItems

Code:
public void dropAllItems() {
		if (c.playerRights == 3) {
			return;
		}
		
		if (c.KC == 0 && c.getItems().playerHasItem(995)) { 
			return;
		}
		 
		String s = c.getDamageLog().getKiller();
		Client killer = (Client) PlayerHandler.getPlayerByName(s);
		for (int i = 0; i < c.playerItems.length; i++) {
			if (killer != null) {
				if (tradeable(c.playerItems[i] - 1)) {
					Server.itemHandler.createGroundItem(killer, c.playerItems[i] - 1, c.getX(), c.getY(),
							c.playerItemsN[i], killer.playerId);
				} else {

					if (specialCase(c.playerItems[i] - 1))
						Server.itemHandler.createGroundItem(killer, 995, c.getX(), c.getY(), getUntradePrice(c.playerItems[i] - 1), killer.playerId);
					boolean pa = pvparmor(c.playerItems[i]);
					Server.itemHandler.createGroundItem(killer, pa ? 995 : c.playerItems[i], c.getX(), c.getY(), pa ? 50000000 : c.playerItemsN[i], killer.playerId);

				}
			} else {
				Server.itemHandler.createGroundItem(c, c.playerItems[i] - 1, c.getX(), c.getY(), c.playerItemsN[i],
						c.playerId);
			}
		}
		for (int e = 0; e < c.playerEquipment.length; e++) {
			if (killer != null) {
				if (tradeable(c.playerEquipment[e])) {
					Server.itemHandler.createGroundItem(killer, c.playerEquipment[e], c.getX(), c.getY(),
							c.playerEquipmentN[e], killer.playerId);
				} else {

					if (specialCase(c.playerEquipment[e]))
						Server.itemHandler.createGroundItem(killer, 995, c.getX(), c.getY(),
								getUntradePrice(c.playerEquipment[e]), killer.playerId);
					boolean pa = pvparmor(c.playerEquipment[e]);
					Server.itemHandler.createGroundItem(killer, pa ? 995 : c.playerEquipment[e], c.getX(), c.getY(),
							pa ? 50000000 : c.playerEquipmentN[e], killer.playerId);
				}
			} else {
				Server.itemHandler.createGroundItem(c, c.playerEquipment[e], c.getX(), c.getY(), c.playerEquipmentN[e], c.playerId);
				// c.getItems().addItem(c.playerEquipment[e],1);
			}
		}
		if (killer != null) {
			addPVP(false);
			Server.itemHandler.createGroundItem(killer, 526, c.getX(), c.getY(), 1, killer.playerId);
		}
	}
Will rep+++ and thank you