Jump to content

Zummy

Members
  • Posts

    114
  • Joined

  • Last visited

  • Feedback

    100%

Posts posted by Zummy

  1. Hey guys, I'm assuming the hooks got fixed since there is no more disclaimer above the chatbox. However I'm still experiencing problems I didn't have before the client update.

    I can't exactly pinpoint what is causing it but it has to do with NPC interaction, it trades with the npc in question without problems but after world hop it doesn't anymore.

     

    Nvm, this can be locked.

  2. 29 minutes ago, Runnwith said:

    Here's my thought process on that, but take with a grain of salt. It could be that wherever you're located for example we'll use California, and you make the account on your home IP in CA. Then you log off, and then transition to a database proxy in a different state. It could be that these accounts need to be rested before logging ya know? I'm sure more veteran users @Juggles can shine a light on this.

    Thanks for the reply, the accounts created on my home IP have been rested for atleast a week.

  3. Hey guys I'm having problems with all of my accounts being locked within 20 minutes playtime. I was using the same proxies for about a month, everything was fine.
    Now I can't get an account past 7 quest points before ban and I've changed nothing about my creation method. I've tried the following things:

    • Create account on home IP -> bot on proxy
    • Create account on home IP -> bot on newly bought proxy
    • Create account on newly bought proxy -> bot on that same proxy
    • Create account on home IP -> bot on home IP << this resulted in no lock

    So i'm kind of running out of ideas. Like I said I was using some proxies for a month without a problem, I then renewed those same proxies for 3 days each and started having problems from then on. Is it really the proxy at fault here? Should I ask for a refund on the newly bought proxies? Thanks ❤️

    I should note that the lock message is along the line of: Account has been locked because we suspect it has been stolen.

  4. 2 hours ago, Alek said:

    So a few things, OSBot (by default) will not execute the script unless you are fully logged in - so you don't need to rely on your custom method. It's possible that you are fully logged in, but the player data hasn't been sent yet (especially on populated areas/worlds). Normally this isn't an issue but you mentioned using low cpu mode, which may cause an issue. Try running OSBot without low cpu mode and see if that makes a difference.

    Also remove this:

    trader.isOnScreen() && trader.isVisible()

    You're using interaction event which has its own set of guidelines on how to interact with entities, which may conflict with your code (trust me). If you don't want OSBot to move the camera/walk to the entity then do something like:

    InteractionEvent event = new InteractionEvent(trader);
    event.setCamera(false);
    event.setWalking(false);
    execute(event);

    Something like that, I don't remember the exact syntax off hand.


    But back on topic, let me know how running it normally goes.
     

     

    Good call! Low cpu is actually causing this! I've been pulling my hairs out over this one haha. Now how to circumvent this while still using low cpu? Any thoughts?

    Actually scratch that, after some more testing, it also happens (but not always) with low cpu turned off.

  5. 1 hour ago, Alek said:

    Can you elaborate exactly what you are doing? Are you running the client on mirror mode, no randoms, low cpu? Are you using Worlds hop method or do you have your own world hopping method?  You said you're using getName() but your code snipped doesn't show it. 

    I'm sorry, I'll elaborate. I am trying to have one player trade the other but the first one is required to change to a specific world before he does. I'm using stealth injection, no randoms, low cpu and low resources. I'm also using the normal world hopping method osbot provides. The two methods below are part of a loop that is active during the world hopping. The nullpointer is pointed at:

    Player trader = getPlayers().closest(this.trader_name);

    This is the world changing code:

    public void changeWorld(){
            Area bankArea = new Area(3088, 3246, 3097, 3240);
    
            if (getWorlds().getCurrentWorld() != 335 && bankArea.contains(myPlayer())) {
                if (getWorlds().hop(335)) {
                    new ConditionalSleep(4000, 100) {
                        @Override
                        public boolean condition() throws InterruptedException {
                            return getWorlds().getCurrentWorld() == 335;
                        }
                    }.sleep();
                }
            }
        }

    The trading code with LoginState checks:

    public boolean loggedIn(){
            return getClient().getLoginState() == Client.LoginState.LOGGED_IN && getClient().getLoginState() != Client.LoginState.LOADING &&
                    getClient().getLoginState() != Client.LoginState.LOADING_MAP && getClient().getLoginState() != Client.LoginState.LOGGED_OUT;
        }
    
        public void tradePlayer() throws InterruptedException {
            Player trader = getPlayers().closest(this.trader_name);
    
            if (this.trader_name != null && trader != null && trader.isOnScreen() && trader.isVisible() && !getTrade().isCurrentlyTrading() && getInventory().isEmptyExcept(notDeposit)) {
                if (trader.interact("Trade with")) {
                    new ConditionalSleep(12000, 1000) {
                        @Override
                        public boolean condition() throws InterruptedException {
                            return getTrade().isCurrentlyTrading();
                        }
                    }.sleep();
                }
            }
        }

    The stack trace:

    [ERROR][Bot #1][09/19 08:54:41 PM]: Error in script executor!
    java.lang.NullPointerException
    at org.osbot.rs07.api.model.Player.getName(vo:65)
    at org.osbot.rs07.api.filter.NameFilter.match(mo:118)
    at org.osbot.rs07.api.filter.NameFilter.match(mo:122)
    at org.osbot.rs07.api.filter.FilterAPI.filter(dk:70)
    at org.osbot.rs07.api.EntityAPI.closest(jm:162)
    at org.osbot.rs07.api.EntityAPI.closest(jm:271)
    at org.osbot.rs07.api.EntityAPI.closest(jm:259)
    at Main.tradePlayer(Main.java:728)
    at Main.onLoop(Main.java:106)
    at org.osbot.rs07.event.ScriptExecutor$InternalExecutor.run(we:242)
    at java.lang.Thread.run(Unknown Source)

    Please let me know if you need more information, thanks for taking a look!

  6. Hey guys I've been struggling with this NPE for a week now and I can't seem to find what I'm doing wrong.

    I have a method defining a new Player variable: Player toTrade  = getPlayers().closest(this.trade_name);

    However during world hop this method is throwing nullpointers at the getName() api method.

    I tried nullchecking the this.trade_name and checking getClient().getLoginState() LOADING, LOADING_MAP and LOGGED_IN.

    It seems to me that getName() can't be reached due to world hopping but I could be wrong. Please help! Thanks <3

  7. Hey guys I'm trying to do some automated trading but I'm having problems with spam trading on occasion. Sometimes it keeps doing right-click  -> Trade with.

    Account trading other account:

    Player trading = getPlayers().closest(this.trading_name);
    
            if (trading != null && !getTrade().isCurrentlyTrading()) {
                if (trading.interact("Trade with")) {
                    new ConditionalSleep(12000, 1000) {
                        @Override
                        public boolean condition() throws InterruptedException {
                            return getTrade().isCurrentlyTrading();
                        }
                    }.sleep();
                }
            }

    Receiving end:

            Player request = getTrade().getLastRequestingPlayer();
    
            if (request != null && !getTrade().isCurrentlyTrading()){
                if (request.interact("Trade with")){
                    new ConditionalSleep(5000, 500) {
                        @Override
                        public boolean condition() throws InterruptedException {
                            return getTrade().isCurrentlyTrading();
                        }
                    }.sleep();
                }
            }

     

  8. Exactly as Elysiano is saying, only triggers with norandoms. Using the exact same script running just fine on 2.5.18 but breaks in .19/.20. The script is launched with the same CLI commands I normally use, even puting in a sleep before calling everything else in onStart gets ignored. Same error using the script without an onStart method still NPE pointed at onStart. Not sure what else to test to see where it's coming from.

  9. 3 minutes ago, Elysiano said:

    I have the same problem with my custom login handler.

    I am not on mirror mode and I am also not on resizable mode (which I've checked by starting a client manually).

    The weird part is that I think the code does not really matter from the custom login handler, as the following script does not show anything in the logger. It just pushes the error and exits.

     

    I tested it with this empty script, and started it via -allow norandoms. It gives the same error and does not log anything:

     

      Reveal hidden contents
    
    
    import org.osbot.rs07.script.Script;
    import org.osbot.rs07.script.ScriptManifest;
    
    @ScriptManifest(author = "", name = "NRT", info = "", version = 0.1, logo = "")
    public final class Main extends Script  {
    
        @Override
        public final void onStart() {
            log("-allow norandom test");
        }
    
        @Override
        public final int onLoop() throws InterruptedException {
            return 1000;
        }
    }

     

    Weird shit, I also tried several things but to no avail. Even without an onStart method the NPE is pointed at onStart().

  10. 37 minutes ago, Alek said:

    Can you post this again but with the actual text and not a screenshot?

    java.lang.NullPointerException
    	at org.osbot.rs07.api.util.GraphicUtilities.getMainInterfaceId(ei:122)
    	at org.osbot.rs07.api.util.GraphicUtilities.cache(ei:82)
    	at org.osbot.rs07.event.ScriptExecutor.IIiiIiiIiiiI(cg:256)
    	at org.osbot.rs07.event.ScriptExecutor.start(cg:116)
    	at org.osbot.y.run(wx:186)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)
    [INFO][Bot #1][09/10 07:01:35 PM]: Terminating script Iron_Miner_Rimmington...
    [INFO][Bot #1][09/10 07:01:35 PM]: Script Iron_Miner_Rimmington has exited!
    [INFO][Bot #1][09/10 07:01:35 PM]: Started script : Iron_Miner_Rimmington
    [ERROR][09/10 07:01:35 PM]: Uncaught exception!
    java.lang.NullPointerException
    	at org.osbot.rs07.event.ScriptExecutor$3.run(cg:23)
    	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    	at java.awt.EventQueue.access$500(Unknown Source)
    	at java.awt.EventQueue$3.run(Unknown Source)
    	at java.awt.EventQueue$3.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)

    Thank you for looking into this!

  11. On 8/31/2018 at 12:01 AM, dreameo said:

    ... -.-

    You can look at Chris's example or literally do what I said..

    For each Position.. use the WalkingEvent until there are no more positions..

    I'm sorry you're right, I followed a tutorial which looked pretty official on this forum that stated you could only use 1 position for walkingEvents.
    I tried using a list of positions regardless but couldn't figure it out so I thought the guy was telling the truth.

    On 8/30/2018 at 11:36 PM, Chris said:

    Look at these examples

    Thanks Chris!

    • Like 1
  12. 32 minutes ago, dreameo said:

    You could try creating a path:

    ArrayList<Position> path

    and then use WalkingEvent to traverse to each point.

    WalkingEvent only accepts a single Position, not a list or array.

  13. 7 hours ago, Vap0r said:

    If you follow my ban testing thread I outline the majority of what I do, A lot has changed over the years and we are still figuring out how to beat this current ban wave fully.

    I've read through your notes on ban testing and throughout the last few weeks carried out some of my own tests but I've given up on keeping the f2p accounts alive. I my foundings there was no way to increase longevity to anything over 24 hours. I don't know if that has anything to do with the recent events or if it has always been this way. Also your ban thread cannot be found?

  14. 15 hours ago, d0zza said:

    Why are you converting all of your webWalks?

    WalkPath only uses the local loaded map to walk and it also can not interact with any objects while walking.

    So if you need to walk a long distance that might need to interact with a gate, door or stairs you'd more than likely need to use webWalk.

    To set a break condition for a webWalk take a look at https://osbot.org/api/org/osbot/rs07/event/WebWalkEvent.html

    To set a break condition for a WalkingEvent take a look at https://osbot.org/api/org/osbot/rs07/event/WalkingEvent.html

    Because webWalk is using too much RAM and my paths do not require object interaction. I know breaking conditions are possible for both walkingEvents and webWalking but why not for pathWalking?

×
×
  • Create New...