-
Posts
17 -
Joined
-
Last visited
-
Feedback
0%
About kushroom
Profile Information
-
Gender
Male
-
Location:
In a field of kush and shrooms
-
Interests
Getting high and drunk, coding, and chilling with my wife and kids.
Recent Profile Visitors
1556 profile views
kushroom's Achievements
Newbie (1/10)
3
Reputation
-
kushroom changed their profile photo
-
Some nice videos on Passwords. Not just for programmers
kushroom replied to AresScripts's topic in Software Development
Shit and I thought my password was good - 123456 -
Jagex mod gives away a bit too much about their anticheat
kushroom replied to Markus's topic in Botting & Bans
I can give you a link to a few things that this client does that makes your player stand out as a bot, they are not major, but a few minor simple things that could keep the player a bit more safe. If your interested at looking at it send me a pm. -
Jagex mod gives away a bit too much about their anticheat
kushroom replied to Markus's topic in Botting & Bans
Well that really has nothing to do with it to an extent. If the client uses reflection it has a lot less of a chance for jagex to detect they are using a 3rd party client, which they have stated on reddit is not against the rules. As far as the account getting flagged its based on user reports and the mods that are handling the antibot. If a mod notices an account with similar to a bot like movement than itll be flagged for further investigation, and on the weekends when mods are out of the office, pretty much only way you can get flagged is if a player reports the bot. The mirror mode/glass stuff they have out may help by 5% thats about it, thats only if jagex checks the mouse, keyboard, focus listeners to detect if the client is an original or if it is 3rd party. -
Jagex mod gives away a bit too much about their anticheat
kushroom replied to Markus's topic in Botting & Bans
Nothing new, they take information such as mouse movement, object clicking, play time, play responce time and a few other variables and compare the suspected account againist known bot accounts, if the results are similar they issue the ban without any questions. -
Thanks man much appreciated my friend! Soon as my scripts get flawless ill release them both for the community as a huge thanks for all the help and knowledge im received from this website over the years!
-
Hey guys I need help detecting weather my player is standing on a fire or not. I try to get all the objects at my players position, than check if there is nothing in that list with the name fire, but it picks up fires other than at my players position, and I want it to be only my exact position, thanks guys for the help!
-
There is about 12 spots in which you cannot light a fire. And as for a message listener, that seems to be more work than just finding what tiles are available instead of running around looking alike a bot after everytime you bank.
-
Hey guys im working on a ge cooker, where I have tiles closest to the bank at the ge that are able to have fires lighted at. When i run the code to detect the fires in the area around the bank it does that fine and logs all of them. So i try and take and check those locations vs the locations of lite fires so the script knows where to make a new fire that is closest to the bank, here is my variables and code commented for easy reading. If anyone could help me detect which free spaces in my array of positions that do not contain a ground object so I can have it light fires, that would be more than appreicated! Thanks as always guys! Variables: private final Area fireZone = new Area(3161,3486,3168,3493); private ArrayList<Position> positions = new ArrayList<Position>(); private final Position[] fireSpots = { new Position(3166,3492,0), new Position(3163, 3492, 0), new Position(3162, 3492, 0), new Position(3162, 3491, 0), new Position(3161, 3490, 0), new Position(3161, 3489, 0), new Position(3162, 3488, 0), new Position(3162, 3487, 0), new Position(3163, 3487, 0), new Position(3164, 3486, 0), new Position(3165, 3486, 0), new Position(3166, 3487, 0), new Position(3167, 3487, 0), new Position(3167, 3488, 0), new Position(3168, 3489, 0), new Position(3168, 3490, 0), new Position(3167, 3491, 0), new Position(3167, 3492, 0), new Position(3166, 3492, 0), new Position(3165, 3493, 0), new Position(3164, 3493, 0), new Position(3163, 3492, 0)}; private boolean done = false; Methods: private Position getNearestFree(){ if(done){ try { sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } return null; } else { //start of else statement removeAll(positions); //Emptys the arraylist to ensure that there is no previous saved variables ArrayList<RS2Object> fires = new ArrayList<RS2Object>(); for(Position p : fireSpots){ positions.add(p); //Adds the spots in which you can light logs from an array to an array list } List<RS2Object> fire2 = getObjects().getAll(); for(int i=0;i<fire2.size();i++){ if(fireZone.contains(fire2.get(i)) && fire2.get(i).getName().equals("Fire")){ fires.add(fire2.get(i)); //Adds fires from fireZone (Space around ge) } } for(int i=0;i<fires.size();i++){ //Remove fires that are lit from array of positions that are lightable for(int j=0;j<positions.size();j++){ if(fires.get(i).getPosition() == positions.get(j)){ positions.remove(j); } } } int dis = 513; int temp = 513; int objIndex = 0; for(int i=0;i<positions.size();i++){ temp = map.distance(positions.get(i)); if(temp < dis){ dis = temp; objIndex = i; } } done = true; return positions.get(objIndex); } //end of else statement } private void removeAll(ArrayList<?> objs){ if(objs.size() > 0){ for(int i=0;i<objs.size();i++){ objs.remove(i); } } }
-
Really? All you do is go to the tutorials section, find the script skeleton. Than add the code to the onStart() method. Not hard, id recommend learning some java if you wish to handle scripts, look on youtube for the boston or something like that. He teaches everything from variables to polymorphism, and abstract classes.
-
Hey guys, long time coder for osbot, long ago lost my old account, quit runescape. Finally decieded to come back nd check out the oldschool scene. So i figured save up get a bond nd possibly get back into it, or at the very least make some scripts to release for the community for all the years ive used this wonderful service that the community provides! Im working on a script that starts a fire at the ge in the locations that are able to hold fires. Than itll cook the food on that, and loop back in forth, so far I just started it but unfortunately it doesnt log anything, sits there and lags out the client very hard! If anyone could look at my methods for getting the fire and reading thru the rest to make sure im not over looking anything. All help is very much appreciated! Once the script is 100% flawless id like to release it for free for the public so I can start giving back. After this script is complete ill get to working on a ge bot that i had started a long time before and get it running so everyone can make maximum profits! Thank you guys so much for the years of support and all the help ive recieved! My GECooker script: package com.embah.GECooker; import java.awt.Graphics2D; import java.util.ArrayList; import java.util.List; import java.util.Random; import org.osbot.rs07.api.filter.Filter; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(name = "GECooker", author = "Kushroom", version = 1.0, info = "Cooks food at the Grand Exchange", logo = "") public class GECooker extends Script{ private final int burningLog = 26185; private final int[] banker_ID = {5453, 5454, 5455, 5456}; private final Area fireZone = new Area(3161,3486,3167,3492); private Position[] fireSpots = { new Position(3166,3492,0), new Position(3163, 3492, 0), new Position(3162, 3492, 0), new Position(3162, 3491, 0), new Position(3161, 3490, 0), new Position(3161, 3489, 0), new Position(3162, 3488, 0), new Position(3162, 3487, 0), new Position(3163, 3487, 0), new Position(3164, 3486, 0), new Position(3165, 3486, 0), new Position(3166, 3487, 0), new Position(3167, 3487, 0), new Position(3167, 3488, 0), new Position(3168, 3489, 0), new Position(3168, 3490, 0), new Position(3167, 3491, 0), new Position(3167, 3492, 0), new Position(3166, 3492, 0), new Position(3165, 3493, 0), new Position(3164, 3493, 0), new Position(3163, 3492, 0)}; private final int tinder_ID = 590; private int raw_ID = 359; private int cooked_ID = 361; private int burnt_ID = 367; private int log_ID = 1521; private Random r = new Random(); @[member=Override] public int onLoop() throws InterruptedException { if(getInventory().contains(raw_ID) && getInventory().contains(tinder_ID) && getInventory().contains(log_ID) && !myPlayer().isAnimating()){ if(bank.isOpen()){ bank.close(); sleep(r.nextInt(250) + 350); } log("Looking for fire"); Position nearestFire = getNearestFire(); List<RS2Object> objLoc = objects.get(nearestFire.getX(), nearestFire.getY()); boolean fireFound = false; for(int i=0;i<objLoc.size();i++){ if(objLoc.get(i).getName().equals("Fire")){ fireFound = true; } } log("walking to fire if one isnt found"); if(fireFound == false){ walking.getWalking().walk(getNearestFire()); sleep(r.nextInt(250) + 100); getInventory().getItem(tinder_ID).interact("Use"); sleep(r.nextInt(125) + 100); getInventory().getItem(log_ID).interact("Use"); sleep(r.nextInt(250) + 100); } log("Cooking on fire"); getInventory().getItem(raw_ID).interact("Use"); sleep(r.nextInt(250) + 100); nearestFire = getNearestFire(); objLoc = objects.get(nearestFire.getX(), nearestFire.getY()); for(int i=0;i<objLoc.size();i++){ if(objLoc.get(i).getName().equals("Fire")){ objLoc.get(i).interact("-> Fire"); sleep(r.nextInt(150) + 300); } } widgets.get(307, 4).interact("Cook All"); } if(!myPlayer().isAnimating() && (!getInventory().contains(raw_ID) || !getInventory().contains(log_ID))){ int tin = 0; int raw = 0; int cook = 0; int burnt = 0; int log = 0; while(!bank.isOpen()){ bank.open(); sleep(r.nextInt(200) + 150); } if(inventory.contains(burnt_ID)){ if(inventory.getAmount(burnt_ID) > 1){ bank.depositAll(burnt_ID); sleep(r.nextInt(200) + 150); } else if(inventory.getAmount(burnt_ID) == 1){ bank.deposit(burnt_ID, 1); sleep(r.nextInt(200) + 150); } } if(inventory.contains(cooked_ID)){ bank.depositAll(cooked_ID); sleep(r.nextInt(200) + 150); } if(!inventory.contains(tinder_ID)){ bank.withdraw(tinder_ID, 1); sleep(r.nextInt(200) + 150); } if(!inventory.contains(log_ID)){ bank.withdraw(log_ID, 1); sleep(r.nextInt(200) + 150); } if(!inventory.isFull()){ bank.withdrawAll(raw_ID); sleep(r.nextInt(200) + 150); } } return r.nextInt(r.nextInt(150) + 200); //100 to 200 fireZone.contains(myPlayer().getPosition()) } @[member=Override] public void onStart(){ log("Starting GECooker by Kushroom \"Private\""); } @[member=Override] public void onExit(){ } @[member=Override] public void onPaint(Graphics2D g){ } private Position getNearestFire(){ ArrayList<Position> matched = new ArrayList<Position>(); int dist = 513; int objIndex = 0; List<Position> pos = fireZone.getPositions(); for(int i=0;i<pos.size();i++){ for(int j=0;j<fireSpots.length;j++){ if(pos.get(i) == fireSpots[j]){ matched.add(fireSpots[j]); int temp = map.distance(fireSpots[j]); if(temp < dist){ dist = temp; objIndex = matched.size() - 1; } } } } return matched.get(objIndex); } private boolean isAnimating(){ return myPlayer().getAnimation() == 0; } private boolean itemSelected(){ String name = null; try { name = getInventory().getSelectedItemName(); } catch (Exception e){} return name != null; } }