Thread: 317 follow noclip

Results 1 to 5 of 5
  1. #1 317 follow noclip 
    Registered Member
    Join Date
    Aug 2014
    Posts
    44
    Thanks given
    1
    Thanks received
    0
    Rep Power
    11
    Is there a way to fix the follow "noclip glitch"? I mean when you follow someone that is in a building you magically walk through a wall to get them...Is there a way to fix that?
    Reply With Quote  
     

  2. #2  
    Registered Member
    Stanaveli's Avatar
    Join Date
    Aug 2014
    Posts
    1,490
    Thanks given
    184
    Thanks received
    653
    Rep Power
    1338
    Have proper clipping lol..
    Reply With Quote  
     

  3. Thankful users:


  4. #3  
    Ex Rune-Scaper

    Join Date
    Jun 2008
    Posts
    3,534
    Thanks given
    457
    Thanks received
    1,257
    Rep Power
    990
    Assuming you're using a PI, try this.

    Replace your method in PlayerAssistant.java with this.

    Code:
    	public void followPlayer() {
    		if (PlayerHandler.players[c.followId] == null
    				|| PlayerHandler.players[c.followId].isDead) {
    			resetFollow();
    			return;
    		}
    		if (c.underAttackBy > 0 || c.underAttackBy2 > 0) {
    			return;
    		}
    		if (c.freezeTimer > 0) {
    			return;
    		}
    		if (c.isDead || c.playerLevel[3] <= 0)
    			return;
    
    		int otherX = PlayerHandler.players[c.followId].getX();
    		int otherY = PlayerHandler.players[c.followId].getY();
    
    		boolean sameSpot = (c.absX == otherX && c.absY == otherY);
    
    		boolean hallyDistance = c.goodDistance(otherX, otherY, c.getX(),
    				c.getY(), 2);
    
    		boolean rangeWeaponDistance = c.goodDistance(otherX, otherY, c.getX(),
    				c.getY(), 4);
    		boolean bowDistance = c.goodDistance(otherX, otherY, c.getX(),
    				c.getY(), 6);
    		boolean mageDistance = c.goodDistance(otherX, otherY, c.getX(),
    				c.getY(), 7);
    
    		boolean castingMagic = (c.usingMagic || c.mageFollow || c.autocasting || c.spellId > 0)
    				&& mageDistance;
    		boolean playerRanging = (c.usingRangeWeapon) && rangeWeaponDistance;
    		boolean playerBowOrCross = (c.usingBow) && bowDistance;
    		boolean ranging = false;
    		for (int bowId : c.BOWS) {
    			if (c.playerEquipment[c.playerWeapon] == bowId) {
    				ranging = true;
    			}
    		}
    
    		if (!c.goodDistance(otherX, otherY, c.getX(), c.getY(), 25)) {
    			c.followId = 0;
    			resetFollow();
    			return;
    		}
    		c.faceUpdate(c.followId + 32768);
    		if (!sameSpot) {
    			if (c.playerIndex > 0 && !c.usingSpecial && c.inWild()) {
    				if (c.usingSpecial && (playerRanging || playerBowOrCross)) {
    					c.stopMovement();
    					return;
    				}
    				if (castingMagic || playerRanging || playerBowOrCross
    						|| (ranging && bowDistance)) {
    					c.stopMovement();
    					return;
    				}
    				if (c.getCombat().usingHally() && hallyDistance) {
    					c.stopMovement();
    					return;
    				}
    			}
    		}
    		if (otherX == c.absX && otherY == c.absY) {
    			int r = Misc.random(3);
    			switch (r) {
    			case 0:
    				walkTo(0, -1);
    				break;
    			case 1:
    				walkTo(0, 1);
    				break;
    			case 2:
    				walkTo(1, 0);
    				break;
    			case 3:
    				walkTo(-1, 0);
    				break;
    			}
    		} else if (c.isRunning2) {
    			if (otherY > c.getY() && otherX == c.getX()) {
    				playerWalk(otherX, otherY - 1);
    			} else if (otherY < c.getY() && otherX == c.getX()) {
    				playerWalk(otherX, otherY + 1);
    			} else if (otherX > c.getX() && otherY == c.getY()) {
    				playerWalk(otherX - 1, otherY);
    			} else if (otherX < c.getX() && otherY == c.getY()) {
    				playerWalk(otherX + 1, otherY);
    			} else if (otherX < c.getX() && otherY < c.getY()) {
    				playerWalk(otherX + 1, otherY + 1);
    			} else if (otherX > c.getX() && otherY > c.getY()) {
    				playerWalk(otherX - 1, otherY - 1);
    			} else if (otherX < c.getX() && otherY > c.getY()) {
    				playerWalk(otherX + 1, otherY - 1);
    			} else if (otherX > c.getX() && otherY < c.getY()) {
    				playerWalk(otherX + 1, otherY - 1);
    			}
    		} else {
    			if (otherY > c.getY() && otherX == c.getX()) {
    				playerWalk(otherX, otherY - 1);
    			} else if (otherY < c.getY() && otherX == c.getX()) {
    				playerWalk(otherX, otherY + 1);
    			} else if (otherX > c.getX() && otherY == c.getY()) {
    				playerWalk(otherX - 1, otherY);
    			} else if (otherX < c.getX() && otherY == c.getY()) {
    				playerWalk(otherX + 1, otherY);
    			} else if (otherX < c.getX() && otherY < c.getY()) {
    				playerWalk(otherX + 1, otherY + 1);
    			} else if (otherX > c.getX() && otherY > c.getY()) {
    				playerWalk(otherX - 1, otherY - 1);
    			} else if (otherX < c.getX() && otherY > c.getY()) {
    				playerWalk(otherX + 1, otherY - 1);
    			} else if (otherX > c.getX() && otherY < c.getY()) {
    				playerWalk(otherX - 1, otherY + 1);
    			}
    		}
    		c.faceUpdate(c.followId + 32768);
    	}
    You should get this.

    http://i.imgur.com/oBcRAI8.gifv
    Attached image
    Reply With Quote  
     

  5. Thankful user:


  6. #4  
    Registered Member
    Join Date
    Aug 2014
    Posts
    44
    Thanks given
    1
    Thanks received
    0
    Rep Power
    11
    Quote Originally Posted by 7Winds View Post
    Assuming you're using a PI, try this.

    Replace your method in PlayerAssistant.java with this.

    Code:
    	public void followPlayer() {
    		if (PlayerHandler.players[c.followId] == null
    				|| PlayerHandler.players[c.followId].isDead) {
    			resetFollow();
    			return;
    		}
    		if (c.underAttackBy > 0 || c.underAttackBy2 > 0) {
    			return;
    		}
    		if (c.freezeTimer > 0) {
    			return;
    		}
    		if (c.isDead || c.playerLevel[3] <= 0)
    			return;
    
    		int otherX = PlayerHandler.players[c.followId].getX();
    		int otherY = PlayerHandler.players[c.followId].getY();
    
    		boolean sameSpot = (c.absX == otherX && c.absY == otherY);
    
    		boolean hallyDistance = c.goodDistance(otherX, otherY, c.getX(),
    				c.getY(), 2);
    
    		boolean rangeWeaponDistance = c.goodDistance(otherX, otherY, c.getX(),
    				c.getY(), 4);
    		boolean bowDistance = c.goodDistance(otherX, otherY, c.getX(),
    				c.getY(), 6);
    		boolean mageDistance = c.goodDistance(otherX, otherY, c.getX(),
    				c.getY(), 7);
    
    		boolean castingMagic = (c.usingMagic || c.mageFollow || c.autocasting || c.spellId > 0)
    				&& mageDistance;
    		boolean playerRanging = (c.usingRangeWeapon) && rangeWeaponDistance;
    		boolean playerBowOrCross = (c.usingBow) && bowDistance;
    		boolean ranging = false;
    		for (int bowId : c.BOWS) {
    			if (c.playerEquipment[c.playerWeapon] == bowId) {
    				ranging = true;
    			}
    		}
    
    		if (!c.goodDistance(otherX, otherY, c.getX(), c.getY(), 25)) {
    			c.followId = 0;
    			resetFollow();
    			return;
    		}
    		c.faceUpdate(c.followId + 32768);
    		if (!sameSpot) {
    			if (c.playerIndex > 0 && !c.usingSpecial && c.inWild()) {
    				if (c.usingSpecial && (playerRanging || playerBowOrCross)) {
    					c.stopMovement();
    					return;
    				}
    				if (castingMagic || playerRanging || playerBowOrCross
    						|| (ranging && bowDistance)) {
    					c.stopMovement();
    					return;
    				}
    				if (c.getCombat().usingHally() && hallyDistance) {
    					c.stopMovement();
    					return;
    				}
    			}
    		}
    		if (otherX == c.absX && otherY == c.absY) {
    			int r = Misc.random(3);
    			switch (r) {
    			case 0:
    				walkTo(0, -1);
    				break;
    			case 1:
    				walkTo(0, 1);
    				break;
    			case 2:
    				walkTo(1, 0);
    				break;
    			case 3:
    				walkTo(-1, 0);
    				break;
    			}
    		} else if (c.isRunning2) {
    			if (otherY > c.getY() && otherX == c.getX()) {
    				playerWalk(otherX, otherY - 1);
    			} else if (otherY < c.getY() && otherX == c.getX()) {
    				playerWalk(otherX, otherY + 1);
    			} else if (otherX > c.getX() && otherY == c.getY()) {
    				playerWalk(otherX - 1, otherY);
    			} else if (otherX < c.getX() && otherY == c.getY()) {
    				playerWalk(otherX + 1, otherY);
    			} else if (otherX < c.getX() && otherY < c.getY()) {
    				playerWalk(otherX + 1, otherY + 1);
    			} else if (otherX > c.getX() && otherY > c.getY()) {
    				playerWalk(otherX - 1, otherY - 1);
    			} else if (otherX < c.getX() && otherY > c.getY()) {
    				playerWalk(otherX + 1, otherY - 1);
    			} else if (otherX > c.getX() && otherY < c.getY()) {
    				playerWalk(otherX + 1, otherY - 1);
    			}
    		} else {
    			if (otherY > c.getY() && otherX == c.getX()) {
    				playerWalk(otherX, otherY - 1);
    			} else if (otherY < c.getY() && otherX == c.getX()) {
    				playerWalk(otherX, otherY + 1);
    			} else if (otherX > c.getX() && otherY == c.getY()) {
    				playerWalk(otherX - 1, otherY);
    			} else if (otherX < c.getX() && otherY == c.getY()) {
    				playerWalk(otherX + 1, otherY);
    			} else if (otherX < c.getX() && otherY < c.getY()) {
    				playerWalk(otherX + 1, otherY + 1);
    			} else if (otherX > c.getX() && otherY > c.getY()) {
    				playerWalk(otherX - 1, otherY - 1);
    			} else if (otherX < c.getX() && otherY > c.getY()) {
    				playerWalk(otherX + 1, otherY - 1);
    			} else if (otherX > c.getX() && otherY < c.getY()) {
    				playerWalk(otherX - 1, otherY + 1);
    			}
    		}
    		c.faceUpdate(c.followId + 32768);
    	}
    You should get this.

    http://i.imgur.com/oBcRAI8.gifv




    HI thanks for the Code, just can't seem to find where to add it exactly, got 2 mins over Teamviewer to add it correctly? apriciated my friend.

    if you should have 2 mins to spare me, would you like to add my skype [ Sammy.dennis15] so i can give you my Team viewer id and password?
    Reply With Quote  
     

  7. #5  
    Ex Rune-Scaper

    Join Date
    Jun 2008
    Posts
    3,534
    Thanks given
    457
    Thanks received
    1,257
    Rep Power
    990
    Quote Originally Posted by Wopean View Post
    HI thanks for the Code, just can't seem to find where to add it exactly, got 2 mins over Teamviewer to add it correctly? apriciated my friend.

    if you should have 2 mins to spare me, would you like to add my skype [ Sammy.dennis15] so i can give you my Team viewer id and password?
    Just replace your

    Code:
    void followPlayer()
    with mine
    Attached image
    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. [667] follow noclipping - how to fix
    By the aa pker in forum Help
    Replies: 0
    Last Post: 12-19-2014, 06:04 PM
  2. Replies: 7
    Last Post: 08-12-2012, 06:42 AM
  3. [508] Clipped following, ::noclip fix
    By Vincent in forum Show-off
    Replies: 22
    Last Post: 09-06-2010, 03:26 PM
  4. Cheap noclip fix for player following
    By Martin in forum Configuration
    Replies: 38
    Last Post: 03-14-2009, 11:55 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
  •