Welcome to TRiBot Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

botuser420

Registered
  • Content count

    57
  • Joined

  • Last visited

  • Feedback

    100%

Community Reputation

6 Neutral

About botuser420

  • Rank
    Botter
  1. So if I understand correctly I need to simulate clicking the buttons and selecting a script to start a script? Can this be done by java code running in the client? I would really appreciate if someone pointed me in the right direction. I'm good with google, but don't even know what to search for Ofcourse I understand that people who have such a system don't want to share it with me, but even a global explaination of how I could accomplish this would be awesome. I'm willing to share the finished code with anyone that helps me.
  2. By system that's able to run repository scripts do you mean a standalone application wich interacts with the tribot client to start scripts? Or a script wich runs in the tribot client and starts other repository scripts? Could you give me a name of someone who accomplished this so I can ask them for help?
  3. Since I want a 100% automated goldfarm I'm looking for a way to start a script from another script running in the background based on conditions. The goal is to have fresh accounts walk trough tutorial island and after that start my own scripts wich takes care of levelling the required stats and then starts making money. I can somewhat accomplish this by using the script queu, but when the account gets banned I have to manually restart the queu. I already have a system running in the background wich swaps out the banned accounts and logs in with a new one. The problem is they get stuck on tutorial island. Is there any way to start a tutorial island script using conditions in the script running in the background? I could (try to) write my own tutorial island script but I really don't want to because of the good alternatives we have. Erickho's tutorial island works great and doesn't require filling out a GUI. I hope I made myself clear about what I want to accomplish, if not please ask away.
  4. Update I found the solution. In case of an invalid username/password the login.login() method will try 5 times before giving up. It also clicks the try again button so if you check the loginresponse after using login.login() it will just say enter your username/email. This is my solution wich works well for me: @Override public void run() { setLoginBotState(false); while (true) { if (Game.getGameState() != 30) { if (username == null) { try { getAccount(null); } } else if (world == 0) { try { getWorld(null); } } else if (loginresponse.contains("Your account has been disabled") || loginresponse.contains("Enter your username")) { System.out.println(Login.getLoginResponse()); Mouse.click(General.random(400, 520), General.random(310, 335), 1); try { deleteAccount(null); } } else { while (WorldHopper.getWorld() != world) { WorldHopper.changeWorld(world); } Login.login(username, password); loginresponse = Login.getLoginResponse(); System.out.println(Login.getLoginResponse()); } } else { loginresponse = "ok"; } System.out.println(Login.getLoginResponse()); General.sleep(250); } }
  5. Since I can't edit my previous post: Yes, I am updating the username and password. However, it doesn't even send the request for a new one. On startup it requests one, wich works beautifull. But then it just keeps logging in with the same credentials. Also, I'm rather new to coding. Everything I know so far I have learnt by tutorials, looking at other people's code and a lot of google. So if you have any suggestions to improve my code please say so.
  6. This is my full code so far: package scripts.AccountControl; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import org.tribot.api.General; import org.tribot.api2007.Game; import org.tribot.api2007.Login; import org.tribot.api2007.WorldHopper; import org.tribot.script.Script; public class Tracker extends Script implements Runnable { private static String username; private static String password; private static int world; @Override public void run() { setLoginBotState(false); while (true) { if (Game.getGameState() != 30) { if (username == null) { try { getAccount(null); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (world == 0) { try { getWorld(null); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (Login.getLoginResponse().contains("Your account has been disabled") || Login.getLoginResponse().contains("Invalid username or password")) { System.out.println(Login.getLoginResponse()); try { deleteAccount(null); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { while (WorldHopper.getWorld() != world) { WorldHopper.changeWorld(world); } Login.login(username, password); System.out.println(Login.getLoginResponse()); } } General.sleep(250); } } public static void getAccount(String[] args) throws UnknownHostException, IOException, ClassNotFoundException, InterruptedException { InetAddress host = InetAddress.getLocalHost(); Socket socket = null; ObjectOutputStream oos = null; ObjectInputStream ois = null; socket = new Socket(host.getHostName(), 4200); oos = new ObjectOutputStream(socket.getOutputStream()); System.out.println("Requesting an account"); oos.writeObject("account"); ois = new ObjectInputStream(socket.getInputStream()); String message = (String) ois.readObject(); System.out.println(message); if (message.contains(":")) { String[] parts = message.split(":"); username = (String) parts[0]; password = (String) parts[1]; } ois.close(); oos.close(); Thread.sleep(100); socket.close(); } public static void getWorld(String[] args) throws UnknownHostException, IOException, ClassNotFoundException, InterruptedException { InetAddress host = InetAddress.getLocalHost(); Socket socket = null; ObjectOutputStream oos = null; ObjectInputStream ois = null; socket = new Socket(host.getHostName(), 4200); oos = new ObjectOutputStream(socket.getOutputStream()); System.out.println("Requesting a world"); oos.writeObject("world"); ois = new ObjectInputStream(socket.getInputStream()); world = (int) ois.readObject(); ois.close(); oos.close(); Thread.sleep(100); socket.close(); } public static void deleteAccount(String[] args) throws UnknownHostException, IOException, ClassNotFoundException, InterruptedException { InetAddress host = InetAddress.getLocalHost(); Socket socket = null; ObjectOutputStream oos = null; socket = new Socket(host.getHostName(), 4200); oos = new ObjectOutputStream(socket.getOutputStream()); System.out.println("Account is banned"); oos.writeObject(username + ":b4n"); username = null; oos.close(); Thread.sleep(100); socket.close(); } }
  7. I'm working on a system wich automatically distributes account and worlds to all the botting clients. This script runs in the background. I'm having problems detecting the login response. This is my code: if (Login.getLoginResponse().contains("Your account has been disabled") || Login.getLoginResponse().contains("Invalid username or password"){ //request a new account via socket communication } else { while (WorldHopper.getWorld() != world) { WorldHopper.changeWorld(world); } Login.login(username, password); } This doesn't work for me. It just keeps logging in using the same username and password. Getting a new account works, so this isn't the problem. Can anybody help me in the right direction? I'm using a while for the worldhopping because it misclicks quite often.
  8. I think what he meant is switching the order of doing things. For example, if you had to level up various stats don't do it in a specific order but make it random. Also with withdrawing items from the bank, make the withraw order random.
  9. As always FC comes to the rescue. Thanks a lot! I can't believe you're not a premium scripter yet.
  10. Nobody? I doubt if it's even possible.
  11. I'm trying to make a script wich runs in the background and switches accounts every x hours. I want it to be compatible with existing scripts so disabling the loginbot with setLoginBotState(false) isn't an option. When the account logs off the login bot will automatically start and sometimes fail (only fails when the custom login isn't fast enough) wich results in the script stopping (not the background script). Is the login bot a thread wich can be suspended to fix my problem? If so, where can I find the name of this thread? Any help with this is appreciated. public class AccountSwitcher extends Script implements Runnable { @Override public void run() { while (true){ LoginMethod("[email protected]", "pass"); General.sleep(120000); // 2 min for testing purposes LoginMethod("[email protected]", "pass"); General.sleep(120000); } } public void LoginMethod(String username, String password){ Set<Thread> threadSet = Thread.getAllStackTraces().keySet(); Thread[] threadArray = threadSet.toArray(new Thread[threadSet.size()]); Thread mainThread = null; for(Thread t : threadArray){ if(t != null && t.getName().contains("Script Thread")){ t.suspend(); } } while (Game.getGameState() == 30){ Login.logout(); } do {Login.login(username, password);} while (Game.getGameState() != 30); for(Thread t : threadArray){ if(t != null && t.getName().contains("Script Thread")){ t.resume(); } } } }
  12. He might have other things to do than script for tribot in his life I'm considering buying the easy scroll one to test this. The ranger boots make this really worth it.
  13. I'm also new to scripting but have a few suggestions. This is what i use in my muling script to login (could probably be inproved): do { Login.login(); } while (Game.getGameState() != 30); if (Interfaces.isInterfaceValid(378)){ Interfaces.get(378, 17).click(); } The interface is the red "click to continue" button. The sleep in your customlogin could be replaced with a conditional sleep. This explains it pretty well.
  14. @iFluffee Unfortunately this isn't working for me anymore. I tested it a while ago and it worked fine. Maybe this has something to do with jagex blocking acces to their site when too many requests are made in a certain time? If that's the case could you add a delay between each check? I don't care much about speed, if I can run my list overnight withouth using proxies I'm happy. I ran a file with 300 usernames to check and none of them seemed to work according to the script even though i just created most of them (didn't even do tutorial island on some). This is the bot debug: [17:17:26] java.io.FileNotFoundException: https://secure.runescape.com/m=account-creation/g=oldscape/check_displayname.ajax [17:17:26] at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1836) [17:17:26] at sun.net.www.protocol.http.HttpURLConnection.access$200(HttpURLConnection.java:90) [17:17:26] at sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1433) [17:17:26] at sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1431) [17:17:26] at java.security.AccessController.doPrivileged(Native Method) [17:17:26] at java.security.AccessController.doPrivilegedWithCombiner(AccessController.java:782) [17:17:26] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1430) [17:17:26] at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) [17:17:26] at scripts.FluffeesNameChecker.FluffeesNameChecker.F(FluffeesNameChecker.java:89) [17:17:26] at scripts.FluffeesNameChecker.FluffeesNameChecker.run(FluffeesNameChecker.java:58) [17:17:26] at java.lang.Thread.run(Thread.java:745) //edit When I wait some time and start the script again it will work for the first few accounts. So using a delay or proxies would solve the problem. Thank you for this great tool!