-
Posts
1130 -
Joined
-
Last visited
-
Feedback
100%
Posts posted by TheScrub
-
-
[INFO][Bot #1][02/16 03:25:54 PM]: Started random solver : Talking Solver
[ERROR][Bot #1][02/16 03:25:56 PM]: Error executing event : org.osbot.rs07.event.InteractionEvent@1639d9a
java.lang.ArrayIndexOutOfBoundsException: -1
at org.osbot.rs07.api.NPCS.getLocalNPC(Unknown Source)
at org.osbot.rs07.api.model.NPC.getIndex(Unknown Source)
at org.osbot.rs07.event.InteractionEvent.execute(Unknown Source)
at org.osbot.script.event.EventExecutor$2.run(Unknown Source)
at org.osbot.script.event.EventExecutor.execute(Unknown Source)
at org.osbot.rs07.api.model.Character.interact(Unknown Source)
at org.osbot.rs07.randoms.TalkingSolver.onLoop(Unknown Source)
at org.osbot.script.event.RandomExecutor.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
-
-
I might be interested in playing against @Gilgad, I want to end his streak.
contact him and tell us how it goes!
-
seems to be broken this is the new osbot 2 api
-
I'm best chess player, no one can beat me.
did you want a game?
-
Gilgad vs Crazy ~ Gilgad win
Gilgad vs Jack ~ Gilgad win
Gilgad vs Megaman ~ Gilgad win
Gilgad vs Zezurge ~ Gilgad win
Gilgad vs Gotenks ~ Gilgad win
i vs u gilgad!
-
Verse me.
In 5 moves, goml.
it's all about the fool's mate man 2 moves l2 chess
-
is dis shit league or wut
yer
-
weird NPE on the colorpicker
all colors seem to be returning null
example getting npe on this..
-
EXTREMELY HIGH CPU USAGE
NOTES: hid panel,hid console , loaded 2nd tab then exited first seems to use alot...
- 1
-
emulation errors are outrageous
Exception in thread "pool-1-thread-7" java.lang.VerifyError: Expecting a stackmap frame at branch target 44 in method script.Core.onMessage(Ljava/lang/String;)V at offset 7 at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.getConstructor(Unknown Source) at org.osbot.script.engine.ScriptManager$4.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
- 1
-
Add mee, LLGHTS
i will when sever is up..
-
it's f2p lol
-
Post OCE LOL Names if you want to play some normals with me
-
Will be playing against osbot members in funorb chess
Scrub V.S Acerd ~ Scrub Win
Gilgad vs JLaw ~ Gilgad win
Gilgad vs JLaw ~ Gilgad win
Gilgad vs Asuna ~ Gilgad win
Gilgad vs Crazy ~ Gilgad win
Gilgad vs Jack44 ~ Gilgad win
Gilgad vs Megaman ~ Gilgad win
Gilgad vs Zezurge ~ Gilgad win
Gilgad vs Gotenks ~ Gilgad win
mustard vs scrub ~ mustard win
If you want to challenge me/ have a match post something below
-
they should update the method to click the orb tbh
-
1st thanks so much for this Laz
The osbot 1 emulator still works? I will need it for my wcer
the osbot 1 emulator is working pretty good
-
Expect a public release within the coming days... OSBot 2 is nearly ready for adoption.
being a script developer and have used the osbot 2 client i don't think it will be ready for public release soon..
- 10
-
Nice work, have you been able to test it out?
the data there is fine just need to do the bitwise operations for selection
- 1
-
package prayer; import java.util.ArrayList; import java.util.List; import org.osbot.script.Script; import org.osbot.script.rs2.skill.Skill; import org.osbot.script.rs2.ui.RS2InterfaceChild; public class Prayers { private Script script; public Prayers(Script script) { this.script = script; } enum Prayer { THICK_SKIN(1, 1, 1, "Thick Skin"), BURST_OF_STRENGTH(4, 2, 2, "Burst of Strength"), CLARITY_OF_THOUGHT(7, 4, 3, "Clarity of Thought"), SHARP_EYE(8, 262144, 4, "Sharp Eye"), MYSTIC_WILL( 9, 524288, 5, "Mystic Will"), ROCK_SKIN(10, 8, 6, "Rock Skin"), SUPERHUMAN_STRENGTH( 13, 16, 7, "Superhuman Strength"), IMPROVED_REFLEXES(16, 32, 8, "Improved Reflexes"), RAPID_RESTORE(19, 64, 9, "Rapid Restore"), RAPID_HEAL( 22, 128, 10, "Rapid Heal"), PROTECT_ITEM(25, 256, 11, "Protect Item"), HAWK_EYE(26, 1048576, 12, "Hawk Eye"), MYSTIC_LORE( 27, 2097152, 13, "Mystic Lore"), STEEL_SKIN(28, 512, 14, "Steel Skin"), ULTIMATE_STRENGTH(31, 1024, 15, "Ultimate Strength"), INCREDIBLE_REFLEXES(34, 2048, 16, "Incredible Reflexes"), PROTECT_FROM_MAGIC(37, 4096, 17, "Protect from Magic"), PROTECT_FROM_MISSILES(40, 8192, 18, "Protect from Missiles"), PROTECT_FROM_MELEE(43, 16384, 19, "Protect from Melee"); private int requiredPrayerLevel; private int configValue; private int slot; private String prayerName; Prayer(final int requiredPrayerLevel, final int configValue, final int slot, final String prayerName) { this.requiredPrayerLevel = requiredPrayerLevel; this.configValue = configValue; this.slot = slot; this.prayerName = prayerName; } public int getRequiredPrayerLevel() { return requiredPrayerLevel; } public int getConfigValue() { return configValue; } public int getSlot() { return slot-1; } public String getName() { return prayerName; } } public boolean hasRequiredPrayerLevel(Prayer p) { return script.client.getSkills().getLevel(Skill.PRAYER) >= p .getRequiredPrayerLevel(); } public boolean isSet(Prayer p) { return p != null && getSelectedPrayers().contains(p); } public List<Prayer> getSelectedPrayers() { List<Prayer> selectedPrayers = new ArrayList<Prayer>(); for (Prayer p : Prayer.values()) { if ((script.client.getConfig(83) & (1 << getReversedPower(2, p.getConfigValue()))) != 0) { selectedPrayers.add(p); } } return selectedPrayers; } public List<Prayer> getSelectedQuickPrayers() { List<Prayer> selectedPrayers = new ArrayList<Prayer>(); for (Prayer p : Prayer.values()) { if ((script.client.getConfig(84) & (1 << getReversedPower(2, p.getConfigValue()))) != 0) { selectedPrayers.add(p); } } return selectedPrayers; } public boolean isSetQuickPrayer(Prayer p){ return p != null && getSelectedQuickPrayers().contains(p); } public boolean isQuickPrayerMenuOpen(){ return getChild(77,4) !=null; } private RS2InterfaceChild getChild(int parent, int child) { if (script.client.getInterface(parent) != null) { RS2InterfaceChild c = script.client.getInterface(parent).getChild(child); if (c != null && c.isVisible()) { return c; } } return null; } /* * Used to figure out how many shifts are needed.. */ private int getReversedPower(int powerOfNumber, int endNumber) { for (int i = 1; i < 31; i++) { if (Math.pow(powerOfNumber, i) == endNumber) { return i; } } return 0; } }
the slot class to return the slots like such..
package prayer; import java.awt.Point; import java.awt.Rectangle; import org.osbot.script.Script; import org.osbot.script.mouse.RectangleDestination; import org.osbot.script.rs2.ui.RS2InterfaceChild; import org.osbot.script.rs2.ui.Tab; import prayer.Prayers.Prayer; public class PrayerSlot { private Script script; private Prayers prayers; public PrayerSlot(Script script) { this.script = script; prayers = new Prayers(script); } private final int START_WIDTH = 553; private final int START_HEIGHT = 218; private final int WIDTH = 37; private final int HEIGHT = 37; private Point getPoint(int slot) { int column = slot / 5; int row = slot % 5; int x = (int) (START_WIDTH + (row * WIDTH)); int y = (int) START_HEIGHT + (column * HEIGHT); return new Point(x, y); } public Rectangle getRectangle(int slot) { Point p = getPoint(slot); return new Rectangle(p.x, p.y, 30, 27); } public void togglePrayerOn(Prayer p) throws InterruptedException { if (p != null && !prayers.isSet(p)) { Rectangle interactionSlot = getRectangle(p.getSlot()); if (script.currentTab() != null && interactionSlot != null) { if (!script.currentTab().equals(Tab.PRAYER)) { script.openTab(Tab.PRAYER); } if (script.currentTab().equals(Tab.PRAYER)) { interact(interactionSlot, "Activate"); } } } } public void togglePrayerOff(Prayer p) throws InterruptedException { if (p != null && prayers.isSet(p)) { Rectangle interactionSlot = getRectangle(p.getSlot()); if (script.currentTab() != null && interactionSlot != null) { if (!script.currentTab().equals(Tab.PRAYER)) { script.openTab(Tab.PRAYER); } if (script.currentTab().equals(Tab.PRAYER)) { interact(interactionSlot, "Deactivate"); } } } } public void toogleQuickPrayerOn(Prayer p) throws InterruptedException { if (p != null && !prayers.isSetQuickPrayer(p)) { Rectangle interactionSlot = getRectangle(p.getSlot()); if (script.currentTab() != null && interactionSlot != null) { if (!script.currentTab().equals(Tab.PRAYER)) { script.openTab(Tab.PRAYER); } if (script.currentTab().equals(Tab.PRAYER)) { interact(interactionSlot, "Toggle"); } } } } public void toogleQuickPrayerOff(Prayer p) throws InterruptedException { if (p != null && prayers.isSetQuickPrayer(p)) { Rectangle interactionSlot = getRectangle(p.getSlot()); if (script.currentTab() != null && interactionSlot != null) { if (!script.currentTab().equals(Tab.PRAYER)) { script.openTab(Tab.PRAYER); } if (script.currentTab().equals(Tab.PRAYER)) { interact(interactionSlot, "Toggle"); } } } } public void confirmQuickPrayers() throws InterruptedException { if (script.currentTab() != null && prayers.isQuickPrayerMenuOpen()) { if (!script.currentTab().equals(Tab.PRAYER)) { script.openTab(Tab.PRAYER); } if (script.currentTab().equals(Tab.PRAYER)) { interact(getChild(77,4).getRectangle(),"Done"); } } } public void openQuickPrayerMenu() throws InterruptedException{ //548,85 if (getChild(548,85) !=null){ interact(getChild(548,85).getRectangle(),"Setup"); } } public void activateQuickPrayers() throws InterruptedException{ if (getChild(548,85) !=null){ getChild(548,85).interact("Activate"); } } private RS2InterfaceChild getChild(int parent, int child) { if (script.client.getInterface(parent) != null) { RS2InterfaceChild c = script.client.getInterface(parent).getChild(child); if (c != null && c.isVisible()) { return c; } } return null; } private boolean interact(Rectangle rec, String action) throws InterruptedException { return script.selectOption(null, new RectangleDestination(rec), action); } }
updated it again a little
- 1
-
reworking it got my web hosting pasting new pictures...
-
You should inherit the Area class and override most/all of its methods to make it functional for a polygon-based region. This will ensure your PolygonArea instances can be applied to methods within the MethodProvider class that accept Area parameters.
this snippet is pretty old and is only used by me in osbot 2 related stuff as the api doesn't contain an AREA class
-
omni bad news my paint has a mistake on it from you didn't notice it says thesrub instead of thescrub
- 1
-
a megaman type of game like owata would be fun to make
owata for anyone who hasn't played
link not working...
Color Picker Broken?
in Archive
Posted
it keeps returning null colors when i use it and i null check everything