Jump to content

OsPlay

Members
  • Posts

    19
  • Joined

  • Last visited

  • Feedback

    100%

1 Follower

Profile Information

  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

OsPlay's Achievements

Newbie

Newbie (1/10)

3

Reputation

  1. Thanks my friend! i change to Banks, also added for spawn net fish!
  2. Hi, i'm new scripting so don't try this at home, probably have bugs, so let me know or there's something that i can add! DOWNLOAD JAR SOURCECODE
  3. Thx i didn't know, added!!! (i just put the code files because idk if it worth for a project...), also i have a little fishing script, probably i will publish also! (what do you recommend to start as a little project to adquire some skills??)
  4. Hi, i was developing an "small and ugly" script, probably will have some broken things (is in alpha, but not more in progress)* Anyway, requires: Telegrab, Nature Rune, Air rune or Equip. Jar file: https://mega.nz/file/UJQ0yQYA#WV7QRnciYHCVvkBL3dCtwcCkHu_XliwnOpIkMghYAgQ https://www.virustotal.com/gui/file/fe290d097483b3f33a3a69cac3688cb37a9d487978f1775f8c694b748d62d7fd/detection Source code: https://gist.github.com/Osplay/8fdfb8b95e0a3b208dd5eb07dff6c557 https://mega.nz/file/EVg11BhB#U5xLKkqF3s8nuRUnnLq4h548vDfjo3uwFS1GvPFzfmo https://www.virustotal.com/gui/file/dca9fc1a81e666c8b93dac44c2b4ed346209d5b62eb0cce8f23ee14be3d4d2a5/detection ** I'm not a programmer, so just chill out.
  5. This is an opinion: As far i know no matters what, injection/reflection both are detected, so even if the script have a human pattern (or try to emulate) is worthless as anti-ban, when the AI catch high probability of botting, and check for native client and if isn't... Just get the ban. What does is increase the time of be detected or worst reduce it, NOTHING ELSE. Look, for them are also a business they can't ban just because most of the people use Runelite or Osbuddy. Even for an AI it can't say look you're a bot, because most of the time players look like a bot, plus also are ok use mouse keymap. (Look AI have trouble to tag if a cat is a cocodrilo and requires of billion of training data for that) So the only "thing" that can do is take probability of: Time -> 24hs... no one human does... Pattern of activity -> If you do always move the camera between 2-3 mins for no reason ¿really? or just go banking with an sleep of 10-20 seconds when inventory is full... rlly? most of the time i go afk and forgot to click... Always doing 1 click, for item, not ever a mistake... And also, broken script, access to the bank 100 times and not getting nothing. Client -> you're runing a custom version of software? ok you'll have more chances to get a ban. Ip -> 200 players active from the same ip, look it can be a proxy, a cybercafe or just a bot farm. Cache -> idk, maybe are some stuff there (i don't have exp with that). Using WinApi is another story but also be flagged, at the end of the day the only way is creating your customs windows drivers, that is hard to detect because you need High level on windows to detect. (and your business go trash if you're installing Kernel Level Software XD)
  6. Yep, that was my question/supposition. Thx for anwser! Sry, my english is not strong enought to understand what do you want to say me... I'm not sure, i just tought that if it happens with interact, it will be all implemented that way, so i just jump to the decompiler, i saw how is executed interact() and try go arround with getEventExecutioner(), i didn't read the api (sry i know, i had to, shame on me), so probably it was a better way to handle, and it was, thx! Yep, that is because i removed from the actual code: (human player will not wait until item is dropped for continue) while(getInventory().getItemInSlot(slotNumberOfTheInventory) != null){ waitReflex(1); } but if you add will go: [0][1][2][3][4] and break, instead of [0][1][2][3][7], the ItemContainer on [7], is not null because is in the inventory. (most of the time) and if the fish in the row nº 7 is different: this does 1 more because [7] == null, but [6] != null. Is picking the first Item of the inventory, is not a bug is implemented that way.
  7. @Nbacon yes!!! using both do "snake" pattern with drop! this is using ItemCollection hover from: Item fish = getInventory().getItemInSlot(slotNumberOfTheInventory); or using:
  8. Hi, i have a question, i want to drop the items from the inventory avoiding the api path, so i try to make a snake drop path... Any way, when i try to drop the item from the nº 7 slot, and execute interact, drops me the nº 4. Is a joke that i'm too peasant to understand?? It's seems like fish (Item var) is linked with nº 7 item, but fish.interact() just jump to 4 and click it. logs print -> 7 (wich is on a loop until item goes null) ** also i tried getting all the items of the invetory and passing directly nº of the item, but do the same path instead of grabbing item from the getInventory().getItemInSlot(). private void dropFishFromTheInventory(int slotNumberOfTheInventory) throws InterruptedException { log(slotNumberOfTheInventory); Item fish = getInventory().getItemInSlot(slotNumberOfTheInventory); if(fish == null) return; if(getSettings().isShiftDropActive()) getKeyboard().pressKey(16); for (String fishName : SUPPORTED_FISHES) { if(fish.getName().contains(fishName)){ if (getSettings().isShiftDropActive()) { fish.interact(); } else{ fish.interact("drop"); } while(getInventory().getItemInSlot(slotNumberOfTheInventory) != null){ waitReflex(1); } if(getSettings().isShiftDropActive()) getKeyboard().releaseKey(16); return; } } } I'm not sure what i'm doing but i bypassed using: InventorySlotDestination destination = new InventorySlotDestination(getBot(), slotNumberOfTheInventory); getBot().getEventExecutor().execute(new InteractionEvent(destination, "drop")).hasFinished(); As i'm too noob, I'm not sure if is a bug with Item.Interact(); or is just me xD.
  9. Yep, as far i know: WebWalkEvent & DoorHandler
  10. I'm not an expert, i didn't test it, but i supouse that i'll do like: public void attackStyle() throws InterruptedException { if (getSkills().getDynamic(Skill.MAGIC) >= 35) { // open the tab... getTabs().open(Tab.ATTACK); // wait until tab is open... new ConditionalSleep(5000){ @Override public boolean condition() throws InterruptedException { if(getWidgets().isVisible(593,28)) return true; return getTabs().isOpen(Tab.ATTACK); } }.sleep(); // failed to see widget? if(!getWidgets().isVisible(593,28)) return; // take the widget. RS2Widget spellChoise = getWidgets().get(593,28); // interact with the widget. spellChoise.interact("Choose spell"); // sleep until can see the widget. new ConditionalSleep(5000){ @Override public boolean condition() throws InterruptedException { return getWidgets().isVisible(201,1,8); } }.sleep(); // failed to see widget? if(!getWidgets().isVisible(201,1,8)) return; // take the widget. RS2Widget fireBolt = getWidgets().get(201,1,8); if (fireBolt != null) { log("Selecting fire bolt"); fireBolt.interact("Fire Bolt"); } }
  11. I had the same problem... In my case i put the webwalk in a while where generate close path (20 tiles) ahead, but set X to avoid the other side of the wilderness, then i catch when is on the fishing spot...
  12. Sure, he use bots a lot, that is his channel about Xd, also says that use OsBot as client plus Runelite, Well, even if he lies and does, the next episode will see (?) Xd, but even then, is just more info that you can get, because if he botted and got 44% survival accounts are good news! but if he's not bluffing, then jagex flag system is crap, wich i absolute agree (opinion), most afk-low intensive click things have much lower ban ratio, you can reach 90+ lvl and not get a ban. Also mixing both is not a solution Xd plus suicide botting have longer life than short-break botting... or that is what they compare... (?)
  13. I was watching this guy , he manually do all the stuff, 0 botting aaaaaand, just ban him most of theire accounts, like 66%, bot ban system is a joke. Xd
  14. I recently started to script, so probably is broken... but maybe is useful: Food is not in it, because is easy just have to map which you gonna use... import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.ui.Spells; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import javax.swing.*; import java.util.ArrayList; import java.util.List; @ScriptManifest( name="Shitty Script", author = "OsPlay", version = 0.0, logo = "", info = "Spaghetti code!") public class Telegrab extends Script { public boolean EXIT = false; public Area AREA_TO_EXIT = new Area(1,1,1,1); public Area AREA_2_TO_EXIT = new Area(1,1,1,1); public List<Integer> LIST_OF_WORLDS = new ArrayList<>(); @Override public void onStart() throws InterruptedException { String list = JOptionPane.showInputDialog("WORLD TO HOP: AK 509,510,511..."); for (String world : list.split(",")) { LIST_OF_WORLDS.add(Integer.parseInt(world)); } } @Override public int onLoop() throws InterruptedException { exitOrChange(); // check if the player is logged ? if(!client.isLoggedIn() && !myPlayer().isOnScreen() && !myPlayer().isVisible()) return 1000; // cast the spell and grab tryToTeleGrab(); goOutSide(); // check if this work, maybe won't D; exitOrChange(); return 0; } private void exitOrChange() throws InterruptedException { if(EXIT || getInventory().isFull()){ while (getLogoutTab().logOut() == false){ sleep(100); } onExit(); } else { // you can add banking? switchWorld(); } } private void switchWorld() throws InterruptedException { if(LIST_OF_WORLDS.size() == 0) { EXIT = true; exitOrChange(); } int worldId = LIST_OF_WORLDS.get(0); LIST_OF_WORLDS.remove(0); getWorlds(); sleep(random(500,2000)); getWorlds().hop(worldId); } private boolean tryToTeleGrab() throws InterruptedException { boolean NO_MORE_RUNES = false; // logic error, do it only if you're not under attack and you have space to grab or runes to cast the spell. while (!myPlayer().isUnderAttack() && !NO_MORE_RUNES){ // check items and inventory to spell cast if(!checkItems()) NO_MORE_RUNES = true; if(!tryToGetTheRune()) return false; } return true; } private boolean tryToGetTheRune() throws InterruptedException { GroundItem natureRune = getGroundItems().closest("Nature rune"); if(natureRune == null) return false; //open magic! getMagic(); sleep(random(500,1000)); // Can't because lvl if(!getMagic().castSpell(Spells.NormalSpells.TELEKINETIC_GRAB)) return false; sleep(random(500,1000)); //cast magic if(!natureRune.interact("Cast")) return false; return true; } private void goOutSide() throws InterruptedException { // is not the best implementation of walking... while (!AREA_TO_EXIT.contains(myPosition().getX(), myPosition().getY())){ getWalking().webWalk(AREA_TO_EXIT); sleep(random(500,1000)); } while (!AREA_2_TO_EXIT.contains(myPosition().getX(), myPosition().getY())){ getWalking().webWalk(AREA_2_TO_EXIT); sleep(random(500,1000)); // I'm not sure how you wanna implement the teleport (cast spell?) } } private boolean checkItems() { // you have space in the inventory. if(getInventory().isFull()) return false; // check for law rune. if(getInventory().getAmount("Law rune") < 1) return false; // check for air rune. if(getInventory().getAmount("Air rune") < 1) return false; return true; } } i wrote in 1h and doing other stuff so, yeah broken as hell, even i don't know if there's the proper way to do it, due my lack of knowledge in the API. also you must add if the player is under attack or not when you walk, because will walk anyway to the 2nd place (wich you have to map) but you can play and test (wich is funny and probably get a ban XDD)
×
×
  • Create New...