Jump to content

Botre

Members
  • Posts

    5883
  • Joined

  • Last visited

  • Days Won

    18
  • Feedback

    100%

Everything posted by Botre

  1. Please do elaborate then ^^
  2. script.getMap().distance(bestPosition) <= MethodProvider.gRandom(5, 3) fixed I didn't add tile deviation because I usually make it choose from a list of paths therefore reducing the probability of hot tile detection. though I will probably add that feature soon, it will however require collision flag checking and therefore even more complexity, the thing you criticized me for in the first place :p
  3. When trying to emulate human behavior one can't be complex enough
  4. The imports in question have their own custom imports, etc... Won't be giving out my whole library ^^
  5. package pathwalking.Botrepreneur; import java.util.LinkedList; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.util.LocalPathFinder; import org.osbot.rs07.input.mouse.MiniMapTileDestination; import org.osbot.rs07.script.MethodProvider; import org.osbot.rs07.script.Script; import sleep.Botrepreneur.SleepMethods; import time.Botrepreneur.Timer; import energy.Botrepreneur.RunMethods; public class PathWalkMethods { /** * @author Botrepreneur * @Version: 00.41 *Deux* */ public static boolean traversePath(Script script, Position[] path, boolean reversed, int toggleRunOnAt, int toggleRunOffAt, boolean toggleRunOnInCombat, long timeout) throws InterruptedException { Timer timer = new Timer(); int attempts = 0; while ((!reversed ? !script.myPosition().equals(path[path.length - 1]) : !script.myPosition().equals(path[0])) && timer.getElapsed() < timeout && attempts <= 10) { RunMethods.manage(script, toggleRunOnAt, toggleRunOffAt, toggleRunOnInCombat); Position bestPosition = null; if (!reversed) { for (int i = 1; i < path.length; i++) { MiniMapTileDestination mmtd; if (script.getMap().canReach(path) && (mmtd = new MiniMapTileDestination(script.getBot(), path)) != null && mmtd.isVisible()) { bestPosition = path; } } } else { for (int i = path.length - 1; i > 0; i--) { MiniMapTileDestination mmtd; if (script.getMap().canReach(path) && (mmtd = new MiniMapTileDestination(script.getBot(), path)) != null && mmtd.isVisible()) { bestPosition = path; } } } if (bestPosition != null) { boolean clicked = false; if (script.getMap().distance(bestPosition) <= 5 && bestPosition.isVisible(script.getBot())) { clicked = bestPosition.interact(script.getBot(), "Walk here"); } else { clicked = script.getMouse().click(new MiniMapTileDestination(script.getBot(), bestPosition)); } if (clicked) { SleepMethods.untilMoving(script, 900L); if (script.myPlayer().isMoving()) { int speed = MethodProvider.gRandom(script.getSettings().isRunning() ? 250 : 500, 100); MethodProvider.sleep(script.getMap().distance(bestPosition) * speed); } } else { script.getCamera().moveYaw(script.getCamera().getYawAngle() + MethodProvider.gRandom(50, 20)); attempts++; } } else { script.getCamera().moveYaw(script.getCamera().getYawAngle() + MethodProvider.gRandom(50, 20)); attempts++; } } return !reversed ? script.myPosition().equals(path[path.length - 1]) : script.myPosition().equals(path[0]); } public static boolean traversePath(Script script, Position position, boolean reversed, int toggleRunOnAt, int toggleRunOffAt, boolean toggleRunOnInCombat, long timeout) throws InterruptedException { if (position == null || !script.getMap().canReach(position)) { return false; } LinkedList<Position> pathList; Position[] path = null; if ((pathList = new LocalPathFinder(script.getBot()).findPath(position)) != null) { path = (Position[]) pathList.toArray(new Position[pathList.size()]); } return path != null ? traversePath(script, path, reversed, toggleRunOnAt, toggleRunOffAt, toggleRunOnInCombat, timeout) : false; } public static boolean traversePath(Script script, Entity entity, boolean reversed, int toggleRunOnAt, int toggleRunOffAt, boolean toggleRunOnInCombat, long timeout) throws InterruptedException { Position position; LinkedList<Position> pathList; Position[] path = null; if (entity != null && entity.exists() && (position = entity.getPosition()) != null && script.getMap().canReach(position) && (pathList = new LocalPathFinder(script.getBot()).findPath(position)) != null) { path = (Position[]) pathList.toArray(new Position[pathList.size()]); } else { return false; } return traversePath(script, path, reversed, toggleRunOnAt, toggleRunOffAt, toggleRunOnInCombat, timeout); } }
  6. To all users who put my signature on their ignore list:
  7. do not suggest chickens or cows as these will not be added. If you're asking why: too crowded + too high banrate, +no point unless I add banking have this on my list but as a separate script, though I could merge them ^^
  8. I am writing a free script, a combat suicider (start at lumbridge, walk to monster, kill monster until player dies, walk back to monster, etc...) It currently supports the following monsters: Lumbridge forest goblins Lumbridge east bank goblins (near the al-kharid gates) Lumbridge swamp giant rats Lumbridge castle giant rats please suggest some more spots, do not suggest chickens or cows as these will not be added. Peace!
  9. Botre

    Weird ban

    misread op, my bad
  10. Meh I'm not even going to bother. I don't blame you for not seeing their scheme, it's a brilliant one after all, hence why I'm impressed by it
  11. That's what I'm talking about. Fan-funded as in fan-bough and not fan-donated :p
  12. Would be against the forums rules. If I were to bet I wouldn't take the first bet without the second one though ^^
  13. Micro transactions at its finest, I'm impressed.
  14. I bet you 100$ they won't even poll it. I bet you 500$ that if / when they poll it, it'll never reach > 75%.
  15. Yeah no, no way it'll pass a poll, ever. Check out the official announcement's forum discussion.
  16. ehm... wat? :p
  17. I can kinda confirm this. This: has reduced bans virtually to zero for myself :p
  18. More like the headphones of apple
  19. leeel
  20. My free : premium ratio on the SDN is 1:1
  21. Yes you can still register a new account and get F2P access on it for 14 days.
×
×
  • Create New...