View Full Version : The Cutting Edge
kevin33
06-08-2012, 03:49 AM
Alright will do. Need to first find out how to get it to click the x on my members trial on my simba pure account and then log in. Dont plan on using it until I get a higher skill level so need it to do that. For that reason I dont know if I can get one tonight, I will get a 5hr-6hr one for sure but a 10hr one I wont be able to get especially if it logs out because of randoms and because it cant sign in due to the popup for the trial. I will look into it more tomorrow. Didnt think that one through, thats my bad.
On the bright side, Ive never witnessed it walk to strange places, only been a few times when Ive ended up in different places on the map due to failed randoms :/
rsbottman
06-08-2012, 11:14 AM
I updated my script with new bank walk codes, hopefully I wont end up dead again when I come back to screen. I have been running the script for a few days, sometimes I end up dead other times I get 200-300 logs before it can no longer bank due to "bank limit on new accts". the remaining times I get logged from randoms. So far I love the script, made 600k+ so far.
Alright will do. Need to first find out how to get it to click the x on my members trial on my simba pure account and then log in. Dont plan on using it until I get a higher skill level so need it to do that. For that reason I dont know if I can get one tonight, I will get a 5hr-6hr one for sure but a 10hr one I wont be able to get especially if it logs out because of randoms and because it cant sign in due to the popup for the trial. I will look into it more tomorrow. Didnt think that one through, thats my bad.
On the bright side, Ive never witnessed it walk to strange places, only been a few times when Ive ended up in different places on the map due to failed randoms :/
I've never witnessed it myself either, but I've found my character in other places in edgeville and many people have reported their characters walk far distances and even die. It's ok if you can't run it for 10hrs, I just want a bit of testing, so I can get a perfect release. Oh and thanks for your help.
I updated my script with new bank walk codes, hopefully I wont end up dead again when I come back to screen. I have been running the script for a few days, sometimes I end up dead other times I get 200-300 logs before it can no longer bank due to "bank limit on new accts". the remaining times I get logged from randoms. So far I love the script, made 600k+ so far.
Im glad you love the script. Thank you for testing. Yea I want to prevent the walking bug from happening. You've mad 600k over how many accounts? Oh and.let me.know how the walking is with the new point.
kevin33
06-08-2012, 12:20 PM
Oh not a problem. Happy to test for you as I legit dung on my main. If Im going to use the script, might as well help make it awesome. When I get home from school I will possibly test this on a seperate account so that I can use Smart Manager with no login issues. Will post a proggy then and then try for the 10hrs :)
Because it doesnt add your proggies together, expect a proggy or 2 I have added together manually, or just 2 proggies run right in a row.
kurtfryer
06-08-2012, 12:52 PM
Error starting SMART, ensure the target page has an applet declaration.
I've been through the tutorials 20 times.
everything is up to date.
i've loaded the runescape browser.
i've loaded MSI.
Help please.
no point sending me back to tut island.
WeeJazzah
06-08-2012, 01:13 PM
I tested it and let it run with the line 78 changed to the new one and all i can say is it ran flawlessly for 11 hours without any wandering. Could have yourself a fix :) I will let it run even longer to make sure though. Thanks.
tris999
06-08-2012, 06:52 PM
Hey i tried running version 0.5 of your script but i get this:
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
can you help me solve my problem pls and thank you.
I tested it and let it run with the line 78 changed to the new one and all i can say is it ran flawlessly for 11 hours without any wandering. Could have yourself a fix :) I will let it run even longer to make sure though. Thanks.
Great, definitely good to know. Can you continue to test it until I hear back from others just in case?
Hey i tried running version 0.5 of your script but i get this:
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
can you help me solve my problem pls and thank you.
Sure, you can use the search function in the forums or read this thread. There's also a guide somewhere in the forums and a posts in the script > utilities section
Thanatos
06-08-2012, 07:24 PM
Hey i tried running version 0.5 of your script but i get this:
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
can you help me solve my problem pls and thank you.
follow the instructions found in the link.
http://villavu.com/forum/showthread.php?t=68112
kevin33
06-08-2012, 09:10 PM
Noooo. Ran for 2 and a half hours but this happened with new coordinates. First time ever.
I will try again tonight and we shall see what happens.
16355
Oh man... The same things happened to me too... How did you die?
kevin33
06-08-2012, 09:43 PM
I have no idea I was at school. Never was in wildy so it mustve been from an NPC.
kurtfryer
06-09-2012, 02:07 PM
script doesnt even bank properly it just says log out and stands there.
ryanmd2012
06-09-2012, 02:37 PM
Im new to using this type of bots and i was wondering if i use ur script will it carry
On after the 6hours(log back in)
script doesnt even bank properly it just says log out and stands there.
You can read the above posts.
Im new to using this type of bots and i was wondering if i use ur script will it carry
On after the 6hours(log back in)
No, you need a special program called SMARTManager. Try searching the forums using the search button.
sk80rdie76
06-09-2012, 10:55 PM
*----------------------------------------------------------------*
| The Cutting Edge 0.5 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 6 hr 3 min 29 sec |
| Total Logs Chopped : 501 |
| Total Experience Gained : 87675 |
| |
|----------------------------------------------------------------|
Used those new banking points you posted but they ended up messing up so I switched back to the old ones.
007sonic
06-10-2012, 05:57 AM
You can read the above posts.
No, you need a special program called SMARTManager. Try searching the forums using the search button.
How exactly would you go about changing the colors i've never tried scripting seems kinda complicated. I do know that the banking colors are in line 545 just don't know the color to change it to
Nevermind I checked kevin33's post (It's on page 10 about halfway through if anyone else is having the same problem) It seems I looked wayyyy too far into the script the banking colors were actually closer than I thought.
sk80rdie76
06-10-2012, 09:23 PM
*----------------------------------------------------------------*
| The Cutting Edge 0.5 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 6 hr 2 min 18 sec |
| Total Logs Chopped : 511 |
| Total Experience Gained : 89425 |
| |
|----------------------------------------------------------------|
so far so good
kevin33
06-11-2012, 07:59 PM
Well I gots you a decent proggy (no actually proggy because it doesnt save them).
Used SmartManager and got you almost a 14 and a half hr proggy. Stopped because there was a storm and my house lost the Internet causing me to log off and it would not let me access Smart so I had to close it. Amyways heres the pic:
16389
Also used it with previous coordinates for walking because they always worked well for me.
I tried using the new ones but after a 3 and a half hour proggy, if got stuck in the house at edgeville.
Well I gots you a decent proggy (no actually proggy because it doesnt save them).
Used SmartManager and got you almost a 14 and a half hr proggy. Stopped because there was a storm and my house lost the Internet causing me to log off and it would not let me access Smart so I had to close it. Amyways heres the pic:
16389
Also used it with previous coordinates for walking because they always worked well for me.
I tried using the new ones but after a 3 and a half hour proggy, if got stuck in the house at edgeville.
Cool. Nice proggy.
Here's an update: I am working on a totally new walking system that uses trig!!!
kevin33
06-11-2012, 08:35 PM
When can we expect this update to be implemented?
When can we expect this update to be implemented?
I don't want to set a date and not keep it or keep people waiting. So I'm not going to make any promises. But as a for a release, I'm aiming for this week, but if not then I'm busy next week, so the week after.
kevin33
06-11-2012, 08:57 PM
Alright sounds good, I will continue using this script on the side while I legit dung on my main over the next week.
Roflme
06-11-2012, 10:17 PM
If the accounts are low leveled, there's a mugger that will attack them and can kill them. If the accounts are high enough then not a clue what could have possibly killed them.
If the accounts are low leveled, there's a mugger that will attack them and can kill them. If the accounts are high enough then not a clue what could have possibly killed them.
But these NPCs are aggressive?
Aggressive meaning you don't have to click on them to fight them, instead they just fight you.
Roflme
06-11-2012, 10:46 PM
Yes, aggressive until level 12 combat
Yes, aggressive until level 12 combat
Oh OK.
Now the cause to the deaths is walking... Walking so far has been coming along good. I have a new function to walk to the bank and its working great, even though I have only tested it a few times.
Walking back from the bank I have yet to create.. Afterwards, its just implementing the functions in the script and testing/fixing bugs and errors.
kevin33
06-12-2012, 12:19 AM
Oh OK.
Now the cause to the deaths is walking... Walking so far has been coming along good. I have a new function to walk to the bank and its working great, even though I have only tested it a few times.
Walking back from the bank I have yet to create.. Afterwards, its just implementing the functions in the script and testing/fixing bugs and errors.
Well when you decide its all set for implementing hit me with a pm or just post over the thread and I will most certainly test the walking for you.
MSmith
06-12-2012, 05:44 AM
Here's mine:
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| Evil Bob Solved ~ 1 |
| Rewards Solved ~ 2 |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.5 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 5 hr 26 min 27 sec |
| Total Logs Chopped : 365 |
| Total Experience Gained : 63875 |
| |
|----------------------------------------------------------------|
It's not that great of a proggie, but that's only because my wc is low and there was about 7-8 other people chopping those yews too lol. I replaced line 78 with the new walk you posted earlier and changed the bank color. The script is working perfectly (no walking problems). My suggestion is to let each person enter their own bank color as an anti-leech, since there are already many people chopping yews in Edgeville, especially in f2p. Keep up the great work! :)
ZestyStoner
06-12-2012, 03:40 PM
if you chop willows in remmington area you can get about 30k-38k xp an hour
kevin33
06-12-2012, 07:45 PM
If only the proggies were saved, then I could post them for you. That aspect should be added to the Manager. I got another pic of running it with Smart Manager. Pretty good one too :)
16406
Sorry so i have read threw a few pages and i found the same problem that pepople encounterd before which was banking , i tryed using this
BankerColor = 5997770;
BankerHue = 0.06;
BankerSat = 0.45;
BankerHSLTol = 30;
but it didnt fix it , yet it still runs into the house full of "man - level 3"
if you could please guide me how to fix the banking problem it would be nice.
Thanks
Zac
Edit- Sorry with a little more reading , i found Bankpoint= '110:33:3:3:7:64:75:10:7:118:39:10:7:118:31:4:99:2 0:120:20:120:43:99:43'; works for me
Thanks, will post proggies soon.
Great report guys....
So far I'm up to the process of bug-fixing and testing before I release this update. I may release a test version before releasing an official one.
Edit: Guys the other bots you see definitely aren't this script...
kevin33
06-12-2012, 11:10 PM
Sounds good Yago, thanks for the update.
Heres a proggy I got before school and right before SmartManager loaded a new client. It will continue running for as long as it can I guess.
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| Frog Solved ~ 1 |
| Rewards Solved ~ 2 |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.5 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 6 hr 1 min 41 sec |
| Total Logs Chopped : 404 |
| Total Experience Gained : 70700 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: |
| |
| Time Active : 6 hr 1 min 19 sec |
| Logs Chopped : 404 |
| Logs Per Hour : 68 |
| Experience Gained : 70700 |
| Experience Per Hour : 11741 |
| |
*----------------------------------------------------------------*
Issue now is that when I try to run the script, Smart tab opens up saying this:
Error: Exception: Access violation at line 15
The following DTMs were not freed: [SRL - Lamp bitmap, 1]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap, SRL - Flag bitmap, 3]
Then this is highlighted:
procedure HoldMouse(x, y: Integer; button : integer); //this line
begin
if button = mouse_left then
SmartHoldMousePlus(x,y,1)
else if button = mouse_middle then
SmartHoldMousePlus(x,y,2)
else if button = mouse_right then
SmartHoldMousePlus(x,y,3)
else
raiseexception(ercustomerror,'Unknown mouse button in SmartHoldMousePlus');
end;
Just updated my SRL so is the update what caused the problem? Any ideas on a fix?
BTW can someone post so that way I can post as double posting is frowned upon because I dont want to keep editing.
Issue now is that when I try to run the script, Smart tab opens up saying this:
[REPORT]Error: Exception: Access violation at line 15
The following DTMs were not freed: [SRL - Lamp bitmap, 1]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap, SRL - Flag bitmap, 3]
Its a common prob. Honestly I think I had the error before and it went away by itself. Anyways a simple search should give you tons of answers.
On another note:
I have released a beta version of TheCuttingEdge v0.6 on Github for testing purposes only.
Github Link: www.github.com/Yago/SIMBA-Scripts
I'd appreciate if a few of you guys test the script out and reported back if you guys experiences and bugs or errors. Once I get enough reports back, I'll release an official version.
For future references, the Github link will be posted in the Original Post.
kevin33
06-14-2012, 02:42 AM
Testing 0.6 now and will leave on overnight. Like this proggy for logs an hour :)
Walking seems like its working well but its only been a few minutes.
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 2 min 8 sec |
| Total Logs Chopped : 11 |
| Total Experience Gained : 1925 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: |
| |
| Status : Chopping |
| Time Active : 2 min 5 sec |
| Logs Chopped : 11 |
| Logs Per Hour : 317 |
| Experience Gained : 1925 |
| Experience Per Hour : 55433 |
| |
*----------------------------------------------------------------*
Hey there been running your script for about 12hours now haha its pretty good but does sometimes run around to the man house or the edgevill load stone , sometimes you have to find a new banker colour haha but over its good heres a 1hour proggy for it http://i49.tinypic.com/ekf58x.png
Im going to test 0.6 Beta now will let you know how it goes.
Thanks
Zac
| | Version 0.6 Beta So far so good man i never once had to come check up on it till now haha its going pretty smooth
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: |
| |
| Status : Chopping |
| Time Active : 2 hr 33 min 53 sec |
| Logs Chopped : 377 |
| Logs Per Hour : 147 |
| Experience Gained : 65975 |
| Experience Per Hour : 25723 |
| |
*----------------------------------------------------------------*
[/Report]
WeeJazzah
06-14-2012, 11:13 AM
0.6 beta seems to work like a charm, let it run for 10 hours and it hasn't wandered off yet. Not got a proggy for you i'm afraid i will make sure i have one after my next session for you. But so far so good and it seems to be slightly faster at cutting aswell. Good Job.
Do you guys still experience the character running off with the Beta?
kevin33
06-14-2012, 12:55 PM
I have yet to experience it. I'm leaving it on while I'm at school. It ran all last night but my laptop decided it needed to update itself so it closed everything and reset so I didn't get the proggy. I do know that it stopped because of a random (Leo).
Ok. I think we might have a winner, but ill let you guys run it for one or two more days just to be safe.
Randoms
06-14-2012, 01:37 PM
Thanks Yago for such an amazing complex script. Mind taking a look at mine (Flawless WillowChopper) and suggest what could be improved? :)
Thanks Yago for such an amazing complex script. Mind taking a look at mine (Flawless WillowChopper) and suggest what could be improved? :)
Ill take a look at it.
What you basically want to do when script-writing is go for accuracy... Once you have accuracy, then all that's left is you improving the speed and making it more human-like. For example, if a global function is not working for you, go for a custom made one (SPS vs Custom walking functions) :)
Randoms
06-14-2012, 02:13 PM
Ill take a look at it.
What you basically want to do when script-writing is go for accuracy... Once you have accuracy, then all that's left is you improving the speed and making it more human-like. For example, if a global function is not working for you, go for a custom made one (SPS vs Custom walking functions) :)
I'm thinking about Changing the tree detection to ACA.
I'm thinking about Changing the tree detection to ACA.
What do you use for tree detection?
Also, do you want me to tell you what you should change cosmetically? Or do you want me to tell you what you should change in your code? I don't know if you want me to give you answers or questions...
Randoms
06-14-2012, 06:56 PM
What do you use for tree detection?
Also, do you want me to tell you what you should change cosmetically? Or do you want me to tell you what you should change in your code? I don't know if you want me to give you answers or questions...
Suggestions would be fine. :p
kevin33
06-14-2012, 07:38 PM
Decent proggy using the beta 0.6. Stopped because failed moradut random. Will try for a 6hr proggy tonight.
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 5 hr 5 min 27 sec |
| Total Logs Chopped : 505 |
| Total Experience Gained : 88375 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: |
| |
| Status : Waiting |
| Time Active : 5 hr 5 min 24 sec |
| Logs Chopped : 505 |
| Logs Per Hour : 100 |
| Experience Gained : 88375 |
| Experience Per Hour : 17363 |
| |
*----------------------------------------------------------------*
Nice. Try to use tags around your report to make it save space and look better(like an actual report).
I'm still going 5hrs+
Here's the picture:
http://i.imgur.com/nzNUW.jpg
Zalagar619
06-15-2012, 01:40 AM
Im lost..... i have simba downloaded and everything uploaded, but when i paste the script into a new tab on simba and try to run it, i get an error. Is there any videos on how to set it up?
kevin33
06-15-2012, 03:00 AM
Whats the error??
With 1 post, I'm guessing they need to go to Tutorial Island and get a good setting up SIMBA guide. Most likely an extremely common error.
Edit: Anyhow, how's the 0.6 BETA going for you guys? I accidentally closed mine at around 5 and a half hours...
So far this is how long i have ran the beta version for :)
http://i50.tinypic.com/sqli75.png
I haven't ran out to the houses or anything like that . Goes to bank then back to tree's like it should.
Though there is thoes sometimes it every 450 logs or so it fails to bank but a script restart fixes it.
I would say you could release it but thats your call :) , im happy with the script :)
Thanks
Zac
P.s No im not gold farming :L if your going to ask that haha.. just my main account and another friends account.
So far this is how long i have ran the beta version for :)
http://i50.tinypic.com/sqli75.png
I haven't ran out to the houses or anything like that . Goes to bank then back to tree's like it should.
Though there is thoes sometimes it every 450 logs or so it fails to bank but a script restart fixes it.
I would say you could release it but thats your call :) , im happy with the script :)
Thanks
Zac
P.s No im not gold farming :L if your going to ask that haha.. just my main account and another friends account.
I care not if you gold farm. I'd actually love if more people used my script :)
Glad to know the walking works well. You said that banking has failed for you though... That's something I'm interested in.
Ill see if i can release 0.6 either today or sometime this weekend when I get time.
Anyhow, have you personally witnessed banking fail?
Anyhow, have you personally witnessed banking fail?
Yes i have , all it does is walks to the bank and just stands there , nothing in the debug box O_O , it only happens every few hundred logs. maybe its the runescape colours changeing every so often , im no smart scripter but thats my guess.
Yes i have , all it does is walks to the bank and just stands there , nothing in the debug box O_O , it only happens every few hundred logs. maybe its the runescape colours changeing every so often , im no smart scripter but thats my guess.
OK thanks. I don't want to force you or anything, but if you'd like to help me fix this problem, could you set Debug-Script near the top of the script to True. So next time it happens I have some debug to work with. I'd appreciate it alot.
Also, if you do decide to help, could you change line 1188:
'logout': LogOut;
to
'logout': begin TakeScreen('TCE - Logout'); LogOut; end;
It should compile, but if it doesn't then let me know. Basically what I told you to change was setting debugging to true and taking a screen shot before logging out.
Edit: Also, I think I experienced the same problem... Where did you find your character?
kevin33
06-15-2012, 07:54 PM
I have noticed banking to fail every so often. It will stand there then end the script because it cannot bank. I dont know if its a colour thing because I have not had time to babysit but I will look into it this weekend when I do.
I have noticed banking to fail every so often. It will stand there then end the script because it cannot bank. I dont know if its a colour thing because I have not had time to babysit but I will look into it this weekend when I do.
ok. make sure to make the changes I posted above, so I can have something to work with.
kevin33
06-15-2012, 10:45 PM
Yea and Ive been watching to manually take a screenshot. Failed because molly random this time. I keep getting the unsolvavble randoms at about the 2hr mark :(
Heres a screenie.
16450
Yea and Ive been watching to manually take a screenshot. Failed because molly random this time. I keep getting the unsolvavble randoms at about the 2hr mark :(
:) I got one at around 1.5 hours but it was solved... Molly is close to being solved.
kevin33
06-15-2012, 11:14 PM
Molly was the one it logged out of last, prison pete was before that. Did you take a look at the screenie?
Molly was the one it logged out of last, prison pete was before that. Did you take a look at the screenie?
Yes I did, it should technically work... Was this after you logged back in? Also, do you have debug?
kevin33
06-16-2012, 03:50 AM
Debug doesnt say anything. It just says "Bye" as it always does before it ends. And no this was after it tried to bank and failed. Doesnt happen all the time, just around 1 in every 10 uses and even thats pushing it.
Debug doesnt say anything. It just says "Bye" as it always does before it ends. And no this was after it tried to bank and failed. Doesnt happen all the time, just around 1 in every 10 uses and even thats pushing it.
OK. Ill see what I can get on my character, but I don't know if this is really a bug or just runescape being glitchy and laggy sometimes.... Anyhow, Ill go on with the release.
I swear to god i did a 6hours 15minute on your 0.6 beta , but i got cought up in a convo and forgot to take a screenie so im going to post this instead
http://i48.tinypic.com/27yr87o.png
:spot::spot::spot:
Update. The Cutting Edge v0.6
Changes Include:
[Major Addition/Bug Fix] Added Custom Walking Functions Based on Trig. to Replace Previous ObjDTM Walking which was buggy.
[Minor] Added MyColor Type for Objects and Loading Functions
[Minor] Made the Bank ObjDTM More Robust for decreased False Positives
[Minor] Added A TakeScreen Upon Logout if Debug_Script is Enabled
Enjoy :spot:
Detailed Changes -- https://github.com/Yago/SIMBA-Scripts/commits/master
Report any problems in this thread or open up an issue on GitHub.
kevin33
06-16-2012, 04:24 PM
This keeps happening to me, Im working on a decent proggy for you and a random screws it up. I just cant get you a 6hr one it seems. Get stopped too short. Heres what I got for you for now using 0.6.
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| Drill Demon Solved ~ 1 |
| Rewards Solved ~ 2 |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 3 hr 56 min 31 sec |
| Total Logs Chopped : 324 |
| Total Experience Gained : 56700 |
| |
|----------------------------------------------------------------|
Ran Procedure AntiRandoms.
IsLoggedIn: True
| Individual Report: |
| |
| Player[0]: |
| |
| Status : Chopping |
| Time Active : 3 hr 53 min 35 sec |
| Logs Chopped : 324 |
| Logs Per Hour : 84 |
| Experience Gained : 56700 |
| Experience Per Hour : 14565 |
| |
*----------------------------------------------------------------*
Stopped because it screwed up the maze random :(
Dang... Maybe try playing legit for a few, or do another activity until you stop gettign randoms?
This new version is working great!
yvan49
06-16-2012, 09:02 PM
I keep getting that Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
kevin33
06-16-2012, 09:20 PM
Heres another proggy. Still got randoms :) 0.6 runs really well, no problems yet.
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| Sandwich Lady Solved ~ 1 |
| Rewards Solved ~ 2 |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 4 hr 16 min 10 sec |
| Total Logs Chopped : 350 |
| Total Experience Gained : 61250 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: |
| |
| Time Active : 4 hr 16 min 14 sec |
| Logs Chopped : 350 |
| Logs Per Hour : 82 |
| Experience Gained : 61250 |
| Experience Per Hour : 14342 |
| |
*----------------------------------------------------------------*
sk80rdie76
06-17-2012, 01:47 AM
new version proggy
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 5 hr 22 min 53 sec |
| Total Logs Chopped : 475 |
| Total Experience Gained : 83125 |
| |
|----------------------------------------------------------------|
manually stopped. working great
kyleinkman
06-17-2012, 05:25 AM
hey i got this error?
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
SOLVED for anyone else having this error go to here
http://villavu.com/forum/showthread.php?p=847813
kevin33
06-17-2012, 04:07 PM
Yay got you the 6hr proggy.
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| Freaky Forester Solved ~ 1 |
| Rewards Solved ~ 2 |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 6 hr 51 sec |
| Total Logs Chopped : 552 |
| Total Experience Gained : 96600 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]:
| |
| Time Active : 6 hr 35 sec |
| Logs Chopped : 552 |
| Logs Per Hour : 92 |
| Experience Gained : 96600 |
| Experience Per Hour : 16074 |
| |
*----------------------------------------------------------------*
Yay finally :) Thanks for your proggies guys.
WeeJazzah
06-17-2012, 11:50 PM
I keep getting this error when i weild or use a dragon hatchet.
LoadAxeDTM: 0
LoadAxeDTM: 1
LoadAxeDTM: 2
LoadAxeDTM: 3
LoadAxeDTM: 4
LoadAxeDTM: 5
LoadAxeDTM: 6
LoadAxeDTM: 7
Player[0] StartUp: False
Aborting!
kevin33
06-18-2012, 12:16 PM
Yay finally :) Thanks for your proggies guys.
And here is another one :)
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| Cap'n Arnav Solved ~ 1 |
| Rewards Solved ~ 2 |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 6 hr 6 min 56 sec |
| Total Logs Chopped : 475 |
| Total Experience Gained : 83125 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: |
| |
| Time Active : 6 hr 7 min 1 sec |
| Logs Chopped : 475 |
| Logs Per Hour : 78 |
| Experience Gained : 83125 |
| Experience Per Hour : 13589 |
| |
*----------------------------------------------------------------*
I keep getting this error when i weild or use a dragon hatchet.
LoadAxeDTM: 0
LoadAxeDTM: 1
LoadAxeDTM: 2
LoadAxeDTM: 3
LoadAxeDTM: 4
LoadAxeDTM: 5
LoadAxeDTM: 6
LoadAxeDTM: 7
Player[0] StartUp: False
Aborting!
IS the hatchet being cutt-off, like sometimes the things in the inventory are?
WeeJazzah
06-18-2012, 11:41 PM
Not sure i will have a look again, but it tends to do this alot soon as i log in and then it logs me straight back out again.
PapaPwn
06-19-2012, 01:32 AM
I've run it 3 times and the longest time it's ran before logging out is an hour. is there anything I can do to make it go longer?
I've run it 3 times and the longest time it's ran before logging out is an hour. is there anything I can do to make it go longer?
Are the settings correct. What error do you receive? Where do you find your character? What does the debug say?
WeeJazzah
06-19-2012, 06:36 PM
I've run it 3 times and the longest time it's ran before logging out is an hour. is there anything I can do to make it go longer?
Yeah, i also have the same problem. Sometimes it starts up and logs straight back out again and stops the script, whereas, other times it runs for around 20 minutes or so and then logs me out.
I am a member on both my accounts now, one is a skiller and one is my main, therefore my skiller account cannot weild the dragon hatchet. However i have also tried with a rune hatchet aswell on both accounts but they still don't run for very long. Before i paid for a membership for the accounts, around a week ago, it was working fine when it was in the free worlds so i'm not sure if this has anything to do with it.
It seems to log me out and display this error in the debug box, or the one i posted before. Hope you can help Yago.
IsLoggedIn: False
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active...
All players not active!
Thanatos
06-19-2012, 08:13 PM
Yeah, i also have the same problem. Sometimes it starts up and logs straight back out again and stops the script, whereas, other times it runs for around 20 minutes or so and then logs me out.
I am a member on both my accounts now, one is a skiller and one is my main, therefore my skiller account cannot weild the dragon hatchet. However i have also tried with a rune hatchet aswell on both accounts but they still don't run for very long. Before i paid for a membership for the accounts, around a week ago, it was working fine when it was in the free worlds so i'm not sure if this has anything to do with it.
It seems to log me out and display this error in the debug box, or the one i posted before. Hope you can help Yago.
IsLoggedIn: False
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active...
All players not active!
Have you been present when your script stops? If not you should try partially babysitting it for a period of time just so you can find out what is going wrong. There is also a possibility that runescape has updated and your account has been kicked offline. Other than that i have not used this script yet so i can't really know whats going on with it.
WeeJazzah
06-19-2012, 09:27 PM
I have watched it plenty of times, it just stops and clicks through the player tabs and then goes to the cross at the top right corner and logs out. Nothing usual like wondering off or not being able to bank or find trees etc.
*I found this error when it tried to bank. I'm not sure if this is always the cause as it has logged out plenty of times, however, i'm not always in the bank and my inventory has a few logs in it when i log back in, but here is the error anyway.
Ran Procedure AntiRandoms.
IsLoggedIn: True
Unable To Open The Bank.
BankIt: False
Ran Procedure AntiRandoms.
IsLoggedIn: True
Status: LogOut
Screenshot of: TCE - Logout 39 Minutes and 0 Seconds
dx osiris1
06-20-2012, 03:38 AM
i think i found a bug because your script is the only one that does it. sometyimes when i start the script, after a few minutes it will say "the following bitmaps were not freed [3]"
The_Dude
06-20-2012, 08:11 AM
your script is the only one that does it
LOL
I didn't know this script had been updated.
Status: Chopping
Status: Banking
Status: LogOut
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active...
All players not active!
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 29 min 26 sec |
| Total Logs Chopped : 28 |
| Total Experience Gained : 4900 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: |
| |
| Time Active : 29 min 29 sec |
| Logs Chopped : 28 |
| Logs Per Hour : 57 |
| Experience Gained : 4900 |
| Experience Per Hour : 9969 |
| |
*----------------------------------------------------------------*
"Bye Guys" - Yago
Successfully executed.
Is there a breaking method I missed? I can't figure out why I was logged out.
Anyone who experiences problems with the script, look at the Debugging section of the Original Post (OP).
realrocker00
06-21-2012, 05:40 PM
Anyone who experiences problems with the script, look at the Debugging section of the Original Post (OP).
I'm also getting "the following bitmaps were not freed [3]" error. I'll throw on extensive debugging and let you know what it says.
-Real
I'm also getting "the following bitmaps were not freed [3]" error. I'll throw on extensive debugging and let you know what it says.
-Real
Bitmaps not being freed is not an error...
supersayian2224
06-21-2012, 10:03 PM
something goes wrong with mine as well after 1-2 hours. I put the debug on -- where can I access the screenshot?
It always happens when the inventory is full and it's on the way to the bank.
realrocker00
06-21-2012, 10:29 PM
Bitmaps not being freed is not an error...
It's an error on my end correct? I just call it an error because it is preventing the script to function properly. :blink:
EDIT: And I just got it to run for an hour and fifty minutes, pretty good.
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: *********** |
| |
| Time Active : 1 hr 49 min 49 sec |
| Logs Chopped : 280 |
| Logs Per Hour : 153 |
| Experience Gained : 49000 |
| Experience Per Hour : 26771 |
| |
*----------------------------------------------------------------*
[/Report]
"Bye Guys" - Yago
Successfully executed.
The following bitmaps were not freed: [3]
It's an error on my end correct? I just call it an error because it is preventing the script to function properly. :blink:
EDIT: And I just got it to run for an hour and fifty minutes, pretty good.
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: *********** |
| |
| Time Active : 1 hr 49 min 49 sec |
| Logs Chopped : 280 |
| Logs Per Hour : 153 |
| Experience Gained : 49000 |
| Experience Per Hour : 26771 |
| |
*----------------------------------------------------------------*
[/Report]
"Bye Guys" - Yago
Successfully executed.
The following bitmaps were not freed: [3]
Oh, an error would be: Unable to free a bitmap... instead of a bitmap was not freed. because in the first on there is a problem trying to free a bitmap, while in the second message, nobody tried to free a bitmap...
Anyhow if you had debugging set to true, then the error would be before the final progress report.
Tonekray
06-24-2012, 11:47 PM
Anyone who experiences problems with the script, look at the Debugging section of the Original Post (OP).
The error everyone is talking about seems to occur during banking (for me anyways.)
http://pastebin.com/hNBjLjzk
That's the snippet of debug where the random logout occurs.
The error everyone is talking about seems to occur during banking (for me anyways.)
http://pastebin.com/hNBjLjzk
That's the snippet of debug where the random logout occurs.
Can you possibly send me the screenshot that it took?
joel amos
06-25-2012, 06:18 PM
I'm totally new to Simba, but when I double click on the file and then hit run, it says the following: Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
Tonekray
06-25-2012, 06:21 PM
Can you possibly send me the screenshot that it took?
Where would the screenshot be located at? I combed through the script location and Simba's directory; couldn't find anything.
Where would the screenshot be located at? I combed through the script location and Simba's directory; couldn't find anything.
It should be in Includes/SRL/Logs/
Tonekray
06-25-2012, 09:38 PM
It should be in Includes/SRL/Logs/
Must have missed it them.
http://i.imgur.com/ujZFz.png
http://i.imgur.com/RaLTg.png
joel amos
06-26-2012, 12:02 AM
By the way, the name of the script is so sexy. Major props. It's a pun on like 3 different levels.
Must have missed it them.
http://i.imgur.com/ujZFz.png
http://i.imgur.com/RaLTg.png
Ok great! I have ideas as to the problem... Also, you username is in the pics. I don't know if you don't care or don't know.
As for the name, it was chosen by my bud Mixster on IRC.
kurtfryer
06-26-2012, 06:08 AM
bitmaps not being freed, occurs randomly when walking to the bank.
thanks.
Tonekray
06-26-2012, 04:59 PM
Ok great! I have ideas as to the problem... Also, you username is in the pics. I don't know if you don't care or don't know.
As for the name, it was chosen by my bud Mixster on IRC.
Doesn't bother me. The worst someone can do with my username is PM spam me.
Anyways, glad you have found out what might be the issue. I'm looking forward to an update.
sk80rdie76
06-27-2012, 04:21 AM
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 5 hr 41 min 6 sec |
| Total Logs Chopped : 396 |
| Total Experience Gained : 69300 |
| |
|----------------------------------------------------------------|
manually stopped
josiyah
06-28-2012, 09:08 AM
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 5 hr 41 min 6 sec |
| Total Logs Chopped : 396 |
| Total Experience Gained : 69300 |
| |
|----------------------------------------------------------------|
manually stopped
Any tips on how you got it to run so long? Mine keeps stopping for things like "failing to return from bank" Infact that has occured across afew of my woodcutting scripts, not sure if there is anything i can do but if so would appreciate it :)
cheers
When I run the script, it keeps logging me out to try to find new players.
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 2 hr 21 min 56 sec |
| Total Logs Chopped : 179 |
| Total Experience Gained : 31325 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: [REDACTED] |
| |
| Status : Waiting |
| Time Active : 2 hr 17 min 22 sec |
| Logs Chopped : 179 |
| Logs Per Hour : 79 |
| Experience Gained : 31325 |
| Experience Per Hour : 13682 |
| |
*----------------------------------------------------------------*
Status: Chopping
Stats Committed.
Status: Banking
Status: LogOut
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active...
All players not active!
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| |
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 2 hr 22 min 37 sec |
| Total Logs Chopped : 181 |
| Total Experience Gained : 31675 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: [REDACTED] |
| |
| Time Active : 2 hr 18 min 13 sec |
| Logs Chopped : 181 |
| Logs Per Hour : 79 |
| Experience Gained : 31675 |
| Experience Per Hour : 13751 |
| |
*----------------------------------------------------------------*
"Bye Guys" - Yago
Successfully executed.
The following bitmaps were not freed: [3][/report]
Thaitan
07-02-2012, 06:17 AM
I always get this message and it just logs me out and it doesnt log back in because i thought it was just breaking but it isnt, anyone know how to fix?
Status: LogOut
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active...
All players not active!
i get this message after an hour of using but in that hour the script works great and i really love it!
pk3ryoyo
07-02-2012, 10:09 PM
[Error] Includes\ObjectDTM/ObjDTMInclude.simba(217:3): Duplicate identifier 'T2DStringArray' at line 216
Compiling failed.
anything on this or help?
dude232
07-03-2012, 04:02 AM
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
never had this happen before anyone able to help here?
kevin33
07-03-2012, 06:38 AM
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
never had this happen before anyone able to help here?
You need to download the ObjDTM extension. Search it. Download it off the utilities or off another scripts thread witht he link. Open SImba, allow it in extensions, update it via the tab, close, reopen and presto you're off to botterland.
milkman1
07-03-2012, 11:16 AM
[Error] (10:36): 'BEGIN' expected at line 9
im sorry im new to all this... cant figure it out :((( very frustrating
kevin33
07-03-2012, 06:17 PM
Post us the script, you have done something and made this happen. We will tell you what to do when you post us your version as the script does not normally have this problem.
dude232
07-07-2012, 06:07 AM
as far as making it run long, mine just takes a dump at the bank any suggestions?
gogsmash1
07-10-2012, 03:32 PM
never mind
ickcay
07-10-2012, 03:47 PM
I've been trying to get this script to work on simba, but every time I run it I get
"Error downloading "http://yagoscripts.netii.net/TCEProg.png".", and then
"Exception: Error while reading stream: File "C:\Users\Gwynn\AppData\Local\Temp\/TCEProg.png" does not exist at line 117
The following DTMs were not freed: [SRL - Lamp bitmap, 1]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap, SRL - Flag bitmap]"
I really want to be able to use this script. How can I fix this problem?
I've been trying to get this script to work on simba, but every time I run it I get
"Error downloading "http://yagoscripts.netii.net/TCEProg.png".", and then
"Exception: Error while reading stream: File "C:\Users\Gwynn\AppData\Local\Temp\/TCEProg.png" does not exist at line 117
The following DTMs were not freed: [SRL - Lamp bitmap, 1]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap, SRL - Flag bitmap]"
I really want to be able to use this script. How can I fix this problem?
The webhost is being DDOS'ed... They say the website will be down for 6 hours... But it is easy to fix and get the script running anyways.
gogsmash1
07-10-2012, 04:10 PM
Now I'm getting that same problem. How do we fix it??
markd6125
07-11-2012, 08:16 AM
mine does not start it says
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
what does this mean
kevin33
07-11-2012, 08:30 AM
mine does not start it says
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from ''
what does this mean
Means you need to download ObjDTM. Read some of the other posts they will tell you exactly what to do or you could search it and read what to do off the thread.
fumaor
07-11-2012, 10:23 PM
The webhost is being DDOS'ed... They say the website will be down for 6 hours... But it is easy to fix and get the script running anyways.
HOT TO FIX, THE SCRIRPT DONT RUN :( XD
:fiery:
markd6125
07-11-2012, 10:42 PM
i got another error message saying this..
0.6
Version Checking Failed. You Might Be Outdated.
Please Check For The Latest Version Online.
Paint File Check.
anyone help?
it also says i dont have the latest update but im using the latest version
Stufferino
07-28-2012, 04:05 PM
Getting the "Invalid number of parameters at line ..." bug when I try to run. Is there a way to fix it, or is the script outdated?
Its outdated, but I may fix it if I have the spare time. There are scripts that fix this script for you though.
Mmmkile
08-03-2012, 11:22 PM
Would you care if I posted the altered version that I got to work on here?
Would you care if I posted the altered version that I got to work on here?
I wouldn't mind.
Mmmkile
08-05-2012, 01:55 PM
Program TheCutingEdge;
{$DEFINE SMART}
{$i SRL/SRL.simba}
{$i ObjectDTM/ObjDTMInclude.simba}
const
{----SMART Setup Constants----}
WORLD = 99; // Choose What Server To Load. Set As 0 For Random Sever.
{-----------------------------}
Stats_UserID = ''; // SRL Stats ID (Leave Blank If None).
Stats_Password = ''; // SRL Stats Password (Leave Blank If None).
Debug_Script = False; // Set To True To Debug The Script.
Auto_Update = True; // Check For And Download The Newest Script Version.
AntiBanAmount = 1; // 0 = 0% Chance. 100 = 100%.
ReportWait = 60; // How Often In Seconds To Print A Text Report
PaintWait = 50; // How Often In Miliseconds To Print On Screen. Set To 0 For No Paint
Type
MyPlayer = Record
Name, Pass, Pin: string;
Member, Active, AxeWielded: Boolean;
Logs, Exp, LogH, ExpH, LampSkill: Integer;
BoxRewards: TStringArray;
End;
MyColor = Record
Color, Tol, CTS, Accuracy: Integer;
Sat, Hue: Extended;
Uptexts: TStringArray;
End;
var MyPlayers: Array of MyPlayer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
CurrentPlayer := 0;
NumberOfPlayers(HowManyPlayers);
setlength(MyPlayers, HowManyPlayers);
With MyPlayers[0] do
begin
Name := ''; //Character Name
Pass := ''; //Character Pass
Pin := ''; //Pin for bank
Member := True; //True = Members Account & False = Non-Members Account.
Active := True; //Use player in script?
AxeWielded := True; //Is You Axe Wielded? Yes = True and No = False. If No then place axe in first slot.
BoxRewards := ['XP','Lamp'];
LampSkill := SKILL_WOODCUTTING;
end;
end;
{Do Not Touch Below Unless Instructed To!!!}
const
//Version And Paths
Version = '0.6'; //Script Version;
ThePath = ScriptPath + '/TCEProg.png'; // Image Path;
//Script-Function Wait Times
MaxWait = 100000; //How much time to wait for a tree after checking the previous tree.
MaxWaits = 10; //How many times to go from tree to tree without success before logging out.
MaxWalks = 4; //Maximum Attempts To Repeat Walking If Failed
MaxIdle = 60000; //Failsafe Time To Idle While Chopping
MaxRetry = 4; //Max Number of times to retry chopping script while idle
//Color-Related Constants
DHue = 0.2;
DSat = 0.2; //Default Hue And Sat
//Axe Constants
Dragon_Axe = 0;
Rune_Axe = 1;
Addy_Axe = 2;
Mith_Axe = 3;
Steel_Axe = 4;
Black_Axe = 5;
Iron_Axe = 6;
Bronze_Axe = 7;
//Other
YewLogExp = 175;
TLoggedIn = 4000;
//Object Constats
OBJ_Banker = 0;
OBJ_TreeTrunk = 1;
OBJ_TreeLeaves = 2;
//OBJDTM Points
ObjDTM_Bank = '81:80:7:1:7:121:67:1:7:92:32:10:7:91:66:10:7:87:7 1:10:7:87:79:10:7:87:88:3:7:127:84';
ObjDTM_Middle = '79:125:7:1:7:121:67:1:7:92:32:10:7:91:66:10:7:87: 71:10:7:87:79:10:7:87:88:3:7:127:84';
var
Event: string;
ReportTimer, PaintTimer, Prog: Integer;
PaintArray: TStringArray;
Procedure DebugIt(Text: string);
begin
if Debug_Script then
Writeln(Text);
end;
Procedure Init;
begin
{Paint}
if (PaintWait <> 0) then
begin
Prog := LoadBitmap(ThePath);
SMART_DrawBitmap(True,Prog,Point(MCX1,MCY1));
SetLength(PaintArray,6);
end;
end;
Function LoadObject(Which: Integer): MyColor;
begin
case Which of
OBJ_Banker:
with Result do
begin
Color := 3678760;
Hue := 0.06;
Sat := 0.45;
Tol := 10;
CTS := 2;
Accuracy := 100;
Uptexts := ['Bank B', 'nk B'];
end;
OBJ_TreeTrunk:
with Result do
begin
Color := 1120536;
Tol := 1;
CTS := 1;
Uptexts := ['Chop','down','Yew','hop d','wn Y'];
end;
OBJ_TreeLeaves:
with Result do
begin
Color := 2113332;
Tol := 3;
CTS := 0;
Accuracy := 200;
end;
end;
end;
{************************************************* ******************************
function DownloadToFile(const URL, Filename: string): boolean;
By: Dgby714. Editted By Yago.
Description: Downloading file from URL to Filename.
************************************************** *****************************}
Function DownloadToFile(const URL, Filename: string): boolean;
var
FileI: LongInt;
FileC, FileH: string;
begin
Writeln('Paint File Check.');
Result := False;
FileI := InitializeHTTPClient(False,False);
try
FileC := GetHTTPPage(FileI, URL);
FileH := GetRawHeaders(FileI);
if ((FileC = '') or (FileH = '')) then
begin
WriteLn('Error downloading "' + URL + '".');
Exit;
end;
FileH := Copy(GetRawHeaders(FileI), 10, Pos(#13, FileH) - 10); //Error Code
if (FileH <> '200 OK') then
begin
WriteLn('Couldn''t download "' + URL + '", Error Code: ' + FileH + '.');
Exit;
end;
finally
FreeHTTPClient(FileI);
end;
try
if not FileExists(Filename) then
FileI := CreateFile(Filename)
else
FileI := OpenFile(Filename, False);
CloseFile(FileI);
FileI := RewriteFile(Filename, False);
Result := WriteFileString(FileI, FileC);
finally
CloseFile(FileI);
end;
end;
{************************************************* ******************************
Procedure ScriptUpdate;
Description: Checks For Newer Versions Of The Script And Updates The Script If
The User Sets The Update Constant;
Authors: Harry. Eddited By Me.
************************************************** *****************************}
Procedure ScriptUpdate;
var ClientUp, Neifile:integer;
OnlineVersion, NewScript, NeiFeilNennen:string;
begin
if Auto_Update then
begin
Writeln('Checking For An Updated Script Version.');
OnlineVersion := GetPage('http://yagoscripts.netii.net/TCEVersion.html');
Writeln(onlineversion);
Writeln(Version);
if (Length(trim(OnlineVersion)) = 3) and (trim(OnlineVersion) > Version) then
begin
WriteLn('Newer Version Found Online. Will AutoUpdate.');
ClientUp := InitializeHTTPClient(False,False);
SetHTTPUserAgent(ClientUp,'Simba');
NewScript := GetHTTPPage(ClientUp,'http://yagoscripts.netii.net/TCE-Current.simba');
FreeHTTPClient(ClientUp);
NeiFeilNennen := ScriptPath + 'TheCuttingEdge v'+trim(OnlineVersion)+'.simba';
Neifile := Rewritefile(NeiFeilNennen, true);
try
WriteFileString(Neifile, NewScript);
except
begin
WriteLn('Fatal Error Writing To '+NeiFeilNennen+'!');
TerminateScript;
end;
end;
CloseFile(Neifile);
WriteLn('New Script Downloaded And Saved To '+NeiFeilNennen+' !! Please Use This!');
TerminateScript;
end else
begin
if (Length(trim(OnlineVersion)) <> 3) then
begin
WriteLn('Version Checking Failed. You Might Be Outdated.');
Writeln('Please Check For The Latest Version Online.');
end else
WriteLn('You Have The Latest Version Of The Script!');
Exit;
end;
end else
WriteLn('!!!!! Not Checking For The Latest Version Of This Script. You Might Be Outdated!');
end;
Procedure SetPlayers;
var
I: Integer;
begin
for I := 0 to High(MyPlayers) do
begin
Players[i].Name := MyPlayers[i].Name;
Players[i].Pass := MyPlayers[i].Pass;
Players[i].Pin := MyPlayers[i].Pin;
Players[i].Active := MyPlayers[i].Active;
Players[i].Member := MyPlayers[i].Member;
Players[i].WorldInfo := [MyPlayers[i].Member, -1, False];
Players[I].BoxRewards := MyPlayers[i].BoxRewards;
Players[i].LampSkill := MyPlayers[i].LampSkill;
MyPlayers[i].Exp := 0;
MyPlayers[i].Logs := 0;
MyPlayers[i].ExpH := 0;
MyPlayers[i].LogH := 0;
end;
end;
Procedure AntiRandoms;
begin
FindNormalRandoms;
DebugIt('Ran Procedure AntiRandoms.');
end;
function IsLoggedIn: boolean;
var
Timer: Integer;
begin
//Failsafe for the onFocus bug with SMART. The screen goes black for a few ms when focusing on SMART.
AntiRandoms;
Result := (PercentBlackMM <> 100) and LoggedIn;
MarkTime(Timer);
while (not Result) and (TimeFromMark(Timer) <= TLoggedIn) do
begin
AntiRandoms;
Result := (PercentBlackMM <> 100) and LoggedIn;
end;
DebugIt('IsLoggedIn: ' + ToStr(Result));
end;
{************************************************* ******************************
procedure SetAngle(Highest : Boolean);
By: Raymond, edit by NaumanAkhlaQ. Editted By me
Description: Sets the mainscreen at highest\lowest angle (Depends on the boolean)
Taken From SRL Include.
************************************************** *****************************}
Procedure SetCustomAngle(Highest: Boolean);
begin
if (not IsLoggedIn) then exit;
KeyDown((Integer(not Highest) * 2) + 38);
Sleep(1000 + Random(300));
KeyUp((Integer(not Highest) * 2) + 38);
end;
Procedure Maintenance(Angle: string);
begin
if not (IsLoggedIn) then
Exit;
DebugIt('Running Procedure Maintenance(' + Angle +').');
SetCustomAngle(True);
MakeCompass(Angle);
end;
Procedure AntiBan;
var
I, AB: Integer;
begin
if (AntiBanAmount <> 0) then
begin
if (AntiBanAmount > 100) then
AB := 1000
else
AB := AntiBanAmount * 10;
I := Random(90 * (Ceil(1000/AB))) + 1;
case I of
1: RandomRClick;
2,3:
begin
HoverSkill('woodcutting', False);
SleepAndMoveMouse(100);
end;
4: PickUpMouse;
5: RandomAngle(True);
6: RandomMovement;
7: BoredHuman;
8..10: SleepAndMoveMouse(500);
end;
if (I <= 10) then
begin
DebugIt('Ran AntiBan Procedure.');
Maintenance('W');
end;
end;
end;
Procedure AssignStatus(Assignment: string);
begin
Event := Assignment;
end;
Procedure PrintOnSMART(Force: boolean);//Not Mine, Just Editted
var
Log, Exp, Logsh, Exph, Portion, I: Integer;
ThePoint: TPoint;
V: string;
begin
if (PaintWait = 0) or ((not Force) and (TimeFromMark(PaintTimer) < PaintWait)) then
Exit;
Log := MyPlayers[CurrentPlayer].Logs;
Exp := Round(175 * Log);
LogsH := Ceil((Log * 60.0 * 60.0 * 1000.0) / PlayerWorked(CurrentPlayer));
ExpH := Ceil((Exp * 60.0 * 60.0 * 1000.0) / PlayerWorked(CurrentPlayer));
for I := 0 to 5 do
begin
case I of
0:
begin
V := tostr(Log) + ' Logs';
ThePoint := Point(267,62);
end;
1:
begin
V := tostr(Exp) + ' Exp';
ThePoint := Point(267,79);
end;
2:
begin
V := tostr(ExpH);
ThePoint := Point(267,96);
end;
3:
begin
V := tostr(LogsH) + ' Logs';
ThePoint := Point(267,113);
end;
4:
begin
V := Event;
ThePoint := Point(382,64);
end;
5:
begin
V := MsToTime(GetTimeRunning, Time_Short);
ThePoint := Point(421,94);
end;
end;
if V = PaintArray[I] then
Continue;
Portion := GetMufasaBitmap(Prog).Copy(ThePoint.x, ThePoint.y, ThePoint.x + 76, ThePoint.y + 17).Index;
SMART_DrawBitmap(False,Portion,Point(MCX1 + ThePoint.x, MCY1 + ThePoint.y));
FreeBitmap(Portion);
SMART_DrawTextEx(False,MCX1 + ThePoint.x, MCY1 + ThePoint.y, SmallChars, V, clGreen);
end;
PaintArray := [tostr(Log) + ' Logs',tostr(Exp) + ' Exp',tostr(ExpH),tostr(LogsH) + ' Logs',Event,MsToTime(GetTimeRunning, Time_Short)];
MarkTime(PaintTimer);
end;
Procedure DrawPoint(Clear: Boolean; P: TPoint; S: Integer);
begin
if Clear then
SMART_ClearCanvasArea(IntToBox(MMX1, MMY1, MMX2, MMY2));
SMART_DrawLine(False,Point(P.x-S,P.y-S),Point(P.x+S+1,P.y+S+1),clBlue);
SMART_DrawLine(False,Point(P.x-S,P.y-S-1),Point(P.x+S,P.y+S+1),clBlue);
SMART_DrawLine(False,Point(P.x-S-1,P.y-S),Point(P.x+S+1,P.y+S),clBlue);
SMART_DrawLine(False,Point(P.x-S,P.y+S),Point(P.x+S+1,P.y-S-1),clBlue);
SMART_DrawLine(False,Point(P.x-S-1,P.y+S),Point(P.x+S+1,P.y-S),clBlue);
SMART_DrawLine(False,Point(P.x-S,P.y+S+1),Point(P.x+S,P.y-S-1),clBlue);
end;
Procedure RemoveATPAByAccuracy(var ATPA: T2DPointArray; Accuracy, Color: Integer);
var
I: Integer;
begin
for I := 0 to High(ATPA) do
if (Length(ATPA) = 0) or (High(ATPA) < I) then
else if Length(ATPA[I]) < Accuracy then
begin
DeleteValueInATPA(ATPA, I);
I := I - 1;
end else if (Color <> 0) then
begin
DebugIt(ToStr(Length(ATPA[I])));
SMART_DrawDotsEx(False, ATPA[I], Color + I * 100);
end;
end;
Function LoadAxeDTM(Which: Integer): integer;
begin
DebugIt('LoadAxeDTM: ' + ToStr(Which));
case Which of
Dragon_Axe: Result := DTMFromString('mbQAAAHicY2VgYLjKwsBwAIhvAPEdID4BxF +B4hyMDAz/gPQnIP4GxJ78XECSCQUDlWAARiwYDADXZQh/');
Rune_Axe: Result := DTMFromString('mbQAAAHicY2VgYOACYn4gFgZiFgYIYAJiDi S2JBDbevpDeQgMU48MGLFgMAAAV5oBQQ==');
Addy_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAbO1iDRVBYBYGBGCG0oxYMBgAAFEzASk=');
Mith_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAbGYWABVBYBYGBGCG0oxYMBgAAFGZASs=');
Steel_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAnJuZCRVBYBYGBGCG0oxYMBgAAHJ3Aa4=');
Black_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAzMfLCxVBYBYGBGCG0oxYMBgAACy0AJc=');
Iron_Axe: Result := DTMFromString('mbQAAAHicY2VgYOACYn4gFgZiFgYIYAJiDi S2JBC7ODpCeQjMCFXDzIAAjFgwGAAAU9cBMg==');
Bronze_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAbG8gAxVBYBYGBGCG0oxYMBgAAEWWAPo=');
end;
end;
Function PlayerStartUp: boolean;
var
Level,AxeDTM, x, y, I: integer;
begin
DebugIt('Function PlayerStartUp.');
Result := False;
if not IsLoggedIn then
Exit;
CloseBank;
ClosePinScreen;
SetCustomAngle(True);
Level := GetSkillLevel(Skill_WoodCutting);
DebugIt('WC Level Is ' + ToStr(Level));
case Level of
61..100: I := Dragon_Axe;
41..60: I := Rune_Axe;
31..40: I := Addy_Axe;
21..30: I := Mith_Axe;
6..20: I := Steel_Axe;
else
I := Bronze_Axe;
end;
if MyPlayers[CurrentPlayer].AxeWielded then
Gametab(tab_Equip)
else
GameTab(tab_Inv);
for I := I to Bronze_Axe do
begin
AxeDTM := LoadAxeDTM(I);
Result := FindDTM(AxeDTM, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(AxeDTM);
if Result then
Break;
end;
if Result then
if InvFull then
AssignStatus('Banking')
else
AssignStatus('Trees');
DebugIt('Player['+ ToStr(CurrentPlayer) + '] StartUp: ' + ToStr(Result));
end;
Procedure Report(Final: boolean);
Var
Log, TotalLogs, Exp, TotalExp, I: Integer;
LogsH, ExpH: LongInt;
begin
if (stats_Commit) then
Writeln('Stats Committed.');
if Final or ((TimeFromMark(ReportTimer) >= (ReportWait * 1000)) and IsLoggedIn) then
begin
for I := 0 to (High(Players)) do
begin
IncEx(TotalLogs, MyPlayers[I].Logs);
IncEx(TotalEXP, Round(YewLogExp * MyPlayers[I].Logs));
//IncEx(TotalLevels, Players[I].Integers[9]);
end;
Writeln('');
SRLRandomsReport;
WriteLn('*----------------------------------------------------------------*');
WriteLn('| The Cutting Edge ' + Padr(ToStr(Version), 23) + '|');
WriteLn('| By: Yago |');
WriteLn('|----------------------------------------------------------------|');
WriteLn('| Overall Progress Report |');
WriteLn('| |');
WriteLn('| ' + Padr('Total Players : ' + ToStr(HowManyPlayers), 53) + '|');
WriteLn('| ' + Padr('Total Time Running : ' + MsToTime(GetTimeRunning, Time_Abbrev), 53) + '|');
WriteLn('| ' + Padr('Total Logs Chopped : ' + ToStr(TotalLogs), 53) + '|');
WriteLn('| ' + Padr('Total Experience Gained : ' + ToStr(TotalEXP), 53) + '|');
//WriteLn('| ' + Padr('Total Smithing Levels Gained : ' + ToStr(TotalLevels), 53) + '|');
WriteLn('| |');
WriteLn('|----------------------------------------------------------------|');
end;
if (Final) then
for I := 0 to (High(Players)) do
begin
Log := MyPlayers[I].Logs;
Exp := Round(YewLogExp * Log);
LogsH := Ceil((Log * 60.0 * 60.0 * 1000.0) / PlayerWorked(I));
ExpH := Ceil((Exp * 60.0 * 60.0 * 1000.0) / PlayerWorked(I));
WriteLn('| Individual Report: |');
WriteLn('| |');
WriteLn('| ' + Padr('Player[' + ToStr(I) + ']: ' + Players[I].Name, 60) + '|');
WriteLn('| |');
//WriteLn('| ' + Padr('Reason : ' + Players[I].Strings[0], 60) + '|');
WriteLn('| ' + Padr('Time Active : ' + MsToTime(PlayerWorked(I), Time_Abbrev), 60) + '|');
//if TakeBreaks then
//Writeln('| ' + Padr('Breaks Taken : ' + ToStr(Players[I].Integers[10]) + ' Break(s)', 58) + '|');
WriteLn('| ' + Padr('Logs Chopped : ' + ToStr(Log), 60) + '|');
WriteLn('| ' + Padr('Logs Per Hour : ' + ToStr(LogsH), 60) + '|');
WriteLn('| ' + Padr('Experience Gained : ' + ToStr(Exp), 60) + '|');
WriteLn('| ' + Padr('Experience Per Hour : ' + ToStr(ExpH), 60) + '|');
//WriteLn('| ' + Padr('Smithing Level : ' + ToStr(Players[I].Integers[11]) + '(+' + ToStr(Players[I].Integers[9]) +')', 60) + '|');
WriteLn('| |');
WriteLn('*----------------------------------------------------------------*');
end
else if (TimeFromMark(ReportTimer) >= (ReportWait * 1000)) and IsLoggedIn then
begin
Log := MyPlayers[CurrentPlayer].Logs;
Exp := Round(YewLogExp * Log);
LogsH := Ceil((Log * 60.0 * 60.0 * 1000.0) / PlayerWorked(CurrentPlayer));
ExpH := Ceil((Exp * 60.0 * 60.0 * 1000.0) / PlayerWorked(CurrentPlayer));
WriteLn('| Individual Report: |');
WriteLn('| |');
WriteLn('| ' + Padr('Player[' + ToStr(CurrentPlayer) + ']: ' + MyPlayers[CurrentPlayer].Name, 60) + '|');
WriteLn('| |');
WriteLn('| ' + Padr('Status : ' + Event, 60) + '|');
WriteLn('| ' + Padr('Time Active : ' + MsToTime(PlayerWorked(CurrentPlayer), Time_Abbrev), 60) + '|');
//if TakeBreaks then
//Writeln('| ' + Padr('Breaks Taken : ' + ToStr(Players[CurrentPlayer].Integers[10]) + ' Break(s)', 58) + '|');
WriteLn('| ' + Padr('Logs Chopped : ' + ToStr(Log), 60) + '|');
WriteLn('| ' + Padr('Logs Per Hour : ' + ToStr(LogsH), 60) + '|');
WriteLn('| ' + Padr('Experience Gained : ' + ToStr(Exp), 60) + '|');
WriteLn('| ' + Padr('Experience Per Hour : ' + ToStr(ExpH), 60) + '|');
//WriteLn('| ' + Padr('Smithing Level : ' + ToStr(Players[CurrentPlayer].Integers[11]) + '(+' + ToStr(Players[CurrentPlayer].Integers[9]) +')', 60) + '|');
WriteLn('| |');
WriteLn('*----------------------------------------------------------------*');
Writeln('');
MarkTime(ReportTimer);
end;
PrintOnSMART(Final);
if Final then
Writeln('[/Report]');
end;
Function BankOpen: boolean;
begin
Result := BankScreen or PinScreen;
end;
Function OpenEdgeBankNPC: boolean;
var
Banker: MyColor;
DCTS: Integer; //Defaults
Bankers: T2DPointArray;
Colors: TPointArray;
MousePoint: TPoint;
x, y, I: Integer;
begin
Result := False;
DCTS := GetColorToleranceSpeed;
Banker := LoadObject(OBJ_Banker);
try
ColorToleranceSpeed(Banker.CTS);
SetColorspeed2Modifiers(Banker.Hue, Banker.Sat);
if FindColorsSpiralTolerance(x, y, Colors, Banker.Color, MSX1, MSY1, MSX2, MSY2, Banker.Tol) then
begin
Bankers := TPAToATPA(Colors, 25);
SMART_ClearMS;
RemoveATPAByAccuracy(Bankers, Banker.Accuracy, clLime);
SortATPAFrom(Bankers,Point(MSCX,MSCY));
SortATPAFromFirstPoint(Bankers,Point(MSCX,MSCY));
for I := 0 to High(Bankers) do
begin
MousePoint := Bankers[I][Random(High(Bankers[I]))];
MMouse(MousePoint.x,MousePoint.y,0,0);
if WaitUpTextMulti(['anke','anker','nker'], 500) then
begin
ClickMouse2(False);
if WaitOptionMulti(Banker.Uptexts, 600) then
Result := WaitFunc(@BankOpen,50,4000);
end;
if Result then
Break;
end;
end;
SMART_ClearMS;
finally
ColorToleranceSpeed(DCTS);
SetColorspeed2Modifiers(DHue, DSat);
end;
end;
Function BankIt: boolean;
var
FailSafe: Integer;
begin
Result := False;
if not IsLoggedIn then
Exit;
Report(False);
for FailSafe := 0 to 4 do
if OpenEdgeBankNPC then
break;
if (FailSafe <= 4) then
begin
FailSafe := 0;
if PinScreen then
repeat
Inc(FailSafe);
InPin(Players[CurrentPlayer].Pin);
until WaitFunc(@BankScreen, 100, 1000) or (FailSafe >= 4);
if (FailSafe < 4) then
begin
FailSafe := 0;
repeat
Report(False);
Inc(FailSafe);
if MyPlayers[CurrentPlayer].AxeWielded then
Result := DepositAll
else
begin
Deposit(2,28,True);
Result := (InvCount = 1);
end;
until Result or (Failsafe >= 4);
if not Result then
DebugIt('Unable To DepositAll Items In The Inventory.');
end else
DebugIt('Unable To Open The Bank.');
end else
DebugIt('Unable To Open The Bank.');
DebugIt('BankIt: ' + ToStr(Result));
end;
function InTreeArea(out SPoints: TPointArray): boolean;
var
Check: Integer;
begin
AntiRandoms;
Check := 0;
repeat
Inc(Check);
FindSymbols(SPoints,'tree');
Result := (Length(SPoints) = 2);
until Result or (Check > 10);
DebugIt('InTreeArea: ' + ToStr(Result));
end;
function AtNorthTree(P: TPointArray): boolean;
begin
AntiRandoms;
Result := ((Distance(MMCX,MMCY,P[0].x,P[0].y) < Distance(MMCX,MMCY,P[1].x,P[1].y)) xor (P[0].x < P[1].x));
end;
Function GetTreePoint(North: Boolean; SPoints: TPointArray): TPoint;
begin
if not (North xor (SPoints[0].x < SPoints[1].x)) then
tSwap(SPoints[0], SPoints[1]);
SPoints := MidPoints(SPoints,9);
SMART_ClearCanvasArea(IntToBox(MMX1,MMY1,MMX2,MMY2 ));
SMART_DrawDotsEx(False, SPoints, clRed);
DrawPoint(False,SPoints[1],6);
Result := SPoints[1];
end;
Function Null_Point: TPoint;
begin
Result := Point(-1, -1);
end;
Function FindWalkPoint(Location: string): TPoint;
var
P: TPointArray;
Pt, NewPt, Offset: TPoint;
RotateRad: Extended;
begin
Result := Null_Point;
if not (IsLoggedIn and InTreeArea(P)) then
Exit;
case lowercase(Location) of
'bank': Offset := Point(35, -64);
'middle': Offset := Point(31, -20);
end;
if P[0].x < P[1].x then
tSwap(P[0],P[1]);
Pt := MiddleTPA(P);
RotateRad := Arctan2(P[0].x - Pt.x, Pt.y - P[0].y);
DebugIt('Degrees = ' + tostr(Degrees(RotateRad)));
NewPt := Point(Pt.x + Offset.x, Pt.y + Offset.y);
NewPt := RotatePoint(NewPt, RotateRad, Pt.x, Pt.y);
if rs_OnMiniMap(NewPt.x, NewPt.y) then
Result := NewPt;
end;
Function AngleWalkTo(Where: string; Rand, Dist: Integer): boolean;
var
WalkPt: TPoint;
FailSafe: Integer;
begin
WalkPt := FindWalkPoint(Where);
if (WalkPt = Null_Point) then
Exit;
DrawPoint(False, WalkPt, 10);
Result := Distance(MMCX, MMCY, WalkPt.x, WalkPt.y) < Dist;
if not Result then
begin
Mouse(WalkPt.x, WalkPt.y, Rand, Rand, mouse_Left);
Report(False);
if WaitFunc(@IsMoving, 1, 3000 + random(500)) then
begin
MarkTime(FailSafe);
while (TimeFromMark(FailSafe) < 30000) do
begin
WalkPt := FindWalkPoint(Where);
DrawPoint(True, WalkPt, 10);
if (Distance(MMCX, MMCY, WalkPt.x, WalkPt.y) < Dist) or (WalkPt = Null_Point) then
Break;
Wait(RandomRange(33,55));
Report(False);
end;
end;
DebugIt(ToStr(TimeFromMark(FailSafe)));
Result := (TimeFromMark(FailSafe) < 30000) and (WalkPt <> Null_Point);
end;
DebugIt('AngleWalkTo(' + ToStr(Where) + ', ' + ToStr(Rand) + ', ' + ToStr(Dist) + '): ' + ToStr(Result));
end;
Function InBankBox(X, Y: Integer): Boolean;
var
BankBox: TBox;
begin
BankBox := IntToBox(x - 12, y - 10, x + 16, y + 10);
Result := PointInBox(Point(MMCX, MMCY), BankBox);
if Result then
DebugIt('InBankBox(' + ToStr(X) + ', ' + ToStr(Y) + '): ' + ToStr(Result));
end;
Function WalkTo(Location: string): boolean;
var
Attempt, FailSafe, X, Y: Integer;
SP: TPointArray;
WPoint: TPoint;
begin
if not IsLoggedIn then
Exit;
Attempt := 0;
repeat
SMART_ClearCanvasArea(IntToBox(MMX1, MMY1, MMX2, MMY2));
Report(False);
if not IsLoggedIn then
Exit;
Inc(Attempt);
RunEnergy(20);
Maintenance('W');
DebugIt('Walking To ' + ToStr(Location) + ' -- Attempt: ' + ToStr(Attempt));
case lowercase(Location) of
'bank':
begin
Result := ObjDTM_Find(ObjDTM_Bank, x, y, True) and InBankBox(x, y);
if (not Result) and ObjDTM_Find(ObjDTM_Bank, x, y, True) then
begin
DebugIt('Found ObjDTM_Bank');
if not InBankBox(x, y) then
ObjDTM_Walk(ObjDTM_Bank, 3, 50, 10, True);
end else if AngleWalkTo('Middle', 1, 12) and ObjDTM_Find(ObjDTM_Bank, x, y, True) then
ObjDTM_Walk(ObjDTM_Bank, 3, 50, 10, True);
Result := ObjDTM_Find(ObjDTM_Bank, x, y, True) and InBankBox(x, y);
end;
'trees': Result := InTreeArea(SP) or (ObjDTM_Walk(ObjDTM_Middle, 3, 50, 10, True) and InTreeArea(SP));
'north', 'south':
begin
Report(False);
if InTreeArea(SP) then
begin
WPoint := GetTreePoint(lowercase(location) = 'north',SP);
Result := Distance(MMCX,MMCY,WPoint.x,WPoint.y) < 16;
if not Result then
begin
Mouse(WPoint.x,WPoint.y+RandomRange(3,5),0,0,True) ;
Report(False);
if WaitFunc(@IsMoving, 1, 3000 + random(500)) then
begin
MarkTime(FailSafe);
while (TimeFromMark(FailSafe) < 30000) and IsLoggedIn and InTreeArea(SP) do
begin
WPoint := GetTreePoint(lowercase(location) = 'north',SP);
if (Distance(MMCX,MMCY,WPoint.x,WPoint.y) < 16) then
Break;
Wait(RandomRange(33,55));
Report(False);
end;
end;
DebugIt(ToStr(TimeFromMark(FailSafe)));
Result := (TimeFromMark(FailSafe) < 30000) and InTreeArea(SP);
end;
end else
Result := False;
end;
end;
until Result or (Attempt >= MaxWalks) or (not IsLoggedIn);
stats_IncVariable('Times Walked', 1);
DebugIt('WalkTo(' + ToStr(Location) + '): ' + ToStr(Result));
end;
Procedure DoStats(var Count: Integer);
var
NewCount: Integer;
begin
if (not IsLoggedIn) or (Count = InvCount) then
Exit;
NewCount := InvCount;
IncEx(MyPlayers[CurrentPlayer].Logs, (NewCount - Count));
stats_IncVariable('Yew Logs Chopped', (NewCount - Count));
stats_IncVariable('Woodcutting EXP (Gained)', ((NewCount - Count) * YewLogExp));
stats_IncVariable('Total EXP Gained', ((NewCount - Count) * YewLogExp));
Count := NewCount;
end;
Function FindAYew(out TreeBox: TBox): boolean;
var
Colors: TPointArray;
Tree: MyColor;
DCTS: Integer;
begin
if not IsLoggedIn then
Exit;
DCTS := GetColorToleranceSpeed;
Tree := LoadObject(OBJ_TreeLeaves);
try
ColorToleranceSpeed(Tree.CTS);
Result := FindColorsTolerance(Colors, Tree.Color, MSX1, MSY1, MSX2, MSY2, Tree.Tol)
and (Length(Colors) >= Tree.Accuracy);
TreeBox := GetTPABounds(Colors);
DebugIt('Length Of Colors Is: ' + tostr(length(Colors)));
finally
ColorToleranceSpeed(DCTS);
DebugIt('FindAYew: ' + ToStr(Result));
end;
end;
Function CutAYew(TreeBox: TBox): boolean;
var
MousePoint: TPoint;
Colors: TPointArray;
DCTS: Integer; //Default CTS
Tree: MyColor;
begin
if not IsLoggedIn then
Exit;
DebugIt('Function CutAYew.');
DCTS := GetColorToleranceSpeed;
Tree := LoadObject(OBJ_TreeTrunk);
try
ColorToleranceSpeed(Tree.CTS);
if FindColorsTolerance(Colors, Tree.Color, TreeBox.X1, TreeBox.Y1, TreeBox.X2, TreeBox.Y2, Tree.Tol) then
begin
SMART_ClearMS;
SMART_DrawDotsEx(False, Colors, clRed);
DebugIt('Length Of Colors Is: ' + tostr(length(Colors)));
//MousePoint := Colors[Random(High(Colors))];
MousePoint := MiddleTPA(Colors);
MMouse(MousePoint.x,MousePoint.y-10,5,5);
if WaitUpTextMulti(Tree.Uptexts, 500) then
ClickMouse2(true);
Result := DidRedClick;
end else
DebugIt('Unable To Find Tree Trunk Colors.');
finally
SetColorToleranceSpeed(DCTS);
DebugIt('CutAYew: ' + ToStr(Result));
end;
end;
Function ChopDownYew(out TreeGone: boolean): boolean;
var
Bounds: TBox;
TreeTime, Counter, I, Count: Integer;
begin
Report(False);
if (not IsLoggedIn) or InvFull then
Exit;
TreeGone := False;
Count := InvCount;
for I := 0 to MaxRetry do
begin
DebugIt('Retry: ' + ToStr(I));
if IsLoggedIn and (not InvFull) and FindAYew(Bounds) then
begin
DebugIt(ToStr(I));
Maintenance('W');
DebugIt('Found A Yew Tree.');
if CutAYew(Bounds) then
begin
Report(False);
DebugIt('Successfully Began To Chop Down Yew.');
MarkTime(TreeTime);
Counter := 0;
while IsLoggedIn and (not InvFull) and (Counter < 3) and (TimeFromMark(TreeTime) < MaxIdle) do
begin
AntiBan;
if not FindAYew(Bounds) then
Inc(Counter);
//Stats
DoStats(Count);
Report(False);
Wait(RandomRange(50,66));
end;
DebugIt('Time: ' + ToStr(TimeFromMark(TreeTime)));
Result := IsLoggedIn and (InvFull or ((TimeFromMark(TreeTime) < MaxIdle) xor (Counter < 3)));
if Result then
TreeGone := (TimeFromMark(TreeTime) < MaxIdle) and (Counter >= 3);
SMART_ClearMS;
//Stats
DoStats(Count);
end;
end;
end;
//Stats
DoStats(Count);
DebugIt(ToStr(I));
DebugIt('ChopDownYew(' + tostr(TreeGone) + '): ' + ToStr(Result));
end;
Function WaitTree: boolean;
var
MainTimer: Integer;
Unused: TBox;
It: TPointArray;
begin
if (not IsLoggedIn) or InvFull or (not InTreeArea(It)) then
Exit;
if AtNorthTree(It) then
WalkTo('South')
else
WalkTo('North');
MarkTime(MainTimer);
while IsLoggedIn and (not FindAYew(Unused)) and (TimeFromMark(MainTimer) < MaxWait) do
begin
AntiBan;
Report(False);
Wait(RandomRange(100,133));
end;
Result := IsLoggedIn and (TimeFromMark(MainTimer) < MaxWait);
DebugIt('WaitTree: ' + ToStr(Result));
end;
Procedure FreeMe;
begin
Report(True);
Writeln('"Bye Guys" - Yago');
end;
Procedure MainLoop;
var
WaitAttempts: Integer;
Unused: TPointArray;
MoveOn: Boolean;
begin
repeat
if not IsLoggedIn then
LoginPlayer
else
PlayerStartTime := GetSystemTime;
if not PlayerStartUp then
begin
DebugIt('Aborting!');
Exit;
end;
WaitAttempts := 0;
MarkTime(ReportTimer);
MarkTime(PaintTimer);
while IsLoggedIn and (WaitAttempts <= MaxWaits) do
begin
Report(False);
if (lowercase(Event) <> 'logout') and InvFull then
AssignStatus('Banking');
Writeln('Status: ' + Event);
case lowercase(Event) of
'banking':
if WalkTo('Bank') and BankIt then
begin
stats_IncVariable('Times Banked', 1000)
AssignStatus('Trees');
end;
'trees':
begin
if not InTreeArea(Unused) then
WalkTo('Trees');
if WalkTo('South') then
AssignStatus('Chopping');
end;
'chopping':
if (not ChopDownYew(MoveOn)) or MoveOn then
begin
AssignStatus('Waiting');
WaitAttempts := 0;
end;
'waiting':
if not WaitTree then
begin
Inc(WaitAttempts);
DebugIt('Wait Attempt: ' + ToStr(WaitAttempts));
end else
AssignStatus('Chopping');
end;
end;
NextPlayer(False);
until AllPlayersInactive;
end;
Begin
ClearDebug;
ScriptUpdate;
DownloadToFile('http://yagoscripts.netii.net/TCEProg.png',ThePath);
SetupSRL;
ObjDTM_Setup;
ObjDTM_Debug := Debug_Script;
SMART_ClearCanvas;
if (Stats_UserID = '') then
SetupSRLStats(919, 'YagoScripts', 'abcdefghij')
else
SetupSRLStats(919, Stats_UserID, Stats_Password);
DeclarePlayers;
SetPlayers;
Init;
AddOnTerminate('FreeMe');
MainLoop;
End.
Its not perfect, and I took out a lot of the code that logs you out since it kept randomly doing so.
But I haven't had any problems and can get it to run 6 hours or so.
Tomazino
08-29-2012, 09:52 AM
[Error] C:\Simba\Scripts\TheCuttingEdge v0.6.simba(850:43): Invalid number of parameters at line 849
Compiling failed.
What's that?
Leonardo Da Vinci
09-01-2012, 09:26 AM
I keep getting this error...
[Error] C:\Simba\Scripts\TheCuttingEdge v0.6.simba(850:43): Invalid number of parameters at line 849
Compiling failed.
The "error" is:
SMART_DrawBoxEx(False, BankBox, clRed);
litoris
09-01-2012, 09:52 AM
I keep getting this error...
[Error] C:\Simba\Scripts\TheCuttingEdge v0.6.simba(850:43): Invalid number of parameters at line 849
Compiling failed.
The "error" is:
SMART_DrawBoxEx(False, BankBox, clRed);
procedure SMART_DrawBoxEx(Clear, Fill: boolean; Box: TBox; color: TColor)
There was a new parameter added, called fill. Replacing the line with
SMART_DrawBoxEx(False, False, BankBox, clRed);
should theoretically solve the issue. Let me know if it works.
Leonardo Da Vinci
09-01-2012, 12:41 PM
procedure SMART_DrawBoxEx(Clear, Fill: boolean; Box: TBox; color: TColor)
There was a new parameter added, called fill. Replacing the line with
SMART_DrawBoxEx(False, False, BankBox, clRed);
should theoretically solve the issue. Let me know if it works.
It sure did!
But now there's this error instead...
Smart_Server := WORLD;
Solar
09-01-2012, 01:37 PM
Try going through this; http://villavu.com/forum/showthread.php?t=88578
Leonardo Da Vinci
09-01-2012, 02:13 PM
Try going through this; http://villavu.com/forum/showthread.php?t=88578
Thanks, it now compiles...
I'll share it so everyone else can use it too.
Leonardo Da Vinci
09-01-2012, 02:15 PM
Here's the working fix.
I've been running it for a few hours without any trouble.
Enjoy!
Program TheCutingEdge;
{$DEFINE SMART}
{$i SRL/SRL.simba}
{$i ObjectDTM/ObjDTMInclude.simba}
const
{----SMART Setup Constants----}
WORLD = 0; // Choose What Server To Load. Set As 0 For Random Sever.
{-----------------------------}
Stats_UserID = ''; // SRL Stats ID (Leave Blank If None).
Stats_Password = ''; // SRL Stats Password (Leave Blank If None).
Debug_Script = False; // Set To True To Debug The Script.
Auto_Update = True; // Check For And Download The Newest Script Version.
AntiBanAmount = 25; // 0 = 0% Chance. 100 = 100%.
ReportWait = 60; // How Often In Seconds To Print A Text Report
PaintWait = 50; // How Often In Miliseconds To Print On Screen. Set To 0 For No Paint
Type
MyPlayer = Record
Name, Pass, Pin: string;
Member, Active, AxeWielded: Boolean;
Logs, Exp, LogH, ExpH, LampSkill: Integer;
BoxRewards: TStringArray;
End;
MyColor = Record
Color, Tol, CTS, Accuracy: Integer;
Sat, Hue: Extended;
Uptexts: TStringArray;
End;
var MyPlayers: Array of MyPlayer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
CurrentPlayer := 0;
NumberOfPlayers(HowManyPlayers);
setlength(MyPlayers, HowManyPlayers);
With MyPlayers[0] do
begin
Name := ''; //Character Name
Pass := ''; //Character Pass
Pin := ''; //Pin for bank
Member := True; //True = Members Account & False = Non-Members Account.
Active := True; //Use player in script?
AxeWielded := True; //Is You Axe Wielded? Yes = True and No = False. If No then place axe in first slot.
BoxRewards := ['XP','Lamp'];
LampSkill := SKILL_WOODCUTTING;
end;
end;
{Do Not Touch Below Unless Instructed To!!!}
const
//Version And Paths
Version = '0.6'; //Script Version;
ThePath = ScriptPath + '/TCEProg.png'; // Image Path;
//Script-Function Wait Times
MaxWait = 100000; //How much time to wait for a tree after checking the previous tree.
MaxWaits = 10; //How many times to go from tree to tree without success before logging out.
MaxWalks = 4; //Maximum Attempts To Repeat Walking If Failed
MaxIdle = 60000; //Failsafe Time To Idle While Chopping
MaxRetry = 4; //Max Number of times to retry chopping script while idle
//Color-Related Constants
DHue = 0.2;
DSat = 0.2; //Default Hue And Sat
//Axe Constants
Dragon_Axe = 0;
Rune_Axe = 1;
Addy_Axe = 2;
Mith_Axe = 3;
Steel_Axe = 4;
Black_Axe = 5;
Iron_Axe = 6;
Bronze_Axe = 7;
//Other
YewLogExp = 175;
TLoggedIn = 4000;
//Object Constats
OBJ_Banker = 0;
OBJ_TreeTrunk = 1;
OBJ_TreeLeaves = 2;
//OBJDTM Points
ObjDTM_Bank = '81:80:7:1:7:121:67:1:7:92:32:10:7:91:66:10:7:87:7 1:10:7:87:79:10:7:87:88:3:7:127:84';
ObjDTM_Middle = '79:125:7:1:7:121:67:1:7:92:32:10:7:91:66:10:7:87: 71:10:7:87:79:10:7:87:88:3:7:127:84';
var
Event: string;
ReportTimer, PaintTimer, Prog: Integer;
PaintArray: TStringArray;
Procedure DebugIt(Text: string);
begin
if Debug_Script then
Writeln(Text);
end;
Procedure Init;
begin
{Paint}
if (PaintWait <> 0) then
begin
Prog := LoadBitmap(ThePath);
SMART_DrawBitmap(True,Prog,Point(MCX1,MCY1));
SetLength(PaintArray,6);
end;
end;
Function LoadObject(Which: Integer): MyColor;
begin
case Which of
OBJ_Banker:
with Result do
begin
Color := 3678760;
Hue := 0.06;
Sat := 0.45;
Tol := 10;
CTS := 2;
Accuracy := 100;
Uptexts := ['Bank B', 'nk B'];
end;
OBJ_TreeTrunk:
with Result do
begin
Color := 1120536;
Tol := 1;
CTS := 1;
Uptexts := ['Chop','down','Yew','hop d','wn Y'];
end;
OBJ_TreeLeaves:
with Result do
begin
Color := 2113332;
Tol := 3;
CTS := 0;
Accuracy := 200;
end;
end;
end;
{************************************************* ******************************
function DownloadToFile(const URL, Filename: string): boolean;
By: Dgby714. Editted By Yago.
Description: Downloading file from URL to Filename.
************************************************** *****************************}
Function DownloadToFile(const URL, Filename: string): boolean;
var
FileI: LongInt;
FileC, FileH: string;
begin
Writeln('Paint File Check.');
Result := False;
FileI := InitializeHTTPClient(False,False);
try
FileC := GetHTTPPage(FileI, URL);
FileH := GetRawHeaders(FileI);
if ((FileC = '') or (FileH = '')) then
begin
WriteLn('Error downloading "' + URL + '".');
Exit;
end;
FileH := Copy(GetRawHeaders(FileI), 10, Pos(#13, FileH) - 10); //Error Code
if (FileH <> '200 OK') then
begin
WriteLn('Couldn''t download "' + URL + '", Error Code: ' + FileH + '.');
Exit;
end;
finally
FreeHTTPClient(FileI);
end;
try
if not FileExists(Filename) then
FileI := CreateFile(Filename)
else
FileI := OpenFile(Filename, False);
CloseFile(FileI);
FileI := RewriteFile(Filename, False);
Result := WriteFileString(FileI, FileC);
finally
CloseFile(FileI);
end;
end;
{************************************************* ******************************
Procedure ScriptUpdate;
Description: Checks For Newer Versions Of The Script And Updates The Script If
The User Sets The Update Constant;
Authors: Harry. Eddited By Me.
************************************************** *****************************}
Procedure ScriptUpdate;
var ClientUp, Neifile:integer;
OnlineVersion, NewScript, NeiFeilNennen:string;
begin
if Auto_Update then
begin
Writeln('Checking For An Updated Script Version.');
OnlineVersion := GetPage('http://yagoscripts.netii.net/TCEVersion.html');
Writeln(onlineversion);
Writeln(Version);
if (Length(trim(OnlineVersion)) = 3) and (trim(OnlineVersion) > Version) then
begin
WriteLn('Newer Version Found Online. Will AutoUpdate.');
ClientUp := InitializeHTTPClient(False,False);
SetHTTPUserAgent(ClientUp,'Simba');
NewScript := GetHTTPPage(ClientUp,'http://yagoscripts.netii.net/TCE-Current.simba');
FreeHTTPClient(ClientUp);
NeiFeilNennen := ScriptPath + 'TheCuttingEdge v'+trim(OnlineVersion)+'.simba';
Neifile := Rewritefile(NeiFeilNennen, true);
try
WriteFileString(Neifile, NewScript);
except
begin
WriteLn('Fatal Error Writing To '+NeiFeilNennen+'!');
TerminateScript;
end;
end;
CloseFile(Neifile);
WriteLn('New Script Downloaded And Saved To '+NeiFeilNennen+' !! Please Use This!');
TerminateScript;
end else
begin
if (Length(trim(OnlineVersion)) <> 3) then
begin
WriteLn('Version Checking Failed. You Might Be Outdated.');
Writeln('Please Check For The Latest Version Online.');
end else
WriteLn('You Have The Latest Version Of The Script!');
Exit;
end;
end else
WriteLn('!!!!! Not Checking For The Latest Version Of This Script. You Might Be Outdated!');
end;
Procedure SetPlayers;
var
I: Integer;
begin
for I := 0 to High(MyPlayers) do
begin
Players[i].Name := MyPlayers[i].Name;
Players[i].Pass := MyPlayers[i].Pass;
Players[i].Pin := MyPlayers[i].Pin;
Players[i].Active := MyPlayers[i].Active;
Players[i].Member := MyPlayers[i].Member;
Players[i].WorldInfo := [MyPlayers[i].Member, -1, False];
Players[I].BoxRewards := MyPlayers[i].BoxRewards;
Players[i].LampSkill := MyPlayers[i].LampSkill;
MyPlayers[i].Exp := 0;
MyPlayers[i].Logs := 0;
MyPlayers[i].ExpH := 0;
MyPlayers[i].LogH := 0;
end;
end;
Procedure AntiRandoms;
begin
FindNormalRandoms;
DebugIt('Ran Procedure AntiRandoms.');
end;
function IsLoggedIn: boolean;
var
Timer: Integer;
begin
//Failsafe for the onFocus bug with SMART. The screen goes black for a few ms when focusing on SMART.
AntiRandoms;
Result := (PercentBlackMM <> 100) and LoggedIn;
MarkTime(Timer);
while (not Result) and (TimeFromMark(Timer) <= TLoggedIn) do
begin
AntiRandoms;
Result := (PercentBlackMM <> 100) and LoggedIn;
end;
DebugIt('IsLoggedIn: ' + ToStr(Result));
end;
{************************************************* ******************************
procedure SetAngle(Highest : Boolean);
By: Raymond, edit by NaumanAkhlaQ. Editted By me
Description: Sets the mainscreen at highest\lowest angle (Depends on the boolean)
Taken From SRL Include.
************************************************** *****************************}
Procedure SetCustomAngle(Highest: Boolean);
begin
if (not IsLoggedIn) then exit;
KeyDown((Integer(not Highest) * 2) + 38);
Sleep(1000 + Random(300));
KeyUp((Integer(not Highest) * 2) + 38);
end;
Procedure Maintenance(Angle: string);
begin
if not (IsLoggedIn) then
Exit;
DebugIt('Running Procedure Maintenance(' + Angle +').');
SetCustomAngle(True);
MakeCompass(Angle);
end;
Procedure AntiBan;
var
I, AB: Integer;
begin
if (AntiBanAmount <> 0) then
begin
if (AntiBanAmount > 100) then
AB := 1000
else
AB := AntiBanAmount * 10;
I := Random(90 * (Ceil(1000/AB))) + 1;
case I of
1: RandomRClick;
2,3:
begin
HoverSkill('woodcutting', False);
SleepAndMoveMouse(100);
end;
4: PickUpMouse;
5: RandomAngle(True);
6: RandomMovement;
7: BoredHuman;
8..10: SleepAndMoveMouse(500);
end;
if (I <= 10) then
begin
DebugIt('Ran AntiBan Procedure.');
Maintenance('W');
end;
end;
end;
Procedure AssignStatus(Assignment: string);
begin
Event := Assignment;
end;
Procedure PrintOnSMART(Force: boolean);//Not Mine, Just Editted
var
Log, Exp, Logsh, Exph, Portion, I: Integer;
ThePoint: TPoint;
V: string;
begin
if (PaintWait = 0) or ((not Force) and (TimeFromMark(PaintTimer) < PaintWait)) then
Exit;
Log := MyPlayers[CurrentPlayer].Logs;
Exp := Round(175 * Log);
LogsH := Ceil((Log * 60.0 * 60.0 * 1000.0) / PlayerWorked(CurrentPlayer));
ExpH := Ceil((Exp * 60.0 * 60.0 * 1000.0) / PlayerWorked(CurrentPlayer));
for I := 0 to 5 do
begin
case I of
0:
begin
V := tostr(Log) + ' Logs';
ThePoint := Point(267,62);
end;
1:
begin
V := tostr(Exp) + ' Exp';
ThePoint := Point(267,79);
end;
2:
begin
V := tostr(ExpH);
ThePoint := Point(267,96);
end;
3:
begin
V := tostr(LogsH) + ' Logs';
ThePoint := Point(267,113);
end;
4:
begin
V := Event;
ThePoint := Point(382,64);
end;
5:
begin
V := MsToTime(GetTimeRunning, Time_Short);
ThePoint := Point(421,94);
end;
end;
if V = PaintArray[I] then
Continue;
Portion := GetMufasaBitmap(Prog).Copy(ThePoint.x, ThePoint.y, ThePoint.x + 76, ThePoint.y + 17).Index;
SMART_DrawBitmap(False,Portion,Point(MCX1 + ThePoint.x, MCY1 + ThePoint.y));
FreeBitmap(Portion);
SMART_DrawTextEx(False,MCX1 + ThePoint.x, MCY1 + ThePoint.y, SmallChars, V, clGreen);
end;
PaintArray := [tostr(Log) + ' Logs',tostr(Exp) + ' Exp',tostr(ExpH),tostr(LogsH) + ' Logs',Event,MsToTime(GetTimeRunning, Time_Short)];
MarkTime(PaintTimer);
end;
Procedure DrawPoint(Clear: Boolean; P: TPoint; S: Integer);
begin
if Clear then
SMART_ClearCanvasArea(IntToBox(MMX1, MMY1, MMX2, MMY2));
SMART_DrawLine(False,Point(P.x-S,P.y-S),Point(P.x+S+1,P.y+S+1),clBlue);
SMART_DrawLine(False,Point(P.x-S,P.y-S-1),Point(P.x+S,P.y+S+1),clBlue);
SMART_DrawLine(False,Point(P.x-S-1,P.y-S),Point(P.x+S+1,P.y+S),clBlue);
SMART_DrawLine(False,Point(P.x-S,P.y+S),Point(P.x+S+1,P.y-S-1),clBlue);
SMART_DrawLine(False,Point(P.x-S-1,P.y+S),Point(P.x+S+1,P.y-S),clBlue);
SMART_DrawLine(False,Point(P.x-S,P.y+S+1),Point(P.x+S,P.y-S-1),clBlue);
end;
Procedure RemoveATPAByAccuracy(var ATPA: T2DPointArray; Accuracy, Color: Integer);
var
I: Integer;
begin
for I := 0 to High(ATPA) do
if (Length(ATPA) = 0) or (High(ATPA) < I) then
Break
else if Length(ATPA[I]) < Accuracy then
begin
DeleteValueInATPA(ATPA, I);
I := I - 1;
end else if (Color <> 0) then
begin
DebugIt(ToStr(Length(ATPA[I])));
SMART_DrawDotsEx(False, ATPA[I], Color + I * 100);
end;
end;
Function LoadAxeDTM(Which: Integer): integer;
begin
DebugIt('LoadAxeDTM: ' + ToStr(Which));
case Which of
Dragon_Axe: Result := DTMFromString('mbQAAAHicY2VgYLjKwsBwAIhvAPEdID4BxF +B4hyMDAz/gPQnIP4GxJ78XECSCQUDlWAARiwYDADXZQh/');
Rune_Axe: Result := DTMFromString('mbQAAAHicY2VgYOACYn4gFgZiFgYIYAJiDi S2JBDbevpDeQgMU48MGLFgMAAAV5oBQQ==');
Addy_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAbO1iDRVBYBYGBGCG0oxYMBgAAFEzASk=');
Mith_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAbGYWABVBYBYGBGCG0oxYMBgAAFGZASs=');
Steel_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAnJuZCRVBYBYGBGCG0oxYMBgAAHJ3Aa4=');
Black_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAzMfLCxVBYBYGBGCG0oxYMBgAACy0AJc=');
Iron_Axe: Result := DTMFromString('mbQAAAHicY2VgYOACYn4gFgZiFgYIYAJiDi S2JBC7ODpCeQjMCFXDzIAAjFgwGAAAU9cBMg==');
Bronze_Axe: Result := DTMFromString('mbQAAAHicY2VgYOBigAAWIBYGYn4gZgJiSS gNAhxAbG8gAxVBYBYGBGCG0oxYMBgAAEWWAPo=');
end;
end;
Function PlayerStartUp: boolean;
var
Level,AxeDTM, x, y, I: integer;
begin
DebugIt('Function PlayerStartUp.');
Result := False;
if not IsLoggedIn then
Exit;
CloseBank;
ClosePinScreen;
SetCustomAngle(True);
Level := GetSkillLevel(Skill_WoodCutting);
DebugIt('WC Level Is ' + ToStr(Level));
case Level of
61..100: I := Dragon_Axe;
41..60: I := Rune_Axe;
31..40: I := Addy_Axe;
21..30: I := Mith_Axe;
6..20: I := Steel_Axe;
else
I := Bronze_Axe;
end;
if MyPlayers[CurrentPlayer].AxeWielded then
Gametab(tab_Equip)
else
GameTab(tab_Inv);
for I := I to Bronze_Axe do
begin
AxeDTM := LoadAxeDTM(I);
Result := FindDTM(AxeDTM, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(AxeDTM);
if Result then
Break;
end;
if Result then
if InvFull then
AssignStatus('Banking')
else
AssignStatus('Trees');
DebugIt('Player['+ ToStr(CurrentPlayer) + '] StartUp: ' + ToStr(Result));
end;
Procedure Report(Final: boolean);
Var
Log, TotalLogs, Exp, TotalExp, I: Integer;
LogsH, ExpH: LongInt;
begin
if (stats_Commit) then
Writeln('Stats Committed.');
if Final or ((TimeFromMark(ReportTimer) >= (ReportWait * 1000)) and IsLoggedIn) then
begin
for I := 0 to (High(Players)) do
begin
IncEx(TotalLogs, MyPlayers[I].Logs);
IncEx(TotalEXP, Round(YewLogExp * MyPlayers[I].Logs));
//IncEx(TotalLevels, Players[I].Integers[9]);
end;
Writeln('');
SRLRandomsReport;
WriteLn('*----------------------------------------------------------------*');
WriteLn('| The Cutting Edge ' + Padr(ToStr(Version), 23) + '|');
WriteLn('| By: Yago |');
WriteLn('|----------------------------------------------------------------|');
WriteLn('| Overall Progress Report |');
WriteLn('| |');
WriteLn('| ' + Padr('Total Players : ' + ToStr(HowManyPlayers), 53) + '|');
WriteLn('| ' + Padr('Total Time Running : ' + MsToTime(GetTimeRunning, Time_Abbrev), 53) + '|');
WriteLn('| ' + Padr('Total Logs Chopped : ' + ToStr(TotalLogs), 53) + '|');
WriteLn('| ' + Padr('Total Experience Gained : ' + ToStr(TotalEXP), 53) + '|');
//WriteLn('| ' + Padr('Total Smithing Levels Gained : ' + ToStr(TotalLevels), 53) + '|');
WriteLn('| |');
WriteLn('|----------------------------------------------------------------|');
end;
if (Final) then
for I := 0 to (High(Players)) do
begin
Log := MyPlayers[I].Logs;
Exp := Round(YewLogExp * Log);
LogsH := Ceil((Log * 60.0 * 60.0 * 1000.0) / PlayerWorked(I));
ExpH := Ceil((Exp * 60.0 * 60.0 * 1000.0) / PlayerWorked(I));
WriteLn('| Individual Report: |');
WriteLn('| |');
WriteLn('| ' + Padr('Player[' + ToStr(I) + ']: ' + Players[I].Name, 60) + '|');
WriteLn('| |');
//WriteLn('| ' + Padr('Reason : ' + Players[I].Strings[0], 60) + '|');
WriteLn('| ' + Padr('Time Active : ' + MsToTime(PlayerWorked(I), Time_Abbrev), 60) + '|');
//if TakeBreaks then
//Writeln('| ' + Padr('Breaks Taken : ' + ToStr(Players[I].Integers[10]) + ' Break(s)', 58) + '|');
WriteLn('| ' + Padr('Logs Chopped : ' + ToStr(Log), 60) + '|');
WriteLn('| ' + Padr('Logs Per Hour : ' + ToStr(LogsH), 60) + '|');
WriteLn('| ' + Padr('Experience Gained : ' + ToStr(Exp), 60) + '|');
WriteLn('| ' + Padr('Experience Per Hour : ' + ToStr(ExpH), 60) + '|');
//WriteLn('| ' + Padr('Smithing Level : ' + ToStr(Players[I].Integers[11]) + '(+' + ToStr(Players[I].Integers[9]) +')', 60) + '|');
WriteLn('| |');
WriteLn('*----------------------------------------------------------------*');
end
else if (TimeFromMark(ReportTimer) >= (ReportWait * 1000)) and IsLoggedIn then
begin
Log := MyPlayers[CurrentPlayer].Logs;
Exp := Round(YewLogExp * Log);
LogsH := Ceil((Log * 60.0 * 60.0 * 1000.0) / PlayerWorked(CurrentPlayer));
ExpH := Ceil((Exp * 60.0 * 60.0 * 1000.0) / PlayerWorked(CurrentPlayer));
WriteLn('| Individual Report: |');
WriteLn('| |');
WriteLn('| ' + Padr('Player[' + ToStr(CurrentPlayer) + ']: ' + MyPlayers[CurrentPlayer].Name, 60) + '|');
WriteLn('| |');
WriteLn('| ' + Padr('Status : ' + Event, 60) + '|');
WriteLn('| ' + Padr('Time Active : ' + MsToTime(PlayerWorked(CurrentPlayer), Time_Abbrev), 60) + '|');
//if TakeBreaks then
//Writeln('| ' + Padr('Breaks Taken : ' + ToStr(Players[CurrentPlayer].Integers[10]) + ' Break(s)', 58) + '|');
WriteLn('| ' + Padr('Logs Chopped : ' + ToStr(Log), 60) + '|');
WriteLn('| ' + Padr('Logs Per Hour : ' + ToStr(LogsH), 60) + '|');
WriteLn('| ' + Padr('Experience Gained : ' + ToStr(Exp), 60) + '|');
WriteLn('| ' + Padr('Experience Per Hour : ' + ToStr(ExpH), 60) + '|');
//WriteLn('| ' + Padr('Smithing Level : ' + ToStr(Players[CurrentPlayer].Integers[11]) + '(+' + ToStr(Players[CurrentPlayer].Integers[9]) +')', 60) + '|');
WriteLn('| |');
WriteLn('*----------------------------------------------------------------*');
Writeln('');
MarkTime(ReportTimer);
end;
PrintOnSMART(Final);
if Final then
Writeln('[/Report]');
end;
Function BankOpen: boolean;
begin
Result := BankScreen or PinScreen;
end;
Function OpenEdgeBankNPC: boolean;
var
Banker: MyColor;
DCTS: Integer; //Defaults
Bankers: T2DPointArray;
Colors: TPointArray;
MousePoint: TPoint;
x, y, I: Integer;
begin
Result := False;
DCTS := GetColorToleranceSpeed;
Banker := LoadObject(OBJ_Banker);
try
ColorToleranceSpeed(Banker.CTS);
SetColorspeed2Modifiers(Banker.Hue, Banker.Sat);
if FindColorsSpiralTolerance(x, y, Colors, Banker.Color, MSX1, MSY1, MSX2, MSY2, Banker.Tol) then
begin
Bankers := TPAToATPA(Colors, 25);
SMART_ClearMS;
RemoveATPAByAccuracy(Bankers, Banker.Accuracy, clLime);
SortATPAFrom(Bankers,Point(MSCX,MSCY));
SortATPAFromFirstPoint(Bankers,Point(MSCX,MSCY));
for I := 0 to High(Bankers) do
begin
MousePoint := Bankers[I][Random(High(Bankers[I]))];
MMouse(MousePoint.x,MousePoint.y,0,0);
if WaitUpTextMulti(['anke','anker','nker'], 500) then
begin
ClickMouse2(False);
if WaitOptionMulti(Banker.Uptexts, 600) then
Result := WaitFunc(@BankOpen,50,4000);
end;
if Result then
Break;
end;
end;
SMART_ClearMS;
finally
ColorToleranceSpeed(DCTS);
SetColorspeed2Modifiers(DHue, DSat);
end;
end;
Function BankIt: boolean;
var
FailSafe: Integer;
begin
Result := False;
if not IsLoggedIn then
Exit;
Report(False);
for FailSafe := 0 to 4 do
if OpenEdgeBankNPC then
break;
if (FailSafe <= 4) then
begin
FailSafe := 0;
if PinScreen then
repeat
Inc(FailSafe);
InPin(Players[CurrentPlayer].Pin);
until WaitFunc(@BankScreen, 100, 1000) or (FailSafe >= 4);
if (FailSafe < 4) then
begin
FailSafe := 0;
repeat
Report(False);
Inc(FailSafe);
if MyPlayers[CurrentPlayer].AxeWielded then
Result := DepositAll
else
begin
Deposit(2,28,True);
Result := (InvCount = 1);
end;
until Result or (Failsafe >= 4);
if not Result then
DebugIt('Unable To DepositAll Items In The Inventory.');
end else
DebugIt('Unable To Open The Bank.');
end else
DebugIt('Unable To Open The Bank.');
DebugIt('BankIt: ' + ToStr(Result));
end;
function InTreeArea(out SPoints: TPointArray): boolean;
var
Check: Integer;
begin
AntiRandoms;
Check := 0;
repeat
Inc(Check);
FindSymbols(SPoints,'tree');
Result := (Length(SPoints) = 2);
until Result or (Check > 10);
DebugIt('InTreeArea: ' + ToStr(Result));
end;
function AtNorthTree(P: TPointArray): boolean;
begin
AntiRandoms;
Result := ((Distance(MMCX,MMCY,P[0].x,P[0].y) < Distance(MMCX,MMCY,P[1].x,P[1].y)) xor (P[0].x < P[1].x));
end;
Function GetTreePoint(North: Boolean; SPoints: TPointArray): TPoint;
begin
if not (North xor (SPoints[0].x < SPoints[1].x)) then
tSwap(SPoints[0], SPoints[1]);
SPoints := MidPoints(SPoints,9);
SMART_ClearCanvasArea(IntToBox(MMX1,MMY1,MMX2,MMY2 ));
SMART_DrawDotsEx(False, SPoints, clRed);
DrawPoint(False,SPoints[1],6);
Result := SPoints[1];
end;
Function Null_Point: TPoint;
begin
Result := Point(-1, -1);
end;
Function FindWalkPoint(Location: string): TPoint;
var
P: TPointArray;
Pt, NewPt, Offset: TPoint;
RotateRad: Extended;
begin
Result := Null_Point;
if not (IsLoggedIn and InTreeArea(P)) then
Exit;
case lowercase(Location) of
'bank': Offset := Point(35, -64);
'middle': Offset := Point(31, -20);
end;
if P[0].x < P[1].x then
tSwap(P[0],P[1]);
Pt := MiddleTPA(P);
RotateRad := Arctan2(P[0].x - Pt.x, Pt.y - P[0].y);
DebugIt('Degrees = ' + tostr(Degrees(RotateRad)));
NewPt := Point(Pt.x + Offset.x, Pt.y + Offset.y);
NewPt := RotatePoint(NewPt, RotateRad, Pt.x, Pt.y);
if rs_OnMiniMap(NewPt.x, NewPt.y) then
Result := NewPt;
end;
Function AngleWalkTo(Where: string; Rand, Dist: Integer): boolean;
var
WalkPt: TPoint;
FailSafe: Integer;
begin
WalkPt := FindWalkPoint(Where);
if (WalkPt = Null_Point) then
Exit;
DrawPoint(False, WalkPt, 10);
Result := Distance(MMCX, MMCY, WalkPt.x, WalkPt.y) < Dist;
if not Result then
begin
Mouse(WalkPt.x, WalkPt.y, Rand, Rand, mouse_Left);
Report(False);
if WaitFunc(@IsMoving, 1, 3000 + random(500)) then
begin
MarkTime(FailSafe);
while (TimeFromMark(FailSafe) < 30000) do
begin
WalkPt := FindWalkPoint(Where);
DrawPoint(True, WalkPt, 10);
if (Distance(MMCX, MMCY, WalkPt.x, WalkPt.y) < Dist) or (WalkPt = Null_Point) then
Break;
Wait(RandomRange(33,55));
Report(False);
end;
end;
DebugIt(ToStr(TimeFromMark(FailSafe)));
Result := (TimeFromMark(FailSafe) < 30000) and (WalkPt <> Null_Point);
end;
DebugIt('AngleWalkTo(' + ToStr(Where) + ', ' + ToStr(Rand) + ', ' + ToStr(Dist) + '): ' + ToStr(Result));
end;
Function InBankBox(X, Y: Integer): Boolean;
var
BankBox: TBox;
begin
BankBox := IntToBox(x - 12, y - 10, x + 16, y + 10);
Result := PointInBox(Point(MMCX, MMCY), BankBox);
if Result then
SMART_DrawBoxEx(False, False, BankBox, clRed);
DebugIt('InBankBox(' + ToStr(X) + ', ' + ToStr(Y) + '): ' + ToStr(Result));
end;
Function WalkTo(Location: string): boolean;
var
Attempt, FailSafe, X, Y: Integer;
SP: TPointArray;
WPoint: TPoint;
begin
if not IsLoggedIn then
Exit;
Attempt := 0;
repeat
SMART_ClearCanvasArea(IntToBox(MMX1, MMY1, MMX2, MMY2));
Report(False);
if not IsLoggedIn then
Exit;
Inc(Attempt);
RunEnergy(20);
Maintenance('W');
DebugIt('Walking To ' + ToStr(Location) + ' -- Attempt: ' + ToStr(Attempt));
case lowercase(Location) of
'bank':
begin
Result := ObjDTM_Find(ObjDTM_Bank, x, y, True) and InBankBox(x, y);
if (not Result) and ObjDTM_Find(ObjDTM_Bank, x, y, True) then
begin
DebugIt('Found ObjDTM_Bank');
if not InBankBox(x, y) then
ObjDTM_Walk(ObjDTM_Bank, 3, 50, 10, True);
end else if AngleWalkTo('Middle', 1, 12) and ObjDTM_Find(ObjDTM_Bank, x, y, True) then
ObjDTM_Walk(ObjDTM_Bank, 3, 50, 10, True);
Result := ObjDTM_Find(ObjDTM_Bank, x, y, True) and InBankBox(x, y);
end;
'trees': Result := InTreeArea(SP) or (ObjDTM_Walk(ObjDTM_Middle, 3, 50, 10, True) and InTreeArea(SP));
'north', 'south':
begin
Report(False);
if InTreeArea(SP) then
begin
WPoint := GetTreePoint(lowercase(location) = 'north',SP);
Result := Distance(MMCX,MMCY,WPoint.x,WPoint.y) < 16;
if not Result then
begin
Mouse(WPoint.x,WPoint.y+RandomRange(3,5),0,0,True) ;
Report(False);
if WaitFunc(@IsMoving, 1, 3000 + random(500)) then
begin
MarkTime(FailSafe);
while (TimeFromMark(FailSafe) < 30000) and IsLoggedIn and InTreeArea(SP) do
begin
WPoint := GetTreePoint(lowercase(location) = 'north',SP);
if (Distance(MMCX,MMCY,WPoint.x,WPoint.y) < 16) then
Break;
Wait(RandomRange(33,55));
Report(False);
end;
end;
DebugIt(ToStr(TimeFromMark(FailSafe)));
Result := (TimeFromMark(FailSafe) < 30000) and InTreeArea(SP);
end;
end else
Result := False;
end;
end;
until Result or (Attempt >= MaxWalks) or (not IsLoggedIn);
stats_IncVariable('Times Walked', 1);
DebugIt('WalkTo(' + ToStr(Location) + '): ' + ToStr(Result));
end;
Procedure DoStats(var Count: Integer);
var
NewCount: Integer;
begin
if (not IsLoggedIn) or (Count = InvCount) then
Exit;
NewCount := InvCount;
IncEx(MyPlayers[CurrentPlayer].Logs, (NewCount - Count));
stats_IncVariable('Yew Logs Chopped', (NewCount - Count));
stats_IncVariable('Woodcutting EXP (Gained)', ((NewCount - Count) * YewLogExp));
stats_IncVariable('Total EXP Gained', ((NewCount - Count) * YewLogExp));
Count := NewCount;
end;
Function FindAYew(out TreeBox: TBox): boolean;
var
Colors: TPointArray;
Tree: MyColor;
DCTS: Integer;
begin
if not IsLoggedIn then
Exit;
DCTS := GetColorToleranceSpeed;
Tree := LoadObject(OBJ_TreeLeaves);
try
ColorToleranceSpeed(Tree.CTS);
Result := FindColorsTolerance(Colors, Tree.Color, MSX1, MSY1, MSX2, MSY2, Tree.Tol)
and (Length(Colors) >= Tree.Accuracy);
TreeBox := GetTPABounds(Colors);
DebugIt('Length Of Colors Is: ' + tostr(length(Colors)));
finally
ColorToleranceSpeed(DCTS);
DebugIt('FindAYew: ' + ToStr(Result));
end;
end;
Function CutAYew(TreeBox: TBox): boolean;
var
MousePoint: TPoint;
Colors: TPointArray;
DCTS: Integer; //Default CTS
Tree: MyColor;
begin
if not IsLoggedIn then
Exit;
DebugIt('Function CutAYew.');
DCTS := GetColorToleranceSpeed;
Tree := LoadObject(OBJ_TreeTrunk);
try
ColorToleranceSpeed(Tree.CTS);
if FindColorsTolerance(Colors, Tree.Color, TreeBox.X1, TreeBox.Y1, TreeBox.X2, TreeBox.Y2, Tree.Tol) then
begin
SMART_ClearMS;
SMART_DrawDotsEx(False, Colors, clRed);
DebugIt('Length Of Colors Is: ' + tostr(length(Colors)));
//MousePoint := Colors[Random(High(Colors))];
MousePoint := MiddleTPA(Colors);
MMouse(MousePoint.x,MousePoint.y-10,5,5);
if WaitUpTextMulti(Tree.Uptexts, 500) then
ClickMouse2(true);
Result := DidRedClick;
end else
DebugIt('Unable To Find Tree Trunk Colors.');
finally
SetColorToleranceSpeed(DCTS);
DebugIt('CutAYew: ' + ToStr(Result));
end;
end;
Function ChopDownYew(out TreeGone: boolean): boolean;
var
Bounds: TBox;
TreeTime, Counter, I, Count: Integer;
begin
Report(False);
if (not IsLoggedIn) or InvFull then
Exit;
TreeGone := False;
Count := InvCount;
for I := 0 to MaxRetry do
begin
DebugIt('Retry: ' + ToStr(I));
if IsLoggedIn and (not InvFull) and FindAYew(Bounds) then
begin
DebugIt(ToStr(I));
Maintenance('W');
DebugIt('Found A Yew Tree.');
if CutAYew(Bounds) then
begin
Report(False);
DebugIt('Successfully Began To Chop Down Yew.');
MarkTime(TreeTime);
Counter := 0;
while IsLoggedIn and (not InvFull) and (Counter < 3) and (TimeFromMark(TreeTime) < MaxIdle) do
begin
AntiBan;
if not FindAYew(Bounds) then
Inc(Counter);
//Stats
DoStats(Count);
Report(False);
Wait(RandomRange(50,66));
end;
DebugIt('Time: ' + ToStr(TimeFromMark(TreeTime)));
Result := IsLoggedIn and (InvFull or ((TimeFromMark(TreeTime) < MaxIdle) xor (Counter < 3)));
if Result then
TreeGone := (TimeFromMark(TreeTime) < MaxIdle) and (Counter >= 3);
SMART_ClearMS;
//Stats
DoStats(Count);
end;
end;
end;
//Stats
DoStats(Count);
DebugIt(ToStr(I));
DebugIt('ChopDownYew(' + tostr(TreeGone) + '): ' + ToStr(Result));
end;
Function WaitTree: boolean;
var
MainTimer: Integer;
Unused: TBox;
It: TPointArray;
begin
if (not IsLoggedIn) or InvFull or (not InTreeArea(It)) then
Exit;
if AtNorthTree(It) then
WalkTo('South')
else
WalkTo('North');
MarkTime(MainTimer);
while IsLoggedIn and (not FindAYew(Unused)) and (TimeFromMark(MainTimer) < MaxWait) do
begin
AntiBan;
Report(False);
Wait(RandomRange(100,133));
end;
Result := IsLoggedIn and (TimeFromMark(MainTimer) < MaxWait);
DebugIt('WaitTree: ' + ToStr(Result));
end;
Procedure FreeMe;
begin
Report(True);
Writeln('"Bye Guys" - Yago');
end;
Procedure MainLoop;
var
WaitAttempts: Integer;
Unused: TPointArray;
MoveOn: Boolean;
begin
repeat
if not IsLoggedIn then
LoginPlayer
else
PlayerStartTime := GetSystemTime;
if not PlayerStartUp then
begin
AssignStatus('Logout');
DebugIt('Aborting!');
Exit;
end;
WaitAttempts := 0;
MarkTime(ReportTimer);
MarkTime(PaintTimer);
while IsLoggedIn and (WaitAttempts <= MaxWaits) do
begin
Report(False);
if (lowercase(Event) <> 'logout') and InvFull then
AssignStatus('Banking');
Writeln('Status: ' + Event);
case lowercase(Event) of
'banking':
if WalkTo('Bank') and BankIt then
begin
stats_IncVariable('Times Banked', 1)
AssignStatus('Trees');
end else
AssignStatus('LogOut');
'trees':
begin
if not InTreeArea(Unused) then
if not WalkTo('Trees') then
AssignStatus('LogOut');
if WalkTo('South') then
AssignStatus('Chopping')
else
AssignStatus('LogOut');
end;
'chopping':
if (not ChopDownYew(MoveOn)) or MoveOn then
begin
AssignStatus('Waiting');
WaitAttempts := 0;
end;
'waiting':
if not WaitTree then
begin
Inc(WaitAttempts);
DebugIt('Wait Attempt: ' + ToStr(WaitAttempts));
end else
AssignStatus('Chopping');
'logout':
begin
if Debug_Script then
TakeScreen('TCE - Logout');
LogOut;
end;
end;
end;
NextPlayer(False);
until AllPlayersInactive;
end;
Begin
ClearDebug;
ScriptUpdate;
DownloadToFile('http://yagoscripts.netii.net/TCEProg.png',ThePath);
SRL_SixHourFix := True;
SMART_FixSpeed := True;
SetupSRL;
ObjDTM_Setup;
ObjDTM_Debug := Debug_Script;
SMART_ClearCanvas;
if (Stats_UserID = '') then
SetupSRLStats(919, 'YagoScripts', 'abcdefghij')
else
SetupSRLStats(919, Stats_UserID, Stats_Password);
DeclarePlayers;
SetPlayers;
Init;
AddOnTerminate('FreeMe');
MainLoop;
End.
Tomazino
09-02-2012, 08:48 AM
Guys, i try to run this script, but few seconds after logging into the server, it says bye guys and executes, anu thoughts about that?
Leonardo Da Vinci
09-02-2012, 09:33 AM
Did you try the fixed script above your post?
Tomazino
09-02-2012, 09:58 AM
yes, but now it turns off after three full inventories chopped, this happened two times
Leonardo Da Vinci
09-02-2012, 10:19 AM
yes, but now it turns off after three full inventories chopped, this happened two times
Hmmm... That's a bit odd.
I think it might have something to do with the speed of your computer... I had something similar going on with a different script.
Sorry though, I can't help you with that one.
Tomazino
09-02-2012, 10:38 AM
| Time Active : 40 min 0 sec |
| Logs Chopped : 81 |
| Logs Per Hour : 122 |
| Experience Gained : 14175 |
| Experience Per Hour : 21262 |
| |
*----------------------------------------------------------------*
[/Report]
"Bye Guys" - Yago
Successfully executed.
The following bitmaps were not freed: [4, 5]
heres what proggy says
Leonardo Da Vinci
09-02-2012, 10:42 AM
Have you filled in all the information correctly?
I don't really have any scripting experience, so I can't help you too much... But I'd suggest double checking the script and making sure that you have the actual settings of RuneScape set up correctly.
Perhaps if you could provide more of your proggy...
Tomazino
09-02-2012, 11:29 AM
i think i have solved this error by increasing maxwalks time to 40, thanks for your help anyway, btw great script, will post a proggy
Leonardo Da Vinci
09-02-2012, 11:32 AM
i think i have solved this error by increasing maxwalks time to 40, thanks for your help anyway, btw great script, will post a proggy
Brilliant news, buddy!
No worries, sorry I couldn't have been of a little more help.
Enjoy!
rsbottman
09-20-2012, 07:13 PM
[Error] C:\Simba\Includes\SRL/SRL/misc/SmartParams.Simba(278:134): Type mismatch at line 277
Compiling failed.
Just started getting this today , Any Ideas.
Other threads seem to be getting this as well, but I dont understand what I.m supposed to replace as line 277 here is just
MyPlayers[i].ExpH := 0;
Ashaman88
09-20-2012, 07:27 PM
[Error] C:\Simba\Includes\SRL/SRL/misc/SmartParams.Simba(278:134): Type mismatch at line 277
Compiling failed.
Just started getting this today , Any Ideas.
Other threads seem to be getting this as well, but I dont understand what I.m supposed to replace as line 277 here is just
MyPlayers[i].ExpH := 0;
It's more like i think line 287 or so..look for the line that is almost exactly the same and replace it with what you have found
rexecule
10-04-2012, 09:07 PM
When i start the script it compiles and appears to run but nothing happens. Smart comes up and loads runescape but thats the end of it. If i log in and then start the script it appears to start working, it tries to type my username and password in but it wont work unless i log myself in and then it does nothing after that.
sdomce
10-06-2012, 12:50 PM
why i cant open that?
I might update this script after Runescape rolls out its complete anti-botting system.
mikey mac
10-10-2012, 05:14 AM
I get this message when I try to start it:
"Invalid number of parameters at line 849
Compiling failed."
and this is what is on line 849:
SMART_DrawBoxEx(False, BankBox, clRed);
crezzur
10-19-2012, 10:25 AM
For some reason banking fails sometimes every time the script ended my character stand with a full load logs in bank
Scorched
10-26-2012, 03:46 AM
^ I am having the same problem here. The banking was working well until the most recent SRL update. I do not really understand how the function works so I am not sure how I might be able to fix it.
It seems like it's having trouble identifying the bank, because it doesn't make it all the way there before executing.
partyboyrawr
10-26-2012, 09:53 PM
Leonardo I got the error Invalid number of parameters at line 849
Compiling failed.
SMART_DrawBoxEx(False, False, BankBox, clRed);
Dw i got it to work after deleting that extra false.
deadmonkey62
11-07-2012, 06:27 PM
says this
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from 'C:\Users\Pattycakes\Downloads\TheCuttingEdge v0.6 (1).simba'
what do?
deadmonkey62
11-07-2012, 06:46 PM
actually i got he above to work but now it just sits there and doesnt log in
ryleym
11-08-2012, 01:26 AM
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from 'C:\Users\Home\Desktop\TheCuttingEdge v0.6.simba
:/ Thats what mine says..
Ashaman88
11-08-2012, 02:04 AM
Exception in Script: Unable to find file 'ObjectDTM/ObjDTMInclude.simba' used from 'C:\Users\Home\Desktop\TheCuttingEdge v0.6.simba
:/ Thats what mine says..
Try reading through the thread first :)
http://villavu.com/forum/showthread.php?p=847813
chipmonkid1
11-10-2012, 02:08 PM
mine always pops up with
|────────────────────────────────────|
|====================================|
*----------------------------------------------------------------*
| The Cutting Edge 0.6 |
| By: Yago |
|----------------------------------------------------------------|
| Overall Progress Report |
| |
| Total Players : 1 |
| Total Time Running : 1 min 18 sec |
| Total Logs Chopped : 0 |
| Total Experience Gained : 0 |
| |
|----------------------------------------------------------------|
| Individual Report: |
| |
| Player[0]: chipmonkid1 |
| |
| Time Active : 7 sec |
| Logs Chopped : 0 |
| Logs Per Hour : 0 |
| Experience Gained : 0 |
| Experience Per Hour : 0 |
| |
*----------------------------------------------------------------*
[/Report]
"Bye Guys" - Yago
schnubbel15
11-28-2012, 10:47 PM
^ same like guy above
sydd131
11-29-2012, 12:01 AM
hmm? is it not chopping logs?? i got it to chop, in its own kinda way.. it was a little slow, and would sometimes stand in front of a stump, yet point the screen directly at a complete yew, and wait for the stump instead.. -.- lol.. the other problem i occurred was it not banking for me i believe. as far as i recall i couldn't get it to bank at all. i may or may not have had to take a few lines out to get it to work at all as well.
to the two people posted above, i found when i started in bank it wouldn't work im pretty sure, where as if i started at the yews it ran (as far as i recall) until banking anyway.
slackeru
12-07-2012, 03:02 PM
The script stops after checking equipment tab.
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.