Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Valkyr

Members
  • Joined

  • Last visited

Everything posted by Valkyr

  1. Could you not at least partially solve this using gaussians?
  2. Wow Alek. Just wow. Sad to see you going but all the best! ?
  3. Hi all, back from my hiatus and on track for a release this week, stay tuned!
  4. Searchable combo box http://stackoverflow.com/questions/16418925/using-jcombobox-as-a-search
  5. nm u?
  6. Congratulations Mald! Will there be a fanfare to celebrate the coming of OSBot's heir?
  7. ( ͡° ͜ʖ ͡°)
  8. I hope I win Alpha Fighter!
  9. Bc someone followed it and were having issues
  10. Why declare a JFrame within the script class? Separate it. public class GUI extends JFrame { public GUI() { setTitle("GUI); ... pack(); setVisible(true); } } Instantiate within the script class public class ShitScript extends Script { private GUI gui; ... @Override public void onStart() { gui = new GUI(); } @Override public void onExit() { if(gui != null) gui.dispose(); } ... } This way, you can manage your GUI without having to trawl through a ton of unrelated code in the script class.
  11. That's what I was getting at with the P.S
  12. It wasn't paid for via the website, which means he would have authed it to you. Recently due to shenanigans, all of his auths were removed. P.S I recommend purchasing a voucher with RSGP next time.
  13. Tomorrowland is now sold out for anyone still considering
  14. I'll be there anyway if I can afford it
  15. Not yet, I've uploaded it but there's a ton of code to be checked so it's gonna be some time
  16. Make sure you don't have any older versions of Java installed, they sometimes override the newer version. Try re-downloading the OSBot jar.
  17. 2.4.39-40 It does that after opening a bot tab (mirror)
  18. Features: All Trees All Locations Automatic Progression DMM Support Chat Responder Innovative UI Screenshots: Progress Reports:
  19. Valkyr replied to Maldesto's topic in Spam/Off Topic
  20. Assuming they're missing hooks since it's accessing the client class.
  21. Valkyr posted a topic in Snippets
    Wrote this a while back, basically a replacement for EntityAPI IQuery.java import com.zenscripting.api.script.engine.Context; import java.util.Comparator; import java.util.List; import java.util.function.Predicate; /** * Created by Valkyr on 17/12/2015. */ /** * Query * * @param <T> Type of query * @param <R> Result table type * @param <Q> Query type */ public interface IQuery<T, R extends IQueryResult<T>> { /** * Returns the API context * * @return context */ Context getContext(); /** * Returns the list of T to be queried. * * @return List of T */ List<T> load(); /** * Returns the results from filtering items using the * provided predicate. * * @param predicate a predicate to filter the query * @return this query */ IQuery<T, R> filter(Predicate<T> predicate); /** * Sorts results according to the comparator * * @return this query */ IQuery<T, R> sort(Comparator<T> comparator); /** * Removes non-matching items * * @param subType * @return this query, modified for subclass */ <ST extends T> Query<ST, QueryResult<ST>> bySubClass(Class<ST> subType); /** * Returns the results of the query * * @return result */ R result(); } IQueryBuilder.java import org.osbot.rs07.script.Script; /** * Created by Valkyr on 17/12/2015. */ /** * Query Builder * Builds a query using given parameters * * @param <T> Object to use * @param <R> QueryResult type to use */ public interface IQueryBuilder<T, R extends IQueryResult<T>, Q extends IQuery<T, R>> { /** * Returns the API context * * @return context */ Script getScript(); /** * Returns a new Query of type T * * @return new query */ Q newQuery(); } IQueryResult.java import java.util.Comparator; import java.util.List; /** * Created by Valkyr on 17/12/2015. */ /** * Query Result * * @param <T> Type of query */ public interface IQueryResult<T> { /** * Returns the first item in the results table * * @return first found item */ T first(); /** * Returns the last item in the results table * * @return last found item */ T last(); /** * Returns the item at the provided index * * @param index * @return found item at index */ T get(int index); /** * Returns all items in the results table * * @return last found item */ List<T> all(); /** * Determines whether or not the results table is empty. * * @return results table is empty */ boolean isEmpty(); } Query.java import org.osbot.rs07.script.Script; import java.util.Comparator; import java.util.List; import java.util.function.Predicate; import java.util.stream.Collectors; /** * Created by Valkyr on 17/12/2015. */ public abstract class Query<T, R extends QueryResult<T>> implements IQuery<T, R> { private final Script script; private List<T> raw; public Query(Script script) { this.script = script; raw = load(); } public final Script getScript() { return script; } @Override public final Query<T, R> filter(Predicate<T> predicate) { if (raw != null && raw.size() > 0) { raw.removeAll(raw.stream().filter(t -> !predicate.test(t)).collect(Collectors.toList())); } return getThis(); } @Override public final Query<T, R> sort(Comparator<T> comparator) { raw = raw.stream().sorted(comparator).collect(Collectors.toList()); return getThis(); } @Override public final <ST extends T> Query<ST, QueryResult<ST>> bySubClass(Class<ST> subType) { if (raw != null && raw.size() > 0) { filter(t -> t != null && subType.isAssignableFrom(t.getClass())); } return (Query<ST, QueryResult<ST>>) getThis(); } protected final List<T> getRaw() { return raw; } protected final <SQ extends Query<T, R>> SQ getThis() { return (SQ) this; } public abstract R result(); } QueryBuilder.java import org.osbot.rs07.script.Script; /** * Created by Valkyr on 17/12/2015. */ public abstract class QueryBuilder<T, R extends IQueryResult<T>, Q extends IQuery<T, R>> implements IQueryBuilder<T, R, Q> { private final Script script; public QueryBuilder(Script context) { this.script = context; } public final Script getScript() { return script; } } QueryResult.java import java.util.List; /** * Created by Valkyr on 17/12/2015. */ public abstract class QueryResult<T> implements IQueryResult<T> { private final List<T> results; public QueryResult(List<T> results) { this.results = results; } @Override public T first() { if (!isEmpty()) return results.get(0); return null; } @Override public T last() { if (!isEmpty()) return results.get(results.size()); return null; } @Override public T get(int index) { if (!isEmpty()) return results.get(index); return null; } @Override public List<T> all() { if (!isEmpty()) return results; return null; } @Override public boolean isEmpty() { return results.size() < 1; } }
  22. Valkyr posted a topic in Resolved
    Why this time...?
  23. Valkyr replied to Valkyr's topic in Archive
    highAlch.cast() XD .cast() also checks canUse anyway, just there for example

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.