Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • morten1ela

    VIP
    • Posts

      83
    • Joined

    • Last visited

    • Days Won

      3

    morten1ela last won the day on September 25 2024

    morten1ela had the most liked content!

    About morten1ela

    Scripter

    Recent Profile Visitors

    2229 profile views

    morten1ela's Achievements

    1. Tile arrowTile = HintArrow.getTile();
    2. You can try Camera.rotateToEntity(Entity entity), Camera.keyboardRotateToEntity(Entity entity), or Camera.mouseRotateToEntity(Entity entity)
    3. Preemptive ty, glad I could win
    4. Deposit box's were fixed in the 3.28.26 dreambot update. Let me know if it still has issues.
    5. The dreambot devs have been working on new spoofing methods since the deprication was initially announced a few months ago. They're showing promising results where those using the beta haven't been getting the legacy client message in their inbox.
    6. gzzzzz
    7. Antiban is very speculative. My speculation is that 1-3 hours is too long for new accounts, especially in f2p. You clearly understand that task variety if important, which is why you have multiple combat locations and non-combat tasks, but it's not the end all be all. Try having the task times scale up with total level/xp. Give them periods where they gain absolutely no xp, like afk'ing or wandering around for a period of time. There's more you could do but that might be a good place to start and see how things improve, if at all. Side note, use Skills.getBoostedLevel(Skill.HITPOINTS); instead of this: public int getLocalHp(){ if (Widgets.get(160,9)!=null) if (Widgets.get(160,9).isVisible()) return Integer.parseInt(Widgets.get(160,9).getText()); return -1; } You can also use: Inventory.dropAll(item -> item.getName().contains("ore") || item.getName().contains("Raw") || item.getName().equals("Logs")); instead of this: void DropItems(){ for (int i = 0 ; i <28 ; i++){ if (Inventory.getItemInSlot(i)!=null) if (Inventory.getItemInSlot(i).getName().contains("ore") || Inventory.getItemInSlot(i).getName().contains("Raw") || Inventory.getItemInSlot(i).getName().equals("Logs")) { Inventory.getItemInSlot(i).interact("Drop"); slp(); } } }
    8. As the name implies, it's a listener that triggers when there is a change in the game tick. You should use it whenever you want to update something as the game updates. I don't think it'd be very beneficial for most scripts outside of high apm pvm scripts. I use it to update my boss pathing information every tick so the bot knows where to walk at any given game state.
    9. The nui and DataSingleton look like they are from camelCase's GUI framework. Just copy the files into your project and fix any package/import issues. https://github.com/camelCaseOSRS/Reflective-GUI-Generator?tab=readme-ov-file The WallSelection stuff is from his post in camelCase's GUI framework example.
    10. Webnodes are what the path finder uses to path to a certain location when you use Walking.walk from a distant location. Let's say you're in Lumbridge and want to walk to Entrana. The web path finder will create a path that the bot can walk along that'd use a series of basic web nodes and charter web nodes. The bot will initially path you to the boat via a bunch of basic web nodes until it reaches the boat. The CharterWebNode will have the functionality to handle talking to the monk, or, selecting the "Travel" action within its "execute" method. It can also handle any sleeps necessary to wait until it's done traveling before it starts trying to walk again. This is what makes these specialized webnodes very powerful. Without CharterWebNode's, you would have to hard code a sequence of events to walk to the destination. First, you'd have the bot walk to the monks by specifying a tile or area, then have some code where it'd talk to or select travel, then walk across the plank (the local path finder does this), finally you'd have to walk to the final destination in entrana. You should use custom web nodes when you're trying to walk to areas that are not mapped within the global list of web nodes, or if a web node doesn't have the functionality you desire. For example, when making a barrows script, you need to dig on the mounds to go inside the crypts. There are no global web nodes that handle this, and to prevent hard coding a sequence of events, I needed to make an EntranceWebNode to handle the walking on the mound and digging for each mound. This involved making a CryptEntranceNode (extends EntranceWebNode with custom functionality in the execute method) on the mound, an EntranceWebNode for the crypt stairs, and a BasicWebNode in the center of the crypt. Then, all I need to do is call Walking.walk(centerCryptTile) and the nodes+pathfinder will take care of everything. Additionally, there were some global nodes inside the maze but they didn't have the functionality that I wanted. I wanted to call Walking.walk(mazeCenterTile) and let the walker do all the work. However, due to how the global web nodes were set up, the walker relied heavily on the LocalPathFinder to deal with the doors and it led to unwanted behavior. What I did was make a MazeDoorNode that extends BasicWebNode and set its isValid method to return true if the doors have an "open" action. That way, the web nodes within the crypt will create an inherent path to the center of the maze and all I needed to to was call Walking.walk(mazeCenterTile). The local path finder handles the doors while the web finder handles the pathing to the center. Edit: Another recent web node I needed to create was a teleport web node for the crafting guild since there are none in the global web node. I created it almost exactly the same way Luxe did with his farming cape example. All I need to do is call Bank.open(BankLocation.CRAFTING_GUILD) and it will use the crafting cape to teleport while Bank.open walks to the bank.
    11. I can probably get around to a GP/hr calculator. When I first made the script I opted not to include one because cutting the gems will change the GP made. Since I've gotten more familiar with the dreambot API I can probably make something to track it. However, it'll come much later as I'm busy on other projects. I'm not entirely sure what you mean by more robust xp tracking.
    12. Congrats!
    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.