LoudPacks Posted August 26, 2015 Share Posted August 26, 2015 (edited) Tired of crafting? Angry that there is no free crafting bot for the bs early levels? This shitty, but functional, script made in 7 minutes is the perfect solution. Directions: Make a tab with needles, threads, and hard leathers. Stand in front of a bank chest (I use castle wars bank chest) Start the script Level up Source: import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.ui.RS2Widget; import org.osbot.rs07.script.Script; import java.util.concurrent.TimeUnit; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; @ScriptManifest(author = "Christ1665", info = "Hard Body Maker (use near a bank chest)", name = "Hard Bodies", version = 0, logo = "") public class main extends Script { @Override public void onStart() { } private enum State { BANK, SETTING_UP, WORKING } private State getState() { if (bank.isOpen()) { return State.BANK; } if (!players.inventory.contains("Hard Leather") || !players.inventory.contains("Needle") || !players.inventory.contains("Thread")) { return State.SETTING_UP; } if (players.inventory.contains("Hard Leather") || players.inventory.contains("Needle") || players.inventory.contains("Thread")) { return State.WORKING; } return null; } @Override public int onLoop() throws InterruptedException { switch(getState()) { case BANK: if (!players.getInventory().isEmpty()){ bank.depositAll(); } bank.withdraw("Hard leather", 26); bank.withdraw("Needle", 1); bank.withdraw("Thread", 12); bank.close(); break; case SETTING_UP: Entity bank = objects.closest("Bank Chest"); bank.interact("Use"); break; case WORKING: getInventory().getItem("Hard leather").interact("Use"); getInventory().getItem("Needle").interact("Use"); sleep(random(700, 950)); RS2Widget w = widgets.get(309, 2); if (w != null) w.interact("Make ALL"); sleep(random(20000, 28000)); } return random(500, 800); } @Override public void onExit() { } @Override public void onPaint(Graphics2D g) { } } Jar: http://www.mediafire.com/download/ko4uao5prg1w18d/Christ1665.jar Pic: Edited August 26, 2015 by Chris1665 5 Quote Link to comment Share on other sites More sharing options...
protowill Posted August 26, 2015 Share Posted August 26, 2015 right on man keep up the good work and I feel you them first levels are rough XD Quote Link to comment Share on other sites More sharing options...
Amusing Posted August 26, 2015 Share Posted August 26, 2015 right on man keep up the good work and I feel you them first levels are rough XD Quote Link to comment Share on other sites More sharing options...
Volta Posted August 26, 2015 Share Posted August 26, 2015 Nice pos scrip Quote Link to comment Share on other sites More sharing options...
Joseph Posted August 28, 2015 Share Posted August 28, 2015 I don't feel safe with your script tbh 2 Quote Link to comment Share on other sites More sharing options...
LoudPacks Posted September 5, 2015 Author Share Posted September 5, 2015 (edited) I don't feel safe with your script tbh How do I make it more safe? I can make shit do the things I want it to but other than that idk what to do, like adding antiban and shit like that. Are there any tutorials on stuff like that because it seems everything out there just tells you how to make your character do basic things like interact with objects, etc? Also, It's really only meant to be run for like an hour to get the early levels but I do know what you mean, its very basic. Edited September 5, 2015 by Chris1665 Quote Link to comment Share on other sites More sharing options...
Joseph Posted September 5, 2015 Share Posted September 5, 2015 How do I make it more safe? I can make shit do the things I want it to but other than that idk what to do, like adding antiban and shit like that. Are there any tutorials on stuff like that because it seems everything out there just tells you how to make your character do basic things like interact with objects, etc? Also, It's really only meant to be run for like an hour to get the early levels but I do know what you mean, its very basic.First thing first, in your logic I see some flaws. Like the 3 if statement should not have or options (||) but more of and options (&&).Second it is pron to failing more easier than if I was to write that script. For example your banking method. You have no safty checks like what if someone using the script lags for some reason and It skips the part of closing the bank. Because of your logic, it will stay on bank and redo the whole process. I'm not saying that the script is bad because it basic. But I'm saying it's not as safe to run for longer of periods and it must be in supervision at most of the time. Like you said it meant to run for like and hour that's all. Which btw is pretty good for the first script. Just because it does not have antiban doesn't mean it's bad. But I prefer adding variables and giving everybody on the start of the script a certain variable so that the players have an anti pattern profile. <- idk if you follow what I'm saying 2 Quote Link to comment Share on other sites More sharing options...
LoudPacks Posted September 6, 2015 Author Share Posted September 6, 2015 First thing first, in your logic I see some flaws. Like the 3 if statement should not have or options (||) but more of and options (&&). Second it is pron to failing more easier than if I was to write that script. For example your banking method. You have no safty checks like what if someone using the script lags for some reason and It skips the part of closing the bank. Because of your logic, it will stay on bank and redo the whole process. I'm not saying that the script is bad because it basic. But I'm saying it's not as safe to run for longer of periods and it must be in supervision at most of the time. Like you said it meant to run for like and hour that's all. Which btw is pretty good for the first script. Just because it does not have antiban doesn't mean it's bad. But I prefer adding variables and giving everybody on the start of the script a certain variable so that the players have an anti pattern profile. <- idk if you follow what I'm saying Yes I get what your saying. In the future Ill add more checks. I wasn't really thinking about it like that at the time. Thanks for the help 1 Quote Link to comment Share on other sites More sharing options...
Littlewayne Posted October 14, 2015 Share Posted October 14, 2015 I could definitely use this hah. Quote Link to comment Share on other sites More sharing options...
iz0n Posted January 27, 2016 Share Posted January 27, 2016 (edited) and here a simple mod won't call it a mod, i needed this, so i only changed few line this will make unfinished marrentill pots.. Directions: Make a tab with vials of water and marrentill herbs (clean) Stand in front of a bank chest (I use castle wars bank chest) Start the script make em all import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.ui.RS2Widget; import org.osbot.rs07.script.Script; import java.util.concurrent.TimeUnit; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; @ScriptManifest(author = "Christ1665-> simple transform by iz0n", info = "unfinished potion maker (use near a bank chest)", name = "unf pots", version = 0, logo = "") public class main extends Script { @Override public void onStart() { } private enum State { BANK, SETTING_UP, WORKING } private State getState() { if (bank.isOpen()) { return State.BANK; } if (!players.inventory.contains("Marrentill") || !players.inventory.contains("Vial of water")) { return State.SETTING_UP; } if (players.inventory.contains("Marrentill") || players.inventory.contains("Vial of water")) { return State.WORKING; } return null; } @Override public int onLoop() throws InterruptedException { switch(getState()) { case BANK: if (!players.getInventory().isEmpty()){ bank.depositAll(); } bank.withdraw("Vial of water", 14); bank.withdraw("Marrentill", 14); bank.close(); break; case SETTING_UP: Entity bank = objects.closest("Bank Chest"); bank.interact("Use"); break; case WORKING: getInventory().getItem("Marrentill").interact("Use"); getInventory().getItem("Vial of water").interact("Use"); sleep(random(700, 950)); RS2Widget w = widgets.get(309, 2); if (w != null) w.interact("Make ALL"); sleep(random(10000, 13000)); } return random(500, 800); } @Override public void onExit() { } @Override public void onPaint(Graphics2D g) { } } if you wish for another type of herb, just look at the source and replace "Marrentill" with the herb you want. ""Case sensitive"" Edited January 27, 2016 by iz0n Quote Link to comment Share on other sites More sharing options...
GetBackToOSRS Posted February 8, 2016 Share Posted February 8, 2016 Banking is weird, and sometimes it tries to use a hard body on the needle. Could be sped up also. But a good script for those who need it. Quote Link to comment Share on other sites More sharing options...