-
Posts
51 -
Joined
-
Last visited
-
Days Won
1
Reputation Activity
-
Deep Slayer got a reaction from Doxial in Where to put SkillTracker.start()? Checking to make sure account is logged in.
public class Main extends AbstractScript { //Creating timer object Timer timer = new Timer(); boolean skillTrackerStarted = false; @Override public void onStart() { timer.start(); SkillTracker.start(); } @Override public int onLoop() { while (!Client.isLoggedIn()){ Logger.log("Waiting for login..."); Sleep.sleep(1000); } if(!skillTrackerStarted){ SkillTracker.start(Skill.WOODCUTTING); skillTrackerStarted = true; } if (Inventory.isFull()) { Inventory.dropAll("Logs"); } else { GameObject tree = GameObjects.closest("Tree"); if (tree != null) { tree.interact("Chop down"); Sleep.sleep(500, 2500); Sleep.sleepUntil(() -> !Players.getLocal().isAnimating(), 15000); } } return 5000; } @Override public void onPaint(Graphics graphics) { try { Drawn(graphics); } catch(Exception e) { e.printStackTrace();; } } public void Drawn(Graphics graphics) { graphics.drawString("Experience Gained: " + (SkillTracker.getGainedExperience(Skill.WOODCUTTING)), 20, 30); graphics.drawString("Time Elapsed: " + timer.formatTime(), 20, 50); } @Override public void onExit() { Logger.log("Stopping"); } } -
Deep Slayer got a reaction from ImLife in Issue Getting True Tile of Players and Local Player
use getServerTile() instead of getTile
-
Deep Slayer got a reaction from closetcheater in Issue Getting True Tile of Players and Local Player
use getServerTile() instead of getTile
-
Deep Slayer got a reaction from ImLife in Wintertodt animations
@ImLife
Hey mate,
//this solution was already given to you by someone else, just add the dodging logic.
Tile playerTile = Players.getLocal().getTile(); List<GraphicsObject> graphicsObjects = Client.getGraphicsObjects(); for (GraphicsObject graphicsObject : graphicsObjects) { if (graphicsObject != null && graphicsObject.getTile().equals(playerTile)) { log("about to take damage"); //add your dodging logic here break; } } //all u have to do for the brazier breaking is check for a unique characteristic of the projectile being fired, in this case it's the height. List<Projectile> projectiles = Client.getProjectiles(); for (Projectile projectile : projectiles) { if (projectile.getID() == 501 && projectile.getHeight() == -1268 ) { log("brazier is about to break"); //add your dodging logic here break; } }
you might want to filter out which brazier the projectile is going to as well, its a pretty easy fix
-
Deep Slayer got a reaction from ImLife in Efficiently Handling Smelting with AnimationListener in Dreambot
import org.dreambot.api.methods.interactive.GameObjects; import org.dreambot.api.methods.interactive.Players; import org.dreambot.api.script.AbstractScript; import org.dreambot.api.script.Category; import org.dreambot.api.script.ScriptManifest; import org.dreambot.api.script.listener.AnimationListener; import org.dreambot.api.wrappers.interactive.GameObject; import org.dreambot.api.wrappers.interactive.Player; @ScriptManifest(author = "Deep Slayer", name = "Testing script", version = 1.0, description = "for testing snippets", category = Category.MISC ) public class TestingPurposes extends AbstractScript implements AnimationListener { private long idleAnimationStartTime = -1; // Time when the idle animation starts private boolean finishedSmelting = false; @Override public void onPlayerAnimation(Player player, int animation, int animationDelay) { // Check if not animating if (Players.getLocal().getAnimation() == -1) { // If not animating record the time if (idleAnimationStartTime == -1) { idleAnimationStartTime = System.currentTimeMillis(); } else { // Check if it has been more than 2 seconds if (System.currentTimeMillis() - idleAnimationStartTime > 2000) { finishedSmelting = true; log("We are finished smelting"); } } } else { // Reset the timer if the player starts a new animation idleAnimationStartTime = -1; finishedSmelting = false; log("We are NOT finished smelting"); } } @Override public int onLoop() { GameObject furnace = GameObjects.closest("Furnace"); if (furnace != null && furnace.isOnScreen() && Players.getLocal().isStandingStill()) { if (finishedSmelting) { furnace.interact("Smelt"); sleep(2000, 2500); // Adjust sleep as necessary finishedSmelting = false; // Reset flag after interaction } } return 500; } } -
Deep Slayer reacted to Pandemic in ScriptManager seemingly does not exist
You need to specify the version that has args (even if just null), and I believe you need to use the script's name as shown in the Script Manager panel instead of a class file.
-
Deep Slayer reacted to camelCase in ya inicio sin problemas
Nací hombre pero me convertí en niña y tengo una hermosa Quinceañera
-
Deep Slayer reacted to Aeglen in P2P Master AI Refund request
It would be useful if you could be specific about how it differs from what is advertised. When you're playing OSRS humanly, you develop your own favourite training locations, and so the bot does it too, which are unique to your account and vary based on location. Walking is also randomised on a per-account basis. Whilst it is easy to think "the bot should go to a different training spot every time for variety and anti-ban, otherwise it sucks", what human goes to a different spot every time?
If you were to run the script on another account, you would notice it likes different routes and locations (which to be fair is impossible to tell with just 1 account). About 2.5% of the community experience a ban per day, typically the same users repeatedly. If you really want to make the most of this script, join the discord below and read the botting guide to avoid falling into the common pitfalls.
-
Deep Slayer reacted to OgCross in help resolving correct high alch item method
thanks alot! that fixed it @Deep Slayer and thanks @MaximusPrimoi have been in the docs quite alot the last few days kind of learning as i go all round!
thanks again i appreciate it
-
Deep Slayer got a reaction from OgCross in help resolving correct high alch item method
Magic.castSpellOn(Normal.HIGH_LEVEL_ALCHEMY, yourItem); -
Deep Slayer got a reaction from ClearAbyss in DreamBot 3.24.5
Do you have Runelite installed?
If not, then install it
Don't run the patcher in DreamBot client until the Jagex launcher is open & logged into the account you want to play with Runelite selected
-
Deep Slayer got a reaction from iamauser in DreamBot 3.24.5
Delete your DreamBot .jar file.
Download the bot again at the top of this page.
open the official Jagex launcher, log in.
select your client (obviously Runelite)
DONT press play
go to your DreamBot client and patch it to Runelite
go back to the Jagex launcher now and press play
DreamBot client should open with the account you logged in with into the Jagex launcher
(consider using something like Proxifier before logging in the Jagex launcher if you want your account to have the same proxy when logging in)
-
Deep Slayer got a reaction from ClearAbyss in DreamBot 3.24.5
Delete your DreamBot .jar file.
Download the bot again at the top of this page.
open the official Jagex launcher, log in.
select your client (obviously Runelite)
DONT press play
go to your DreamBot client and patch it to Runelite
go back to the Jagex launcher now and press play
DreamBot client should open with the account you logged in with into the Jagex launcher
(consider using something like Proxifier before logging in the Jagex launcher if you want your account to have the same proxy when logging in)
-
Deep Slayer got a reaction from MaximusPrimo in Basic Hill Giant Script
Quick points:
Start with a brass key and a scimitar.
Customize food and weapon in global variables.
You can define lootable items in the lootItems method.
Recommended to have some armor for lower levels.
Note: This script has no anti-ban features. You can implement your own in the idle() method. Use at your own risk.
Let me know your thoughts or suggestions!
Thanks!
-
Deep Slayer got a reaction from ChaosKilla in Basic Hill Giant Script
Quick points:
Start with a brass key and a scimitar.
Customize food and weapon in global variables.
You can define lootable items in the lootItems method.
Recommended to have some armor for lower levels.
Note: This script has no anti-ban features. You can implement your own in the idle() method. Use at your own risk.
Let me know your thoughts or suggestions!
Thanks!
-
Deep Slayer got a reaction from xyz111 in Basic Hill Giant Script
Quick points:
Start with a brass key and a scimitar.
Customize food and weapon in global variables.
You can define lootable items in the lootItems method.
Recommended to have some armor for lower levels.
Note: This script has no anti-ban features. You can implement your own in the idle() method. Use at your own risk.
Let me know your thoughts or suggestions!
Thanks!
-
Deep Slayer reacted to camelCase in Seeking Methods to Detect Enemy Freeze Status in PvP - Ice Barrage Specific
check ur local players height
-
Deep Slayer got a reaction from rsking420 in 👑Dreamy Rune Dragons 👑| POH | Restocking | Custom looting | Custom gear | Easy setup
I just want to give some feedback. I used this script recently on a main account that I've never botted on before, and an IP address that ive never botted on before as well (lvl 1600+ total) for about 3-5 hours over a few days with breaks. and received a 2 day ban. couple of things i noticed is that it only withdraws full potions, so once you take a sip of a (4) dose its useless. which to me is a sign of obvious botting. always withdraws 2 home teleport tablets instead of the whole stack or something different each time. buys the same amount of potions each time etc. everything is pretty much done in the same order the same way. not really happy with this purchase. but it is what it is. I hate giving negative feedback, but that's my experience.
-
Deep Slayer reacted to Aeglen in Need Help with Player Positioning Issue Relative to Area Post-World Hop
1) You should ensure the world is properly loaded in after the hop
2) You should re-grab the player every time, changing worlds probably invaldiates the old Player object and puts it to 0,0 of the chunk or something.
-
Deep Slayer got a reaction from apnasus in Simple Raw chicken cooker at Varrock east bank
thanks for the feedback, will consider the early return approach next time for readability. and use of naming variables instead of directly throwing numbers in there. hope u enjoyed the script
-
Deep Slayer reacted to apnasus in Simple Raw chicken cooker at Varrock east bank
I think your code would be more readable if you used return conditions in your methods. For example, instead of,
you could have,
private void cook() { if (!Inventory.contains("Raw chicken")) { return; } GameObject range = GameObjects.closest(gameObject -> gameObject != null && gameObject.getName().equals("Range")); which would reduce the levels of indentation in your methods and make them easier to follow.