Everything posted by Parameter
-
Some inventory methods
Searching through the client
-
Some inventory methods
public static String getSelectedItem(final ClassLoader loader) throws Exception { final Field field = loader.loadClass("client").getDeclaredField("ia"); field.setAccessible(true); return (String) field.get(null); } public static int getSelectionState(final ClassLoader loader) throws Exception { final Field field = loader.loadClass("client").getDeclaredField("ib"); field.setAccessible(true); return field.getInt(null) * 1348970433; } public static boolean isSelected(final ClassLoader loader) throws Exception { return getSelectionState(loader) != 0; } How to use these? Let's say we want to do this in the onLoop method: public int onLoop() throws InterruptedException { final ClassLoader loader = bot.I() //Change bot.I() to whatever method returns a classloader at the moment if(isSelected(loader)) { final String selected = getSelectedItem(loader); } return 50; }
-
Bot Detection Articles
Jagex already does most of this in RS3
-
Trading between two of your accounts - advice/question
I got banned on three accounts a few minutes ago just by trading items.
-
Getting users currently running script then showing them on my website?
I'd say whenever someone runs your script you submit their username to some server and whenever they stop your script you submit the name again.
-
Massive Lvl1 clue scrolls data dump
You could also just dump all item definitions and store these and that would give you all level 1, level 2 and level 3 clue scroll data. That would probably take like an hour if not less.
-
Interacting entity
No offense but the api is so messy it is very hard to find, please do point me in the right direction. Oh you call it getFacing? Fucking Laz with his weird naming it drives me crazy
-
Interacting entity
We'll have to do with this as long as it's not hooked, I needed this for my script and I decided to share it with you people. public Entity getInteracting(final org.osbot.script.rs2.model.Character<?> character) { try { final ClassLoader loader = provider.bot.I(); final Field field = loader.loadClass("aw").getDeclaredField("ao"); field.setAccessible(true); final int index = field.getInt(character.instance) * 1850266567; final XClient client = provider.client.instance; if (index == -1) { return null; } else if (index > 32767) { final XPlayer[] players = client.getLocalPlayers(); return new Player(players[index - 32768]); } else { final XNPC[] npcs = client.getLocalNpcs(); return new NPC(npcs[index]); } } catch (final Exception e) { provider.log(e.getMessage()); } return null; } Probably self explanatory but it uses the bots classloader to load class aw (entity/character/actor) and retrieve field ao (interacting index). It then changes the modifier of this field to public. If index = -1 (no interacting entity) it returns null, if the index is higher than 32767 (the size of the npc array), the interacting entity is a player and therefor it gets the player array (obviously unmodified) and subtracts 32768 from the index to get the index in the player array. If the index is not higher than 32767 (so 32767 and lower) it'll just get the instance out of the unmodified npc array and return a new NPC. Images:
-
Caged Ogres
Should be out very soon, there's just a few things I need to test.
- Caged Ogres
-
Caged Ogres
Kills ogres at the training area you can access after completing biohazard Currently does: - Refill cannon once it's out - Fire the cannon if it's not already firing - Pick up and place the cannon again when you get the message that your cannon is about to decay - Attacks ogres with range weapons of any kind - Uses special attack when using magic bow Things I want to add: - Magic support (not sure how and what so please do suggest) - Random object/npc examination to serve as a sort of antiban - Some more simple antiban such as random mouse/camera movement - A paint Suggest stuff!