Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content Count

  • Joined

  • Last visited

  • Feedback


Community Reputation

18 Good

About yutpod

  • Rank
    Experienced Botter

Recent Profile Visitors

1,484 profile views
  1. you mean game does load on the palemoon browser, but looking glass fails to find it? If so, then as error suggests you're probably using 2 different versions of java or your firewall blocks it. tested and working with palemoon browser for me: windows 10 - 1.8.0_211-b12 64bit ubuntu 14.04 - 1.8.0_181-b13 64bit
  2. Palemoon does work with no issues for me with the newest version of java just had to add every resource url to the exceptions list Edit: actually you don't even need to add any site exceptions, all you have to do is run http version instead of the https, https version does seem to have security problems for w.e reason
  3. Try palemoon browser it's based on the old version of the firefox and still supports java applets.
  4. Yes, palemoon browser and looking glass to be exact
  5. I don't use sockets nor reflection. After the initial glitchy phase my script runs flawlessly, no crashes what so ever, also it runs perfectly fine from the start on my main windows rig I use to develop the script. I'm not entirely sure how tribot is setup, but I believe tribot reads values about the game from the jagex cache, system memory, etc. I am pretty confident that this is the thing that fails or takes a long time to execute on the first run. I have no issues with that at all, I just have no idea how I can wait for everything to load up before I start execution of the actual script's logic. Also I forgot to mention that this is not exclusive to my script I've tried other scripts from the repository with similar results. At this point I'm just thinking of adding a static 3 minute sleep before the start... Just seems stupid to stand still for 3 minutes, but it's probably still better than doing random clicks all over the place for 3 minutes.
  6. The issue I have is that execution of my script begins before everything is loaded on the tribot's side. I'm running my scripts on a very low end server that can barely run 1 LG CLIENT (1gb ram, 1cpu core). During the first start up of the script it usually takes 2-3 minutes before everything loads up and my script can run smoothly, but during that first 2-3 minutes I get very weird behavior and even very weird crashes of my script. Note: on script's restart it usually takes much less time (5-10s), it only takes 2-3 minutes on the first run (after server's reboot). I think it's partly because I'm running the script on a bare minimum requirements to run LG script, so something is chocking up on the tribot's side at the start and I wouldn't mind that at all if I could await until everything is loaded before executing my script's algorithm. I already have this condition in place before I start execution of my script, but it's not enough. Timing.waitCondition(() -> Login.getLoginState() == Login.STATE.INGAME, 300000); Weird behavior I'm getting during the first launch of the script: Randomly clicking all over the place Unable to open a bank Opens the bank but fails to recognize that it's opened (Bank#isBankScreenOpen returns false), therefore ends up trying to click Bank Booth through bank screen interface Unable to click other rs objects, npc, find interfaces, etc.. Added a couple of weird exceptions I'm getting sometimes, however usually it doesn't fully crash just takes a really long time for everything to load up. It seems like those exception are from the standard java api and it's probably due to reading/writing game's information to/from the file. As I said I don't mind that it takes a long time to load any of this as I'm aware I'm running it on bare minimum requirements server, however I'm looking for a solution to avoid starting execution of my script before everything is loaded and ready. Anyone has any ideas, recommendations :)?
  7. Thank you very much that must be it! It's indeed only numbers, it's super weird that it would crash because of this. I used a new naming scheme when spinning new servers, I have servers running the exact same snapshot without any issues, but the hostname has letters in it, so I'm pretty sure that must be it. Thanks a lot again
  8. I have used palemoon browser in conjunction with looking glass many times and never had any issues until today. I have tried fully disabling system's firewall I have tried reinstalling java, tribot and the palemoon I have tried adding ip within tribot client's firewall but I keep getting this error whenever I try to use looking glass option.. [23:27:52] TRiBot Release 10.12_2 loaded. (1.8.0_181:/usr/lib/jvm/java-8-oracle/jre) [23:27:53] Loading human mouse movement data. [23:27:58] Successfully loaded human mouse data. [23:28:40] java.rmi.ConnectIOException: Exception creating connection to:; nested exception is: java.net.SocketException: Invalid argument or cannot assign requested address [23:28:40] at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:631) [23:28:40] at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) [23:28:40] at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) [23:28:40] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129) [23:28:40] at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227) [23:28:40] at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179) [23:28:40] at com.sun.proxy.$Proxy0.newClient(Unknown Source) [23:28:40] at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2430) [23:28:40] at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:308) [23:28:40] at obf.nJ.taa(zu:286) [23:28:40] at obf.Ch.Bo(mm:136) [23:28:40] at java.lang.Thread.run(Thread.java:748) [23:28:40] Caused by: java.net.SocketException: Invalid argument or cannot assign requested address [23:28:40] at java.net.PlainSocketImpl.socketConnect(Native Method) [23:28:40] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) [23:28:40] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) [23:28:40] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) [23:28:40] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) [23:28:40] at java.net.Socket.connect(Socket.java:589) [23:28:40] at java.net.Socket.connect(Socket.java:538) [23:28:40] at java.net.Socket.<init>(Socket.java:434) [23:28:40] at java.net.Socket.<init>(Socket.java:211) [23:28:40] at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40) [23:28:40] at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148) [23:28:40] at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) [23:28:40] ... 11 more [23:28:40] No RuneScape client was found. any ideas how I can resolve this?
  9. @Encoded Is that still the case if I don't need to get my script approved to the store? I've never managed to find the location where TRiBot stores login details, but I've heard that all the account's information is stored locally on the user's machine for security purposes. I presume the values would be encrypted, but for my use it doesn't matter. Could I technically read that file? Also, do you know where the login details file is located?
  10. I want to generate a set of random numbers for a specific account, in a way that every time Script is executed the exact set of random numbers would be regenerated. The standard way for doing something like this would be to take something that is unique and static to the account and generate a seed from that. I have written one that is based on runescape username. package scripts.api.util; import scripts.api.helpers.Player07; import java.util.Random; public class ProfileRandom extends Random { private static final String TAG = ProfileRandom.class.getName(); public ProfileRandom(Class c) { setSeed(generateSeed(Player07.getUsername(), c.getName())); } protected ProfileRandom() { setSeed(generateSeed(Player07.getUsername(), getClass().getName())); } private long generateSeed(String username, String className) { if(username == null || username.isEmpty() || className == null || className.isEmpty()) { Log.e(TAG, "generateSeed: Username or Class name is empty or null!"); Log.w(TAG, "generateSeed: Continuing with a current nano time as a random seed!"); return System.nanoTime(); } return ((long) className.hashCode() << 32) | username.hashCode(); } } The problem with that is username will be null unless account is logged in and also username is not really a unique static value, since you can change it. Is it possible to get account's id (hashed login username)?
  11. What is the correct way for checking if item exists in the bank? This fails around 1 out of 500 times. I'm stomped on why it fails, bank screen is open and item is visible within the screen, when this condition returns true. if (Banking.isBankScreenOpen() && Banking.find("name").length == 0) { // Stop script, etc } Thanks. Edit: Full code of my Banking task if it is due to something else I'm missing. package scripts.api.tasks; import org.tribot.api2007.Banking; import org.tribot.api2007.Inventory; import org.tribot.api2007.types.RSArea; import scripts.api.BuildConfig; import scripts.api.ScriptController; import scripts.api.helpers.Timing07; import scripts.api.util.Log; import scripts.api.antiban.Reaction07; import scripts.api.frameworks.task.Task; import scripts.api.helpers.Inventory07; import scripts.api.helpers.Player07; import scripts.api.tasks.models.BankItem; import java.util.List; public class Bank implements Task { private static final String TAG = Bank.class.getName(); private int priority; private List<BankItem> items; private RSArea bankArea; private String[] names; public Bank(int priority, List<BankItem> items, RSArea bankArea) { this.priority = priority; this.items = items; this.bankArea = bankArea; this.names = items.stream().map(BankItem::getName).toArray(String[]::new); } @Override public int priority() { return priority; } @Override public boolean validate() { return Player07.isInArea(bankArea) && !Inventory07.contains( items.stream() .filter(BankItem::isRequired) .map(BankItem::getName) .toArray(String[]::new) ); } @Override public void execute() { Log.v(TAG, "execute: Starting task"); if (!Banking.isBankScreenOpen()) { openBank(); } if (Banking.isBankScreenOpen()) { deposit(); withdraw(); } } private void openBank() { Log.d(TAG, "openBank: Opening bank"); if (!Player07.isAnimating() && Banking.openBankBooth()) { Timing07.waitCondition(Banking::isBankScreenOpen, Reaction07.getInstance().getNextClickTime()); } } private void deposit() { Log.d(TAG, "deposit: Depositing items"); if (!Inventory07.containsOnly(names)) { Log.w(TAG, "deposit: Miscellaneous items found in inventory!"); Banking.depositAllExcept(names); } } private void withdraw() { Log.d(TAG, "withdraw: Withdrawing items"); if (!Inventory07.contains(names)) { items.forEach(bankItem -> { if(!Inventory.isFull() && bankItem.isRequired()) { if (bankItem.getRequiredCount() == 0 || Inventory.getCount(bankItem.getName()) < bankItem.getRequiredCount()) { if(BuildConfig.DEBUG) { Log.d(TAG, "withdraw: Withdrawing item: " + bankItem.getName()); } if (Banking.withdraw(bankItem.getRequiredCount(), bankItem.getName())) { Timing07.waitCondition( () -> Inventory.getCount(bankItem.getName()) >= bankItem.getMinCount(), Reaction07.getInstance().getNextClickOptionTime() ); } else if (Banking.isBankScreenOpen() && Banking.find(bankItem.getName()).length == 0) { Log.c(TAG, "withdraw: Missing an item in a Bank: " + bankItem.getName()); ScriptController.getInstance().setRunning(false); } } } }); } } }
  12. There is an issue while smithing iron knives. Sometimes anti-ban kicks in and bot makes another item instead of knives. After that script gets stuck in a banking phase forever. I think fail safe should be added to bank all items except hammer and knives.
  13. Thanks switching to a different theme solved my issue.
  14. I'm switching to a new phone and moving all my google authenticator profiles to a new phone. On some sites, I just had to rescan qr code, on some I had to disable and re-enable google authenticator with a new phone. All is left is TRiBot, but I can't find qr code to scan on a new device, nor can I find how to disable current google authenticator profile on a TRiBot. Anyone knows?
  • Create New...