Thread: [PI] Disconnect when pking

Results 1 to 3 of 3
  1. #1 [PI] Disconnect when pking 
    Registered Member
    Join Date
    Feb 2013
    Posts
    174
    Thanks given
    39
    Thanks received
    37
    Rep Power
    16
    This is the feature that was already in the source when i downloaded:
    + If you are a moderator+ and you die in pking, you don''t lose your items.

    The problem: when 2 players are pking (doesnt matter the rank), and the person that wins the fight, after the fight, disconnects and the person that dies drops like 50 manta rays. Anybody know how to fix this?

    my apply dead:

    Code:
        public void applyDead() {
    		c.respawnTimer = 15;
    		c.isDead = false;
    		Client o = (Client) Server.playerHandler.players[c.killerId];
    		Client c2 = (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.killerId].connectedFrom == Server.playerHandler.players[c.playerKilled].connectedFrom) {
    		c.faceUpdate(0);
    		c.npcIndex = 0;
    		c.playerIndex = 0;
    		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();
    		// sendFrame126("PkP: "+c.pkPoints+" K: "+c.kills+" D: "+c.deaths+"", 663); demise sendframe
    		c.tradeResetNeeded = true;
    		return;
    		}
    		if (Server.playerHandler.players[c.killerId].connectedFrom.equals(Server.playerHandler.players[c.playerKilled].connectedFrom)) {
    					o.sendMessage("Multiple IP detected, PK point reward removed.");
    		c.faceUpdate(0);
    		c.npcIndex = 0;
    		c.playerIndex = 0;
    		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();
    		//sendFrame126("PkP: "+c.pkPoints+" K: "+c.kills+" D: "+c.deaths+"", 663); demise sendframe
    		c.tradeResetNeeded = true;
    		return;
    		}
    				if (Server.playerHandler.players[c.playerId].connectedFrom != o.lastKilled && c.duelStatus == 0) {
    					o.KS++;
                       			for (int j = 0; j < Server.playerHandler.players.length; j++) {
                            		if (Server.playerHandler.players[j] != null) {
                           			 Client c3 = (Client)Server.playerHandler.players[j];
                    			if (o.KS >= 5) {
       					 c3.sendMessage("<shad=15124124>"+(Misc.optimizeText(o.playerName))+" now is on a rampage of "+o.KS+" killstreak, kill him for " +((o.KS * 3) - 12)+ " PK POINTS.");
            				}
                    			if (c.KS >= 5) {
                       			 o.pkPoints += ((o.KS * 5) - 15);
    					c3.sendMessage("<shad=112341>"+(Misc.optimizeText(o.playerName))+" has ended " +c.playerName+ "'s life for " +((c.KS * 3) - 12)+".");
            				}
           					}
    					}
    					o.sendMessage("<shad=1514214>Your now at<shad=421412> " +o.KS+ "<shad=1514214> killstreak, do ::rewardKS to claim some reward, it will reset on logout");
    					if (o.isDonator == 1) {
    					o.pkPoints += 1;
    					o.sendMessage("<shad=11212244>You recieve 3 pkp and 20 money for being a [Donator]");
    					}
    				if (o.isDonator == 2) {
    					o.cashmoneh += 20;
    					o.pkPoints += 3;
    					o.sendMessage("<shad=11212244>You recieve 5 pkp and 40 money for being a [Super Donator]");
    					}
    					o.pkPoints += 2;
    					if (o.isDonator == 0) {
    										o.sendMessage("<shad=142141>You recieve 2 PKP and 20 Money [Normal Player]");
    					}
    					o.lastKilled = Server.playerHandler.players[c.playerId].connectedFrom;
    					o.getPA().addSkillXP(9000, 23);
    					c.getPA().addSkillXP(-4000, 23);
    					o.cashmoneh += 20;
    					c.KS = 0;
    					c.DC++;
    					o.KC++;
    if (o.slayerTast == 1 && c.playerLevel[1] > 80) {
    o.sendMessage("<shad=12421415>You recieve double rewards for killing a slayer task opponent, and recieve Pking EXP");
    o.cashmoneh += 20;
    o.pkPoints += 1;
    o.taskAmounk -= 1;
    o.getPA().addSkillXP(15000, 23);
    }
    if (o.slayerTast == 2 && c.playerLevel[1] > 39 && c.playerLevel[1] < 51) {
    o.sendMessage("<shad=12421415>You recieve double rewards for killing a slayer task opponent, and recieve Pking EXP");
    o.cashmoneh += 20;
    o.pkPoints += 1;
    o.taskAmounk -= 1;
    o.getPA().addSkillXP(15000, 23);
    }
    if (o.slayerTast == 3 && c.playerLevel[1] < 31) {
    o.sendMessage("<shad=12421415>You recieve double rewards for killing a slayer task opponent, and recieve Pking EXP");
    o.cashmoneh += 20;
    o.pkPoints += 1;
    o.taskAmounk -= 1;
    o.getPA().addSkillXP(15000, 23);
    }
    				int xL = Misc.random(500);
    				Server.itemHandler.createGroundItem(o, 391, c.absX, c.absY, 
    											391, o.playerId);
    				Server.itemHandler.createGroundItem(o, 15272, c.absX, c.absY, 
    											15272, o.playerId);
    				Server.itemHandler.createGroundItem(o, 15272, c.absX, c.absY, 
    											15272, o.playerId);
    
    if (xL >= 0 && xL < 501) {
    				int random = (int)(Math.random() * (xEX.length - 1));
    				Server.itemHandler.createGroundItem(o, xEX[random][0], c.absX, c.absY, 
    											xEX[random][1], o.playerId);
    } else if (xL > 150 && xL < 501) {
    				Server.itemHandler.createGroundItem(o, 15272, c.absX, c.absY, 
    											15272, o.playerId);
    				int random = (int)(Math.random() * (xEX.length - 1)); 
    				Server.itemHandler.createGroundItem(o, xEX[random][0], c.absX, c.absY, 
    											xEX[random][1], o.playerId);
    } else if (xL > 250 && xL < 501) {
    				int random = (int)(Math.random() * (xEX.length - 1));
    				Server.itemHandler.createGroundItem(o, xEX[random][0], c.absX, c.absY, 
    											xEX[random][1], o.playerId);
    } else if (xL > 470 && xL < 501) {
    				int random = (int)(Math.random() * (xEP.length - 1));
    				Server.itemHandler.createGroundItem(o, xEP[random][0], c.absX, c.absY, 
    											xEP[random][1], o.playerId);
    } else if (xL > 480 && xL < 501) {
    				int random = (int)(Math.random() * (xEP2.length - 1));
    				Server.itemHandler.createGroundItem(o, xEP2[random][0], c.absX, c.absY, 
    
    											xEP2[random][1], o.playerId);
    } else if (xL > 495 && xL < 501) {
    				int random = (int)(Math.random() * (xEP3.length - 1));
    				Server.itemHandler.createGroundItem(o, xEP3[random][0], c.absX, c.absY, 
    											xEP3[random][1], o.playerId);
    }
    
    
    
    				} else {
    					c.getPA().addSkillXP(-4000, 23);
    					o.sendMessage("You do not recieve any rewards because you have killed " +c.playerName+ " twice in a row.");
    
    			}
    		}
    	}
    		
    		c.faceUpdate(0);
    		c.npcIndex = 0;
    		c.playerIndex = 0;
    					if (c.duelStatus <= 4) {
    				c.sendMessage("Oh dear you are dead!");
    				c.getPA().addSkillXP(-4000, 23);
    			} 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++;
    		c.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;
    
    		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;
    		}
    	}
    Vouches
    [SPOIL]
    Quote Originally Posted by Dragon-Warz View Post
    ty ! vouch for u too
    Quote Originally Posted by Dwyane Wade View Post
    Vouch for him done this for him and paid first vouch.
    Quote Originally Posted by Brezzo View Post
    [/SPOIL]
    Reply With Quote  
     

  2. #2  
    Registered Member

    Join Date
    Dec 2012
    Posts
    2,999
    Thanks given
    894
    Thanks received
    921
    Rep Power
    2555
    Just a suggestion, don't use [spoiler] BB-Code, use
    Code:
    blablabla
    [code] instead, easier to see.
    Attached image
    Reply With Quote  
     

  3. #3  
    Registered Member
    Join Date
    Feb 2013
    Posts
    174
    Thanks given
    39
    Thanks received
    37
    Rep Power
    16
    Quote Originally Posted by Kaleem View Post
    Just a suggestion, don't use [spoiler] BB-Code, use
    Code:
    blablabla
    [code] instead, easier to see.
    Yessir.
    Vouches
    [SPOIL]
    Quote Originally Posted by Dragon-Warz View Post
    ty ! vouch for u too
    Quote Originally Posted by Dwyane Wade View Post
    Vouch for him done this for him and paid first vouch.
    Quote Originally Posted by Brezzo View Post
    [/SPOIL]
    Reply With Quote  
     


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: 6
    Last Post: 04-25-2011, 11:50 PM
  2. Replies: 12
    Last Post: 04-16-2011, 11:20 AM
  3. Replies: 0
    Last Post: 03-26-2011, 04:35 PM
  4. Delta disconnect when trading money
    By cradle in forum Help
    Replies: 1
    Last Post: 03-18-2009, 04:00 PM
  5. Replies: 4
    Last Post: 01-03-2009, 08:34 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
  •