Ivy Chopper
Hey guys. I just wanted to share the script I've been working on lately. This is an ivy power chopper.
It's still pretty early in the stages of development. Please report any issues you encounter. The core loop works reliably but there's a lot of details and enhancements that I still need to make going forward.
New version r3 is out. Please try it out and give feedback. Thanks!Setup (instructions as of version r3):
See image:

- Start SMART, log in
- Enable drawing in SMART (alternatively: set DebugDrawToSmart to false)
- Change your character's clothes to as close to a single solid color as you can (to help animation detection)
- Start your character at the east wall of Ardougne church
- Face the ivy as directly as you can, with the camera 1/2 of the way up (same height as if you reset by clicking the compass). You'll know you have it right when the wall's top appears as horizontal as possible and the entire wall takes up slightly less than your full screen width (and if you have debug drawing on, the red box should surround your character but not exceed it by too much).
- Zoom 1/2 of the way in (See attached image and compare your screen)
- Put exp counter in chat header
- Run the script
Current features:
- Reliable power chopping core loop
- Animation detection
- Antibans
Still needs work:
- Script needs performance tuning in waits
- Animation detection needs re-tuning
- Code still needs some comments and cleanup
- Better antiban strategy that doesn't lose as much exp
If you use this script, please post feedback and reports. I would be very interested to hear from you.
Look forward to an updated version of the script (and of this post) with enhancements eventually (anywhere from a week to a month depending on how busy my life ends up being).
Example progress report:
-- ========================================
-- ========================================
-- zxwv's Ivy Chopper
-- Script has been running for 21 min 15 sec
-- Chopped 19 times
-- Waited 62 times
-- Gained approximately 20283 exp
-- Approximately 57247 exp/hour
-- Performed 18 antibans
-- ========================================
-- ========================================
xtrapsp
2014-01-02 04:16:08
hey dude,
I wrote a pretty neat IVY script if you want to have a look at it. Checkout the case anti-ban etc if you need a reference, it's a tad old but it may help you with some ideas <3
From: xtrapsp
hey dude,
I wrote a pretty neat IVY script if you want to have a look at it. Checkout the case anti-ban etc if you need a reference, it's a tad old but it may help you with some ideas <3
That would be awesome. Always interested in learning how others approach the same problem!
By the way, what are your thoughts on:
- How do we tell whether we're currently chopping? Is it worth using multiple methods?
- If you're using PixelShift type animation detection, how do you find parameters that work for everybody (rather than needing specific clothing setups)?
- How do we know how many "pieces" of ivy we've gotten?
Thanks!
Hoodz
2014-01-02 07:11:04
Joined in december and already posted a script, nice!
For the amount of ivy chopped you can get that from the xp change. There is a function that checks the xp bar in your chatbox. I forgot where you can get it (maybe its already in the includes). I think @Ashaman88 knows it.
From: hoodz
Joined in december and already posted a script, nice!
For the amount of ivy chopped you can get that from the xp change. There is a function that checks the xp bar in your chatbox. I forgot where you can get it (maybe its already in the includes). I think @Ashaman88 knows it.
There was one posted a while back. I tried using that for a while. Unfortunately, it had a small but significant error rate, where it sometimes returned 0 and other times it would combine the "+X Y" exp message into a single number "XY". It's probably usable just fine with some additional error checking logic. I may try that again soon, but my personal impression is that XP tracking is more of a luxury whereas stuff like antibans are more essential.
It's all on my to-do list for this script. But, not sure what the other stuff in my life will be like, and not sure what my priorities are among my work-in-progress script attempts.
EDIT: Would there be a way to check the exp from the stats screen mouseover? That seems like it would be easier because it doesn't have the +X mess.
Ashaman88
2014-01-02 09:36:07
From: vwxz
There was one posted a while back. I tried using that for a while. Unfortunately, it had a small but significant error rate, where it sometimes returned 0 and other times it would combine the "+X Y" exp message into a single number "XY". It's probably usable just fine with some additional error checking logic. I may try that again soon, but my personal impression is that XP tracking is more of a luxury whereas stuff like antibans are more essential.
It's all on my to-do list for this script. But, not sure what the other stuff in my life will be like, and not sure what my priorities are among my work-in-progress script attempts.
EDIT: Would there be a way to check the exp from the stats screen mouseover? That seems like it would be easier because it doesn't have the +X mess.
Try using the updated version
From: Ashaman88
Try using the updated version
Sounds good. Thanks for the update! Planning to put it into the next version with antibans etc.
EDIT: Added the exp count to my personal in-development version. Seems to be working great. Thanks again!
s0bac0
2014-01-02 16:06:26
Very nice man! ill make sure to give it a go i have been wanting an ivy script for a while now, even made a sugeestion for it on the suggestions forum. ill report back with any bugs i come across.
The Mayor
2014-01-02 16:43:52
Nice first script :) If you haven't already you should read the antiban include file for some easy antiban ideas:
C:\Simba\Includes\srl-6\lib\misc\antiban.simba
The Spark
2014-01-02 17:22:09
I saw this in script requests section a few days ago, gratz on the release :)
Hey guys. Thanks for the support!
Once again, just a reminder that if you're using this script, I would really appreciate progress reports and feedback.
BTW, here's a progress report from the in-development version. (Equivalent to the current release, plus work-in-progress on experience tracking.) Since I had already had this client logged in while developing, I hit the 6 hour logout pretty soon afterward. So far, though, it seems to be around 70k exp/hour (mid 70s with a dragon hatchet) which is pretty promising and seems to line up with the rate humans get.
-- ========================================
-- ========================================
-- zxwv's Ivy Chopper
-- Script has been running for 1 hr 47 min 10 sec
-- Chopped 77 times
-- Waited 349 times
-- Gained approximately 123358 exp
-- ========================================
-- ========================================
Ashaman88
2014-01-02 18:43:22
thats awesome man keep it up!
The Mayor
2014-01-02 18:49:15
From: vwxz
I hit the 6 hour logout pretty soon afterward.
When it logs out for what ever reason, you should make it log back in. If it can't login due to six hour limit it will automatically reload the SMART client and then login.
At the beginning of all your loops you should put:
if not isLoggedIn then
exit
So if it gets logged out your script won't be stuck in a loop.
In the mainloop put:
if not isLoggedIn then
players[currentPlayer].login();
So when its logged out it will exit all your proc/func until it returns to that login code in the main loop.
s0bac0
2014-01-02 22:43:28
Any way to get this running without having to set up player manager? it does not work for me..
The Mayor
2014-01-02 23:08:45
From: s0bac0
Any way to get this running without having to set up player manager? it does not work for me..
Yes, replace the Declare Players procedure with:
procedure declarePlayers;
begin
setLength(players, 1);
with players[0] do
begin
loginName := 'username';
password := 'password';
isActive := true;
isMember := true;
end
currentPlayer := 0;
end;
Hey guys. New version is out!
Thank you all for the feedback so far!
Location has been changed to Ardy since it's quieter and the screen is cleaner. This also removes the problem where you lag really hard right as you're about to click the ivy and instead click the Varrock palace staircase. See first post for updated script, updated setup instructions, etc.
Changes:
- Added some antibans and some extra waits to simulate a bored/distracted human
- New location with better accuracy
- Removed the login related code. Now we always assume you start logged in with camera done
Exp rate has dropped to ~55k exp/hour in high 70s. Part of this is because antibans intentionally sits around to simulate boredom/distraction/AFK. Part of this is due to flaws in current animation detection that will be fixed eventually as part of next update. (Also, the 70k number may have been slightly inflated by a bug.)
New progress report:
-- ========================================
-- ========================================
-- zxwv's Ivy Chopper
-- Script has been running for 46 min 42 sec
-- Chopped 57 times
-- Waited 133 times
-- Gained approximately 43066 exp
-- Approximately 55323 exp/hour
-- Performed 36 antibans
-- ========================================
-- ========================================
From: Ashaman88
thats awesome man keep it up!
Thanks!!
From: sparkyownage
I saw this in script requests section a few days ago, gratz on the release :)
Thanks!!
From: The Mayor
Nice first script :) If you haven't already you should read the antiban include file for some easy antiban ideas:
C:\Simba\Includes\srl-6\lib\misc\antiban.simba
Thanks!! Started using some of those. Will add more later that are ivy-specific.
From: s0bac0
Very nice man! ill make sure to give it a go i have been wanting an ivy script for a while now, even made a sugeestion for it on the suggestions forum. ill report back with any bugs i come across.
Really appreciate if you could tell me if you run into any issues/difficulties with the script or the instructions so I know where to improve.
From: The Mayor
When it logs out for what ever reason, you should make it log back in. If it can't login due to six hour limit it will automatically reload the SMART client and then login.
It's on my to-do list but not very high priority at the moment. It would require reworking certain parts of the script.
Very nice looking script!
From: Olly
Very nice looking script!
Thanks!!
—
BTW, r3 is out. Just minor fixes mostly around animation detection. Clarified the setup instructions and added some debug drawing so you can tell when you've got it right.
New progress report:
The exp rate can be improved, even with antibans on. Probably will end up somewhere near 60-65k at level 80ish with good optimization and low downtime. That's on my eventual to-do list.
-- ========================================
-- ========================================
-- zxwv's Ivy Chopper
-- Script has been running for 21 min 15 sec
-- Chopped 19 times
-- Waited 62 times
-- Gained approximately 20283 exp
-- Approximately 57247 exp/hour
-- Performed 18 antibans
-- ========================================
-- ========================================
—
EDIT:
See image in first post for setup details.
skillers
2014-01-06 20:10:22
Testing your script now :) thanks man
From: skillers
Testing your script now :) thanks man
Awesome! As always, I'd appreciate reports/feedback.
gawain
2014-01-08 15:36:32
Dunno what i am doing wrong… it works, but i have the feeling i do something that slows the progress, because when he finished one ivy vine it some time until he begins with a new one
and during this it always says: pixelshift : x (any number)
but all in all im very happy with this script finally i can improve my woodcutting skill, but it would be great to get to know if i am doing something or the script just needs improvement
thanks ;)
From: gawain
Dunno what i am doing wrong… it works, but i have the feeling i do something that slows the progress, because when he finished one ivy vine it some time until he begins with a new one
and during this it always says: pixelshift : x (any number)
but all in all im very happy with this script finally i can improve my woodcutting skill, but it would be great to get to know if i am doing something or the script just needs improvement
thanks ;)
Thanks for the feedback!
There is a bit of a wait in animation detection and a bit of a wait to simulate a bored human in the antiban. However, if you are noticing significant delays, that suggests that there is something that is giving false positives for animation detection.
If you want, I can look into the issue for you. Could you please provide the following? Thanks!
- WC level
- screenshot of character while chopping, with drawn box (imgur it, PM me if you're not comfortable posting this publically)
- progress report after 15+ minutes
- last few hundred lines of the log (pastebin it)
Also, I'm working on a release which optimizes the core loop a bit further and reduces the animation detection's sensitivity to small differences in setup & player appearance.
gawain
2014-01-09 15:07:15
sorry but i need post count to answer you :/
gawain
2014-01-09 15:08:17
sorry but i need post count to answer you :/ lol
gawain
2014-01-09 15:09:17
sorry but i need post count to answer you -.-
gawain
2014-01-09 15:10:17
…
dont know how to delete these spam posts -.- :D
gawain
2014-01-09 15:11:23
okay last one im really sorry to spam there thread :/
Lol what…..
But I did get gawain's PM. Seems there's a lot more variability in the animation detection depending on what you wear than I initially thought, and that some seemingly solid colors actually give you 500~1000 pixel shift in the box even when idle.
The easier fix would be to tell everyone to dress the same. But anyone who remembers the bald guys in green and tan cutting yews in Edgeville will know just how bad of an idea that is.
The harder fix would be to further tune animation detection and combine it with exp change detection. I'm already reading exp for the progress report, and I can also rework that into chopping detection. This is a goal for a future release, date to be determined.
Ashaman88
2014-01-10 09:15:58
Maybe even find a way to detect which ivy you are cutting… then wait for the green to disappear?
From: Ashaman88
Maybe even find a way to detect which ivy you are cutting… then wait for the green to disappear?
Thanks for the idea.
That sounds promising. Since we are always standing next to the ivy we're cutting, and the camera is centered, this would actually be a fixed box relative to our camera position. But this has a number of corner cases, mostly revolving around standing still in front of a newly spawned/respawned ivy, and those have to be handled. Might ditch animation and switch to color plus exp, since animation is by far the hardest to tune for other people and I'd rather avoid requiring manual tuning by the users.
This would be a pretty big overhaul, though. Would be quite a while. Hopefully, the current script is going decently for most users.
BTW, you can manually change the threshold values for the comparisons in animation detection, both for the minimum pixel shift and the minimum number of time periods. That's a good workaround for players who are getting significantly different pixel shift values.
Oh! I have another idea. What if we detected the color of the axe head while you were chopping? Sounds questionable but would be quite a bit simpler to debug.
zunkill
2014-01-12 13:27:29
great script gunna run for an hour or so one thing ive noticed though is that it does to many antibans like clicks that this and that and that lol and kinda bot like =/ but excellent so far ill post screenies :D
– zxwv's Ivy Chopper
– Script has been running for 1 hr 22 min 5 sec
– Chopped 110 times
– Waited 226 times
– Gained approximately 69825 exp
– Approximately 51035 exp/hour
– Performed 71 antibans
noticed it opens random things like notes and private chats and stuff so to stop it blocking your screen just put any tab-able tab on a single line where the inventory is so that way doesnt block screen :D
but great scrip so far :P
From: zunkill
great script gunna run for an hour or so one thing ive noticed though is that it does to many antibans like clicks that this and that and that lol and kinda bot like =/ but excellent so far ill post screenies :D
Thanks for the feedback! Glad it works for you.
Regarding the antibans, yea, I'm still tweaking their frequency. I know when I play legit, I randomly check my exp, click stuff, etc. out of boredom. However, the right amount of this I'm still not sure about. I'm also looking into diversifying the actions we do for antiban.
zunkill
2014-01-13 06:22:37
From: vwxz
Thanks for the feedback! Glad it works for you.
Regarding the antibans, yea, I'm still tweaking their frequency. I know when I play legit, I randomly check my exp, click stuff, etc. out of boredom. However, the right amount of this I'm still not sure about. I'm also looking into diversifying the actions we do for antiban.
gunna try again now :D will update with another proggy :) but i only got like an hour lol
catsrback321
2014-01-13 18:12:40
– Script has been running for 2 hr 23 min 32 sec
– Chopped 107 times
– Waited 460 times
– Gained approximately 0 exp
– Approximately 0 exp/hour
– Performed 119 antibans
this is what the proggy has said, I have altered the script slightly so it knows when I have stopped cutting and I have slowed the antibans down a lot :)
From: catsrback321
– Script has been running for 2 hr 23 min 32 sec
– Chopped 107 times
– Waited 460 times
– Gained approximately 0 exp
– Approximately 0 exp/hour
– Performed 119 antibans
this is what the proggy has said, I have altered the script slightly so it knows when I have stopped cutting and I have slowed the antibans down a lot :)
Good to hear it worked for you. If you move your exp counter to the chat bar as shown in the first post, it will track exp rate.
s0bac0
2014-01-14 02:13:13
Ran the scripy for a bit over an hour, i have made some adjustments to the wait times in the script.. as i noticed the main reason to the lower exp/hr was that it just stood there after chopping an ivy until it re spawned at the same spot.. very rarely would it actually switch to another spot and start chopping. also toned down the anti bans, though it still does an average of 1 anti ban every minute, which i think is overkill to be honest, especially while wood cutting, which most people just afk. so a good anti-ban implementation would be the mouse off the screen, to simulate some one watching a movie, or multi tasking while wcing. this in turn would allow the script to run less anti-bans and in the long run, seeming more human-like.
DebugVerbose = True;
DebugDrawToSmart = True;
IvyColor = 3169862;
MaxTimeToRun = 60 * 60 * 1000;
MinWaitForChop = 4 * 1000;
MaxWaitForChop = 2 * 10 * 1000;
AntibanInterval = 280000;
Those are the values i changed to, if im making a mistake by changing those values, please tell me. but in my test run i did not observe anything that would switch of red flags on the anti-bot in rs. by the way, with these values it still allowed the character to sit there a sec or so before choosing another ivy, again to make it more human-like. i hope these suggestions help you out a bit bud, want to help you make this script the first, and best ivy script on simba.
catsrback321
2014-01-14 10:09:39
From: s0bac0
Those are the values i changed to, if im making a mistake by changing those values, please tell me. but in my test run i did not observe anything that would switch of red flags on the anti-bot in rs. by the way, with these values it still allowed the character to sit there a sec or so before choosing another ivy, again to make it more human-like. i hope these suggestions help you out a bit bud, want to help you make this script the first, and best ivy script on simba.
you need to change
if (PixelShiftResult > 1000) then
to
if (PixelShiftResult > 1300) then on line 59, this give it better detection because sometimes when stood still the pixel shift is too high(but this depends on how zoomed in you are).
and change
case Random(5) of
to
case Random(100) of
to lower anti ban frequency on line 134. I just changed to 100 because it seems to slow it down plenty :)
everything else i just left alone and it seems to run well.
zunkill
2014-01-14 10:18:11
using s0bac0's changes this is my proggy :)
– ========================================
– ========================================
– zxwv's Ivy Chopper
– Script has been running for 3 hr 29 min 55 sec
– Chopped 528 times
– Waited 528 times
– Gained approximately 252061 exp
– Approximately 72044 exp/hour
– Performed 192 antibans
– ========================================
– ========================================
whilst i was hatching eggs on pokemon y :P
– ========================================
– ========================================
– zxwv's Ivy Chopper
– Script has been running for 2 hr 38 min 5 sec
– Chopped 395 times
– Waited 395 times
– Gained approximately 167246 exp
– Approximately 63471 exp/hour
– Performed 153 antibans
– ========================================
– ========================================
for todays one whilst breeding pokemon again XD wooootz :P 95 wcutting :)
zunkill
2014-01-17 15:30:32
double post alert but saves editing
– ========================================
– ========================================
– zxwv's Ivy Chopper
– Script has been running for 3 hr 50 min 9 sec
– Chopped 574 times
– Waited 574 times
– Gained approximately 500745 exp
– Approximately 130539 exp/hour
– Performed 199 antibans
– ========================================
– ========================================
hope these help you guys :)
pall398
2014-02-25 15:11:41
Would it be possible for you to add nest support?
eburchett97
2014-02-26 21:41:51
– ========================================
– ========================================
– zxwv's Ivy Chopper
– Script has been running for 7 hr 4 min 41 sec
– Chopped 598 times
– Waited 1101 times
– Gained approximately 336523 exp
– Approximately 47544 exp/hour
– Performed 361 antibans
– ========================================
– ========================================
only problem is that i left it and came back an hour and a half later and it was logged out for no apparent reason. It would also be cool to have an auto-login feature for these situations. I plan to use this script to get 99 within the week.
eburchett97
2014-02-27 18:00:29
– ClickIvy
– TRSMainscreen.findObject()
—- No colors found
– TRSMainscreen.findObject(): False
– WaitWhileChopping
does this infinite loop now and wont start, it worked yesterday for me.
Pierite
2014-03-03 05:48:31
A suggestion,
If you want to see if there was a successful cut, look for pixel-shift where the EXP pops up next to the EXP tracker.
Of course the positioning of the EXP tracker would have to be more precise, but as long as you provide an image, people will manage it easily.
SpaceCadetMac
2014-03-23 17:29:23
Works fine, make sure to use color picker and select the ivy
also change anti ban to 100 which will make it less likely to do it
(since antiban only occurs at 1-5)
SpaceCadetMac
2014-04-03 20:56:04
Works flawlessly, anti ban is pretty realistic
Overall A+ job
Thanks
Sulferx
2014-11-02 18:55:14
Made a few edits to this script to turn it into a seren stone miner. Thanks a lot. :)
MamiiPapii
2015-02-25 00:53:00
Excellent Script, imo. Got from 90-97 within 3 days. Almost 99. :)
Vis_Vires
2015-04-02 18:30:53
I'm getting this in my debug box and the script wont run.
——– getJavaPath():
———- Attempting to search for your Java path
———- Found your java path @ C:\Program Files (x86)\Java\jre6\bin\java.exe
——– getJavaPath()
——– Using parameters [http://world20.runescape.com/, f2929707646917773924]
——– Using plugins "OpenGL32.dll,d3d9.dll"
—— Failed to spawn a SMART client
—- initSmart()
—- Waiting up to 5 minutes for RS to load…
—- Succesfully freed SMART[0]
Successfully executed.
darkfire23
2015-04-15 21:52:55
Script still runs, but for sure has some bugs. I ran it for about an hour just to see what it would do. It had troubles figuring out when you weren't cutting anymore and if the guy was in the church, it would throw the script off. Still could use some work, but looks like a start!