Thread: 718 - 70% Wilderness Agility Course

Page 1 of 4 123 ... LastLast
Results 1 to 10 of 33
  1. #1 718 - 70% Wilderness Agility Course 
    New Project
    Ben_U's Avatar
    Join Date
    Dec 2011
    Age
    31
    Posts
    1,711
    Thanks given
    109
    Thanks received
    360
    Rep Power
    66
    I haven't figured out a few things. Walking up from the gate is glitchy, the stepping stones are a tad bit off and the cliff has a 1-2 second delay that gets annoying if your a player trying to concentrate trying to level up at the course and just trying to get laps done. Post a reply here if any of you can add or change things to make it better. And yes, most of it was copied from other agility files so it took me 10 minutes to change some stuff around.

    Updated: In My Opinion = 95% (Whole Course)

    Fixes:
    Fixed it when a game message at the rope said you are too far away, now it works clicking on it anywhere.
    Cjay's Stepping Stone method
    You had to be at a certain spot near the log to walk across, now you can click on it anywhere.
    Fixed it where if you clicked on the cliff from above, it would initiate the "ClimbCliff", now it requires you having to be below.

    2/5/2013 Fix:
    The fix regarding walking up towards the agility course has been fixed (Without the gates working)

    WildernessAgility.java
    Code:
    package com.rs.game.player.content.agility;
    
    import com.rs.game.Animation;
    import com.rs.game.ForceMovement;
    import com.rs.game.World;
    import com.rs.game.WorldObject;
    import com.rs.game.WorldTile;
    import com.rs.game.player.Player;
    import com.rs.game.player.Skills;
    import com.rs.game.tasks.WorldTask;
    import com.rs.game.tasks.WorldTasksManager;
    
    public class WildernessAgility {
    
    	/*
    	 * Author Bandoswhips
    	 */
    
    	public static void GateWalk(final Player player, final WorldObject object) {
    		if(!Agility.hasLevel(player, 35))
    			return;
    		if(player.getY() != object.getY()) {
    			player.addWalkSteps(2998, 3916, 0, false);
    			player.lock(2);
    			WorldTasksManager.schedule(new WorldTask() {
    
    				@Override
    				public void run() {
    					GateWalkEnd(player, object);
    				}
    			}, 1);
    		}else
    			GateWalkEnd(player, object);
    	}
    
    	private static void GateWalkEnd(final Player player, WorldObject object) {
    		player.getPackets().sendGameMessage("You walk carefully across the path...", true);
    		player.lock(17);
    		player.setNextAnimation(new Animation(9908));
    		final WorldTile toTile = new WorldTile(object.getX(), 3931, object.getPlane());
    		player.setNextForceMovement(new ForceMovement(player, 0, toTile, 16, ForceMovement.NORTH));
    		WorldTasksManager.schedule(new WorldTask() {
    
    			@Override
    			public void run() {
    				player.setNextWorldTile(toTile);
    				player.getPackets().sendGameMessage("... and make it safely to the other side.", true);
    			}	
    
    		}, 15);
    	}
    
    	public static void enterObstaclePipe(final Player player, int objectX, int objectY) {
    		if(!Agility.hasLevel(player, 35))
    			return;
    		final boolean running = player.getRun();
    		player.setRunHidden(false);
    		player.lock(8);
    		player.addWalkSteps(objectX, objectY == 3938 ? 3950 : 3937, -1, false);
    		player.getPackets().sendGameMessage(
    				"You pulled yourself through the pipes.", true);
    		WorldTasksManager.schedule(new WorldTask() {
    			boolean secondloop;
    
    			@Override
    			public void run() {
    				if (!secondloop) {
    					secondloop = true;
    					player.getAppearence().setRenderEmote(295);
    				} else {
    					player.getAppearence().setRenderEmote(-1);
    					setWildernessStage(player, 0);
    					player.setRunHidden(running);
    					player.getSkills().addXp(Skills.AGILITY, 7);
    					stop();
    				}
    			}
    		}, 0, 6);
    	}
    
    	public static void swingOnRopeSwing(final Player player, WorldObject object) {
    		if(!Agility.hasLevel(player, 35))
    			return;
    		if(player.getY() != 3953)
    			player.addWalkSteps(3005, 3953, 0, false);
    		player.lock(4);
    		player.setNextAnimation(new Animation(751));
    		World.sendObjectAnimation(player, object, new Animation(497));
    		final WorldTile toTile = new WorldTile(object.getX(), 3958, object.getPlane());
    		player.setNextForceMovement(new ForceMovement(player, 1, toTile, 3, ForceMovement.NORTH));
    		player.getSkills().addXp(Skills.AGILITY, 22);
    		player.getPackets().sendGameMessage("You skilfully swing across.", true);
    		WorldTasksManager.schedule(new WorldTask() {
    
    			@Override
    			public void run() {
    				player.setNextWorldTile(toTile);
    				if (getWildernessStage(player) == 0)
    					setWildernessStage(player, 1);
    				player.getSkills().addXp(Skills.AGILITY, 15.5);
    			}	
    
    		}, 1);
    	}
    
    	/*
    	 * Stepping Stone Method by Cjay0091
    	 */
    	public static void crossSteppingPalletes(final Player player, final WorldObject object) {
    		if (player.getY() != object.getY())
    			return;
    		player.lock(6);
    		WorldTasksManager.schedule(new WorldTask() {
    
    			int x;
    
    			@Override
    			public void run() {
    				if (x++ == 6) {
    					stop();
    					return;
    				}
    				final WorldTile toTile = new WorldTile(3002 - x, player.getY(), player.getPlane());
    				player.setNextForceMovement(new ForceMovement(toTile, 1, ForceMovement.WEST));
    				player.setNextAnimation(new Animation(741));
    				WorldTasksManager.schedule(new WorldTask() {
    
    					@Override
    					public void run() {
    						player.setNextWorldTile(toTile);
    					}
    				}, 0);
    			}	
    		}, 2, 1);
    		player.getSkills().addXp(Skills.AGILITY, 20);
    		if (getWildernessStage(player) == 1)
    			setWildernessStage(player, 2);
    	}
    
    	public static void walkLog(final Player player) {
    		if (player.getX() != 3002 || player.getY() != 3945)
    			player.addWalkSteps(3002, 3945, -1, false);
    		final boolean running = player.getRun();
    		player.setRunHidden(false);
    		player.lock(8);
    		player.addWalkSteps(2994, 3945, -1, false);
    		player.getPackets().sendGameMessage(
    				"You walk carefully across the log...", true);
    		WorldTasksManager.schedule(new WorldTask() {
    			boolean secondloop;
    
    			@Override
    			public void run() {
    				if (!secondloop) {
    					secondloop = true;
    					player.getAppearence().setRenderEmote(155);
    				} else {
    					player.getAppearence().setRenderEmote(-1);
    					player.setRunHidden(running);
    					player.getSkills().addXp(Skills.AGILITY, 7.5);
    					player.getPackets().sendGameMessage(
    							"... and make it safely to the other side.", true);
    					stop();
    					if (getWildernessStage(player) == 2)
    						setWildernessStage(player, 3);
    				}
    			}
    		}, 0, 6);
    	}
    
    	public static void climbCliff(final Player player, WorldObject object) {
    		if (player.getY() != 3939) {
    			return;
    		}
    		player.setNextAnimation(new Animation(3378));
    		final WorldTile toTile = new WorldTile(player.getX(), 3935, 0);
    
    		player.getPackets().sendGameMessage("You climb up the rock.", true);
    		WorldTasksManager.schedule(new WorldTask() {
    			@Override
    			public void run() {
    				player.setNextWorldTile(toTile);
    				player.setNextAnimation(new Animation(-1));
    				player.getAppearence().setRenderEmote(-1);
    				stop();
    				if (getWildernessStage(player) == 3) {
    					removeWildernessStage(player);
    					player.getSkills().addXp(Skills.AGILITY, 50.5);
    
    				}
    			}	
    		}, 6);
    	}
    
    	public static void removeWildernessStage(Player player) {
    		player.getTemporaryAttributtes().remove("WildernessCourse");
    	}
    
    	public static void setWildernessStage(Player player, int stage) {
    		player.getTemporaryAttributtes().put("WildernessCourse", stage);
    	}
    
    	public static int getWildernessStage(Player player) {
    		Integer stage = (Integer) player.getTemporaryAttributtes().get(
    				"WildernessCourse");
    		if (stage == null)
    			return -1;
    		return stage;
    	}
    }
    ObjectHandler.java
    Code:
    				else if (id == 65365)
    					WildernessAgility.GateWalk(player, object);
    				else if (id == 65734)
    					WildernessAgility.climbCliff(player, object);
    				else if (id == 65362)
    					WildernessAgility.enterObstaclePipe(player, object.getX(), object.getY());
    				else if (id == 64696)
    					WildernessAgility.swingOnRopeSwing(player, object);
    				else if (id == 64698)
    					WildernessAgility.walkLog(player);
    				else if (id == 64699)
    					WildernessAgility.crossSteppingPalletes(player, object);
    Credits: Bandoswhips
    Cjay - For the stepping stone method
    Reply With Quote  
     


  2. #2  
    Registered Member Lord's Avatar
    Join Date
    Jul 2012
    Posts
    603
    Thanks given
    5
    Thanks received
    20
    Rep Power
    10
    Awesome, good luck on making a 100% if u will .
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Registered Member PavSwag's Avatar
    Join Date
    Jul 2012
    Posts
    1,146
    Thanks given
    323
    Thanks received
    99
    Rep Power
    57
    Quote Originally Posted by bandoswhips View Post
    I haven't figured out a few things. Walking up from the gate is glitchy, the stepping stones are a tad bit off and the cliff has a 1-2 second delay that gets annoying if your a player trying to concentrate trying to level up at the course and just trying to get laps done. Post a reply here if any of you can add or change things to make it better. And yes, most of it was copied from other agility files so it took me 10 minutes to change some stuff around.

    WildernessAgility.java
    Code:
    package com.rs.game.player.content.agility;
    
    import com.rs.game.Animation;
    import com.rs.game.ForceMovement;
    import com.rs.game.World;
    import com.rs.game.WorldObject;
    import com.rs.game.WorldTile;
    import com.rs.game.player.Player;
    import com.rs.game.player.Skills;
    import com.rs.game.tasks.WorldTask;
    import com.rs.game.tasks.WorldTasksManager;
    
    public class WildernessAgility {
    
    	/*
    	 * Author Bandoswhips
    	 */
    
    	public static void GateWalk(final Player player) {
    		if (player.getX() != 2998 || player.getY() != 3915) {
    			return;
    		}
    		final boolean running = player.getRun();
    		player.setRunHidden(false);
    		player.lock(8);
    		player.addWalkSteps(2998, 3931, -1, false);
    		player.getPackets().sendGameMessage("You walk carefully upwards to the Agility Arena");
    		WorldTasksManager.schedule(new WorldTask() {
    			boolean secondloop;
    
    			@Override
    			public void run() {
    				if (!secondloop) {
    					secondloop = true;
    					player.getAppearence().setRenderEmote(155);
    				} else {
    					player.getAppearence().setRenderEmote(-1);
    					player.setRunHidden(running);
    					stop();
    				}
    			}
    		}, 0, 6);
    	}
    
    	public static void enterObstaclePipe(final Player player, int objectX, int objectY) {
    		if(!Agility.hasLevel(player, 35))
    			return;
    		final boolean running = player.getRun();
    		player.setRunHidden(false);
    		player.lock(8);
    		player.addWalkSteps(objectX, objectY == 3938 ? 3950 : 3937, -1, false);
    		player.getPackets().sendGameMessage(
    				"You pulled yourself through the pipes.", true);
    		WorldTasksManager.schedule(new WorldTask() {
    			boolean secondloop;
    
    			@Override
    			public void run() {
    				if (!secondloop) {
    					secondloop = true;
    					player.getAppearence().setRenderEmote(295);
    				} else {
    					player.getAppearence().setRenderEmote(-1);
    					setWildernessStage(player, 0);
    					player.setRunHidden(running);
    					player.getSkills().addXp(Skills.AGILITY, 7);
    					stop();
    				}
    			}
    		}, 0, 6);
    	}
    
    	public static void swingOnRopeSwing(final Player player, WorldObject object) {
    		if(!Agility.hasLevel(player, 35))
    			return;
    		if(player.getY() != 3953) {
    			player.getPackets().sendGameMessage("You'll need to get closer to make this jump.");
    			return;
    		}
    		player.lock(4);
    		player.setNextAnimation(new Animation(751));
    		World.sendObjectAnimation(player, object, new Animation(497));
    		final WorldTile toTile = new WorldTile(object.getX(), 3958, object.getPlane());
    		player.setNextForceMovement(new ForceMovement(player, 1, toTile, 3, ForceMovement.NORTH));
    		player.getSkills().addXp(Skills.AGILITY, 22);
    		player.getPackets().sendGameMessage("You skilfully swing across.", true);
    		WorldTasksManager.schedule(new WorldTask() {
    
    			@Override
    			public void run() {
    				player.setNextWorldTile(toTile);
    				if (getWildernessStage(player) == 0)
    					setWildernessStage(player, 1);
    				player.getSkills().addXp(Skills.AGILITY, 15.5);
    			}	
    
    		}, 1);
    	}
    
    	public static void PreStepStone(final Player player, final WorldObject object) {
    		if(!Agility.hasLevel(player, 35)) {
    			return;
    		}
    		player.lock(3);
    		player.setNextAnimation(new Animation(769));
    		final WorldTile toTile = new WorldTile(3001, 3960, 0);
    		player.setNextForceMovement(new ForceMovement(player, 0, toTile, 1, ForceMovement.WEST));
    		WorldTasksManager.schedule(new WorldTask() {
    			int stage;
    			@Override
    			public void run() {
    				if(stage == 1) {
    					player.setNextWorldTile(toTile);
    					player.setNextAnimation(new Animation(-1));
    					StepStone(player,object);
    					stop();
    				}
    				stage++;
    			}
    
    		}, 0, 1);
    	}
    
    	public static void StepStone(final Player player, final WorldObject object) {
    		player.lock(3);
    		player.setNextAnimation(new Animation(769));
    		final WorldTile NextTile = new WorldTile(3000, 3960, 0);
    		player.setNextForceMovement(new ForceMovement(player, 0, NextTile, 1, ForceMovement.WEST));
    		WorldTasksManager.schedule(new WorldTask() {
    			int stage;
    			@Override
    			public void run() {
    				if(stage == 1) {
    					player.setNextWorldTile(NextTile);
    					player.setNextAnimation(new Animation(-1));
    					StepStone1(player,object);
    					stop();
    				}
    				stage++;
    			}
    
    		}, 0, 1);
    	}
    
    	public static void StepStone1(final Player player, final WorldObject object) {
    		player.lock(3);
    		player.setNextAnimation(new Animation(769));
    		final WorldTile NextTile = new WorldTile(2999, 3960, 0);
    		player.setNextForceMovement(new ForceMovement(player, 0, NextTile, 1, ForceMovement.WEST));
    		WorldTasksManager.schedule(new WorldTask() {
    			int stage;
    			@Override
    			public void run() {
    				if(stage == 1) {
    					player.setNextWorldTile(NextTile);
    					player.setNextAnimation(new Animation(-1));
    					StepStone2(player,object);
    					stop();
    				}
    				stage++;
    			}
    
    		}, 0, 1);
    	}
    
    	public static void StepStone2(final Player player, final WorldObject object) {
    		player.lock(3);
    		player.setNextAnimation(new Animation(769));
    		final WorldTile NextTile = new WorldTile(2998, 3960, 0);
    		player.setNextForceMovement(new ForceMovement(player, 0, NextTile, 1, ForceMovement.WEST));
    		WorldTasksManager.schedule(new WorldTask() {
    			int stage;
    			@Override
    			public void run() {
    				if(stage == 1) {
    					player.setNextWorldTile(NextTile);
    					player.setNextAnimation(new Animation(-1));
    					StepStone3(player,object);
    					stop();
    				}
    				stage++;
    			}
    
    		}, 0, 1);
    	}
    
    	public static void StepStone3(final Player player, final WorldObject object) {
    		player.lock(3);
    		player.setNextAnimation(new Animation(769));
    		final WorldTile NextTile = new WorldTile(2997, 3960, 0);
    		player.setNextForceMovement(new ForceMovement(player, 0, NextTile, 1, ForceMovement.WEST));
    		WorldTasksManager.schedule(new WorldTask() {
    			int stage;
    			@Override
    			public void run() {
    				if(stage == 1) {
    					player.setNextWorldTile(NextTile);
    					player.setNextAnimation(new Animation(-1));
    					StepStone4(player,object);
    					stop();
    				}
    				stage++;
    			}
    
    		}, 0, 1);
    	}
    
    	public static void StepStone4(final Player player, final WorldObject object) {
    		player.lock(3);
    		player.setNextAnimation(new Animation(769));
    		final WorldTile LastTile = new WorldTile(2996, 3960, 0);
    		player.setNextForceMovement(new ForceMovement(player, 0, LastTile, 1, ForceMovement.WEST));
    		WorldTasksManager.schedule(new WorldTask() {
    			int stage;
    			@Override
    			public void run() {
    				if(stage == 1) {
    					player.setNextWorldTile(LastTile);
    					player.setNextAnimation(new Animation(-1));
    					player.getAppearence().setRenderEmote(-1);
    					player.getSkills().addXp(Skills.AGILITY, 7.5);
    					stop();
    					if (getWildernessStage(player) == 1)
    						setWildernessStage(player, 2);
    				}
    				stage++;
    			}
    
    		}, 0, 1);
    	}
    
    	public static void walkLog(final Player player) {
    		if (player.getX() != 3002 || player.getY() != 3945) {
    			player.getPackets().sendGameMessage("You need to be next to the log or you'll slip.");
    			return;
    		}
    		final boolean running = player.getRun();
    		player.setRunHidden(false);
    		player.lock(8);
    		player.addWalkSteps(2994, 3945, -1, false);
    		player.getPackets().sendGameMessage(
    				"You walk carefully across the log...", true);
    		WorldTasksManager.schedule(new WorldTask() {
    			boolean secondloop;
    
    			@Override
    			public void run() {
    				if (!secondloop) {
    					secondloop = true;
    					player.getAppearence().setRenderEmote(155);
    				} else {
    					player.getAppearence().setRenderEmote(-1);
    					player.setRunHidden(running);
    					player.getSkills().addXp(Skills.AGILITY, 7.5);
    					player.getPackets().sendGameMessage(
    							"... and make it safely to the other side.", true);
    					stop();
    					if (getWildernessStage(player) == 2)
    						setWildernessStage(player, 3);
    				}
    			}
    		}, 0, 6);
    	}
    
    	public static void climbCliff(final Player player, WorldObject object) {
    		player.setNextAnimation(new Animation(3378));
    		final WorldTile toTile = new WorldTile(2995, 3935, 0);
    
    		player.getPackets().sendGameMessage("You climb up the rock.", true);
    		WorldTasksManager.schedule(new WorldTask() {
    			@Override
    			public void run() {
    				player.setNextWorldTile(toTile);
    				stop();
    				if (getWildernessStage(player) == 3) {
    					removeWildernessStage(player);
    					player.getSkills().addXp(Skills.AGILITY, 50.5);
    
    				}
    			}	
    		}, 6);
    	}
    
    	public static void removeWildernessStage(Player player) {
    		player.getTemporaryAttributtes().remove("WildernessCourse");
    	}
    
    	public static void setWildernessStage(Player player, int stage) {
    		player.getTemporaryAttributtes().put("WildernessCourse", stage);
    	}
    
    	public static int getWildernessStage(Player player) {
    		Integer stage = (Integer) player.getTemporaryAttributtes().get(
    				"WildernessCourse");
    		if (stage == null)
    			return -1;
    		return stage;
    	}
    }
    ObjectHandler.java
    Code:
    				else if (id == 65365)
    					WildernessAgility.GateWalk(player);
    				else if (id == 65734)
    					WildernessAgility.climbCliff(player, object);
    				else if (id == 65362)
    					WildernessAgility.enterObstaclePipe(player, object.getX(), object.getY());
    				else if (id == 64696)
    					WildernessAgility.swingOnRopeSwing(player, object);
    				else if (id == 64698)
    					WildernessAgility.walkLog(player);
    				else if (id == 64699)
    					WildernessAgility.PreStepStone(player, object);
    Ty, Using
    Attached image
    changing osrs forever
    Reply With Quote  
     

  5. Thankful user:


  6. #4  
    New Project
    Ben_U's Avatar
    Join Date
    Dec 2011
    Age
    31
    Posts
    1,711
    Thanks given
    109
    Thanks received
    360
    Rep Power
    66
    Quote Originally Posted by Lord View Post
    Awesome, good luck on making a 100% if u will .
    Yea i will have to look into it. I been up the last few days just testing out random crap and wanted to rush this so i will definitely work on this to make it better later.
    Reply With Quote  
     

  7. Thankful user:


  8. #5  
    Donator

    Josh''s Avatar
    Join Date
    Jul 2012
    Age
    26
    Posts
    2,036
    Thanks given
    1,119
    Thanks received
    520
    Rep Power
    192
    Il try and make it 100% Thanks for this havent even got round to doing that yet though.
    Reply With Quote  
     

  9. Thankful user:


  10. #6  
    Banned
    Join Date
    Oct 2012
    Posts
    233
    Thanks given
    97
    Thanks received
    136
    Rep Power
    0
    Instead of making 5 methods for stone jumping, why don't you just make one?

    Code:
    	public static void stoneJump(final Player player, final WorldObject object, final int number) {
    		if (!Agility.hasLevel(player, 35) || number > 5) {
    			return;
    		}
    		player.lock(3);
    		player.setNextAnimation(new Animation(769));
    		final WorldTile toTile = new WorldTile(3001 - (1 * number), 3960, 0);
    		player.setNextForceMovement(new ForceMovement(player, 0, toTile, 1, ForceMovement.WEST));
    		player.setNextFaceWorldTile(new WorldTile(3001 - (2 * number), 3960, 0));
    		WorldTasksManager.schedule(new WorldTask() {
    			int loop;
    			
    			@Override
    			public void run() {
    				if (loop == 1) {
    					player.setNextWorldTile(toTile);
    					stoneJump(player, object, number+1);
    					stop();
    				}
    				loop++;
    			}
    
    		}, 0, 1);
    	}
    Reply With Quote  
     

  11. Thankful users:


  12. #7  
    Registered Member

    Join Date
    Jan 2013
    Age
    26
    Posts
    787
    Thanks given
    174
    Thanks received
    174
    Rep Power
    374
    Awesome, gj mate
    Reply With Quote  
     

  13. Thankful user:


  14. #8  
    Banned
    Join Date
    Nov 2012
    Posts
    122
    Thanks given
    17
    Thanks received
    11
    Rep Power
    0
    Quote Originally Posted by Ternary Operator View Post
    Instead of making 5 methods for stone jumping, why don't you just make one?

    Code:
    	public static void stoneJump(final Player player, final WorldObject object, final int number) {
    		if (!Agility.hasLevel(player, 35) || number > 5) {
    			return;
    		}
    		player.lock(3);
    		player.setNextAnimation(new Animation(769));
    		final WorldTile toTile = new WorldTile(3001 - (1 * number), 3960, 0);
    		player.setNextForceMovement(new ForceMovement(player, 0, toTile, 1, ForceMovement.WEST));
    		player.setNextFaceWorldTile(new WorldTile(3001 - (2 * number), 3960, 0));
    		WorldTasksManager.schedule(new WorldTask() {
    			int loop;
    			
    			@Override
    			public void run() {
    				if (loop == 1) {
    					player.setNextWorldTile(toTile);
    					stoneJump(player, object, number+1);
    					stop();
    				}
    				loop++;
    			}
    
    		}, 0, 1);
    	}
    That will not work
    Reply With Quote  
     

  15. Thankful users:


  16. #9  
    Banned
    Join Date
    Oct 2012
    Posts
    233
    Thanks given
    97
    Thanks received
    136
    Rep Power
    0
    Quote Originally Posted by Ozie View Post
    That will not work
    It does work you idiot. I have it running on my server.
    Reply With Quote  
     

  17. Thankful users:


  18. #10  
    Registered Member

    Join Date
    Sep 2009
    Posts
    1,919
    Thanks given
    480
    Thanks received
    1,687
    Rep Power
    1262
    Quote Originally Posted by Ternary Operator View Post
    It does work you idiot. I have it running on my server.
    Even if it does work still badly done, should check it out before you call other people idiots.
    Attached image
    Reply With Quote  
     

  19. Thankful users:


Page 1 of 4 123 ... 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. Replies: 0
    Last Post: 01-29-2013, 01:47 PM
  2. 317 Agility help.
    By Mystical John in forum Help
    Replies: 1
    Last Post: 05-15-2011, 12:49 PM
  3. Replies: 18
    Last Post: 09-16-2010, 01:53 AM
  4. Replies: 17
    Last Post: 01-26-2010, 11:04 PM
  5. Replies: 4
    Last Post: 04-16-2009, 07:11 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
  •