Everything posted by Alek
-
Idle / Storage Bot
Not a scripting question, belongs in the witchcraft section.
-
What is the best way to find the center of a tile ? or area ?
Areas can be polygons, not rectangles. Not sure if you specifically meant rectangle areas.
-
mirror mode and rs client
If you are on Windows try downloading the .NET redistributables, I think there is a sticky thread about it in the mirror mode section.
-
RSPS Ban Bypass - HELP!!
It could literally be anything.
-
@vitez
No idea who he was, he just kept private messaging me about contacting the "owner of osbot" to buy his friend's revolutionary anti-ban technology.
-
Applying client injections/modifications (stuck)
Thanks for reporting.
-
Help client initialization error
Thanks for reporting.
-
Osbot dead?
Literally the biggest OSRS botting community.
-
Jagex mod gives away a bit too much about their anticheat
This thread is ridiculous, I read the post and the only bit of information he mentions is in reference to packet bots.
-
Mirror mode advice
Mirror Mode came out first, then other bots started trying to copy the idea (such as LG). There are many variables that go into a ban, mirror mode addresses a few overlying concerns. Mirror mode by itself is not enough to protect you 100%, and it's not efficient for a farm. Mirror mode is intended for running one or two accounts that you actually care about.
-
Can mirror mode run for a browser applet?
That's very unsubstantiated; the point of mirror mode is to minimize traces of the client. Keeping up with official tweets, news articles, game changes, and other media posted directly from the game developers, we have a pretty good understanding of a few methods they are using to target bots. No, it won't help you run a completely undetected bot farm. There are many variables that go into a ban, running just mirror mode alone won't make you completely safe. We've never made this claim. @SuikaBooty Proxies set through the mirror mode client will not work, but attaching to Firefox will.
-
What's the meaning of life?
The meaning of life is to play game Runescape, it is fine game with fine line. But it is also very fun. The purpose of game is to make transaction of gold. Fortunately I know good site where you can make gold. Many activity and good times, come check it out!
-
[Dev Build] Dynamic World Loading + Shift Dropping
Try dropAll and let me know if you get different results.
-
[Dev Build] Dynamic World Loading + Shift Dropping
Admittedly we probably should have came up with a dynamic world loading solution a very, very long time ago - but I set aside some time to finally do it. The world results are recached every 8 hours, so you should be safe from the bot accidentally loading dmm/skill worlds as the default. As always, I load your preference of F2P/P2P. Additionally I added shift dropping to the Inventory API. I do not modify your settings, meaning that if you have it enabled the bot will shift-drop and if not then it will drop it regularly. Recall that this follows similar suit to ESC closing interfaces (another game setting). If for instance your call Bank close(), it will check if this setting is active and either press the ESC key or click the widget. Download: https://osbot.org/devbuilds/osbot 2.4.114.jar I'm going to go play Rust now so don't bother me.
-
Clicking two objects with each other
You didn't post your code so we don't know how to improve it.
-
Bot Update - 24 Feb 17
Seems there is an issue with connecting to the game servers. Whether you are on version .111 or .112, if you get a bot initialization error just keep trying to restart OSBot until it works. It's completely random and if the internet gods are pleased, you may be blessed with the game actually loading. Nothing much more we can do since this is not related to our services. Thanks!
-
Bot isn't working?
Issue with the game servers, not an issue on our end.
-
Is my power supply to weak?
Does it go to a black screen, then come back? Does it go to a screen color and not return to normal? Kind of a notable difference,
-
Well he tried...
I believe we post general information telling users to verify who they talk to first. It doesn't make much sense to pin topics about individual OSBot members, we would have 15 pages of pinned threads.
-
Macro Killer Source
It's a simple free script, don't expect the world.
-
Macro Killer Source
Someone asked me for the source, here you go: import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.model.Item; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.ui.EquipmentSlot; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; import java.awt.*; import java.util.Arrays; import java.util.Comparator; import java.util.Optional; import java.util.function.Predicate; import java.util.stream.Collectors; /** * Created by Alek on 6/26/2016. */ @ScriptManifest(name = "Macro Killer", author = "Alek", version = 1.4, info = "Macro Killer", logo = "") public class MacroKiller extends Script { private boolean isUsingRanged = false; private Area combatArea; private String state = "State: Idle"; private Font titleFont = new Font("Sans-Serif", Font.BOLD, 10); private String ammoType; private int ammoRemaining = 0; private boolean isAvasEquipped = false; private int collectAmmo = 0; private Predicate<NPC> suitableNPC = n -> getMap().canReach(n) && n.getHealthPercent() > 0 && n.hasAction("Attack") && combatArea.contains(n) && !n.isUnderAttack() && getMap().realDistance(n) < 7; private Predicate<GroundItem> suitableArrowStack = g -> g.getName().contains(ammoType) && getMap().realDistance(g) < 4; @Override public void onPaint(Graphics2D g) { g.setFont(titleFont); g.setColor(Color.WHITE); g.drawRect(mouse.getPosition().x - 3, mouse.getPosition().y - 3, 6, 6); g.drawString("Macro Killer v1.5 - Written by Alek", 10, 250); g.drawString(state, 10, 265); if (isUsingRanged) g.drawString("Remaining " + ammoType + "s: " + ammoRemaining, 10, 280); } @Override public void onStart() { if (getEquipment().getItemInSlot(EquipmentSlot.WEAPON.slot).getName().contains("bow")) { Item ammo = getEquipment().getItemInSlot(EquipmentSlot.ARROWS.slot); if (ammo != null && ammo.getAmount() > 1) { ammoType = ammo.getName().toLowerCase().split(" ")[1]; isUsingRanged = true; } if (isUsingRanged) { Item item = getEquipment().getItemInSlot(EquipmentSlot.CAPE.slot); isAvasEquipped = item != null && (item.getName().contains("Ava's")); } } combatArea = myPlayer().getArea(6); } @Override public int onLoop() { if (getSkills().getDynamic(Skill.HITPOINTS) < (getSkills().getStatic(Skill.HITPOINTS) / 2)) { state = "State: Looking for food to eat"; Optional<Item> foodItem = Arrays.stream(getInventory().getItems()).filter(i -> i != null && (i.hasAction("Eat") || i.hasAction("Drink"))).findFirst(); if (foodItem.isPresent()) { state = "State: Eating food " + foodItem.get().getName(); foodItem.get().interact("Eat", "Drink"); } else { state = "State: No food remaining, logging out"; stop(true); } } else if (!getCombat().isFighting() || myPlayer().getInteracting() == null) { if (isUsingRanged) { state = "State: Checking equipment for " + ammoType + "s"; Item arrows = getEquipment().getItemInSlot(EquipmentSlot.ARROWS.slot); if (arrows == null || arrows.getAmount() < 10) { state = "State: Not enough arrows, logging out"; stop(true); return 0; } ammoRemaining = arrows.getAmount(); state = "State: Scanning ground for " + ammoType + "s"; java.util.List<GroundItem> arrowItems = groundItems.getAll().stream().filter(suitableArrowStack).collect(Collectors.toList()); arrowItems.sort(Comparator.comparingInt(GroundItem::getAmount).thenComparingInt(GroundItem::getAmount).reversed()); if (!isAvasEquipped && !arrowItems.isEmpty()) { if (arrowItems.get(0).getAmount() > 1 || ((collectAmmo = ~collectAmmo & 1) == 1)) { state = "State: Looting " + arrowItems.get(0).getName() + "(s) with a stack size of " + arrowItems.get(0).getAmount(); if (arrowItems.get(0).interact("Take")) { ConditionalSleep pickup = new ConditionalSleep(4000, 500) { @Override public boolean condition() throws InterruptedException { return !arrowItems.get(0).exists(); } }; if (pickup.sleep()) { if (arrowItems.get(0).getName().equals(getEquipment().getItemInSlot(EquipmentSlot.ARROWS.slot).getName())) getInventory().interact("Wield", arrowItems.get(0).getId()); } } } } } state = "State: Searching for monsters to kill"; java.util.List<NPC> npcs = getNpcs().getAll().stream().filter(suitableNPC).collect(Collectors.toList()); if (!npcs.isEmpty()) { npcs.sort(Comparator.<NPC>comparingInt(a -> getMap().realDistance(a)).thenComparingInt(b -> getMap().realDistance(b))); if (npcs.get(0).interact("Attack")) { state = "State: Attacking " + npcs.get(0).getName(); new ConditionalSleep(3000, 500) { @Override public boolean condition() throws InterruptedException { return !npcs.get(0).exists() || npcs.get(0).isUnderAttack(); } }.sleep(); } } } return 500; } }
- Alek
-
Alching bot ban rate
This is called scripting help, please post in the botting & bans sections for detailed ban statistics.
-
CLI help
Its a bit older, missing things like nointerface
-
Problem with scripter
Depends on when the script was made and when it broke. Read this: