Thread: PI Logging out on death Pi Rep+++

Results 1 to 10 of 10
  1. #1 PI Logging out on death Pi Rep+++ 
    Registered Member jackd019's Avatar
    Join Date
    Aug 2011
    Posts
    431
    Thanks given
    5
    Thanks received
    8
    Rep Power
    11
    Is there any way to Fix this? So that you can't log out on death?
    This is Only PVM , Not PVP
    I Need it so that when Being Attacked By a monster That thay must get out of combat before logging out

    Code:
    public void logout() {
    		synchronized (this) {
    			if(System.currentTimeMillis() - logoutDelay > 10000) {
    				outStream.createFrame(109);
    				properLogout = true;
    				ConnectedFrom.addConnectedFrom(this, connectedFrom);
    				PlayerSave.saveGame(this);
    				saveCharacter = true;
    			} else {
    				sendMessage("You must wait a few seconds from being out of combat before you can do this.");
    			}
    		}
    	}
    Reply With Quote  
     

  2. #2  
    « Pokémon Master »
    Ash Ketchum's Avatar
    Join Date
    Jun 2011
    Age
    26
    Posts
    1,426
    Thanks given
    275
    Thanks received
    153
    Rep Power
    39
    public void logout() {
    synchronized (this) {
    if(System.currentTimeMillis() - logoutDelay > 10000) {
    outStream.createFrame(109);
    properLogout = true;
    } else {
    sendMessage("You must wait 10 seconds before logging out.");
    }
    }
    }
    add a delay..x.x
    Spoiler for Galkon:

    Spoiler for Great Quotes:
    Quote Originally Posted by i am prod View Post
    **** YOU this just erased everyones passwords and no one can log in!!!
    Quote Originally Posted by blade2 View Post
    did i ****ing say it was a ****ing virus u dip shit i said virus scan dont scan java files i didn't say its a virus... l2****ingreadkid
    Spoiler for (╯°□°)╯︵┻━┻:
    Reply With Quote  
     

  3. #3  
    Registered Member jackd019's Avatar
    Join Date
    Aug 2011
    Posts
    431
    Thanks given
    5
    Thanks received
    8
    Rep Power
    11
    Just change it to that Right? I mean would it even save? just wondering?;s
    Reply With Quote  
     

  4. #4  
    « Pokémon Master »
    Ash Ketchum's Avatar
    Join Date
    Jun 2011
    Age
    26
    Posts
    1,426
    Thanks given
    275
    Thanks received
    153
    Rep Power
    39
    yes. try it out yourself.
    Spoiler for Galkon:

    Spoiler for Great Quotes:
    Quote Originally Posted by i am prod View Post
    **** YOU this just erased everyones passwords and no one can log in!!!
    Quote Originally Posted by blade2 View Post
    did i ****ing say it was a ****ing virus u dip shit i said virus scan dont scan java files i didn't say its a virus... l2****ingreadkid
    Spoiler for (╯°□°)╯︵┻━┻:
    Reply With Quote  
     

  5. #5  
    Registered Member jackd019's Avatar
    Join Date
    Aug 2011
    Posts
    431
    Thanks given
    5
    Thanks received
    8
    Rep Power
    11
    Nope still can logout
    Reply With Quote  
     

  6. #6  
    Donator

    Arithium's Avatar
    Join Date
    May 2010
    Age
    28
    Posts
    4,758
    Thanks given
    199
    Thanks received
    1,256
    Rep Power
    1114
    combatassistant.java where it applies the player hitmasks add c.logoutDelay = System.currentTimeMillis();
    Reply With Quote  
     

  7. #7  
    Registered Member jackd019's Avatar
    Join Date
    Aug 2011
    Posts
    431
    Thanks given
    5
    Thanks received
    8
    Rep Power
    11
    Quote Originally Posted by animeking1120 View Post
    combatassistant.java where it applies the player hitmasks add c.logoutDelay = System.currentTimeMillis();
    I cant seem to Find that in Combat Assistant Mate


    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  8. #8  
    Donator

    Arithium's Avatar
    Join Date
    May 2010
    Age
    28
    Posts
    4,758
    Thanks given
    199
    Thanks received
    1,256
    Rep Power
    1114
    Code:
    PlayerHandler.players[i].underAttackBy = c.playerId;
    				PlayerHandler.players[i].logoutDelay = System
    						.currentTimeMillis();
    				PlayerHandler.players[i].singleCombatDelay = System
    						.currentTimeMillis();
    				PlayerHandler.players[i].killerId = c.playerId;
    				c.lastArrowUsed = 0;
    				c.rangeItemUsed = 0;
    around this in attackplayer and attacknpc methods.
    Reply With Quote  
     

  9. #9  
    Registered Member jackd019's Avatar
    Join Date
    Aug 2011
    Posts
    431
    Thanks given
    5
    Thanks received
    8
    Rep Power
    11
    Quote Originally Posted by animeking1120 View Post
    Code:
    PlayerHandler.players[i].underAttackBy = c.playerId;
    				PlayerHandler.players[i].logoutDelay = System
    						.currentTimeMillis();
    				PlayerHandler.players[i].singleCombatDelay = System
    						.currentTimeMillis();
    				PlayerHandler.players[i].killerId = c.playerId;
    				c.lastArrowUsed = 0;
    				c.rangeItemUsed = 0;
    around this in attackplayer and attacknpc methods.
    Thing is you can't log out while being attacked by a player but , an Npc Ya can , but i cant see where to add under attacknpc Methods

    Code:
    /**
    	* Attack Npcs
    	*/
    	public void attackNpc(int i) {	
    	  if (c.playerEquipment[c.playerWeapon] == 13022) {
              c.gfx0(2138);
              }
    		if (Server.npcHandler.npcs[i] != null) {
    			if (Server.npcHandler.npcs[i].isDead || Server.npcHandler.npcs[i].MaxHP <= 0) {
    				c.usingMagic = false;
    				c.faceUpdate(0);
    				c.npcIndex = 0;
    				return;
    			}	
    		if(c.specEffect == 4) {
    		c.specEffect = 0;
    		}
    		if (c.inWG()) {
    			resetPlayerAttack();
    			c.stopMovement();
    			return;
                  	  }
    			if (Server.npcHandler.npcs[i].npcType == 1000 || Server.npcHandler.npcs[i].npcType == 1001 || Server.npcHandler.npcs[i].npcType == 3100 || Server.npcHandler.npcs[i].npcType == 1002 || Server.npcHandler.npcs[i].npcType == 1003) {
    			resetPlayerAttack();
    			c.stopMovement();
    			return; // Bandos
                  	  }
    
    			if (Server.npcHandler.npcs[i].npcType == 3104) {
    			c.sendMessage("You must click the gate before attacking the Corporeal Beast!");
    			resetPlayerAttack();
    			c.stopMovement();
    			return; // Corporeal beast *fake*
                  	  }
    
    			if (Server.npcHandler.npcs[i].npcType == 1004 || Server.npcHandler.npcs[i].npcType == 1005 || Server.npcHandler.npcs[i].npcType == 1006 || Server.npcHandler.npcs[i].npcType == 1007) {
    			resetPlayerAttack();
    			c.stopMovement();
    			return; // Arma
                  	  }
    			if (Server.npcHandler.npcs[i].npcType == 1008 || Server.npcHandler.npcs[i].npcType == 1009 || Server.npcHandler.npcs[i].npcType == 1010 || Server.npcHandler.npcs[i].npcType == 1011) {
    			resetPlayerAttack();
    			c.stopMovement();
    			return; // Zammy
                  	  }
    			if (Server.npcHandler.npcs[i].npcType == 1012 || Server.npcHandler.npcs[i].npcType == 1013 || Server.npcHandler.npcs[i].npcType == 1014 || Server.npcHandler.npcs[i].npcType == 1015) {
    			resetPlayerAttack();
    			c.stopMovement();
    			return; // Sara
                  	  }
    			if(c.respawnTimer > 0) {
    				c.npcIndex = 0;
    				return;
    			}
    			if (Server.npcHandler.npcs[i].underAttackBy > 0 && Server.npcHandler.npcs[i].underAttackBy != c.playerId && !Server.npcHandler.npcs[i].inMulti()) {
    				c.npcIndex = 0;
    				c.sendMessage("This monster is already in combat.");
    				return;
    			}
    			if ((c.underAttackBy > 0 || c.underAttackBy2 > 0) && c.underAttackBy2 != i && !c.inMulti()) {
    				resetPlayerAttack();
    				c.sendMessage("I am already under attack.");
    				return;
    			}
    			if (!goodSlayer(i)) {
    				resetPlayerAttack();
    				return;
    			}
    			if (Server.npcHandler.npcs[i].spawnedBy != c.playerId && Server.npcHandler.npcs[i].spawnedBy > 0) {
    				resetPlayerAttack();
    				c.sendMessage("This monster was not spawned for you.");
    				return;
    			}
    			if(c.attackTimer <= 0) {
    				boolean usingBow = false;
    				boolean usingArrows = false;
    				boolean usingOtherRangeWeapons = false;
    				boolean usingCross = c.playerEquipment[c.playerWeapon] == 9185;
    				c.bonusAttack = 0;
    				c.rangeItemUsed = 0;
    				c.projectileStage = 0;
    				//c.SaveGame();
    				if (c.autocasting) {
    					c.spellId = c.autocastId;
    					c.usingMagic = true;
    				}
    				if(c.spellId > 0) {
    				c.usingMagic = true;
    				}
    				c.attackTimer = getAttackDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    				c.specAccuracy = 1.0;
    				c.specDamage = 1.0;
    				if(!c.usingMagic) {
    					for (int bowId : c.BOWS) {
    						if(c.playerEquipment[c.playerWeapon] == bowId) {
    							usingBow = true;
    							for (int arrowId : c.ARROWS) {
    								if(c.playerEquipment[c.playerArrows] == arrowId) {
    									usingArrows = true;
    					c.gfx100(getRangeStartGFX());
    								}
    							}
    						}
    					}
    					
    					for (int otherRangeId : c.OTHER_RANGE_WEAPONS) {
    						if(c.playerEquipment[c.playerWeapon] == otherRangeId) {
    							usingOtherRangeWeapons = true;
    						}
    					}
    				}
    				if (armaNpc(i) && !usingCross && !usingBow && !c.usingMagic && !usingCrystalBow() && !usingOtherRangeWeapons) {				
    					resetPlayerAttack();
    					c.sendMessage("You can only Range/Mage Armadyl creeps!");
    					return;
    				}
    				if((!c.goodDistance(c.getX(), c.getY(), Server.npcHandler.npcs[i].getX(), Server.npcHandler.npcs[i].getY(), 2) && (usingHally() && !usingOtherRangeWeapons && !usingBow && !usingCross && !c.usingMagic)) ||(!c.goodDistance(c.getX(), c.getY(), Server.npcHandler.npcs[i].getX(), Server.npcHandler.npcs[i].getY(), 4) && (usingOtherRangeWeapons && !usingCross && !usingBow && !c.usingMagic)) || (!c.goodDistance(c.getX(), c.getY(), Server.npcHandler.npcs[i].getX(), Server.npcHandler.npcs[i].getY(), 1) && (!usingOtherRangeWeapons && !usingHally() && !usingCross && !usingBow && !c.usingMagic)) || ((!c.goodDistance(c.getX(), c.getY(), Server.npcHandler.npcs[i].getX(), Server.npcHandler.npcs[i].getY(), 8) && (usingBow || usingCross || c.usingMagic)))) {
    					c.attackTimer = 2;
    					return;
    				}
    				
    				if(!usingCross && !usingArrows && usingBow && (c.playerEquipment[c.playerWeapon] < 4212 || c.playerEquipment[c.playerWeapon] > 4223)) {
    					c.sendMessage("You have run out of arrows!");
    					c.stopMovement();
    					c.npcIndex = 0;
    					return;
    				} 
    				if(correctBowAndArrows() < c.playerEquipment[c.playerArrows] && Config.CORRECT_ARROWS && usingBow && !usingCrystalBow() && c.playerEquipment[c.playerWeapon] != 9185) {
    					c.sendMessage("You can't use "+c.getItems().getItemName(c.playerEquipment[c.playerArrows]).toLowerCase()+"s with a "+c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase()+".");
    					c.stopMovement();
    					c.npcIndex = 0;
    					return;
    				}
    							if (c.playerEquipment[c.playerWeapon] == 9185 && !properBolts()) {
    					c.sendMessage("You must use bolts with a crossbow.");
    					c.stopMovement();
    					resetPlayerAttack();
    					return;				
    				}	
    				
    
    				
    				if(usingBow || usingCross || c.usingMagic || usingOtherRangeWeapons || (c.goodDistance(c.getX(), c.getY(), Server.npcHandler.npcs[i].getX(), Server.npcHandler.npcs[i].getY(), 2) && usingHally())) {
    					c.stopMovement();
    				}
    
    				if(!checkMagicReqs(c.spellId)) {
    					c.stopMovement();
    					c.npcIndex = 0;
    					return;
    				}
    				
    				c.faceUpdate(i);
    				//c.specAccuracy = 1.0;
    				//c.specDamage = 1.0;
    				Server.npcHandler.npcs[i].underAttackBy = c.playerId;
    				Server.npcHandler.npcs[i].lastDamageTaken = System.currentTimeMillis();
    				if(c.usingSpecial && !c.usingMagic) {
    					if(checkSpecAmount(c.playerEquipment[c.playerWeapon])){
    						c.lastWeaponUsed = c.playerEquipment[c.playerWeapon];
    						c.lastArrowUsed = c.playerEquipment[c.playerArrows];
    						activateSpecial(c.playerEquipment[c.playerWeapon], i);
    						return;
    					} else {
    						c.sendMessage("You don't have the required special energy to use this attack.");
    						c.usingSpecial = false;
    						c.getItems().updateSpecialBar();
    						c.npcIndex = 0;
    						return;
    					}
    				}
    				c.specMaxHitIncrease = 0;
    				if(!c.usingMagic) {
    					c.startAnimation(getWepAnim(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase()));
    				} else {
    					c.startAnimation(c.MAGIC_SPELLS[c.spellId][2]);
    				}
    				c.lastWeaponUsed = c.playerEquipment[c.playerWeapon];
    				c.lastArrowUsed = c.playerEquipment[c.playerArrows];
    				if(!usingBow && !usingCross && !c.usingMagic && !usingOtherRangeWeapons) { // melee hit delay
    					c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    					c.projectileStage = 0;
    					c.oldNpcIndex = i;
    				}
    				
    				if(usingBow && !usingOtherRangeWeapons && !c.usingMagic || usingCross) { // range hit delay					
    					if (usingCross)
    						c.usingBow = true;
    					if (c.fightMode == 2)
    						c.attackTimer--;
    					c.lastArrowUsed = c.playerEquipment[c.playerArrows];
    					c.lastWeaponUsed = c.playerEquipment[c.playerWeapon];
    					c.gfx100(getRangeStartGFX());	
    					c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    					c.projectileStage = 1;
    					c.oldNpcIndex = i;
    					if(c.playerEquipment[c.playerWeapon] >= 4212 && c.playerEquipment[c.playerWeapon] <= 4223) {
    						c.rangeItemUsed = c.playerEquipment[c.playerWeapon];
    						c.crystalBowArrowCount++;
    						c.lastArrowUsed = 0;
    					} else {
    						c.rangeItemUsed = c.playerEquipment[c.playerArrows];
    						c.getItems().deleteArrow();	
    					}
    					fireProjectileNpc();
    				}
    
    			if(usingBow && usingCross && c.usingMagic && usingOtherRangeWeapons) {
    			c.getPA().followNpc();
    			c.stopMovement();
    			} else {
    			c.followId = 0;
    			c.followId2 = i;
    			}
    							
    				
    				if(usingOtherRangeWeapons && !c.usingMagic && !usingCross && !usingBow) {	// knives, darts, etc hit delay		
    					c.rangeItemUsed = c.playerEquipment[c.playerWeapon];
    					c.getItems().deleteEquipment();
    					c.gfx100(getRangeStartGFX());
    					c.lastArrowUsed = 0;
    					c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    					c.projectileStage = 1;
    					c.oldNpcIndex = i;
    					if (c.fightMode == 2)
    						c.attackTimer--;
    					fireProjectileNpc();	
    				}
    
    				if(c.usingMagic) {	// magic hit delay
    					int pX = c.getX();
    					int pY = c.getY();
    					int nX = Server.npcHandler.npcs[i].getX();
    					int nY = Server.npcHandler.npcs[i].getY();
    					int offX = (pY - nY)* -1;
    					int offY = (pX - nX)* -1;
    					c.castingMagic = true;
    					c.projectileStage = 2;
    					if(c.MAGIC_SPELLS[c.spellId][3] > 0) {
    						if(getStartGfxHeight() == 100) {
    							c.gfx100(c.MAGIC_SPELLS[c.spellId][3]);
    						} else {
    							c.gfx0(c.MAGIC_SPELLS[c.spellId][3]);
    						}
    					}
    					if(c.MAGIC_SPELLS[c.spellId][4] > 0) {
    						c.getPA().createPlayersProjectile(pX, pY, offX, offY, 50, 78, c.MAGIC_SPELLS[c.spellId][4], getStartHeight(), getEndHeight(), i + 1, 50);
    					}
    					c.hitDelay = getHitDelay(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
    					c.oldNpcIndex = i;
    					c.oldSpellId = c.spellId;
    					c.spellId = 0;
    					if (!c.autocasting)
    						c.npcIndex = 0;
    				}if(c.curseActive[18]) { // SoulSplit GFX's - CAUSES CRASH
    					if(c.oldNpcIndex > 0) {
    					if(Server.npcHandler.npcs[c.oldNpcIndex] != null) {
    					try {
    					if(c.curseActive[18] && !c.prayerActive[23] && c.playerLevel[3] <= 99) {
    						int heal = 2;
    						if(c.playerLevel[3] + heal >= c.getPA().getLevelForXP(c.playerXP[3])) {
    							c.playerLevel[3] = c.getPA().getLevelForXP(c.playerXP[3]);
    						} else {
    							c.playerLevel[3] += heal;
    						}
    						c.getPA().refreshSkill(3);
    					}
    					final int pX = c.getX();
     					final int pY = c.getY();
    					final int nX = Server.npcHandler.npcs[c.oldNpcIndex].getX();
    					final int nY = Server.npcHandler.npcs[c.oldNpcIndex].getY();
    					final int offX = (pY - nY)* -1;
    					final int offY = (pX - nX)* -1;
    					c.SSPLIT = true;
    					c.getPA().createPlayersProjectile2(pX, pY, offX, offY, 50, 50, 2263, 9, 9, c.oldNpcIndex + 1, 24, 0);
    					EventManager.getSingleton().addEvent(new Event() {
    					public void execute(EventContainer b) {
     					//Server.npcHandler.npcs[c.oldNpcIndex].gfx0(2264); // 1738
    					//Server.npcHandler.npcs[c.oldNpcIndex].gfx0(1738); //2264
    					c.SSPLIT = false;
    				        b.stop();
    					}
    					}, 500);
    					/*EventManager.getSingleton().addEvent(new Event() { // CAUSES CRASH
    					public void execute(EventContainer b) {
    					//c.getPA().createPlayersProjectile2(nX, nY, offX, offY, 50, 50, 2263, 9, 9, - c.playerId - 1, 24, 0);
    				        b.stop();
    					}
    					}, 800);*/
    					} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		}
    	}
    					
    					if(c.crystalBowArrowCount >= 250){
    						switch(c.playerEquipment[c.playerWeapon]) {
    							
    							case 4223: // 1/10 bow
    							c.getItems().wearItem(-1, 1, 3);
    							c.sendMessage("Your crystal bow has fully degraded.");
    							if(!c.getItems().addItem(4207, 1)) {
    								Server.itemHandler.createGroundItem(c, 4207, c.getX(), c.getY(), 1, c.getId());
    							}
    							c.crystalBowArrowCount = 0;
    							break;
    							
    							default:
    							c.getItems().wearItem(++c.playerEquipment[c.playerWeapon], 1, 3);
    							c.sendMessage("Your crystal bow degrades.");
    							c.crystalBowArrowCount = 0;
    							break;
    							
    						
    						}
    					}	
    				}
    			}
    		}
    Reply With Quote  
     

  10. #10  
    Registered Member jackd019's Avatar
    Join Date
    Aug 2011
    Posts
    431
    Thanks given
    5
    Thanks received
    8
    Rep Power
    11
    Still Unresolved
    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. Client Error While Logging In [REP++]
    By turm0ilz in forum Help
    Replies: 2
    Last Post: 01-21-2012, 02:33 AM
  2. Replies: 6
    Last Post: 10-26-2011, 09:55 AM
  3. Logging Out in Combat - REP++
    By Recursion in forum Help
    Replies: 5
    Last Post: 10-31-2010, 04:53 PM
  4. Logging in Error [HELP][REP++]
    By Ophion in forum Help
    Replies: 19
    Last Post: 01-18-2010, 08:47 PM
  5. Error when logging on - [REP++]
    By Savy` in forum Help
    Replies: 3
    Last Post: 12-16-2009, 11:27 PM
Tags for this Thread

View Tag Cloud

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •