Thread: [PI] Players keep items upon death? Help.

Page 1 of 2 12 LastLast
Results 1 to 10 of 12
  1. #1 [PI] Players keep items upon death? Help. 
    Registered Member
    Join Date
    Sep 2013
    Posts
    8
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Okay, so I was playing on my 317 PI client, when I discover that players keep their items when they die, UNLESS they are killed by another player in the wilderness. I want players to ALWAYS lose their items when they die. (except for funpk). How can I fix this?

    I am using the teamtorva package if that helps. (For anybody that tells me to switch sources, I'm just gonna say that i'm not going to do it. I think this source has an awesome feel to it )
    Reply With Quote  
     

  2. #2  
    Registered Member
    Join Date
    Sep 2013
    Posts
    8
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Anyone?
    Reply With Quote  
     

  3. #3  
    Banned

    Join Date
    Nov 2010
    Age
    14
    Posts
    2,639
    Thanks given
    158
    Thanks received
    280
    Rep Power
    0
    so you want to add unlosable item? like make dclaws undroppable when u die?
    Reply With Quote  
     

  4. #4  
    Registered Member
    Shoutbox's Avatar
    Join Date
    Sep 2013
    Posts
    1,748
    Thanks given
    580
    Thanks received
    363
    Rep Power
    834
    I also need this
    S A D B O Y S

    私は自分自身を殺すために待つことができない
    Reply With Quote  
     

  5. #5  
    Super Donator

    Xsj's Avatar
    Join Date
    Jul 2010
    Age
    26
    Posts
    301
    Thanks given
    184
    Thanks received
    64
    Rep Power
    278
    If you post your ApplyDead && GiveLife methods here it'd be a lot easier, however

    I'd assume there would be a code similar to this in them

    Code:
    if (inWild() && !inFunPk()) {
               dropitem method
               applydead method
    } else
               applydead method
    }
    You'd just need to remove the if statements with wild in them.
    Reply With Quote  
     

  6. #6  
    Registered Member
    Join Date
    Sep 2013
    Posts
    8
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Thanks for responding guys!

    Here is the applyDead and giveLife methods.

    applyDead:
    Code:
        public void applyDead() {    
    		c.respawnTimer = 15;
    		c.isDead = false;
    		Client o = (Client) Server.playerHandler.players[c.killerId];
    		if(c.duelStatus != 6) {
    			c.killerId = findKiller();
    			if(o != null) {
    				c.playerKilled = c.playerId;
    				if(o.duelStatus == 5) {
    					o.duelStatus++;
    				}
    				if (Server.playerHandler.players[c.playerId].connectedFrom != o.lastKilled && c.duelStatus == 0) {
    					o.pkPoints = (o.pkPoints + 4);
    					o.sendMessage("You recieved 4 pkPoints");
    					o.lastKilled = Server.playerHandler.players[c.playerId].connectedFrom;
    				} else {
    					o.sendMessage("You do not recieve pk points because you have killed " +c.playerName+ " twice in a row.");
    				}
    			}
    		}
    		c.faceUpdate(0);
    		c.npcIndex = 0;
    		c.playerIndex = 0;
    		c.stopMovement();
    					if (c.duelStatus <= 4) {
    				c.sendMessage("Oh dear you are dead!");
    			} else if(c.duelStatus != 6 || !c.inArena()) {
    				c.sendMessage("You have lost the duel!");
    				/*o.getPA().movePlayer(
    						Config.DUELING_RESPAWN_X
    								+ (Misc.random(Config.RANDOM_DUELING_RESPAWN)),
    						Config.DUELING_RESPAWN_Y
    								+ (Misc.random(Config.RANDOM_DUELING_RESPAWN)), 0);*/
    			}
    		resetDamageDone();
    		c.DC++;
    		o.KC++;	
    		c.specAmount = 10;
    		c.getItems().addSpecialBar(c.playerEquipment[c.playerWeapon]);
    		c.lastVeng = 0;
    		c.vengOn = false;
    		resetFollowers();
    		c.attackTimer = 10;
    		if (Server.playerHandler.players[c.killerId].connectedFrom.equals(Server.playerHandler.players[c.playerKilled].connectedFrom)) {
    					o.sendMessage("You Don't Recieve PK Points for killing yourself!");
    		c.faceUpdate(0);
    		c.npcIndex = 0;
    		c.playerIndex = 0;
    		c.stopMovement();
    		if(c.duelStatus <= 4) {
    			c.sendMessage("Oh dear you are dead!");
    		} else if(c.duelStatus != 6) {
    			c.sendMessage("You have lost the duel!");
    		}
    		resetDamageDone();
    		c.lastVeng = 0;
    		c.vengOn = false;
    		resetFollowers();
    		c.attackTimer = 10;
    		removeAllWindows();
    		c.tradeResetNeeded = true;
    		return;
    		}
    	}
    And my giveLife:
    Code:
    	public void giveLife() {
    		c.isDead = false;
    		c.faceUpdate(-1);
    		c.freezeTimer = 0;
    		
    		if(c.playerRights == 3) {
    		for (int i = 0; i < 20; i++) {
    			c.playerLevel[i] = getLevelForXP(c.playerXP[i]);
    			c.getPA().refreshSkill(i);
    		}
    		c.getCombat().resetPrayers();
    
    		c.teleportToX = 3237;
    		c.teleportToY = 3523;
    PlayerSave.saveGame(c);
    c.getPA().resetTzhaar();
    requestUpdates();
    return;
    		
    		}
    		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.inDungeons() && !c.inFightCaves() && !c.inPcGame()) {
    					c.getItems().resetKeepItems();
    				if((c.playerRights == 0 && Config.ADMIN_DROP_ITEMS) || c.playerRights != 0) {
    					if(!c.isSkulled && !c.isInArd()) {	// what items to keep
    						c.getItems().keepItem(0, true);
    						c.getItems().keepItem(1, true);	
    						c.getItems().keepItem(2, true);
    					}	
    					if(c.prayerActive[10] || c.isInArd() && System.currentTimeMillis() - c.lastProtItem > 700) {
    						c.getItems().keepItem(3, true);
    					}
    					c.getItems().dropAllItems(); // drop all items
    					c.getItems().deleteAllItems(); // delete all items
    				
    					if(!c.isSkulled && !c.isInArd()) { // add the kept items once we finish deleting and dropping them	
    						for (int i1 = 0; i1 < 3; i1++) {
    							if(c.itemKeptId[i1] > 0) {
    								c.getItems().addItem(c.itemKeptId[i1], 1);
    							}
    						}
    					}	
    					if(c.prayerActive[10] || c.isInArd()) { // if we have protect items 
    						if(c.itemKeptId[3] > 0) {
    							c.getItems().addItem(c.itemKeptId[3], 1);
    						}
    					}
    				}
    				c.getItems().resetKeepItems();
    			} else if (c.inPits) {
    				Server.fightPits.removePlayerFromPits(c.playerId);
    				c.pitsStatus = 1;
    			}
    		}
    		c.getCombat().resetPrayers();
    		for (int i = 0; i < 25; i++) {
    			c.playerLevel[i] = getLevelForXP(c.playerXP[i]);
    			c.getPA().refreshSkill(i);
    		}
    		if (c.pitsStatus == 1) {
    			movePlayer(2399, 5173, 0);
    		} else if(c.duelStatus <= 4) { // if we are not in a duel repawn to wildy
    			movePlayer(Config.RESPAWN_X, Config.RESPAWN_Y, 0);
    			c.isSkulled = false;
    			c.skullTimer = 0;
    			c.attackedPlayers.clear();
    		} else if (c.inDungeons()) {
    			movePlayer(Config.DUNG_RESPAWN_X, Config.DUNG_RESPAWN_Y, 0);
    			c.isSkulled = false;
    			c.skullTimer = 0;
    			c.attackedPlayers.clear();		
    		} else if (c.inFightCaves()) {
    			c.getPA().resetTzhaar();
    		} else { // we are in a duel, respawn outside of arena
    			Client o = (Client) Server.playerHandler.players[c.duelingWith];
    			if(o != null) {
    				o.getPA().createPlayerHints(10, -1);
    				if(o.duelStatus == 6) {
    					o.getTradeAndDuel().duelVictory();
    				}
    			}
    			movePlayer(Config.DUELING_RESPAWN_X+(Misc.random(Config.RANDOM_DUELING_RESPAWN)), Config.DUELING_RESPAWN_Y+(Misc.random(Config.RANDOM_DUELING_RESPAWN)), 0);
    			if(c.duelStatus != 6) { // if we have won but have died, don't reset the duel status.
    				c.getTradeAndDuel().resetDuel();
    			}
    		}
    		//PlayerSaving.getSingleton().requestSave(c.playerId);
    		PlayerSave.saveGame(c);
    		c.getCombat().resetPlayerAttack();
    		resetAnimation();
    		c.startAnimation(-1);
    		frame1();
    		resetTb();
    		c.isSkulled = false;
    		c.attackedPlayers.clear();
    		c.headIconPk = -1;
    		c.skullTimer = -1;
    		c.damageTaken = new int[Config.MAX_PLAYERS];
    		c.getPA().requestUpdates();
    		removeAllWindows();
    		c.tradeResetNeeded = true;	
    
    
    	}
    Reply With Quote  
     

  7. #7  
    Registered Member
    Join Date
    Sep 2013
    Posts
    8
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Also, sorry if the code is kind of messy haha. A fix would be awesome though
    Reply With Quote  
     

  8. #8  
    Registered Member
    Join Date
    Sep 2013
    Posts
    8
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Bump
    Reply With Quote  
     

  9. #9  
    Registered Member
    Join Date
    Sep 2013
    Posts
    8
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Anything??
    Reply With Quote  
     

  10. #10  
    Registered Member
    Join Date
    Sep 2013
    Posts
    8
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Bump . . .
    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. Players keep items on death.
    By BLahVLah in forum Help
    Replies: 4
    Last Post: 11-29-2012, 02:53 PM
  2. Replies: 4
    Last Post: 06-29-2012, 11:25 AM
  3. Replies: 6
    Last Post: 04-30-2012, 10:26 AM
  4. [PI]Owner loses items on death help.
    By resolationx in forum Help
    Replies: 1
    Last Post: 04-14-2012, 03:52 AM
  5. Losing items upon death help[Paying]
    By Cody_ in forum Help
    Replies: 2
    Last Post: 03-23-2011, 10:26 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
  •