Alek
Ex-Staff-
Posts
7878 -
Joined
-
Last visited
-
Days Won
202 -
Feedback
100%
Everything posted by Alek
-
Random Events History (long read): A very long time ago Random Events were required, until they were removed because bots could solve them. During this time we had something called a RandomBehaviorHook which would allow a scripter to implement their own Random Event solver, ignoring the OSBot solvers. Since then, Random Events are no longer required to be solved and many of them can be simply dismissed. At no point was a scripter ever allowed to remove our solvers, simply overwrite them with their own. In addition to your standard solvers (such as Prison Pete or Freaky Forester), events such as Bank Pin and Welcome Screen are also "random events" which we solve. We started running into common issues where scripters would overwrite random events with their own events, only for their implementation to be much worse. Of course the Development team would get yelled at for these issues, unknowingly that Scripters were responsible. Since that point, it's become impossible to overwrite these solvers for two main reasons: 1. Events such as Bank Pin and the Login Screen should really only be handled by us 2. There are security risks in allowing a scripter to handle these events Subsequently Scripters have been trying to use unregisterHook on solvers, although that does nothing because a hook is not a solver. You cannot remove a solver, only hooks which you have registered. Changelog: -Removed RandomExecutor registerRandoms -Removed RandomExecutor registerHooks -Removed unregisterHook(RandomBehaviorHook) -Removed unregisterHook(RandomEvent) -Removed hasHook -Removed RandomExecutor clearHooks -Removed RandomBehaviourHook -Deprecated Entity examine() - Use InteractionEvent -Removed ScriptAnalyzer tab until it's reactivated -Added MyPlayer debug -Happy Botting
-
It was better the way you had it before, primitives are better. int check = new Integer(0); This still does nothing because willow is null: private Entity closestObjectForName(String WILLOW_TREE) { // TODO Auto-generated method stub return willow;//FIX THIS FUCKING NULL } Actually, how is your script even compiling? Your method doesn't have access to "Entity willow". What is this? public TP(String name){ this.willowtree = Objects.requireNonNull(willowtree); } You're assigning a generic to a string? Just delete this altogether. Why are you writing your own custom methods for things that already exist in the API: @SuppressWarnings("unused") private void castSpell(MagicSpell spell) { // TODO Auto-generated method stub NormalSpells vartele = Spells.NormalSpells.VARROCK_TELEPORT; } The reason I'm having a hard time believing that you wrote this is because you wrote a ton of code without testing it until now? When was this script last working?
-
Good catch @@Imateamcape
-
You have a lot of dangerous code in there, it could be just about anything. For starters: int check; always returns Falador after check > 3, and it's never reset. I'm assuming you wanted your logic to cycle through the farming patches? Anyways, your second state is Varrock (which is should be reaching). You call: willow = closestObjectForName(WILLOW_TREE); That method returns null every time: private Entity closestObjectForName(String willow_tree2) { // TODO Auto-generated method stub return null; } So either your script throws an NPE and crashes at: getCamera().toEntity(willow); or your null check for the willow tree later down prevents your script from doing anything. Did you even write this script?
-
Is he using a cracked version of OSBot from a year ago? Edit: Need to know more information.
-
I like the use of whitespace and calligraphy, very eloquent. I accept this day of honor.
-
There was an issue with the HitSplatListener (I think that was the name). We used to use it in legacy code a while back, then found a more efficient way. After some time the listener broke, nobody used it, and I believe I either deprecated it or deleted it.
-
Ah I see; nope you got some good suggestions. Good luck with your tool!
-
Every time you add or remove a position from that area, you should be reconstructing that Area using the new positions in the list (after converting to an array). Or is your issue converting from a list to an array?
-
It's not based on configs or widget data, but a separate hook. ItemDefinition.forId(getGrandExchange().getItemId(GrandExchangeBox)).getName();
- 1 reply
-
- 2
-
Script Not Starting - No error messages or anything :0
Alek replied to PlagueDoctor's topic in Scripting Help
I see in your onPaint you have a fancy but useless mouse paint. How about adding a functional output which displays your current state? This way you can at least see which state it's stuck on. Some additional tips: Worry about making a properly functioning script, that will save you from more bans than bullshit tinfoil logic. If you are interested why, look into linear regression. It's something you will learn if you take a Statistics course in High School/University. Use Java conventions for your brackets. if(conditional) { //Code here } Not: if(conditional) { //code here } This doesn't execute: new ConditionalSleep(20000, 25000) { ConditionalSleep(timeout, recheck) Should be something like (20000,1000). The one parameter form does a recheck every 50ms. Edit: Hid your old topic -
Don't want to be rude, but you're recreating Grand Exchange API with methods that are very unstable and not particularly efficient. You used third level static ids which are really prone to breaking on any update involving the Grand Exchange. Additionally that ConditionalSleep will never execute. GrandExchange isSellOfferOpen() We have hooks for this. http://osbot.org/api/org/osbot/rs07/api/GrandExchange.Status.html Should look something like this: if(getGrandExchange().getStatus(GrandExchangeBox).equals(GrandExchangeStatus.FINISHED_SALE)
-
Fixing real quick Edit: Try now
-
I'm going to count this as my Halloween release, so I hope you enjoy the spookiness. -Added Web Walking Link: Yanille Agility Obstacle (suggested by @Imateamcape and @Chris) -Added Web Walking Link: Ardougne Agility Obstacle (suggested by @Molly) -Modified various Web Walking timeouts, should recover a bit quicker (various suggesters) -Patched Store API not purchasing the correct amount of items -Added Store method sell(int itemId, int amount) (suggested by @House) -Added Level-7 Enchant spell (suggested by @Solzhenitsyn) -Added 6 new Banks --PISCARILIUS_HOUSE --LOVAKENGJ_HOUSE --LOVAKITE_MINE --SHAYZIEN_HOUSE --ARCEUUS_HOUSE --HOSIDIUS_HOUSE Stay safe, check your candy for razor blades and firearms, and keep your bots running while you're out enjoying yourselves.
- 24 replies
-
- 25
-
From Alek's woodcutter (pieced together): GraphicUtilities.getModelBoundingBox(bot, o.getGridX(), o.getGridY(), o.getZ(), o.getModel()); g.drawRect(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
-
Should be online as of last night.
-
[Opinion] Which scripter is the most dedicated? [Opinion]
Alek replied to Han's topic in Botting & Bans
Work smarter not harder. I'd rather have a scripter that writes logic correctly the first time around than an "active" scripter that pushes 10 commits a day because the logic is consistently flawed. -
How about we remove the emojis that we dont use?
-
Alright now what's the scripting question?
-
So what's the scripting question?
-
Override client settings for random/user input handling
Alek replied to Solzhenitsyn's topic in Scripting Help
Was my answer not good enough for you @dmm_slayer? -
This is not a scripting question.
-
Would you mind taking a screenshot?
-
Override client settings for random/user input handling
Alek replied to Solzhenitsyn's topic in Scripting Help
You will not be able to modify any settings set by the botter, they have the higher privileges. Edit: Example: breaks, human input, f2p/p2p world, etc.