

liverare
Scripter II-
Posts
1300 -
Joined
-
Last visited
-
Days Won
3 -
Feedback
0%
Everything posted by liverare
-
What your suggesting is botting on your desktop PC and viewing it from your phone, so it's not botting from your phone. Alek, the staff, and all the members of OSBot can sing the 12 days of "it'll never happen" ... until it does. If/when one of OSBot's competitors innovates and capitalises on mobile botting, that'll snatch up a large portion of the botting community, because people are attracted to new and innovative technology (like mirror mode). I suspect the reason for any apprehension is due to the amount of work that'd need to be done to get it to work, and whether the turnover would even be worth it. It's a completely different platform with different inputs, so there'd need to be a bridging between the desktop and smartphone versions of the bot. But once one bot manages it, then their tech will be reverse engineered, studied, and rewritten. But the opportunity is too good to pass up! Mobile-botting Faster to start-up bot (slow pc/laptop booting) Easier controls No more mouse movements = fewer bugs/slow reactions = less suspect Easier to check up on progress Can take control whenever you want (instead of PC running at home where it's out of reach) There are risks too: Capacity - how many bots? Risks - what can Jagex learn about your phone via the app? I'm optimistic and also opportunistic. I got into learning Java because of botting, so I'd like to try my hand at mobile-botting.
-
Naming anything "resource" is bad, because it has a very ambiguous meaning in programming. Anything could be a resource. Perhaps GEItem, or something?
-
If you want to get your shit together, then I don't know what the fuck you're doing here.
-
[B] Looking to buy a simple script for Chrome
liverare replied to LeBron's topic in Other & Membership Codes
Can you be more detailed and include context please? This makes no sense to me. Yes I can make chrome extensions. -
How likely is it to find someone who's prepared to pay stupid amounts for a single bitcoin? This is the flaw I see in the whole crypto-currency scheme; if there's no way to exchange your bitcoins for fiat currency, products, or services, then saying you have a million bitcoins doesn't mean shit.
-
If you want a simplistic GUI, definitely look into JOptionPane, because that's as simple as it gets. If you want to try out being creative, you can download the source for my Glassblower script and see what I did, to see whether it helps you.
-
Enemy.interact("Attack") That returns a boolean. If that boolean value is true, then the bot successfully interacted with the enemy. If that boolean value is false, then the bot failed. The sleep is inside that IF statement so that you only sleep if you were successful. Because otherwise, you're going to be needlessly delaying yourself.
-
Q: How to constantly check if under attacked? A: isUnderAttackByAnotherPlayer if (isUnderAttackByAnotherPlayer()) { // run away } else { // make air orbs } Source: public boolean isUnderAttackByAnotherPlayer() { return players.getAll().stream() .filter(this::isNotMe) .filter(this::isInteractingWithMe) .anyMatch(this::isSkulled); } private boolean isNotMe(Player p) { return !p.equals(myPlayer()); } private boolean isInteractingWithMe(Player p) { return myPlayer().equals(p.getInteracting()); } private boolean isSkulled(Player p) { return p.getSkullIcon() >= 0; } Note: this checks for players that... are not you - because you have to filter yourself out of the list too are interacting with you - this can include following, trading, or attacking; anything where one player's focus is directed towards you are skulled - I found a thread which supposedly has ids, because Player#getSkullIcon returns an number. However, this does not actually know whether a player is attacking you. For all the bot knows, a skulled player could be trying to trade with you.
-
B-but Ukip is ebil nazis!
-
3 scripts I bought no longer being worked on + a bunch of bugs?
liverare replied to Scuffed's topic in General Help
This happens in every single botting community. Some older scripts stop being supported, most likely because the script's generally unpopular and/or the original scriptwriter has left. Two of the scripts you've mentioned were created by @Extreme Scripts who is banned. In some circumstances where a script is actually worth keeping, another scriptwriter (or even developer) takes up the task to maintain it. This doesn't appear to have been the case because those scripts aren't available on the SDN anymore. One possible reason I suspect is that there is no standard scriptwriters adhere to, so our scripts literally come in all shapes and sizes, so just picking up someone else's script and trying to learn what they did can be a hell of a task in itself. This is one of many reasons why you should write your own scripts. As @Apaec has said, hopefully you got your money worth. -
The bot has its own virtual mouse, which is why you're able to bot and still continue to use your mouse normally for other stuff. This virtual mouse appears to be present only when you're running a script. If user input is enabled and you alt-tab into the bot client, the virtual mouse will be shifted to where your real mouse is.
-
Warning: racism. Insanely smart and insanely racist. It's some funny ass shit. For more information:
-
I hate those pricks who won't ever post a plain link. Instead, it's a redirection to a page of adverts that, after some time, then lets you go to the intended destination. Those sites are absolute cancer.
-
I waited before now because I don't want to do your work for you. I did release a thread on how to copy a script (packed in a jar file) to OSBot's script folder, which would help you find out some of that stuff. But in relation to your assignment, I've wrote the following: Note: the "Take extra care about which streams you need if you want to handle both binary and text files" has sort of been addressed in that, the file you chose to copy will have its type factored into the the new file when copying, because I've used JFileChooser. import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; public class Test { public static void main(String[] args) throws IllegalArgumentException, FileNotFoundException, IOException { File source; File destination; String fileExtension; FileFilter fileFilter; // get source source = selectFileToBeCoppied(); if (source == null) { System.err.println("No source file selected!"); System.exit(0); } // create file filter fileExtension = getFileExtension(source); fileFilter = createFileFilter(fileExtension); // get destination destination = selectDestinationToCopyTo(fileFilter); if (destination == null) { System.err.println("No destination file selected!"); System.exit(0); } // make sure destination includes extension (because users sometimes forget to include it in themselves) if (fileExtension != null && !destination.getName().endsWith("." + fileExtension)) { destination = new File(destination.getParentFile(), destination.getName() + "." + fileExtension); } // hope destination file doesn't exist OR request permission to overwrite file if (!destination.exists() || requestPermissionToOverwriteFile()) { copyFiles(source, destination); } } /** * Allow the user to specify the file that is to be copied * * @return selectedFile */ private static File selectFileToBeCoppied() { File selectedFile = null; JFileChooser fileChooser = new JFileChooser(); if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { selectedFile = fileChooser.getSelectedFile(); } return selectedFile; } /** * If you chose to copy a text file (.txt) then it makes sense to save it as a * text file also. Conversely, if the file has no file extension, then we want * to also copy it without an extension. * * @param fileExtension * - file extension * @return fileFilter */ private static FileFilter createFileFilter(String fileExtension) { FileFilter fileFilter = null; if (fileExtension != null) { fileFilter = new FileNameExtensionFilter(fileExtension, fileExtension); } else { fileFilter = new FileFilter() { @Override public String getDescription() { return "No file type selected"; } @Override public boolean accept(File f) { return !f.getName().contains("."); } }; } return fileFilter; } /** * Extract the extension of a file * * @param file * - File to analyse * @return fileExtension */ private static String getFileExtension(File file) { String fileExtension = null; String fileName = file.getName(); int dotIndex = fileName.lastIndexOf("."); if (dotIndex >= 0) { fileExtension = fileName.substring(dotIndex + 1); } return fileExtension; } /** * Allow the user to specify the destination to where the file is to be copied * * @return selectedFile */ private static File selectDestinationToCopyTo(FileFilter fileFilter) { File selectedFile = null; JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileFilter(fileFilter); if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) { selectedFile = fileChooser.getSelectedFile(); } return selectedFile; } /** * Warn users when a file is being overwritten because of copying. This will * happen if the destination file already exists. In such cases, you can ask the * user whether they want to continue with the writing or abort. * * @return <tt>User has granted permission to overwrite a file</tt> */ private static boolean requestPermissionToOverwriteFile() { return JOptionPane.showConfirmDialog(null, "File already exists.\nDo you want to replace it?", "Confirm", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION; } /** * Handle both binary and text files. Take extra care about which streams you * need if you want to handle both binary and text files * * @param source - File source (file/folder) * @param destination - File destination * @throws IllegalArgumentException - Bad arguments * @throws FileNotFoundException - No file found * @throws IOException - Failed to copy */ private static void copyFiles(File source, File destination) throws IllegalArgumentException, FileNotFoundException, IOException { byte[] buffer; int length; if (source.equals(destination)) { throw new IllegalArgumentException("Source and destination files cannot be the same"); } else { buffer = new byte[1024]; try ( FileInputStream in = new FileInputStream(source); FileOutputStream out = new FileOutputStream(destination); ) { while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } } } } }
-
Only valid widgets would be passed into the match function, so you don't need to check for that. Be sure to check the array length to make sure it's not an empty array. You should only have one return statement in a function. You should store the widget actions in a variable and reuse them. @Override public final boolean match(RS2Widget widget) { boolean match = false; String widgetActions = rs2Widget.getInteractActions(); if (widgetActions != null && widgetActions.length > 0) { for (String action : actions) { for (String widgetAction : widgetActions) { if (widgetAction.equals(action)) { match = true; break; } } } } return match; }
-
Here, you're going to learn how to set up your Eclipse for the following: Automatically compile and save your scripts to script folder folder each time you save your work. Share the same script files across many projects. Recompile everything in the event of script conflicts or corruptions. Let's start: Automatically compile and save your scripts to script folder folder each time you save your work 1. Open Eclipse and navigate to Window > Preferences. 2. Navigate to General > Workspace > Linked Resources 3. Click "New..." and create a new resource, then give the new path a name and set the location to OSBot script folder 4. Click "Ok" and the new resource will be listed 5. Navigate to Java > Compiler > Building, then under "Output Folder" untick the "Scrub output folders when cleaning projects" 6. Apply and close your preferences then make a new script project 7. Name the project and click "Next" 8. Where it says "Default output folder:" click browse 9. Very important: select the project! Then click the "Create New Folder..." button 10. Open the advanced options and select the variable you created earlier. 11. Select the new folder path and click "OK" Your OSBot folder will now be used to compile and save your scripts directly to. 12. Time to test. Click on the "Libraries" tab, then click the "Add External JARs..." button and add OSBot, then click "Finish". 13. Create a new script 14. Add a script manifest and some code 15. Launch OSBot and check to see if your script appears in the list Share the same script files across many projects 1. Create a new framework project 2. Right click your script project, go to "Properties", click on the "Projects" tab and add your framework to the list Recompile everything in the event of script conflicts or corruptions Note: you should only really need to do this if you've been messing with the files in OSBot/scripts without using Eclipse, or if you've got multiple Eclipse workspaces all outputting to the same folder, or you've deleted some Eclipse projects that are being used by other projects. 1. Go to "Project" and "Clean..." 2. Select all (or some) of the projects you want to totally recompile
-
You don't need to. OSBot didn't always support jar files. Here: https://osbot.org/forum/topic/131666-setting-up-eclipse/
- 4 replies
-
- jar file
- script folder
-
(and 1 more)
Tagged with:
-
I only compile a jar file when I intend to distribute a script. Otherwise, my Eclipse will compile my script and save the compiled files to OSBot's script folder too.
- 4 replies
-
- jar file
- script folder
-
(and 1 more)
Tagged with:
-
You can make your jar files copy themselves across to the OSBot script directory. This is mostly useful if you plan on giving someone your script in the form of a jar file, and you can try it out yourself with my Glassblowing script. Note: Nothing will happen if you try to run the jar file from within your script folder. The jar cannot delete itself. This is possible launching a batch process, but that's hacky and more effort than it's worth. When you export your project to a jar, make the code below your main class: Save as MoveToOSBotScriptFolder.java import java.awt.Desktop; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.JOptionPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; /** * Move Jar file from wherever it currently is to OSBot's script folder. * * @author LiveRare * */ public class MoveToOSBotScriptFolder { public static final String OSBOT_SCRIPT_DIR = System.getProperty("user.home") + File.separatorChar + "osbot" + File.separatorChar + "scripts" + File.separatorChar; public static final File OSBOT_SCRIPT_FILE = new File(OSBOT_SCRIPT_DIR); public static final String THIS_FILE_DIR = MoveToOSBotScriptFolder.class.getProtectionDomain() .getCodeSource().getLocation().getFile().replaceAll("%20", " "); public static final File THIS_JAR_FILE = new File(THIS_FILE_DIR); public static final File OSBOT_SCRIPT_JAR_FILE = new File(OSBOT_SCRIPT_FILE, THIS_JAR_FILE.getName()); public static void main(String[] args) { try { if (!isRunningJarAlreadyInScriptsFolder()) { setSystemLAF(); if (alreadyExists() ? requestPermissionToOverwriteFile() : requestPermissionToMoveFile()) { if (deleteJarFileInScriptFolder() && createJarFileInScriptFolder()) { copyFileAcross(); openOSBotScriptFolder(); } } } } catch (IOException e) { e.printStackTrace(); } } private static boolean isRunningJarAlreadyInScriptsFolder() { return THIS_JAR_FILE.equals(OSBOT_SCRIPT_JAR_FILE); } private static void setSystemLAF() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { e.printStackTrace(); } } private static boolean requestPermissionToMoveFile() { return JOptionPane.showConfirmDialog(null, String.format("Do you want to move:\n\n%s\n\nto\n\n%s", THIS_JAR_FILE, OSBOT_SCRIPT_FILE), "Confirm", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION; } private static boolean requestPermissionToOverwriteFile() { return JOptionPane.showConfirmDialog(null, String.format("%s already exists.\nDo you want to replace it?", OSBOT_SCRIPT_JAR_FILE.getName()), "Confirm", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION; } private static boolean alreadyExists() { return OSBOT_SCRIPT_JAR_FILE.exists() && OSBOT_SCRIPT_JAR_FILE.isFile(); } private static void copyFileAcross() throws FileNotFoundException, IOException { byte[] buffer = new byte[1024]; int length; try ( FileInputStream in = new FileInputStream(THIS_JAR_FILE); FileOutputStream out = new FileOutputStream(OSBOT_SCRIPT_JAR_FILE); ) { while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } } } private static boolean deleteJarFileInScriptFolder() { return !OSBOT_SCRIPT_JAR_FILE.exists() || OSBOT_SCRIPT_JAR_FILE.delete(); } private static boolean createJarFileInScriptFolder() throws IOException { return OSBOT_SCRIPT_JAR_FILE.exists() || OSBOT_SCRIPT_JAR_FILE.createNewFile(); } private static void openOSBotScriptFolder() { try { if (Desktop.isDesktopSupported()) { Desktop.getDesktop().browse(OSBOT_SCRIPT_FILE.toURI()); } } catch (IOException e) { e.printStackTrace(); } } }
- 4 replies
-
- 2
-
-
- jar file
- script folder
-
(and 1 more)
Tagged with:
-
Click here to go to the SDN page to add the script. Display CLI Supported Example: -script Glassblower:CRAFT.LIGHT_ORB
-
It's hard to take "anonymous" serious when 1) nobody's anonymous nowadays, and 2) that entire "movement" is wholly reliant on an internet connection.
-
Display CLI Supported Example: -script Glassblower:CRAFT.LIGHT_ORB
-
Funnily enough, bots are killing botting. OSRS is an old game, and modern day computers can run 10-20 bots seamlessly, and there are VPNs who can go even further. So you need to assume that, if you're doing, then there are 100,000s bots also doing it too. You'll only profit if you do your research and find out what's actually worth profiting from. If you're doing yews, guess what, everybody's doing yews. The demand for yew logs is always met, so try to find a profitable method that's niche and milk it dry. The problem you and 99.9% botters face is: access. Most of the good content is locked behind quests, high level requirements, and are located in dangerous areas. To build an account for these tasks takes some heavy time and investment, something which you can't afford to lose too soon. So you should also research the scripts you intend on using to make sure they are reliable and aren't prone to obvious botting signs.
-
If you're using a framework like bootstrap, then no. I haven't used frameworks enough to help you with them. Because otherwise, post your HTML code and describe problem.
-
I've updated it to 2.0. No longer supporting the quantity buttons - this is wholly unnecessary because "all" should be selected beforehand and the only one that matters. No more Amount.ItemOption, instead the buttons are stored to an <ItemDefinition, RS2Widget> map for simplicity's sake, which has meant more functions to quickly find the buttons you actually want (see the code example).
- 4 replies
-
- 2
-
-
- amount widget
- amount widget api
-
(and 3 more)
Tagged with: