-
Posts
278 -
Joined
-
Last visited
-
Feedback
0%
Everything posted by Imthabawse
-
Currently testing this ? Gonna let it run for awhile see if it works or not.
-
Ah I see. Haven't ran into this problem before. Thanks @dazeldo sorry for confusion lol and @FuryShark for clearing that up.
-
Removed my dumb comment haha
-
So made a Yew chopping script that chops and banks yew logs. For some odd reason the bot logged out twice now that I've been running it. The first time I got this error in the Logger: The second time the Logger didn't produce an error. Anyone know why this would happen? Currently running script to see if problem reoccurs. Code: Edit: Bot logged out in the middle of chopping.. nothing in logger script still running.
-
Kebbit Hunter script (Help with ConditionalSleeps)
Imthabawse replied to Imthabawse's topic in Scripting Help
When you "Retrieve" a Kebbit in this case Spotted Kebbit you get a bone and a fur in your inventory so you got me thinking on the right path just gotta figure out how to write it. Something along the lines of sleep until getInventory.contains +1 bones +1furs -
I ment in the options to choose from lol. Arby's is the best bang for your buck imo. Stay woke.
-
The fuck? ... where's Arby's at?
-
Having trouble making a ConditionalSleep for my catchKebbit method and retrieveKebbit method. Any suggestions? Just got standard sleep(randoms) for now which works but wouldn't wanna run to long this way. Perhaps for such a standard script it wont really matter though..? Also for dropping method is there a way to drop items from top to bottom instead of always left to right? Or just randomize it better? Also realizing the bot will go for another players falcon as well so will only work in an empty world as it sits ? Code: private Area huntingArea = new Area(2365, 3596, 2393, 3575); private void catchKebbit() throws InterruptedException { NPC spottedKebbit = getNpcs().closest("Spotted kebbit"); NPC falcon = getNpcs().closest("Gyr Falcon"); if (!myPlayer().isAnimating() && !myPlayer().isMoving() && getEquipment().isWearingItemThatContains(EquipmentSlot.WEAPON, "Falconer's glove") && !getInventory().isFull() && spottedKebbit != null && falcon == null) { log("Catching Kebbit..."); spottedKebbit.interact("Catch"); sleep(random(2500, 3000)); } } private void retrieveKebbit() throws InterruptedException { NPC caughtKebbit = getNpcs().closest("Gyr Falcon"); if (!myPlayer().isAnimating() && !myPlayer().isMoving() && !getInventory().isFull() && caughtKebbit != null) { log("Retrieving Kebbit..."); caughtKebbit.interact("Retrieve"); sleep(random(2500, 3000)); } } private void dropAll() { if(getInventory().isFull() && !myPlayer().isAnimating() && !myPlayer().isMoving()) { log("Inventory FULL.. dropping fur's and bones..."); getInventory().dropAllExcept("Dramen staff","Varrock teleport","Stamina potion(4)","Coins"); } } @Override public int onLoop() throws InterruptedException { if(huntingArea.contains(myPlayer())) { catchKebbit(); retrieveKebbit(); dropAll(); }else{ stop(); } return 1000; } }
-
Sweet love the constant updates!
-
Simple script I whipped up to gain some levels on one of my accounts figured id share and throw in some comments to help newer scripters. To start script you'll need - Barbarian rod - Feather - Games necklace Equip (Optional, faster travel time) You can start the script from anywhere. Script will fish and drop when inventory is full. Code below ? import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.ui.EquipmentSlot; import org.osbot.rs07.api.ui.Tab; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; // ScriptManifest allows your script to show up in OsBot's script selector @ScriptManifest(name = "Barbfisher", logo = "", version = 1, author = "Imthabawse", info = "Fishes and drops at barb outpost") public class Barbfisher extends Script { // Creates the area in which we will be fishing private Area fisharea = new Area(2499, 3496, 2506, 3520); private Area telearea = new Area(2527, 3580, 2515, 3561); // Our fishing method private void fish() { Entity fishingspot = getNpcs().closest("Fishing spot"); // Gets closest "Fishing spot" to our player // If our inventory contains the required items to fish and player is not (!) animating/moving, inventory isnt full, and fishingspot exists (!=) if(getInventory().contains("Barbarian rod" , "Feather") && !myPlayer().isAnimating() && !myPlayer().isMoving() && !getInventory().isFull() && fishingspot != null) { log("Fishing..."); // Shows up in Osbot logger to help debug errors fishingspot.interact("Use-rod"); // Interact with fishing spot if above condition met new ConditionalSleep(5000) { // Sleep 5 seconds @Override public boolean condition() { return myPlayer().isAnimating(); // Stop sleeping before timeout if player is animating (fishing) } }.sleep(); // Call the sleep log("Moving mouse off-screen..."); getMouse().moveOutsideScreen(); // Moves mouse outside screen } } // Our drop method private void drop() { // If inventory is full etc.. if(getInventory().isFull() && !myPlayer().isAnimating() && !myPlayer().isMoving()) { log("Dropping fish..."); // Drops all except items listed getInventory().dropAllExcept("Barbarian rod","Feather","Stamina potion(3)"); } } // Only called once at start of script @Override public void onStart() { log("Welcome to Barbarian fisher.. enjoy the exp!"); } // Only called when script exits @Override public void onExit() { log("Thanks for using Barbarian fisher.. remember take breaks frequently! don't wanna get banned."); } // Loops methods inside over and over @Override public int onLoop() throws InterruptedException { // If were in fishing area we want to catch fish/drop fish if(fisharea.contains(myPlayer())) { fish(); drop(); }else { // Otherwise we need to get to fishing area if (!fisharea.contains(myPlayer()) && !getEquipment().isWearingItemThatContains(EquipmentSlot.AMULET, "Games necklace(1)", "Games necklace(2)", "Games necklace(3)", "Games necklace(4)", "Games necklace(5)", "Games necklace(6)", "Games necklace(7)", "Games necklace(8)")) { // Walks to fishing area from anywhere in Runescape getWalking().webWalk(fisharea); } else if (!fisharea.contains(myPlayer()) && !telearea.contains(myPlayer()) && !myPlayer().isAnimating() && getEquipment().isWearingItemThatContains(EquipmentSlot.AMULET, "Games necklace(1)", "Games necklace(2)", "Games necklace(3)", "Games necklace(4)", "Games necklace(5)", "Games necklace(6)", "Games necklace(7)", "Games necklace(8)")) { log("Teleporting.. screw walking..."); getEquipment().interact("Barbarian outpost", "Games necklace(1)", "Games necklace(2)", "Games necklace(3)", "Games necklace(4)", "Games necklace(5)", "Games necklace(6)", "Games necklace(7)", "Games necklace(8)"); sleep(random(300,600)); getTabs().open(Tab.INVENTORY); } else if (telearea.contains(myPlayer())) { getWalking().webWalk(fisharea); } } return 1000; // Loop every 1 second } }
-
Go check out the Tutorial section and take a look at @Explv's scripting tutorial helped me out a lot.
-
Update - Seems like WebWalker has been improved with better routing. Makes for way faster and efficient trips Also added some changes that will be posted above in original code.
-
getmouse.moveoutsidescreen Winning! ?
-
Feedback appreciated Thing's to add: Better walking method to bank and to ruins ( always walks the same path using webwalking ) it's a shame this don't randomize it self better Better control over when bot toggles run ( toggles run when it only has 15% for example ) I plan on adding energy pot support since this is a F2P based script which might counter act this a bit if energy pots are being used. Completely stop the loop cycle and have mouse move off screen for a bit at random intervals or after so many random loops ( if possible ) as some sort of "anti-ban" feature or "human-like" feature if you will. Might not matter much but seems logical. Code: public class Firecrafter extends Script { private Area PortalArea = new Area(2578, 4844, 2569, 4854); private Area RuinsArea = new Area(3312, 3250, 3307, 3253); private void bank() throws InterruptedException { Entity portal = getObjects().closest(PortalArea, "Portal"); if(getInventory().contains("Fire rune") && !myPlayer().isAnimating() && !myPlayer().isMoving() && portal != null) { log("Teleporting out.."); portal.interact("Use"); new ConditionalSleep(5000) { @Override public boolean condition() { return myPlayer().isAnimating() && RuinsArea.contains(myPlayer()); } }.sleep(); } if(getInventory().contains("Fire rune") && !myPlayer().isMoving()) { log("Walking to bank.."); getWalking().webWalk(Banks.AL_KHARID); new ConditionalSleep(5000) { @Override public boolean condition() { return Banks.AL_KHARID.contains(myPlayer()); } }.sleep(); } if(Banks.AL_KHARID.contains(myPlayer()) && getInventory().contains("Fire rune")) { log("Banking.."); getBank().open(); sleep(random(800,1200)); getBank().depositAll(); sleep(random(825,1125)); getBank().withdrawAll("Pure essence"); sleep(random(700,900)); getBank().close(); new ConditionalSleep(5000) { @Override public boolean condition() { return getInventory().contains("Pure essence"); } }.sleep(); }else if(Banks.AL_KHARID.contains(myPlayer()) && !getInventory().contains("Pure essence")) { getBank().open(); sleep(random(800,1200)); getBank().withdrawAll("Pure essence"); sleep(random(825,1125)); getBank().close(); new ConditionalSleep(5000) { @Override public boolean condition() { return getInventory().contains("Pure essence"); } }.sleep(); } } private void craft() { Entity ruins = getObjects().closest("Mysterious ruins"); Entity altar = getObjects().closest("Altar"); if (!RuinsArea.contains(myPlayer()) && !PortalArea.contains(myPlayer()) && !myPlayer().isAnimating() && !myPlayer().isMoving()) { log("Walking to ruins.."); getWalking().webWalk(RuinsArea); new ConditionalSleep(5000) { @Override public boolean condition() { return RuinsArea.contains(myPlayer()); } }.sleep(); } if (RuinsArea.contains(myPlayer()) && ruins != null) { log("Entering"); ruins.interact("Enter"); new ConditionalSleep(5000) { @Override public boolean condition() { return PortalArea.contains(myPlayer()) && myPlayer().isVisible(); } }.sleep(); } if (PortalArea.contains(myPlayer()) && altar != null) { log("Crafting runes.."); altar.interact("Craft-rune"); new ConditionalSleep(5000) { @Override public boolean condition() { return myPlayer().isAnimating() && getInventory().contains("Fire rune"); } }.sleep(); } } private void lvlUp() { if(getDialogues().isPendingContinuation()) { getDialogues().clickContinue(); new ConditionalSleep(5000) { @Override public boolean condition() { return !getDialogues().isPendingContinuation(); } }.sleep(); } } @Override public int onLoop() throws InterruptedException { if(getInventory().contains("Pure essence")) { craft(); }else{ bank(); lvlUp(); } return 500; } }
-
Under Camera () in API: isDefaultScaleZ public boolean isDefaultScaleZ() Returns: True if the Camera zoom is at the original setting. All I seen.
-
Sorry to hear bout the ban Sucks putting all those hours in both botting and playing legitly. Personally been botting my main account on n off mixed in with real play for months now, still going strong *knock on wood* Lvl 100+ combat. Totally agree with what you said "Bot smart and dont get selfish" this will 100% get you banned. I too did this on one of my pures and caught a 2-day (thank god) never botted the account again because I legit played shit ton of quests n skills on it and didnt wanna permanetly lose it. Stories aside I wish you luck on your next botting adventure and quest for the 1500 total! * Also always botted on injection never used mirror
-
Ran from 1-18 rc so far no breaks might work on it later today if i get time To add to your comment.. suicide botting any skill will lead to a ban.
-
Made an Air Rune Crafter for one of my accounts figured id share. To start script: - Have an Air Tiara equip - Have Pure essence in your bank or inventory Then sit back and enjoy the gains Will be adding different Altars as I level up so stay tuned! As always any advice on things that can be improved are welcome. CODE: import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.constants.Banks; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; @ScriptManifest(name = "Rune Crafter", logo = "", version = 1, author = "Imthabawse", info = "Crafts Runes for gains") public class Runecrafter extends Script { private Area ALTAR = new Area(2987, 3294, 2983, 3290); private void craft() throws InterruptedException { RS2Object ruins = getObjects().closest(ALTAR, "Mysterious ruins"); RS2Object altar = getObjects().closest("Altar"); if (!myPlayer().isAnimating() && !myPlayer().isMoving()) { log("Walking to altar..."); getWalking().webWalk(ALTAR); sleep(random(250, 500)); if (ruins != null && !myPlayer().isAnimating()) { ruins.interact("Enter"); new ConditionalSleep(1000) { @Override public boolean condition() { return !myPlayer().isAnimating(); } }.sleep(); } else if (altar != null) { log("Crafting..."); altar.interact("Craft-rune"); new ConditionalSleep(5000) { @Override public boolean condition() { return getInventory().contains("Air rune") && myPlayer().isAnimating(); } }.sleep(); } } } private void bank() throws InterruptedException { RS2Object portal = getObjects().closest("Portal"); if (!getInventory().contains("Pure essence") && portal != null && !myPlayer().isAnimating()) { portal.interact("Use"); } else if (!getInventory().contains("Pure essence") && !myPlayer().isAnimating()) { log("Banking..."); getWalking().webWalk(Banks.FALADOR_EAST); log("Withdrawling essence..."); getBank().open(); sleep(random(250, 400)); getBank().depositAll(); sleep(random(250, 400)); getBank().withdrawAll("Pure essence"); sleep(random(250, 400)); getBank().close(); } } } } @Override public int onLoop() throws InterruptedException { if(getInventory().contains("Pure essence")) { craft(); }else { bank(); } return 1500; } }
-
[Beginner] Progressive Wc-script, getAxes() method design questions
Imthabawse replied to t0r3's topic in Scripting Help
Yeah true guess thatd only be good from lvl 1 ? -
[Beginner] Progressive Wc-script, getAxes() method design questions
Imthabawse replied to t0r3's topic in Scripting Help
Actually id use that to get all axes.. ex: If(wcLvl == 21) { get Mithril axe And no i'm not making a progressive script I just write scripts for tasks I dont wanna do lol -
[Beginner] Progressive Wc-script, getAxes() method design questions
Imthabawse replied to t0r3's topic in Scripting Help
Wouldnt it try to keep getting an axe out of the bank after wcLvl >= 41 "Rune axe"? Have you tested this? -
[Beginner] Progressive Wc-script, getAxes() method design questions
Imthabawse replied to t0r3's topic in Scripting Help
@t0r3 in that case you could add to if (wcLvl > 21 && wcLvl < 31 && getInventory.isFull) { walk.bank Etc.. -
[Beginner] Progressive Wc-script, getAxes() method design questions
Imthabawse replied to t0r3's topic in Scripting Help
I do.. ? lol but on a serious note as I said before I personally have not used booleans so I would write something like: If (wcLvl > 21 && wcLvl < 31) { getWalking.webWalk(bank) getbank.open deposit steelaxe withdraw mithrilaxe Wrote on phone so yeah.. -
[Beginner] Progressive Wc-script, getAxes() method design questions
Imthabawse replied to t0r3's topic in Scripting Help
Why no black axe!? ?