Jump to content

Impensus

Scripter I
  • Posts

    1070
  • Joined

  • Last visited

  • Feedback

    100%

Posts posted by Impensus

  1. 1 hour ago, Khaleesi said:

    Pretty sure it does not give any input, bcs giving input could get you banned.
    There is tons of people who get banned for afking and rotating camera or pressing keys ... that does not happen with OPRS for me :)

    This is correct. I can't remember the source I read this from, but it modifies the client code responsible for the new afk timer so the account can remain logged in up to the 6hr original limit.

    • Like 1
  2. 13 hours ago, Syndo said:

    Firefox is also blocked, i guess i just have to solve the GeeTest then.....

    I can also use the vision impaired thing on captcha systems where it is a sound file that says numbers, then use the numbers. But that would be much slower than 2captcha because i need to pull the file, download it, upload to a speech to text, get the numbers and input them. And that would take wayyyyy longer than 2captcha

     

    Try using puppeteer if you have issues with selenium detection as that might bypass most browser flags. Either way you will have to use 2captcha just one method might get you the cheaper to solve ones.

  3. Pending SDN Approval!

    Live on the SDN!

    t8xDLt0.png

     

    What does the script do? -

     

    The script will automate the fetching of spices required for skill level boosts.

    It does this by chasing the rats within Evil Dave's lair and looting every spice which is dropped.

     

    How do I use the script? -

     

    1. Start the script anywhere near Edgeville bank / Evil Dave's Lair

    2. Have a fully grown cat that is currently following you

    3. Select your cat from the GUI and enjoy!

     

    Troubleshooting -

    Running the script with a Kitten is supported although the user must ensure the Kitten doesn't turn into a fully grown cat during runtime.

     

    • Like 2
  4. 14 hours ago, Otterblast said:

    This is awesome thanks but still have the same problem of it not actually typing. Nothing shows up in the text box unless I manually type any knowledge on how to fix this? The loop is nice but my problem is it is not functioning/typing into the box

     

    14 hours ago, Otterblast said:

    OMG thank you so much it worked!!

    It wasn't typing due to me using the wrong function for typing as nBacon mentioned. Should have used getKeyboard.typeKey()

  5. 11 hours ago, Nbacon said:

     

     I just tested it and It needs to be typeKey(char key).

    I think this would be a little better becuase the range 48-90 has things that are non letters or numbers.

    
    String AlphaNumericString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                                        + "0123456789"
                                        + "abcdefghijklmnopqrstuvxyz"; 
      for (int i = 0; i < n; i++) { 
                int index 
                    = (int)(AlphaNumericString.length() 
                            * Math.random()); 
          getKeyboard().typeKey(AlphaNumericString 
                              .charAt(index));
              sleep(random(x,y));
    
            } 

     

     

     

    Tip If you repeat the same exact code more then 3 times make it a funtion

     

    Ahh my bad I didn't check the keycode range, this solution is better so go with this :p.

  6. Just now, Otterblast said:

    Hello I have looked through a lot of different support stuff but can't seem to find a way to type a key

    I looked up how to type a key into the game and am trying to randomly create a runescape name on tutorial island but having trouble

    here is where I got the key references, I know this works as I have used code 32 for space before and it works just fine

    https://stackoverflow.com/questions/15313469/java-keyboard-keycodes-list/31637206

    here is my code so far

        public void randomKey() throws InterruptedException{
            int X = random(0,31);
            
            if(X == 1) {log("started key press");
                getKeyboard().pressKey(65);;
                sleep(random(100,200));
                getKeyboard().releaseKey(65);
            }else if(X == 2) {log("started key press");
                getKeyboard().pressKey(76);
                sleep(random(100,200));
                getKeyboard().releaseKey(76);
            }else if(X == 3) {log("started key press");
                getKeyboard().pressKey(73);
                sleep(random(100,200));
                getKeyboard().releaseKey(73);
            }else if(X == 4) {log("started key press");
                getKeyboard().pressKey(80);
                sleep(random(100,200));
                getKeyboard().releaseKey(80);
            }else if(X == 5) {log("started key press");
                getKeyboard().pressKey(82);
                sleep(random(100,200));
                getKeyboard().releaseKey(82);
            }else if(X == 6) {log("started key press");
                getKeyboard().pressKey(87);
                sleep(random(100,200));
                getKeyboard().releaseKey(87);
            }else if(X == 7) {log("started key press");
                getKeyboard().pressKey(77);
                sleep(random(100,200));
                getKeyboard().releaseKey(77);
            }else if(X == 😎 {log("started key press");
                getKeyboard().pressKey(85);
                sleep(random(100,200));
                getKeyboard().releaseKey(85);
            }else if(X == 9) {log("started key press");
                getKeyboard().pressKey(84);
                sleep(random(100,200));
                getKeyboard().releaseKey(84);
            }else if(X == 10) {log("started key press");
                getKeyboard().pressKey(79);
                sleep(random(100,200));
                getKeyboard().releaseKey(79);
            }else if(X == 11) {log("started key press");
                getKeyboard().pressKey(80);
                sleep(random(100,200));
                getKeyboard().releaseKey(80);
            }else if(X == 12) {log("started key press");
                getKeyboard().pressKey(89);
                sleep(random(100,200));
                getKeyboard().releaseKey(89);
            }else if(X == 13) {log("started key press");
                getKeyboard().pressKey(69);
                sleep(random(100,200));
                getKeyboard().releaseKey(69);
            }else if(X == 14) {log("started key press");
                getKeyboard().pressKey(83);
                sleep(random(100,200));
                getKeyboard().releaseKey(83);
            }else if(X == 15) {log("started key press");
                getKeyboard().pressKey(68);
                sleep(random(100,200));
                getKeyboard().releaseKey(68);
            }else if(X == 16) {log("started key press");
                getKeyboard().pressKey(70);
                sleep(random(100,200));
                getKeyboard().releaseKey(70);
            }else if(X == 17) {log("started key press");
                getKeyboard().pressKey(72);
                sleep(random(100,200));
                getKeyboard().releaseKey(72);
            }else if(X == 18) {log("started key press");
                getKeyboard().pressKey(71);
                sleep(random(100,200));
                getKeyboard().releaseKey(71);
            }else if(X == 19) {log("started key press");
                getKeyboard().pressKey(75);
                sleep(random(100,200));
                getKeyboard().releaseKey(75);
            }else if(X == 20) {log("started key press");
                getKeyboard().pressKey(88);
                sleep(random(100,200));
                getKeyboard().releaseKey(88);
            }else if(X == 21) {log("started key press");
                getKeyboard().pressKey(67);
                sleep(random(100,200));
                getKeyboard().releaseKey(67);
            }else if(X == 22) {log("started key press");
                getKeyboard().pressKey(86);
                sleep(random(100,200));
                getKeyboard().releaseKey(86);
            }else if(X == 23) {log("started key press");
                getKeyboard().pressKey(66);
                sleep(random(100,200));
                getKeyboard().releaseKey(66);
            }else if(X == 24) {log("started key press");
                getKeyboard().pressKey(78);
                sleep(random(100,200));
                getKeyboard().releaseKey(78);
            }else if(X == 25) {log("started key press");
                getKeyboard().pressKey(90);
                sleep(random(100,200));
                getKeyboard().releaseKey(90);
            }else if(X == 26) {log("started key press");
                getKeyboard().pressKey(48);
                sleep(random(100,200));
                getKeyboard().releaseKey(48);
            }else if(X == 27) {log("started key press");
                getKeyboard().pressKey(49);
                sleep(random(100,200));
                getKeyboard().releaseKey(49);
            }else if(X == 28) {log("started key press");
                getKeyboard().pressKey(50);
                sleep(random(100,200));
                getKeyboard().releaseKey(50);
            }else if(X == 29) {log("started key press");
                getKeyboard().pressKey(51);
                sleep(random(100,200));
                getKeyboard().releaseKey(51);
            }else if(X == 30) {log("started key press");
                getKeyboard().pressKey(52);
                sleep(random(100,200));
                getKeyboard().releaseKey(52);
            }else if(X == 31) {log("started key press");
                getKeyboard().pressKey(53);
                sleep(random(100,200));
                getKeyboard().releaseKey(53);
            }else if(X == 32) {log("started key press");
                getKeyboard().pressKey(54);
                sleep(random(100,200));
                getKeyboard().releaseKey(54);
            }else if(X == 33) {log("started key press");
                getKeyboard().pressKey(55);
                sleep(random(100,200));
                getKeyboard().releaseKey(55);
            }else if(X == 30) {log("started key press");
                getKeyboard().pressKey(56);
                sleep(random(100,200));
                getKeyboard().releaseKey(56);
            }else if(X == 30) {log("started key press");
                getKeyboard().pressKey(57);
                sleep(random(100,200));
                getKeyboard().releaseKey(57);
            }else {
                log("something wrong with X in randomKey");
                getKeyboard().pressKey(57);
                sleep(random(100,200));
                getKeyboard().releaseKey(57);
            }
            
        }

     

    For reference I already have the bot interact with the namebar by clicking on it in a separate larger function that works fine, if I manually start typing it will go into the "please pick a unqiue display name" but for some reason typing won't?

    Any help appreciated! 

    Holy shit dude that's some extremely overkill code.

    Just do the following: 

    (note indents are messed up for whatever reason.)

    public void randomKey() throws InterruptedException{
    		int random_length = random(n);
    		// put the length you want your names to go up to as n
    		for (int i = 0; i < random_length; i=i+1){
                		int X = random(48, 90);
            		getKeyboard.pressKey(x);
                		sleep(random(x,y);
            }
    }

    The following code will randomly generate a value from 0-9, a-z (Key codes 48 -> 90) and then loop for the max length you wish your name to be. In the loop it will type random characters that it generates. 

    That should put you on the right lines. Don't believe you have to releaseKey() either when typing. I might be mistaken however and referring to another function.

     

    • Like 1
  7.     1. Pictures of the account stats - https://gyazo.com/2432b7b0ed56a82770298f96b17bcfe8
        2. Pictures of the total wealth (if there is any) - https://gyazo.com/3c827477bb42ff580469f85e77c98524
        3. Pictures of the quests completed - Just quests for NMZ (MTD)
        4. The price you will be starting bids at  - 30m
        5. The A/W (Auto-win) for your account - 90m
        6. The methods of payment you are accepting Bitcoin / RSGP
        7. Your trading conditions - MM or I go first
        8. Pictures of the account status  - https://gyazo.com/4f69621a97fcb656574d0a4aeaa0d6dc
       9. Original/previous owners AND Original Email Address - I am the OO. I own the email which this account belongs to.

  8. On 6/13/2020 at 1:47 PM, Wizzy Sleeve said:

    How about a 3 tick skilling script?

    What types of skill would you like 3 ticking?

    On 6/7/2020 at 7:26 PM, gearing said:

    how is it going? i can be a tester once you have a working one

    I'm gonna start the script today/tomorrow most likely. Could you reply to my question on discord so I know the best way to create the script?

  9. 46 minutes ago, D9BLADEE said:

    Explains the confidence bars represent the other bots teaming at bandos, but they still exist when soloing Zulrah? :???:

    Confidence is the neural networks calculation in it's own confidence it is making the correct decisions. They don't represent the other bots directly but more the whole neural network as a whole (which also contains the data from the other bots) to inform decisions.

     

    Edit: Also must point out that in the case of Zulrah as there is only one bot and no teaming the confidence score only uses the data from that zulrah bots instance.

    • Like 1
  10. Runescape isn't that complex that you'd require 100s of thousands in server processing fees just to run a neural network for. Sure there's a few inputs but to calculate things to such a high confidence in a medieval clicking simulator would be overkill...

  11. 1 hour ago, Maldesto said:

    Hey guys looking fora decent pokemon go account. My son and I shared for about 4-6 months and he keeps asking me to make my own now (he is 4). I dont have time to start from level 1. Only looking for legit accounts. 

     

    PayPal payment method or osbot account credit

     

     

    Must be level 20+ 

    My account isn't level 20 but is close. I thought I would post just incase you are interested/get no other posts.

    Details: 

    • Level 18 (Halfway to 19)
    • Has some good pokemon like Gyarados. Others such as Flareon Arcanine too.
    • I can provide screenshots/more info you may require about the account. I haven't played for a while so I am unsure if anything else would be useful.

    If you wish to, you can contact me on Discord (Impensus#2428) or here.

  12. 1 hour ago, newDev said:

    I get that, but someone must have broken reCAPTCHA v2 Invisible? 

    As far as I've understood, the tokens are generated client-side, can be used once and are valid for 2 minutes.

    How are the tokens actually generated?

    How about intercepting the token before its sent for server-side validation? 

    Your misunderstanding how reCAPTCHA works. Your solution is sent off and verified server side. If correct you are returned a captcha token which is valid for 2 minutes. All these websites do is manually solve the captcha on your page and send you back a valid token which you can use to pass verification. There is no token to "intercept" as you only get a valid token returned from solving the puzzle either manually or paying a captcha solving service.

  13. 1 hour ago, Ace99 said:

    Discussion:

    I think I have read from time to time that having a while loop in the main loop is a bad idea/bad practice.  Can someone explain why this is?  Loops are nested in loops all the time (small applications), what is the issue here that makes it different?

    Issue:

    I loop though the keyset of a hashmap and run a set of tasks for each key, once complete I set the key value to true and move on.  Part of my task is to get to a specific area.  If I use this:

    
    // initial bank for items
    
    for(Area in Areas){
          if(!Area.contains(myPlayer){
            walkTo(Area); // This is a boolean only returning true when Area.contains(myPlayer)
          }
           //  Do actions at area
         }

    Sometimes the bot will not be at the Area and all the sudden move to //  Do action at area.  I assume the walkTo(Area) hit a false return.  So instead I can do:

    
    // initial bank for items
    
    for(Area in Areas){
          while(!Area.contains(myPlayer){
            walkTo(Area); // This is a boolean only returning true when Area.contains(myPlayer)
          }
           //  Do actions at area
         }

    And when a false is hit on walkTo(Area) it will try it again and move the screen and find to door/portal is is not finding currently.

    Is there anything wrong with this or a better yet, a cleaner way to accomplish this?

      

    While loops within your onLoop or subsequently called functions are bad practice. The reason for this is that in itself your onLoop is a while loop that will constantly run. By nesting while loops within, you can cause script performance issues and issues with other Osbot functions not being reachable (I remember when I did this my scripts always took ages to stop, leading me to believe that the Osbot functions called upon exiting were not called until the while loop exited). The best case is to just structure your code so that the correct functions/if statements will be reached when the onLoop iterates over everything repeatedly.

    As for your specific issue, the .webWalk should handle objects like doors? I assume your issue when using the first snippet is as follows:

    1. Loops through the areas

    2. False return in one of the areas

    3. Carries onto next area in the loop after returning. False return causes rest of the tasks in the previous area not to be executed.

    - Using the while loop mitigates this as it will be stuck within the the navigating block until reaching the area to conduct tasks, although it isn't best practice. 

     

    What I would personally do (unsure if it is what other scripters would suggest).

    1. Create an execution chain of functions that carry out the task in each area, they should be called after navigating to the area. Part of these tasks is to webwalk to the next area

    2. In my onLoop, instead of iterating over each area, have an if statement for each area starting at the first. When the script completes these tasks then it will webwalk to the next area and reach the next areas if statement and conduct the tasks within there.

    3. This execution chain continues until every area has been navigated to and all the tasks completed for each.

    By doing this, you have lots more code (and I agree it is less elegant of a solution than a for loop). You however, are certain that if your script has another strange/erroneous return whilst navigating, the next iteration of the onLoop will resume in the correct place and carry on with the execution of the tasks at hand.

    • Like 1
  14. 20 hours ago, gearing said:

    how is it going? i can be a tester once you have a working one

    Finishing my personal private scripts then will look into it probably in a few weeks or so. Add my discord if you want as I would appreciate your help and support :) - Impensus#2428

    • Like 1
×
×
  • Create New...