VeB Bonfires
[D]ude
2012-05-10 15:21:59
UPDATED
I made a bonfire maker for y'all. Here it is. Please post feedback and proggies.
Progress report from the next version I am still working on–
////////DUDES_FEB_BONFIRES\\\\\\\\ <- By Produst!! :D
TIME RAN: 5 Hours, 30 Minutes and 3 Seconds
LEVELS GAINED: 0
XP GAIN: 721259
XP/H: 130848
////////DUDES_FEB_BONFIRES\\\\\\\\ Proggy by Welcome Fruity :D
TIME RAN: 4 Hours, 23 Minutes and 51 Seconds
XP GAIN: 487949
XP/H: 110955.429381375
The next version is still not complete however. It runs very smoothly though
Setup
Start in Falador East Bank
Have logs in bank row 2 column 2
Fill out declare players and the constants.
Press play
Features
Multiplayer
Antiban
randoms support
Supports all logs
SpiritSupport-Thanks to JJ in V101
v102 does not support spirits but it works :P
v1025-Choice between sps and radial walk (Sps is slightly more accurate, but more detectable)
Timer (enter how long you want the bot to run for)
to come
V103-flawless spirit support and flawless fmaking and banking.
Updates
5/12/2012 fixed a whole lot of stuff.
I've been getting around 115k xp/hr with maple logs and 70k xp/hr with willow
ii daveeee x
2012-05-10 15:23:16
where can i download from ?
Chris Reborn
2012-05-10 15:23:58
where is the script?
carl25
2012-05-10 15:24:25
Thanks!
[D]ude
2012-05-10 15:24:32
I just attached it. Its at bottom of OP
OMG
Can it be O.O
Jokes, ill give this a test
I was wondering when the first bonfire script would come out, congrats~
[D]ude
2012-05-10 15:27:06
Haha. Thanks
CephaXz
2012-05-10 15:29:48
Kyle is going to be mad because he can't be the first lol :p
Nice work releasing this script!
[D]ude
2012-05-10 15:31:01
Haha. As soon as I saw it come out I started work on mine.
Ty
x[Warrior]x3500
2012-05-10 15:38:05
VeB Bonfires
Start in Falador East Bank
lol ;). nice job on teh script though
[D]ude
2012-05-10 15:40:29
Thank you. Hope you enjoy it.
kevin33
2012-05-10 15:47:10
I will try this out in a matter of minutes and report back. Nice work :)
Brazzers
2012-05-10 15:47:25
does it solve the bonfire specific random? the one that gives charms and stuff?
Hi! I´m new here and pumped up to see a bonfire bot!
However since I´ve just decided to use this bot instead of those client bots, I heard a lot about keylogging and stuff like that.
Can someone confirm this script is trusted? :)
Sorry for being a noob tho.
x[Warrior]x3500
2012-05-10 15:48:08
small random note taht really confused me when i first opened script: take out the sps include. you dont use it. i was like.. why is sps being used for walking ~5 tiles???
[D]ude
2012-05-10 15:48:55
It doesn't solve the bonfire specific random….yet. It just makes bonfires. Yeah I will take SPS out.
The bonfire random:
function DetectSpirit: String;
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(4219032, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
end;
end;
end;
You can use that, I made it :P
This is the loop I use while waiting until all logs have been used.
repeat
Wait(200 + Random(400));
Antiban;
if DetectSpirit = 'Yes' then
begin
AddLogs;
end;
until not(FindDTM(Logs, X, Y, MIX1, MIY1, MIX2, MIY2)) or (TimeFromMark(e) > RandomRange(95000, 97500));
Basicly, if it will check if there is a spirit. If there is, it will click on it and loot. After that it will add logs again.
EDIT: after reading posts below.
{ Failsafe when standing on a fire }
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.15, 1.20);
if CountColorTolerance(2067940, 244, 159, 276, 193, 16) > 30 then
{ Standing in a fire, moving }
begin;
MouseBox(211, 99, 318, 161, 1);
Wait(1200 + Random(800));
end;
Benny
2012-05-10 16:01:54
This is awesome, using it at the moment thanks bro!!
add J J's random please :D many thanks
whzup
2012-05-10 16:02:04
some times it sits on the fire and it stops the script
Brazzers
2012-05-10 16:04:21
From: dude1994
It doesn't solve the bonfire specific random….yet. It just makes bonfires. Yeah I will take SPS out.
any plans to add it?
From: SBR
Hi! I´m new here and pumped up to see a bonfire bot!
However since I´ve just decided to use this bot instead of those client bots, I heard a lot about keylogging and stuff like that.
Can someone confirm this script is trusted? :)
Sorry for being a noob tho.
Pleaseeee :(:(:(
That was quick. Well good job! Thanks for contributing to the community!
[D]ude
2012-05-10 16:05:12
I will add the JJ's detect spirit function. Thanks man!
Benny
2012-05-10 16:07:48
From: dude1994
I will add the JJ's detect spirit function. Thanks man!
sweet bro good work - I am testing it now… will update debug etc
From: SBR
Pleaseeee :(:(:(
SRL is a safe place, nobody has a malicious public script posted here. Yes there have been a few, but you can bet they are taken down fast. I read through the script and it is safe.
[D]ude
2012-05-10 16:10:14
SBR The script is open source. You can look through it and see all info for yourself.
Thanks JOEbot
Benny
2012-05-10 16:12:14
Script needs to be worked on a bit spazzing about a touch and keeps logging out
wonder what the charms/hr rate is.
[D]ude
2012-05-10 16:13:18
From: Bennyp12
Script needs to be worked on a bit spazzing about a touch and keeps logging out
I will look into it, but I need to finish school now. If anyone wants to modify it go right ahead.
Chris Reborn
2012-05-10 16:13:19
it does one inventory then withdraws 28 more logs and says its out of logs and logs out. not sure why.
Silentcore
2012-05-10 16:13:26
nice realease dude, as for kyle he might end up realeasing a pro one since he isn't first anymore…
[D]ude
2012-05-10 16:14:51
I updated so it doesn't log out as much. Needed a simple wait add on
whzup
2012-05-10 16:23:36
when a spirit appear it clicks on it but it does not re add logs to the bonfire
Thanks for the replies :)
Will try it out! Well I'm actually stuck and can't login but I will find how to fix!
cruzpk1O7
2012-05-10 16:55:43
From: whzup
when a spirit appear it clicks on it but it does not re add logs to the bonfire
true dat dude, you should fix it:):f:
Ducksarecool
2012-05-10 17:11:28
im testing it out im leaving it over night will post an 8 hour prodigy tomorow
Nigerlet
2012-05-10 17:36:41
It tries to light a fire in the bank for me than sticks to the noticeboard. I cant get it to leave the bank
From: Ducksarecool
im testing it out im leaving it over night will post an 8 hour prodigy tomorow
You cant even get a 10 min prodigy so goodluck.
kevin33
2012-05-10 17:50:28
Problem: Script withdraws logs and walks out to spot to light+ adds logs well, it just does not walk back into the bank to withdraw more :(
Can you please try to fix it so it will walk back into the bank.
EDIT: Banking can be very slow at times, if you could alter it for everyone so it would speed up (probably because it does not go back to the bank so it is not used to it) that would be great.
ii daveeee x
2012-05-10 18:20:51
script banks well but thats all it does for me it opens bank and gets logs then try to light them on the spot and because your in the bank i wont let you ?
Ducksarecool
2012-05-10 18:23:38
yep i cant run it for 5 minutes it just takes out 28 logs, then 28 more then tries to ligh it at the bank and just retards around the notice boards, next time try and release it when its not going to get us banned, unless is something on my paart then im sory.
hey the bot tries to light the fire in the bank and wont move. am i able to fix this?
[D]ude
2012-05-10 19:24:37
I will be checking the script out and updating it soon. Hopefully will be flawless by tomorow
Andres
2012-05-10 19:40:43
From: dude1994
I will be checking the script out and updating it soon. Hopefully will be flawless by tomorow
Keep up the good work. It looks great considering the update was today ;)
reports
2012-05-10 19:48:15
From: abby
hey the bot tries to light the fire in the bank and wont move. am i able to fix this?
same here
Peter
2012-05-10 20:53:48
hmm…. Bonfire should be getting more than 115kxp an hour on maples, especially seeing I get 150k an hour normaly lighting.
mid flows
2012-05-11 00:05:23
Warning! You passed a wrong ys to a finder function: -5. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong ys to a finder function: -5. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong ys to a finder function: -5. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong ys to a finder function: -5. That is below 0, thus out of bounds. Setting the value to 0 for now.
Gucci
2012-05-11 00:08:19
From: mid flows
Warning! You passed a wrong ys to a finder function: -5. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong ys to a finder function: -5. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong ys to a finder function: -5. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong xs to a finder function: -16. That is below 0, thus out of bounds. Setting the value to 0 for now.
Warning! You passed a wrong ys to a finder function: -5. That is below 0, thus out of bounds. Setting the value to 0 for now.
Why exactly did you post this? It isn't a error it just means the script is searching outside the specified area for the color, so really it doesn't stop the script
Also at OP nice release pretty quick ;). I'm working on one also probably release soon
wr3ck3d
2012-05-11 00:08:24
From: rbd banned
hmm…. Bonfire should be getting more than 115kxp an hour on maples, especially seeing I get 150k an hour normaly lighting.
I'm pretty sure the ticking is off 0.1 secs compared to normal firemaking (1.5 to 1.6) but still, i don't think that makes a 35k exp difference. However, remember that this is still very early, really I'm amazed that a script was made this quickly for bonfires (Kudos OP :thumbsup:).
Becks
2012-05-11 00:57:04
Ah yes.. will take a look.
chuckyb0y
2012-05-11 03:09:53
sometimes stands in the fire and than it cannot use the logs,
you can fix this by click on logs and use on bonfire option. :)
also version 1.1 does not walk for me v1 works fine but has no detection of spirit
IloveBotz
2012-05-11 03:15:02
how about making bonfire for ge? there is always a fire next to bank by people that are also training…
Moron
2012-05-11 06:24:58
Quite a few bugs, it'll either withdraw the logs then logout, saying no logs left (???)
It also sometimes withdraws the logs and tries to light them in the bank.
When it does go outside to light, after it finishes it doesn't want to go back into the bank.
UnderCover
2012-05-11 07:56:52
You got it up pretty fast, will try it out and post a progress report soon! Good job man.
chuckyb0y
2012-05-11 08:05:36
From: Moron
Quite a few bugs, it'll either withdraw the logs then logout, saying no logs left (???)
It also sometimes withdraws the logs and tries to light them in the bank.
When it does go outside to light, after it finishes it doesn't want to go back into the bank.
on top of that when it runs good it runs after few invents to the east.
Moron
2012-05-11 08:08:57
From: chuckyb0y
on top of that when it runs good it runs after few invents to the east.
My personal best is running it for one invent :fiery:
Moron
2012-05-11 08:21:04
anyone else getting errors?
CephaXz
2012-05-11 08:41:27
I might just updated from this script and make this better after I'm done with my mobilising armies script.
Hello World..
2012-05-11 08:45:44
I would download this if its flawless, right now I'l be waiting for the update.
the bot now walks out of bank, does one inventory then walks beside bank and doesnt move.
CephaXz
2012-05-11 10:34:19
Just read through the script. Found that it is quite poorly made. I'm making a new one right now.
hader dem2
2012-05-11 11:03:27
there its one thing ofter first time it have burn and go ofter more logs it get stock at bank and try to burn logs in the bank not good
CephaXz
2012-05-11 11:21:48
Just to inform you guys. I made one, try it out.
http://villavu.com/forum/showthread.php?t=82093
vengeance09
2012-05-11 14:13:08
Dude, if you want some paint in your script, i can make you one for free :)
Atlantic
2012-05-11 14:19:26
Is the Bonfire possible at SoulWars??????
Stray Bullets
2012-05-11 14:24:12
From: Atlantic
Is the Bonfire possible at SoulWars??????
Nope. Wrote something up for soul wars this morning only to find out that I can't actually light fires in there :duh: Gonna check out other areas with no randoms in a bit. Do you get randoms in FOG?
Produst
2012-05-11 14:28:37
doesn't support that TROLL random..
JustJack
2012-05-11 15:18:03
Ok, so I have tweaked the hell out of this over the last few hours
I have this running for me.
-fixed some banking issues
-handles the randoms better
-uses DTM for moving back and forth
-Y offset every other loop to avoid trying to burn in same spot twice
-comments embedded
It's gone 10 cycles for me … it gets weird and stupid a bunch but it will usually figure out where it is and continue
start with falador east bank in the screen, it uses DTM in the map window
hope this helps, I'm new here and am having fun with SRL and whatnot
-jack
program FeBBonfires;
{$DEFINE SMART}
{$i srl/srl.simba}
{Start your player at falador east bank, with player standing over the bank symbol on minimap
put your logs in the second column and second row of your bank. Fill out constants
and declare players and hit play. }
const
//Smart
SmartWorld = 69;
Members = True; //log into a member world=true f2p=false
SignedClient = True;
HighDetail = False;
NumbOfPlayers = 1; //how many players are you using?
StartPlayer = 0;
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
pin = '1234'; //put your pin in the apostraphes'
SpiritColor1 = 4219032; // color for spirit 1
SpiritColor2 = 4219032; // color for spirit 2
SpiritColor3 = 4219032; // color for spirit 3
var startXP: integer;
VarTheRoad, VarTheBank, x, y, z: integer;
VarLogsWithdrawn: string;
procedure ProgressReport(var startXP: integer);
var gain: integer;
begin
gain := GetXPBarTotal- startXP;
{$IFDEF DEBUG}
{$ENDIF}
writeln('////////DUDES_FEB_BONFIRES\\\\\\\\');
writeln('TIME RAN: ' + TimeRunning);
writeln('XP GAIN: ' + IntToStr(gain));
writeln('XP/H: ' + floatToStr(3600000 * 1.0 / GetTimeRunning * gain));
end;
// the user and login functions
procedure Login;
var t: integer;
begin
MarkTime(t);
while (not LoggedIn) do
begin
if LogInPlayer then
break;
wait(10000+random(500));
if (TimeFromMark(t) > 180000) then
begin
writeln('Failed to login after 180s... Terminating');
TerminateScript;
end;
end;
end;
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
{with Players[1] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;}
end;
Procedure SetupPlayer;
begin
Smart_Server := SmartWorld;
Smart_Members := Members;
Smart_Signed := SignedClient;
Smart_SuperDetail := HighDetail;
setupSRL();
DeclarePlayers; //and functions listed
if not (LoggedIn) then
begin
Login;
end;
wait(2500+random(2500));
ClickNorth(SRL_ANGLE_HIGH); //will only do this once!
ToggleXPBar(true);
gametab(tab_inv);
startXP:=getXPBarTotal;
ProgressReport(startXP);
end;
// the main loop functions
procedure GoToTheBank;
begin
//VarTheBank := DTMFromString('mFQEAAHic42VgYKhhYmAoB+JqIK4H4hYg7gDiHiTxBqh4J1Q8EqgvCQdOg+J0JDYIb9q+geHTIwYw/vWWAc4GYU9vNQZvX1mG0DBtBm9PWTh+wczAwMVAGmYkA6MAAECbHq4=');
VarTheBank := DTMFromString('mwQAAAHic42RgYMhgYmDIAuI8IC4G4nIgrgbieii/FoiDgOrigDgWSiPjTJAZQHz05D6G76+FsOLoGG2G6DB5hhfMDAxcDPgxIxEYDgBHDxiA');
begin
if FindDTM(VarThebank, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln('Bank DTM Found');
MMouse(x, y, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end else
begin
writeln('Bank DTM Not Found');
MMouse(MSCX-15, MSCY+150, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end;
FreeDTM(varTheBank);
end;
end;
Function BankLogs:boolean;
var
i:integer;
begin
Result:=false;
if OpenBank('feb', False, True) then
wait(200+random(300));
begin
if pinscreen then
begin
InPin(pin);
end else;
if bankscreen then
begin
DepositAll;
Withdraw(1, 1, 28);
VarLogsWithdrawn := 'YES';
CloseBank;
end;
end;
gametab(tab_inv);
if VarLogsWithdrawn = 'NO' then
begin
wait(200+random(300));
if OpenBankNPC then
begin
if pinscreen then
begin
InPin(pin);
end else;
if bankscreen then
begin
Withdraw(1, 1, 28);
CloseBank;
end;
end;
gametab(tab_inv);
end;
end;
Function GotLogs:boolean;
var
i:integer;
begin
result :=false;
I := 15
if existsitem(I) then
begin
MMouseItem(I);
if waituptextmulti(['Logs'], 500) then
begin
Result := true;
end else;
end;
end;
procedure GotoTheRoad;
begin
//VarTheRoad := DTMFromString('mAAEAAHic42FgYKhnYmBoAuJpQDwPiHcCcRwQBwBxNBCXA3EOEPcD8VQgNgPqcQViWyC2AGJPIDYFYmcgTgTiQCBWAWJZIHYB4vaOKqzYO0SDITRKm+HIiQNgdkC8IoNfgAYDF1APKZiRRIwMAPo0GQ8=');
//VarTheRoad := DTMFromString('mwQAAAHic42RgYChhYmCoBeJ0II4H4hQgLgXieiBug2JjoDotIFZjgLDtgNgJiO2B2BKIDYC4s7OSwSdUDYxBbP9AKO0HpSPUGbiA6ghhRiIwHAAA4DUQiQ==');
VarTheRoad := DTMFromString('mrAAAAHic42BgYEhgYmDIheJ4II4E4gggLgLiEiC2AKoxB2JHIHYGYicgNgJiAyC2BWL/UDUwDgpWZ/APVGPo7KxEwVxANfgwIwEMAwAStg7H');
begin
if FindDTM(VarTheRoad, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln('Road DTM Found');
MMouse(x, y+z, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end else
begin
writeln('Road DTM Not Found');
end;
end;
FreeDTM(VarTheRoad);
end;
Function MakingFire: boolean; //credit to Flight's guide on using pixelshift
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Result := (AveragePixelShift(PBox, 300, 550) > 350);
end;
function DetectSpirit: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor1, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
//once the sprite has been detected and collected from
//we are in a funny point in the loop
//panic, so move right 50 pixels and light a fire
//but there is no other detection
//still inside the burn loop so 2 min countdown still on
MMouse(MSCX+50, MSCY+10, 4, 4);
ClickMouse2(1);
MouseItem((12+random(15)), mouse_right);
WaitOption('Light', 500);
wait(3000+random(1000));
MouseBox(293, 169, 303, 173, mouse_right);
WaitOption('Add', 500);
end;
end;
end;
function DetectSpirit2: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor2, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
MouseBox(293, 169, 303, 173, mouse_right);
WaitOption('Add', 500);
end;
end;
end;
function DetectSpirit3: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor3, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
MouseBox(293, 169, 303, 173, mouse_right);
WaitOption('Add', 500);
end;
end;
end;
Procedure DebugShiftCount;
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Writeln(IntToStr(AveragePixelShift(PBox, 250, 500)));
end;
// this procedure cycles Z between 1 and 10 on alternating
// passes of the main function
procedure adjustz;
begin
if z = 1 then
begin
z :=10
end else
begin
z:=1
end;
end;
procedure Antiban();
begin
if not loggedin then exit;
if FindNormalRandoms then
begin
writeln('in random');
logout;
end else;
case random(200) of
//0: MakeCompass(RandomRange(100,180)); //different SRL antiban procedures
1: PickUpMouse;
//2: RandomAngle(True);
3: begin HoverSkill(skill_firemaking,false); wait(1000+random(1000)); gametab(tab_inv); end;
4: ExamineInv;
//5: BoredHuman;
//6: RandomMovement;
7: wait(1000+random(1000));
//8: missmouse(264, 177);
end;
end;
Procedure Burn;
label burning;
var t: integer;
begin
MouseItem((12+random(15)), mouse_right);
WaitOption('Light', 500);
wait(3000+random(1000));
MouseBox(293, 169, 303, 173, mouse_right);
WaitOption('Add', 500);
While MakingFire do
begin
antiban;
progressreport(startXP);
debugshiftcount;
end;
MarkTime(T);
Burning:
wait(1000+random(500));
antiban;
DetectSpirit;
DetectSpirit2;
DetectSpirit3;
// only stay in the loop for 2 mins or until inv empty
if (invEmpty) then exit;
if (TimeFromMark(T) < 120000) then
goto Burning;
end;
begin //main script
SetupPlayer; //does the various procedures
z:=1
repeat
// a little housekeeping at the beginning of the loop
Adjustz; // cycle the var Z between 1 and 10
//VarTheBank := 0 // null the DTM var, was having trouble 2nd time through with DTM
//VarTheRoad := 0 // null the DTM var, was having trouble 2nd time through with DTM
writeln('finding randoms');
FindNormalRandoms; //find randoms
wait(2000);
writeln('going to the bank');
//return to the bank
GoToTheBank;
wait(5000);
writeln('getting logs');
VarLogsWithdrawn := 'NO';
BankLogs; //go to bank and pull out an inventory of logs
wait(5000);
writeln('antiban');
antiban; //antiban
wait(2000);
writeln('going to the road');
//GoRoad; //go to the road
GoToTheRoad;
wait(5000);
writeln('burning all of the logs');
Burn; //burn all logs
wait(2000);
writeln('doing the progress report');
ProgressReport(startXP); //increment progress report
wait(2000);
until(not LoggedIn);
//nextplayer(false);
end.
JustJack
2012-05-11 15:48:07
ok so I fixed the Spirit function … I have a 2 min timer in the burning loop, if the spirit is detected the timer is pushed forward so the loop exits, meaning you bank immediately after a spirit gives you stuff, instead of waiting around for the 2 min timer to finish…
program FeBBonfires;
{$DEFINE SMART}
{$i srl/srl.simba}
{Start your player at falador east bank, with player standing over the bank symbol on minimap
put your logs in the second column and second row of your bank. Fill out constants
and declare players and hit play. }
const
//Smart
SmartWorld = 69;
Members = True; //log into a member world=true f2p=false
SignedClient = True;
HighDetail = False;
NumbOfPlayers = 1; //how many players are you using?
StartPlayer = 0;
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
pin = '1234'; //put your pin in the apostraphes'
SpiritColor1 = 4219032; // color for spirit 1
SpiritColor2 = 3957439; // color for spirit 2
SpiritColor3 = 4219032; // color for spirit 3
var startXP: integer;
VarTheRoad, VarTheBank, x, y, z, BurnTime: integer;
VarLogsWithdrawn: string;
procedure ProgressReport(var startXP: integer);
var gain: integer;
begin
gain := GetXPBarTotal- startXP;
{$IFDEF DEBUG}
{$ENDIF}
writeln('////////DUDES_FEB_BONFIRES\\\\\\\\');
writeln('TIME RAN: ' + TimeRunning);
writeln('XP GAIN: ' + IntToStr(gain));
writeln('XP/H: ' + floatToStr(3600000 * 1.0 / GetTimeRunning * gain));
end;
// the user and login functions
procedure Login;
var t: integer;
begin
MarkTime(t);
while (not LoggedIn) do
begin
if LogInPlayer then
break;
wait(10000+random(500));
if (TimeFromMark(t) > 180000) then
begin
writeln('Failed to login after 180s... Terminating');
TerminateScript;
end;
end;
end;
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
{with Players[1] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;}
end;
Procedure SetupPlayer;
begin
Smart_Server := SmartWorld;
Smart_Members := Members;
Smart_Signed := SignedClient;
Smart_SuperDetail := HighDetail;
setupSRL();
DeclarePlayers; //and functions listed
if not (LoggedIn) then
begin
Login;
end;
wait(2500+random(2500));
ClickNorth(SRL_ANGLE_HIGH); //will only do this once!
ToggleXPBar(true);
gametab(tab_inv);
startXP:=getXPBarTotal;
ProgressReport(startXP);
end;
// the main loop functions
procedure GoToTheBank;
begin
//VarTheBank := DTMFromString('mFQEAAHic42VgYKhhYmAoB+JqIK4H4hYg7gDiHiTxBqh4J1Q8EqgvCQdOg+J0JDYIb9q+geHTIwYw/vWWAc4GYU9vNQZvX1mG0DBtBm9PWTh+wczAwMVAGmYkA6MAAECbHq4=');
VarTheBank := DTMFromString('mwQAAAHic42RgYMhgYmDIAuI8IC4G4nIgrgbieii/FoiDgOrigDgWSiPjTJAZQHz05D6G76+FsOLoGG2G6DB5hhfMDAxcDPgxIxEYDgBHDxiA');
begin
if FindDTM(VarThebank, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln('Bank DTM Found');
MMouse(x, y, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end else
begin
writeln('Bank DTM Not Found');
MMouse(MSCX-15, MSCY+150, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end;
FreeDTM(varTheBank);
end;
end;
Function BankLogs:boolean;
var
i:integer;
begin
Result:=false;
if OpenBank('feb', False, True) then
wait(200+random(300));
begin
if pinscreen then
begin
InPin(pin);
end else;
if bankscreen then
begin
DepositAll;
Withdraw(1, 1, 28);
VarLogsWithdrawn := 'YES';
CloseBank;
end;
end;
gametab(tab_inv);
if VarLogsWithdrawn = 'NO' then
begin
wait(200+random(300));
if OpenBankNPC then
begin
if pinscreen then
begin
InPin(pin);
end else;
if bankscreen then
begin
Withdraw(1, 1, 28);
CloseBank;
end;
end;
gametab(tab_inv);
end;
end;
Function GotLogs:boolean;
var
i:integer;
begin
result :=false;
I := 15
if existsitem(I) then
begin
MMouseItem(I);
if waituptextmulti(['Logs'], 500) then
begin
Result := true;
end else;
end;
end;
procedure GotoTheRoad;
begin
//VarTheRoad := DTMFromString('mAAEAAHic42FgYKhnYmBoAuJpQDwPiHcCcRwQBwBxNBCXA3EOEPcD8VQgNgPqcQViWyC2AGJPIDYFYmcgTgTiQCBWAWJZIHYB4vaOKqzYO0SDITRKm+HIiQNgdkC8IoNfgAYDF1APKZiRRIwMAPo0GQ8=');
//VarTheRoad := DTMFromString('mwQAAAHic42RgYChhYmCoBeJ0II4H4hQgLgXieiBug2JjoDotIFZjgLDtgNgJiO2B2BKIDYC4s7OSwSdUDYxBbP9AKO0HpSPUGbiA6ghhRiIwHAAA4DUQiQ==');
VarTheRoad := DTMFromString('mrAAAAHic42BgYEhgYmDIheJ4II4E4gggLgLiEiC2AKoxB2JHIHYGYicgNgJiAyC2BWL/UDUwDgpWZ/APVGPo7KxEwVxANfgwIwEMAwAStg7H');
begin
if FindDTM(VarTheRoad, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln('Road DTM Found');
MMouse(x, y+z, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end else
begin
writeln('Road DTM Not Found');
end;
end;
FreeDTM(VarTheRoad);
end;
Function MakingFire: boolean; //credit to Flight's guide on using pixelshift
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Result := (AveragePixelShift(PBox, 300, 550) > 350);
end;
function DetectSpirit: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor1, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
function DetectSpirit2: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor2, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
function DetectSpirit3: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor3, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
Procedure DebugShiftCount;
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Writeln(IntToStr(AveragePixelShift(PBox, 250, 500)));
end;
// this procedure cycles Z between 1 and 10 on alternating
// passes of the main function
procedure adjustz;
begin
if z = 1 then
begin
z :=10
end else
begin
z:=1
end;
end;
procedure Antiban();
begin
if not loggedin then exit;
if FindNormalRandoms then
begin
writeln('in random');
logout;
end else;
case random(200) of
//0: MakeCompass(RandomRange(100,180)); //different SRL antiban procedures
1: PickUpMouse;
//2: RandomAngle(True);
3: begin HoverSkill(skill_firemaking,false); wait(1000+random(1000)); gametab(tab_inv); end;
4: ExamineInv;
//5: BoredHuman;
//6: RandomMovement;
7: wait(1000+random(1000));
//8: missmouse(264, 177);
end;
end;
Procedure Burn;
label burning;
var t: integer;
begin
MouseItem((12+random(15)), mouse_right);
WaitOption('Light', 500);
wait(3000+random(1000));
MouseBox(293, 169, 303, 173, mouse_right);
WaitOption('Add', 500);
While MakingFire do
begin
antiban;
progressreport(startXP);
debugshiftcount;
end;
MarkTime(T);
Burning:
wait(1000+random(500));
antiban;
BurnTime := TimeFromMark(T)
DetectSpirit;
DetectSpirit2;
DetectSpirit3;
// only stay in the loop for 2 mins or until inv empty
if (invEmpty) then exit;
if (BurnTime < 120000) then
goto Burning;
end;
begin //main script
SetupPlayer; //does the various procedures
z:=1
repeat
// a little housekeeping at the beginning of the loop
Adjustz; // cycle the var Z between 1 and 10
//VarTheBank := 0 // null the DTM var, was having trouble 2nd time through with DTM
//VarTheRoad := 0 // null the DTM var, was having trouble 2nd time through with DTM
writeln('finding randoms');
FindNormalRandoms; //find randoms
wait(2000);
writeln('going to the bank');
//return to the bank
GoToTheBank;
wait(5000);
writeln('getting logs');
VarLogsWithdrawn := 'NO';
BankLogs; //go to bank and pull out an inventory of logs
wait(5000);
writeln('antiban');
antiban; //antiban
wait(2000);
writeln('going to the road');
//GoRoad; //go to the road
GoToTheRoad;
wait(5000);
writeln('burning all of the logs');
Burn; //burn all logs
wait(2000);
writeln('doing the progress report');
ProgressReport(startXP); //increment progress report
wait(2000);
until(not LoggedIn);
//nextplayer(false);
end.
whzup
2012-05-11 15:58:12
does the script jack said work cuz i am not home riight not and i want to use it when i get home
sneeky
2012-05-11 16:10:45
jack your script still does not work for me =(. i try to light it in the bank and always just stands around. also always clicking behind the bank.
sneeky
2012-05-11 16:12:26
also if it does work it goes to the same spot every time to light the fire =/
JustJack
2012-05-11 16:14:06
must be the DTMs, I'm working on v0.6 now I'll try to make some different DTMs. I'll also test by closing and opening SMART to get it to change colors on me and stuff.
JustJack
2012-05-11 16:26:47
the debug window should say "Bank DTM Found" if it finds the bank, and it should say "Road DTM Found" if it finds the spot to burn. If it doesn't find these, you should see a "Bank DTM Not Found" message. Can you tell me if it is finding the DTMs? I restarted everything and it is still working for me.
begginer
2012-05-11 16:30:28
Thanks, Time to get 99 fm :)
JustJack
2012-05-11 16:37:23
yeah, I'm apparently not very good at DTMs. I had to remake them again after I closed and opened the program. These are the new ones, all of the old DTMs are in there just commented out … if anyone better at DTMs wants to make a banking and road one, it should be pretty obvious where they go in the script … this version is just the new DTMs if you want to try them, and a little debugging for the banking
program FeBBonfires;
{$DEFINE SMART}
{$i srl/srl.simba}
{Start your player at falador east bank, with player standing over the bank symbol on minimap
put your logs in the second column and second row of your bank. Fill out constants
and declare players and hit play. }
const
//Smart
SmartWorld = 69;
Members = True; //log into a member world=true f2p=false
SignedClient = True;
HighDetail = False;
NumbOfPlayers = 1; //how many players are you using?
StartPlayer = 0;
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
pin = '1234'; //put your pin in the apostraphes'
SpiritColor1 = 4219032; // color for spirit 1
SpiritColor2 = 3957439; // color for spirit 2
SpiritColor3 = 4219032; // color for spirit 3
var startXP: integer;
VarTheRoad, VarTheBank, x, y, z, BurnTime: integer;
VarLogsWithdrawn: string;
procedure ProgressReport(var startXP: integer);
var gain: integer;
begin
gain := GetXPBarTotal- startXP;
{$IFDEF DEBUG}
{$ENDIF}
writeln('////////DUDES_FEB_BONFIRES\\\\\\\\');
writeln('TIME RAN: ' + TimeRunning);
writeln('XP GAIN: ' + IntToStr(gain));
writeln('XP/H: ' + floatToStr(3600000 * 1.0 / GetTimeRunning * gain));
end;
// the user and login functions
procedure Login;
var t: integer;
begin
MarkTime(t);
while (not LoggedIn) do
begin
if LogInPlayer then
break;
wait(10000+random(500));
if (TimeFromMark(t) > 180000) then
begin
writeln('Failed to login after 180s... Terminating');
TerminateScript;
end;
end;
end;
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
{with Players[1] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;}
end;
Procedure SetupPlayer;
begin
Smart_Server := SmartWorld;
Smart_Members := Members;
Smart_Signed := SignedClient;
Smart_SuperDetail := HighDetail;
setupSRL();
DeclarePlayers; //and functions listed
if not (LoggedIn) then
begin
Login;
end;
wait(2500+random(2500));
ClickNorth(SRL_ANGLE_HIGH); //will only do this once!
ToggleXPBar(true);
gametab(tab_inv);
startXP:=getXPBarTotal;
ProgressReport(startXP);
end;
// the main loop functions
procedure GoToTheBank;
begin
//VarTheBank := DTMFromString('mFQEAAHic42VgYKhhYmAoB+JqIK4H4hYg7gDiHiTxBqh4J1Q8EqgvCQdOg+J0JDYIb9q+geHTIwYw/vWWAc4GYU9vNQZvX1mG0DBtBm9PWTh+wczAwMVAGmYkA6MAAECbHq4=');
//VarTheBank := DTMFromString('mwQAAAHic42RgYMhgYmDIAuI8IC4G4nIgrgbieii/FoiDgOrigDgWSiPjTJAZQHz05D6G76+FsOLoGG2G6DB5hhfMDAxcDPgxIxEYDgBHDxiA');
VarTheBank := DTMFromString('mlwAAAHicY2dgYChlYmAoYoLQVUBcC8RNQNwGxH5A+TggjoXSIBwPxScO7mc4spOB4ctLJoaX9yA0iA/CL5gZGIwYsGNGPBgKABssFFY=');
begin
if FindDTM(VarThebank, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln('Bank DTM Found');
MMouse(x, y, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end else
begin
writeln('Bank DTM Not Found');
MMouse(MSCX-15, MSCY+150, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end;
FreeDTM(varTheBank);
end;
end;
Function BankLogs:boolean;
var
i:integer;
begin
Result:=false;
if OpenBank('feb', False, True) then
writeln('the first bank function has kicked off');
wait(200+random(300));
begin
if pinscreen then
begin
InPin(pin);
end else;
if bankscreen then
begin
DepositAll;
Withdraw(1, 1, 28);
VarLogsWithdrawn := 'YES';
CloseBank;
end;
end;
gametab(tab_inv);
if VarLogsWithdrawn = 'NO' then
begin
wait(200+random(300));
if OpenBankNPC then
begin
writeln('the second bank function has kicked off');
if pinscreen then
begin
InPin(pin);
end else;
writeln('the third bank function has kicked off');
if bankscreen then
begin
Withdraw(1, 1, 28);
CloseBank;
end;
end;
gametab(tab_inv);
end;
end;
Function GotLogs:boolean;
var
i:integer;
begin
result :=false;
I := 15
if existsitem(I) then
begin
MMouseItem(I);
if waituptextmulti(['Logs'], 500) then
begin
Result := true;
end else;
end;
end;
procedure GotoTheRoad;
begin
//VarTheRoad := DTMFromString('mAAEAAHic42FgYKhnYmBoAuJpQDwPiHcCcRwQBwBxNBCXA3EOEPcD8VQgNgPqcQViWyC2AGJPIDYFYmcgTgTiQCBWAWJZIHYB4vaOKqzYO0SDITRKm+HIiQNgdkC8IoNfgAYDF1APKZiRRIwMAPo0GQ8=');
//VarTheRoad := DTMFromString('mwQAAAHic42RgYChhYmCoBeJ0II4H4hQgLgXieiBug2JjoDotIFZjgLDtgNgJiO2B2BKIDYC4s7OSwSdUDYxBbP9AKO0HpSPUGbiA6ghhRiIwHAAA4DUQiQ==');
//VarTheRoad := DTMFromString('mrAAAAHic42BgYEhgYmDIheJ4II4E4gggLgLiEiC2AKoxB2JHIHYGYicgNgJiAyC2BWL/UDUwDgpWZ/APVGPo7KxEwVxANfgwIwEMAwAStg7H');
VarTheRoad := DTMFromString('mlwAAAHicY2dgYKhiYmCoAeIEII4H4qlA3AXEOUBsApR3BmJTIA6A0lpArA7E3Y2VGNjfVx2MuYDyuDAjHgwFAEsMDkQ=');
begin
if FindDTM(VarTheRoad, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln('Road DTM Found');
MMouse(x, y+z, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end else
begin
writeln('Road DTM Not Found');
end;
end;
FreeDTM(VarTheRoad);
end;
Function MakingFire: boolean; //credit to Flight's guide on using pixelshift
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Result := (AveragePixelShift(PBox, 300, 550) > 350);
end;
function DetectSpirit: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor1, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
function DetectSpirit2: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor2, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
function DetectSpirit3: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor3, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
Procedure DebugShiftCount;
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Writeln(IntToStr(AveragePixelShift(PBox, 250, 500)));
end;
// this procedure cycles Z between 1 and 10 on alternating
// passes of the main function
procedure adjustz;
begin
if z = 1 then
begin
z :=10
end else
begin
z:=1
end;
end;
procedure Antiban();
begin
if not loggedin then exit;
if FindNormalRandoms then
begin
writeln('in random');
logout;
end else;
case random(200) of
//0: MakeCompass(RandomRange(100,180)); //different SRL antiban procedures
1: PickUpMouse;
//2: RandomAngle(True);
3: begin HoverSkill(skill_firemaking,false); wait(1000+random(1000)); gametab(tab_inv); end;
4: ExamineInv;
//5: BoredHuman;
//6: RandomMovement;
7: wait(1000+random(1000));
//8: missmouse(264, 177);
end;
end;
Procedure Burn;
label burning;
var t: integer;
begin
MouseItem((12+random(15)), mouse_right);
WaitOption('Light', 500);
wait(3000+random(1000));
MouseBox(293, 169, 303, 173, mouse_right);
WaitOption('Add', 500);
While MakingFire do
begin
antiban;
progressreport(startXP);
debugshiftcount;
end;
MarkTime(T);
Burning:
wait(1000+random(500));
antiban;
BurnTime := TimeFromMark(T)
DetectSpirit;
DetectSpirit2;
DetectSpirit3;
// only stay in the loop for 2 mins or until inv empty
if (invEmpty) then exit;
if (BurnTime < 120000) then
goto Burning;
end;
begin //main script
SetupPlayer; //does the various procedures
z:=1
repeat
// a little housekeeping at the beginning of the loop
Adjustz; // cycle the var Z between 1 and 10
//VarTheBank := 0 // null the DTM var, was having trouble 2nd time through with DTM
//VarTheRoad := 0 // null the DTM var, was having trouble 2nd time through with DTM
writeln('finding randoms');
FindNormalRandoms; //find randoms
wait(2000);
writeln('going to the bank');
//return to the bank
GoToTheBank;
wait(5000);
writeln('getting logs');
VarLogsWithdrawn := 'NO';
BankLogs; //go to bank and pull out an inventory of logs
wait(5000);
writeln('antiban');
antiban; //antiban
wait(2000);
writeln('going to the road');
//GoRoad; //go to the road
GoToTheRoad;
wait(5000);
writeln('burning all of the logs');
Burn; //burn all logs
wait(2000);
writeln('doing the progress report');
ProgressReport(startXP); //increment progress report
wait(2000);
until(not LoggedIn);
//nextplayer(false);
end.
CephaXz
2012-05-11 16:39:22
use radialwalk instead of DTM, works even better.
JustJack
2012-05-11 17:02:34
so yeah this isn't great I guess … I tweaked the DTMs again and have it cranking along for me. I'll keep at it but I think I'm at the end of what I've learned so far. These are the DTMs that are working now, FYI
VarTheRoad := DTMFromString('mlwAAAHicY2dgYEhjYmBIB+JCIC4G4iogTgDiRCC2BMo7A7EjEFsBsSkUewNxkI86Q5AHFAPZ3Y2VcMwFlMeFGfFgKAAAmDcMlg==');
VarTheBank := DTMFromString('mQwAAAHicY2ZgYKhhYmAoA+JaIA4A8mOh+MTB/Qwv7zEwfHnJxMAF5MMwIxIGAgBXoQiS');
I love all of these blue charms!
CephaXz
2012-05-11 17:14:45
Tomorrow I'll make better walkings and spirit support to my script, that doesn't go straight to bank after each click on spirit.
JustJack
2012-05-11 19:32:45
This was my last pass:
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 32 Minutes and 5 Seconds
XP GAIN: 60292
XP/H: 112705.158082324
I look forward to the updates tomorrow!
someone help me get this going. post a pic of what need to fill out. i cant seem to figure it out.
JustJack
2012-05-11 22:58:38
had to stop and start to test more changes, these were my stats when I kicked it:
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 29 Minutes and 49 Seconds
XP GAIN: 143357
XP/H: 95761.5619026907
[D]ude
2012-05-12 00:58:06
Thank you JustJack for modifying the script. I made my own update. Sorry it was so terrible before. I should have done much better than I did, but I was anxious to push it through. Anyways hope JustJack's or v102 works better for you guys
thomas1116
2012-05-12 01:19:19
dusnt work for me just says:
[Hint] C:\Simba\Includes\SRL/SRL/core/animation.simba(257:3): Variable 'X' never used at line 256
[Hint] C:\Simba\Includes\SRL/SRL/core/animation.simba(257:3): Variable 'Y' never used at line 256
[Error] (148:27): Unknown identifier 'log' at line 147
Compiling failed.
[D]ude
2012-05-12 01:23:33
sorry man. forgot to include the variable. Changing now
thomas1116
2012-05-12 01:25:54
all right ! hope it works, does it take much time to update it ? :) i used it tonight and it was flawless, runned for 3-4 houers
[D]ude
2012-05-12 01:32:27
I takes maybe about 30 minutes depending on what needs to be updated. I had to rework most of the script and use some aca so it took me like an hour to rework it. You got a 4 hour proggy with Jack's edited version? Mine wouldn't get that. I dunno about v102 though. I haven't been able to see how long it will last yet
Oh btw redownload the v102 since I changed it
thomas1116
2012-05-12 01:34:26
From: dude1994
I takes maybe about 30 minutes depending on what needs to be updated. I had to rework most of the script and use some aca so it took me like an hour to rework it. You got a 4 hour proggy with Jack's edited version? Mine wouldn't get that. I dunno about v102 though. I haven't been able to see how long it will last yet
i used urs :)
1.01 but it didnt make any proggies, it just said walk to bank , fire walk to bank …. blabla u know x) but it was on for 3-4 houers :P
[D]ude
2012-05-12 01:38:17
Oh wow. Nice. Haha. Must have been before I added JJ's spirit detector, cus it stopped whenever it detected a spirit lol. Hopefully this new one will be able to make longer proggies :p
thomas1116
2012-05-12 01:39:37
hope so :D !
almost 98 fm want 99 :D
[D]ude
2012-05-12 01:41:37
Oh wow. If you get 99 fm with my script post the Screen shot and I'll put it on the OP
thomas1116
2012-05-12 01:46:28
Yupp sure i'll do, works fine but didnt take the bonefire spirit :S
[D]ude
2012-05-12 01:49:15
Yeah, I didn't add the spirit support in v102 cus it slows down the xp
thomas1116
2012-05-12 01:52:22
it's just a click :P on it when it appears :P
[D]ude
2012-05-12 01:53:22
Yeah. I'm lazy about adding it in right now though.
thomas1116
2012-05-12 01:54:22
From: dude1994
Yeah, I didn't add the spirit support in v102 cus it slows down the xp
It have somehow walked north east and entred in the party room :O wtf x)
[D]ude
2012-05-12 01:57:24
North east?? Thats funny. Did you restart it? I don't see why it would walk north east. Only straight north or straight south. I might change a radius.
thomas1116
2012-05-12 01:58:49
it didnt it again , and it lights fire there , and bnefire then just stands there x)
[D]ude
2012-05-12 02:00:36
Are you at falador east bank?
thomas1116
2012-05-12 02:00:58
yea x)
[D]ude
2012-05-12 02:07:59
Okay. I replicated it, and its getting confused with the bank and another building, and so I shortened the radius. Will upload again lol
thomas1116
2012-05-12 02:09:28
awww thanks man ! u cud add m on msn if u dont mind ? :P
E-mail : [email]Thomas408@hotmail.com[/email] :P
[D]ude
2012-05-12 02:11:31
I wish I could, but I don't have msn, and my bro and I share a room, so he is asleep right now, and I wouldn't want to wake him up or he'll be grumpy tomorrow haha
thomas1116
2012-05-12 02:19:16
From: dude1994
I wish I could, but I don't have msn, and my bro and I share a room, so he is asleep right now, and I wouldn't want to wake him up or he'll be grumpy tomorrow haha
umm still confused, now after its finished all logs it just stands there, dosnt do anytin :S
and it walks to the small building , right east of the bank
[D]ude
2012-05-12 02:20:49
Was in gravedigger random. I'll see what it does
thomas1116
2012-05-12 02:23:47
From: dude1994
Was in gravedigger random. I'll see what it does
ok god luck, ill go to work now, and sunday ii wont be home, so cya when ever i get a chance :P keep testing the script ! :D
[D]ude
2012-05-12 02:25:54
Alright. Thanks for testing. You have no idea how much help you have been haha. Gl with work.
remco1337
2012-05-12 03:02:43
The walking is bit failing maby change the coordinates ?
[D]ude
2012-05-12 03:04:32
Redownload it. I've tweeked quite a few things over the past ten minutes. Right now I have a 30 min proggy and still going strong
JustJack
2012-05-12 03:05:02
Oh cool I just noticed a new version, I can't wait to look at it. I've been having pretty good luck with my DTM based one, I set up a loop to cycle through DTMs that have worked in the past, it seems a little more stable … ran it 90 minutes for over 100K exp. So here is the last version of what I am doing based on the 1.01, before I check out the 1.02 and either just use that, or start munging my own junk into it. I think I've gone from 70 to 80 in the last couple of days…
program FeBBonfires;
{$DEFINE SMART}
{$i srl/srl.simba}
{Start your player at falador east bank, with player standing over the bank symbol on minimap
put your logs in the second column and second row of your bank. Fill out constants
and declare players and hit play. }
const
//Smart
SmartWorld = 69;
Members = True; //log into a member world=true f2p=false
SignedClient = True;
HighDetail = False;
NumbOfPlayers = 1; //how many players are you using?
StartPlayer = 0;
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
pin = '1234'; //put your pin in the apostraphes'
SpiritColor1 = 4219032; // color for spirit 1
SpiritColor2 = 3957439; // color for spirit 2
SpiritColor3 = 4219032; // color for spirit 3
var startXP: integer;
VarTheRoad, VarTheBank, x, y, z, BurnTime: integer;
VarLogsWithdrawn: string;
procedure ProgressReport(var startXP: integer);
var gain: integer;
begin
gain := GetXPBarTotal- startXP;
{$IFDEF DEBUG}
{$ENDIF}
writeln('////////DUDES_FEB_BONFIRES\\\\\\\\');
writeln('TIME RAN: ' + TimeRunning);
writeln('XP GAIN: ' + IntToStr(gain));
writeln('XP/H: ' + floatToStr(3600000 * 1.0 / GetTimeRunning * gain));
end;
// the user and login functions
procedure Login;
var t: integer;
begin
MarkTime(t);
while (not LoggedIn) do
begin
if LogInPlayer then
break;
wait(10000+random(500));
if (TimeFromMark(t) > 180000) then
begin
writeln('Failed to login after 180s... Terminating');
TerminateScript;
end;
end;
end;
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
{with Players[1] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;}
end;
Procedure SetupPlayer;
begin
Smart_Server := SmartWorld;
Smart_Members := Members;
Smart_Signed := SignedClient;
Smart_SuperDetail := HighDetail;
setupSRL();
DeclarePlayers; //and functions listed
if not (LoggedIn) then
begin
Login;
end;
wait(2500+random(2500));
ClickNorth(SRL_ANGLE_HIGH); //will only do this once!
ToggleXPBar(true);
gametab(tab_inv);
startXP:=getXPBarTotal;
ProgressReport(startXP);
end;
// the main loop functions
procedure GoToTheBank;
Label FindBankLoop;
begin
VarTheBank := DTMFromString('mQwAAAHicY2ZgYMhlYmDIAuIyIA4C8uOAOBaIj53Yx/DyHgPDl5dMDFxAPgwzImEgAABQ1wh3');
writeln('First Bank DTM set');
FindBankLoop:
begin
if FindDTM(VarThebank, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln('Bank DTM Found');
MMouse(x, y, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end else
begin
// main DTM not found, searching for the DTMs that have worked before
case random(8) of
0 : begin
FreeDTM(varTheBank);
VarTheBank := DTMFromString('mFQEAAHic42VgYKhhYmAoB+JqIK4H4hYg7gDiHiTxBqh4J1Q8EqgvCQdOg+J0JDYIb9q+geHTIwYw/vWWAc4GYU9vNQZvX1mG0DBtBm9PWTh+wczAwMVAGmYkA6MAAECbHq4=');
writeln('Trying second Bank DTM');
end;
1 : begin
FreeDTM(varTheBank);
VarTheBank := DTMFromString('mwQAAAHic42RgYMhgYmDIAuI8IC4G4nIgrgbieii/FoiDgOrigDgWSiPjTJAZQHz05D6G76+FsOLoGG2G6DB5hhfMDAxcDPgxIxEYDgBHDxiA');
writeln('Trying third Bank DTM');
end;
2 : begin
FreeDTM(varTheBank);
DTMFromString('mQwAAAHicY2ZgYKhnYmCoBeIaIE4B8guBuAqID5/Yw/DrGQtDYJAUAz+QD8OMSBgIAEisB+k=');
writeln('Trying fourth Bank DTM');
end;
3 : begin
FreeDTM(varTheBank);
VarTheBank := DTMFromString('mQwAAAHicY2ZgYKhhYmAoA+JaIA4A8mOh+MTB/Qwv7zEwfHnJxMAF5MMwIxIGAgBXoQiS');
writeln('Trying fifth Bank DTM');
end;
4 : begin
FreeDTM(varTheBank);
VarTheBank := DTMFromString('mQwAAAHicY2ZgYKhlYmAoA+I6IPYH8mOg+NTh3Qwv7zGAMRcDAjMiYSAAAFS3CHk=');
writeln('Trying fifth Bank DTM');
end;
5 : begin
FreeDTM(varTheBank);
VarTheBank := DTMFromString('mQwAAAHicY2ZgYMhlYmDIAuIyIA4C8uOAOBaIj53Yx/DyHgPDl5dMDFxAPgwzImEgAABQ1wh3');
writeln('Trying original Bank DTM again');
end;
6 : begin
FreeDTM(varTheBank);
DTMFromString('mQwAAAHicY2ZgYGhiYmCoBuJ2IA4E8uOg+OixPQyv/rOBMReQD8OMSBgIAGPsCOE=');
writeln('Trying sixth Bank DTM');
end;
7 : begin
FreeDTM(varTheBank);
DTMFromString('mQwAAAHicY2ZgYKhjYmBoBOImIK4C8nMZIPT728wMJw7uB9P8QD4MMyJhIAAAagII/g==');
writeln('Trying seventh Bank DTM');
end;
end;
writeln('BankDTM variable reset, trying to find the DTM again');
GOTO FindBankLoop;
end;
FreeDTM(varTheBank);
end;
end;
Function BankLogs:boolean;
var
i:integer;
begin
Result:=false;
if OpenBank('feb', False, True) then
writeln('the first bank function has kicked off');
wait(200+random(300));
begin
if pinscreen then
begin
InPin(pin);
end else;
if bankscreen then
begin
DepositAll;
Withdraw(1, 1, 28);
VarLogsWithdrawn := 'YES';
CloseBank;
end;
end;
gametab(tab_inv);
if VarLogsWithdrawn = 'NO' then
begin
wait(200+random(300));
if OpenBankNPC then
begin
writeln('the second bank function has kicked off');
if pinscreen then
begin
InPin(pin);
end else;
writeln('the third bank function has kicked off');
if bankscreen then
begin
Withdraw(1, 1, 28);
CloseBank;
end;
end;
gametab(tab_inv);
end;
end;
Function GotLogs:boolean;
var
i:integer;
begin
result :=false;
I := 15
if existsitem(I) then
begin
MMouseItem(I);
if waituptextmulti(['Logs'], 500) then
begin
Result := true;
end else;
end;
end;
procedure GotoTheRoad;
Label FindRoadLoop;
begin
VarTheRoad := DTMFromString('mrAAAAHic42BgYIhnguAsIM4G4kIgjgTiCCAuBWILoBoHILYHYnMgNgBiYyB2AWI7IA4IVmMI8IdiILuzowIFcwHV4MOMBDAMAAAH6g6u');
writeln('First Road DTM set');
FindRoadLoop:
begin
if FindDTM(VarTheRoad, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln('Road DTM Found');
MMouse(x+10, y+z, 4, 4);
Wait(RandomRange(350, 525));
ClickMouse2(True);
end else
begin
// main DTM not found, searching for the DTMs that have worked before
case random(7) of
0 : begin
FreeDTM(VarTheRoad);
VarTheRoad := DTMFromString('mlwAAAHicY2dgYEhnguASIC4C4nIgToRiG6C8KxA7AbEVEBsBsSkQewNxiJ8yQ4gXFAPZvc2lcMwFlMeFGfFgKAAAmokMmg==');
writeln('Trying second Road DTM');
end;
1 : begin
FreeDTM(VarTheRoad);
VarTheRoad := DTMFromString('mAAEAAHic42FgYKhnYmBoAuJpQDwPiHcCcRwQBwBxNBCXA3EOEPcD8VQgNgPqcQViWyC2AGJPIDYFYmcgTgTiQCBWAWJZIHYB4vaOKqzYO0SDITRKm+HIiQNgdkC8IoNfgAYDF1APKZiRRIwMAPo0GQ8=');
writeln('Trying third Road DTM');
end;
2 : begin
FreeDTM(VarTheRoad);
VarTheRoad := DTMFromString('mwQAAAHic42RgYChhYmCoBeJ0II4H4hQgLgXieiBug2JjoDotIFZjgLDtgNgJiO2B2BKIDYC4s7OSwSdUDYxBbP9AKO0HpSPUGbiA6ghhRiIwHAAA4DUQiQ==');
writeln('Trying fourth Road DTM');
end;
3 : begin
FreeDTM(VarTheRoad);
VarTheRoad := DTMFromString('mrAAAAHic42BgYEhgYmDIheJ4II4E4gggLgLiEiC2AKoxB2JHIHYGYicgNgJiAyC2BWL/UDUwDgpWZ/APVGPo7KxEwVxANfgwIwEMAwAStg7H');
writeln('Trying fifth Road DTM');
end;
4 : begin
FreeDTM(VarTheRoad);
VarTheRoad := DTMFromString('mrAAAAHic42BgYIhnguAsIM4G4kIgjgTiCCAuBWILoBoHILYHYnMgNgBiYyB2AWI7IA4IVmMI8IdiILuzowIFcwHV4MOMBDAMAAAH6g6u');
writeln('Trying original Road DTM again');
end;
5 : begin
FreeDTM(VarTheRoad);
DTMFromString('mrAAAAHic42BgYChmYmBIB+JSIK4F4j4gbgPiTCBOBGILoBpnIHYEYgcgtgRiPSDWAmITIPYPVGbw91VmCPJXYehsLQNjH6AYCIPYXEA1+DAjAQwDAAqoDi8=');
writeln('Trying sixth Road DTM');
end;
6 : begin
FreeDTM(VarTheRoad);
DTMFromString('mbQAAAHicY2VgYEhmYmDwAuIaIE4H4hQgDmKAYH8g9gLiWCDubqiAY38fNTDNDxRHx4xYMBgAAMn/Crs=');
writeln('Trying sixth Road DTM');
end;
end;
writeln('RoadDTM variable reset, trying to find the DTM again');
GOTO FindRoadLoop;
end;
end;
FreeDTM(VarTheRoad);
end;
Function MakingFire: boolean; //credit to Flight's guide on using pixelshift
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Result := (AveragePixelShift(PBox, 300, 550) > 350);
end;
function DetectSpirit: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor1, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
wait(4000 + Random(800)); //give it time to burn some logs after seeing a spirit
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
function DetectSpirit2: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor2, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
wait(4000 + Random(800)); //give it time to burn some logs after seeing a spirit
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
function DetectSpirit3: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor3, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
wait(4000 + Random(800)); //give it time to burn some logs after seeing a spirit
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
Procedure DebugShiftCount;
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Writeln(IntToStr(AveragePixelShift(PBox, 250, 500)));
end;
// this procedure cycles Z between 1 and 10 on alternating
// passes of the main function
procedure adjustz;
begin
if z = 1 then
begin
z :=10
end else
begin
z:=1
end;
end;
procedure Antiban();
begin
if not loggedin then exit;
if FindNormalRandoms then
begin
writeln('in random');
logout;
end else;
case random(200) of
//0: MakeCompass(RandomRange(100,180)); //different SRL antiban procedures
1: PickUpMouse;
//2: RandomAngle(True);
3: begin HoverSkill(skill_firemaking,false); wait(1000+random(1000)); gametab(tab_inv); end;
4: ExamineInv;
//5: BoredHuman;
//6: RandomMovement;
7: wait(1000+random(1000));
//8: missmouse(264, 177);
end;
end;
Procedure Burn;
label burning;
var t: integer;
begin
//right click a log and burn it
MouseItem((12+random(15)), mouse_right);
WaitOption('Light', 500);
// the above function doesn't detect the inability to burn
wait(5000+random(1000));
//try to right click a fire in front of you and add logs
MouseBox(293, 169, 303, 173, mouse_right);
if ChooseOption('Add') then
begin
Writeln('Looks like a good place for a fire');
WaitOption('Add', 500);
end else
begin
Writeln('Looks like you cant have a fire here');
end;
{
not sure how to read the right click menu, here is a close sample
ClickMouse2(False);
WaitOption('ones', 50);
if DidRedClick then
begin
Result := True;
Inc(BPicked);
Break;
end;
}
While MakingFire do
begin
antiban;
progressreport(startXP);
debugshiftcount;
end;
MarkTime(T);
Burning:
wait(1000+random(500));
antiban;
BurnTime := TimeFromMark(T)
DetectSpirit;
DetectSpirit2;
DetectSpirit3;
// only stay in the loop for 2 mins or until inv empty
if (invEmpty) then exit;
if (BurnTime < 120000) then
goto Burning;
end;
begin //main script
SetupPlayer; //does the various procedures
z:=1
repeat
// a little housekeeping at the beginning of the loop
Adjustz; // cycle the var Z between 1 and 10
//VarTheBank := 0 // null the DTM var, was having trouble 2nd time through with DTM
//VarTheRoad := 0 // null the DTM var, was having trouble 2nd time through with DTM
writeln('finding randoms');
FindNormalRandoms; //find randoms
wait(2000);
writeln('going to the bank');
//return to the bank
GoToTheBank;
wait(5000);
writeln('getting logs');
VarLogsWithdrawn := 'NO';
BankLogs; //go to bank and pull out an inventory of logs
wait(5000);
writeln('antiban');
antiban; //antiban
wait(2000);
writeln('going to the road');
//GoRoad; //go to the road
GoToTheRoad;
wait(5000);
writeln('burning all of the logs');
Burn; //burn all logs
wait(2000);
writeln('doing the progress report');
ProgressReport(startXP); //increment progress report
wait(2000);
until(not LoggedIn);
//nextplayer(false);
end.
[D]ude
2012-05-12 03:09:40
Could a mod change the title of the thread to FeB Bonfires. I somehow got it messed up.
Cool. Yeah. I've heard good reports from your DTM one. Thanks for making that btw.
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 39 Minutes and 19 Seconds
XP GAIN: 41258
XP/H: 62940.9461431673 <–Sucky xp/hr cus I'm using willows. Maples got too expensives haha
Proggy I have so far with the v102. Still running. Set run time to 60 mins though, so if I reach that mark then I think I have actually fixed the crap out of the original lol.
DANG!!!! My laptop froze and so it stopped at 40 minutes lol. I'll get a better proggy tomorrow.
Powerbee
2012-05-12 03:42:41
Progress report:
-log-in
-takes 28 logs
-log out
…
tustin25
2012-05-12 08:18:36
this has been working a lot better than it was yesterday.
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 46 Minutes and 53 Seconds
XP GAIN: 83780
XP/H: 107183.902940016
Walking to get more logs location: 2
Adamcoled
2012-05-12 08:39:40
That's 99 firemaking in like 3 days. lol, a hell of a lot quicker then when I played legit.
Powerbee
2012-05-12 12:48:14
Is the spirit thingy working yet?
the script is still not working for me any suggestions?
[D]ude
2012-05-12 17:16:19
The spirits are not supported yet. I am working on adding it in.
@abby redownload the script v102, and if it doesn't work hop worlds and restart, because jagex changes colors slightly
From: dude1994
The spirits are not supported yet. I am working on adding it in.
@abby redownload the script v102, and if it doesn't work hop worlds and restart, because jagex changes colors slightly
I tried hopping worlds and it ran 2 inventories before getting stuck and not going into bank. it has gotten better tho.:)
JustJack
2012-05-13 00:05:40
If anyone is interested, I made a lot of progress today on the hack I've been tinkering with, I had some pretty nasty errors in there … my tester just gave me a thumbs up. I'm sure I have some pretty goofy stuff going on in here … I'm new to SRL and this is kind of fun to play around with.
Thanks again for providing the original script, it's pretty neat to mess with. Until two months ago, I hadn't touched Pascal since the 80's. Good times.
program FeBBonfires;
{$DEFINE SMART}
{$i srl/srl.simba}
{Start your player at falador east bank, with player standing over the bank symbol on minimap
put your logs in the second column and second row of your bank. Fill out constants
and declare players and hit play. }
const
//Smart
SmartWorld = 69;
Members = True; //log into a member world=true f2p=false
SignedClient = True;
HighDetail = False;
NumbOfPlayers = 1; //how many players are you using?
StartPlayer = 0;
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
pin = '1234'; //put your pin in the apostraphes'
// set the color of the spirits, all three passes are in the burning loop
SpiritColor1 = 4219032; // color for spirit 1
SpiritColor2 = 3957439; // color for spirit 2
SpiritColor3 = 4219032; // color for spirit 3
// some more constants
BurnFailSafe = 120000; // time in ms for the burn loop to panic and return to the bank
ReScanForFire = 50; // number of passes to re-scan for fire and burn logs after a spirit encounter
var startXP: integer;
VarTheRoad, VarTheBank, x, y, z, BurnTime: integer;
VarLogsWithdrawn: string;
procedure ProgressReport(var startXP: integer);
var gain: integer;
begin
gain := GetXPBarTotal- startXP;
{$IFDEF DEBUG}
{$ENDIF}
writeln('//////DUDES_FEB_BONFIRES v1.01 - JustJackHack v1.0\\\\\\');
writeln('TIME RAN: ' + TimeRunning);
writeln('XP GAIN: ' + IntToStr(gain));
writeln('XP/H: ' + floatToStr(3600000 * 1.0 / GetTimeRunning * gain));
end;
// the user and login functions
procedure Login;
var t: integer;
begin
MarkTime(t);
while (not LoggedIn) do
begin
if LogInPlayer then
break;
wait(10000+random(500));
if (TimeFromMark(t) > 180000) then
begin
writeln('Failed to login after 180s... Terminating');
TerminateScript;
end;
end;
end;
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
{with Players[1] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;}
end;
Procedure SetupPlayer;
begin
Smart_Server := SmartWorld;
Smart_Members := Members;
Smart_Signed := SignedClient;
Smart_SuperDetail := HighDetail;
setupSRL();
DeclarePlayers; //and functions listed
if not (LoggedIn) then
begin
Login;
end;
wait(2500+random(2500));
ClickNorth(SRL_ANGLE_HIGH); //will only do this once!
ToggleXPBar(true);
gametab(tab_inv);
startXP:=getXPBarTotal;
ProgressReport(startXP);
end;
// the main loop functions
procedure GoToTheBank;
Label FindBankLoop;
Var i : string;
begin
i := 'Default';
FindBankLoop:
case random(11) of
0 : begin
i := 'First';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYMhlYmDIAuIyIA4C8uOAOBaIj53Yx/DyHgPDl5dMDFxAPgwzImEgAABQ1wh3');
writeln('First Bank DTM set');
end;
1 : begin
i := 'Second';
VarTheBank := DTMFromString('mFQEAAHic42VgYKhhYmAoB+JqIK4H4hYg7gDiHiTxBqh4J1Q8EqgvCQdOg+J0JDYIb9q+geHTIwYw/vWWAc4GYU9vNQZvX1mG0DBtBm9PWTh+wczAwMVAGmYkA6MAAECbHq4=');
writeln('Second Bank DTM set');
end;
2 : begin
i := 'Third';
VarTheBank := DTMFromString('mwQAAAHic42RgYMhgYmDIAuI8IC4G4nIgrgbieii/FoiDgOrigDgWSiPjTJAZQHz05D6G76+FsOLoGG2G6DB5hhfMDAxcDPgxIxEYDgBHDxiA');
writeln('Third Bank DTM set');
end;
3 : begin
i := 'Fourth';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYKhnYmCoBeIaIE4B8guBuAqID5/Yw/DrGQtDYJAUAz+QD8OMSBgIAEisB+k=');
writeln('Fourth Bank DTM set');
end;
4 : begin
i := 'Fifth';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYKhhYmAoA+JaIA4A8mOh+MTB/Qwv7zEwfHnJxMAF5MMwIxIGAgBXoQiS');
writeln('Fifth Bank DTM set');
end;
5 : begin
i := 'Sixth';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYKhlYmAoA+I6IPYH8mOg+NTh3Qwv7zGAMRcDAjMiYSAAAFS3CHk=');
writeln('Sixth Bank DTM set');
end;
6 : begin
i := 'Seventh';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYGhiYmCoBuJ2IA4E8uOg+OixPQyv/rOBMReQD8OMSBgIAGPsCOE=');
writeln('Seventh Bank DTM set');
end;
7 : begin
i := 'Eighth';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYChnYmAoA+I6IM4A8kuAuBSITx8+yPDiPxcYcwH5MMyIhIEAAGxCCRg=');
writeln('Eighth Bank DTM set');
end;
8 : begin
i := 'Ninth';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYGhiYmCoA+I2IM4E8sug+PiRfQx3f3OAMT+QD8OMSBgIAG9lCR4=');
writeln('Ninth Bank DTM set');
end;
9 : begin
i := 'Tenth';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYGhlYmBoAOIuIE4D8kuBuASIj5w8yPD1HysYSwL5MMyIhIEAAHn2CXQ=');
writeln('Tenth Bank DTM set');
end;
10 : begin
i := 'Eleventh';
VarTheBank := DTMFromString('mQwAAAHicY2ZgYGhlYmBoBOIuIC4A8muh+OjxAwx/f7IwfPvEwiAJ5MMwIxIGAgB9xwmE');
writeln('Eleventh Bank DTM set');
end;
end; // end of the CASE
writeln('Attempting to locate the ' + i + ' DTM');
if FindDTM(VarTheBank, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln(i + ' Bank DTM Found');
MMouse(x, y, 4, 4);
Wait(RandomRange(350, 525));
FreeDTM(varTheBank);
ClickMouse2(True);
end else
begin
writeln('Failed to locate the ' + i + ' Bank DTM, trying again');
FreeDTM(varTheBank);
GOTO FindBankLoop;
end;
end;
Function BankLogs:boolean;
var
i:integer;
begin
Result:=false;
if OpenBank('feb', False, True) then
writeln('the first bank function has kicked off');
wait(200+random(300));
begin
if pinscreen then
begin
InPin(pin);
end else;
if bankscreen then
begin
DepositAll;
Withdraw(1, 1, 28);
VarLogsWithdrawn := 'YES';
CloseBank;
end;
end;
gametab(tab_inv);
if VarLogsWithdrawn = 'NO' then
begin
wait(200+random(300));
if OpenBankNPC then
begin
writeln('the second bank function has kicked off');
if pinscreen then
begin
InPin(pin);
end else;
writeln('the third bank function has kicked off');
if bankscreen then
begin
Withdraw(1, 1, 28);
CloseBank;
end;
end;
gametab(tab_inv);
end;
end;
Function GotLogs:boolean;
var
i:integer;
begin
result :=false;
I := 15
if existsitem(I) then
begin
MMouseItem(I);
if waituptextmulti(['Logs'], 500) then
begin
Result := true;
end else;
end;
end;
procedure GotoTheRoad;
Label FindRoadLoop;
Var i : string;
begin
FindRoadLoop:
case random(8) of
0 : begin
i := 'First';
VarTheRoad := DTMFromString('mrAAAAHic42BgYIhnguAsIM4G4kIgjgTiCCAuBWILoBoHILYHYnMgNgBiYyB2AWI7IA4IVmMI8IdiILuzowIFcwHV4MOMBDAMAAAH6g6u');
writeln('First Road DTM set again');
end;
1 : begin
i := 'Second';
VarTheRoad := DTMFromString('mlwAAAHicY2dgYEhnguASIC4C4nIgToRiG6C8KxA7AbEVEBsBsSkQewNxiJ8yQ4gXFAPZvc2lcMwFlMeFGfFgKAAAmokMmg==');
writeln('Second Road DTM set');
end;
2 : begin
i := 'Third';
VarTheRoad := DTMFromString('mAAEAAHic42FgYKhnYmBoAuJpQDwPiHcCcRwQBwBxNBCXA3EOEPcD8VQgNgPqcQViWyC2AGJPIDYFYmcgTgTiQCBWAWJZIHYB4vaOKqzYO0SDITRKm+HIiQNgdkC8IoNfgAYDF1APKZiRRIwMAPo0GQ8=');
writeln('Third Road DTM set');
end;
3 : begin
i := 'Fourth';
VarTheRoad := DTMFromString('mwQAAAHic42RgYChhYmCoBeJ0II4H4hQgLgXieiBug2JjoDotIFZjgLDtgNgJiO2B2BKIDYC4s7OSwSdUDYxBbP9AKO0HpSPUGbiA6ghhRiIwHAAA4DUQiQ==');
writeln('Fourth Road DTM set');
end;
4 : begin
i := 'Fifth';
VarTheRoad := DTMFromString('mrAAAAHic42BgYEhgYmDIheJ4II4E4gggLgLiEiC2AKoxB2JHIHYGYicgNgJiAyC2BWL/UDUwDgpWZ/APVGPo7KxEwVxANfgwIwEMAwAStg7H');
writeln('Fifth Road DTM set');
end;
5 : begin
i := 'Sixth';
VarTheRoad := DTMFromString('mrAAAAHic42BgYChmYmBIB+JSIK4F4j4gbgPiTCBOBGILoBpnIHYEYgcgtgRiPSDWAmITIPYPVGbw91VmCPJXYehsLQNjH6AYCIPYXEA1+DAjAQwDAAqoDi8=');
writeln('Sixth Road DTM set');
end;
6 : begin
i := 'Seventh';
VarTheRoad := DTMFromString('mbQAAAHicY2VgYEhmYmDwAuIaIE4H4hQgDmKAYH8g9gLiWCDubqiAY38fNTDNDxRHx4xYMBgAAMn/Crs=');
writeln('Seventh Road DTM set');
end;
7 : begin
i := 'Eighth';
VarTheRoad := DTMFromString('mrAAAAHic42BgYKhgguBmIG4B4i4gzofiXiCOBqpJhuIYIA4C4jAgzgPiWCD2C1Rn8PMDYi8I3dFWiYIlgWrwYUYCGAYAFu4Q7A==');
writeln('Eighth Road DTM set');
end;
8 : begin
i := 'Ninth';
VarTheRoad := DTMFromString('mbQAAAHicY2VgYKhkYmAoAuIeII4C4hYgjgGKh0NxGBAXALFfoDpDR1slHB89foBBEiiOjhmxYDAAACbDDF4=');
writeln('Ninth Road DTM set');
end;
end; // end of the CASE
writeln('Attempting to locate the ' + i + ' DTM');
if FindDTM(VarTheRoad, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
writeln(i + ' Road DTM Found');
MMouse(x+10, y+z, 4, 4);
Wait(RandomRange(350, 525));
FreeDTM(VarTheRoad);
ClickMouse2(True);
end else
begin
writeln('Failed to locate the ' + i + ' DTM');
FreeDTM(VarTheRoad);
GOTO FindRoadLoop;
end;
end;
Function MakingFire: boolean; //credit to Flight's guide on using pixelshift
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Result := (AveragePixelShift(PBox, 300, 550) > 350);
end;
function DetectSpirit: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor1, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected - DetectSpirit function');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
wait(4000 + Random(800)); //give it time to burn some logs after seeing a spirit
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
end;
function DetectSpirit2: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor2, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected - DetectSpirit2 function');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
wait(4000 + Random(800)); //give it time to burn some logs after seeing a spirit
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
end;
function DetectSpirit3: String; //Tribute to JJ for this function!
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(SpiritColor3, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected - DetectSpirit3 function');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
wait(4000 + Random(800)); //give it time to burn some logs after seeing a spirit
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
// burn cycle has been interrupted, go back to bank and start over
BurnTime := BurnTime + 120000;
end;
end;
end;
end;
Procedure DebugShiftCount;
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Writeln(IntToStr(AveragePixelShift(PBox, 250, 500)));
end;
// this procedure cycles Z between 1 and 10 on alternating
// passes of the main function
procedure adjustz;
begin
if z = 1 then
begin
z :=10
end else
begin
z:=1
end;
end;
procedure Antiban();
begin
if not loggedin then exit;
if FindNormalRandoms then
begin
writeln('in random');
logout;
end else;
case random(200) of
//0: MakeCompass(RandomRange(100,180)); //different SRL antiban procedures
1: PickUpMouse;
//2: RandomAngle(True);
3: begin HoverSkill(skill_firemaking,false); wait(1000+random(1000)); gametab(tab_inv); end;
4: ExamineInv;
//5: BoredHuman;
//6: RandomMovement;
7: wait(1000+random(1000));
//8: missmouse(264, 177);
end;
end;
Procedure Burn;
label burning, FindFire, FireBurning;
var t, i, TimeRemaining: integer;
begin
//right click a log and burn it
MouseItem((12+random(15)), mouse_right);
WaitOption('Light', 500);
// the above function doesn't detect the inability to burn
wait(5000+random(1000));
//try to right click a fire in front of you and add logs
MouseBox(293, 169, 303, 173, mouse_right);
if ChooseOption('Add') then
begin
Writeln('Looks like a good place for a bonfire');
WaitOption('Add', 500);
end else
begin
// the goal is to loop 25x and find random spots within 25x25 pixels of center screen
// there is no uptext for a fire other than the 2 more options
Writeln('Looks like you cant have a fire here, lets see if one is already burning');
i := 1;
MMouse(MSCX, MSCY, 2, 2); // first see if the character is standing in a fire
FindFire:
if isUpText('ore options') then
begin
ClickMouse2(False);
wait(200+random(600));
if ChooseOption('Add') then
begin
Writeln('I think I found a fire already burning, trying it out...');
WaitOption('Add', 500);
GOTO FireBurning;
end;
end else
begin
Writeln('Moving the mouse randomly pass ' + ToStr(i) + ' of ' + toStr(ReScanForFire));
MMouse(MSCX-50, MSCY-50, 100, 100);
wait(500+random(200));
end;
if i > ReScanForFire then exit;
i := i + 1;
GOTO FindFire;
end;
FireBurning:
While MakingFire do
begin
antiban;
progressreport(startXP);
debugshiftcount;
end;
MarkTime(T);
Burning:
wait(1000+random(500));
antiban;
BurnTime := TimeFromMark(T)
DetectSpirit;
DetectSpirit2;
DetectSpirit3;
// only stay in the loop for 2 mins or until inv empty
if (invEmpty) then exit;
if (BurnTime < BurnFailSafe) then
begin
TimeRemaining := ((BurnFailSafe - Burntime)/1000);
writeln(toStr(TimeRemaining) + ' seconds until failsafe run back to bank');
goto Burning;
end;
end;
begin //main script
SetupPlayer; //does the various procedures
z:=1
repeat
// a little housekeeping at the beginning of the loop
Adjustz; // cycle the var Z between 1 and 10
//VarTheBank := 0 // null the DTM var, was having trouble 2nd time through with DTM
//VarTheRoad := 0 // null the DTM var, was having trouble 2nd time through with DTM
writeln('finding randoms');
FindNormalRandoms; //find randoms
wait(2000);
writeln('going to the bank');
//return to the bank
GoToTheBank;
wait(5000);
writeln('getting logs');
VarLogsWithdrawn := 'NO';
BankLogs; //go to bank and pull out an inventory of logs
wait(5000);
writeln('antiban');
antiban; //antiban
wait(2000);
writeln('going to the road');
//GoRoad; //go to the road
GoToTheRoad;
wait(5000);
writeln('burning all of the logs');
Burn; //burn all logs
wait(2000);
writeln('doing the progress report');
ProgressReport(startXP); //increment progress report
wait(2000);
until(not LoggedIn);
//nextplayer(false);
end.
[D]ude
2012-05-13 10:54:19
From: abby
I tried hopping worlds and it ran 2 inventories before getting stuck and not going into bank. it has gotten better tho.:)
I set the run time to 60 minutes and I got this proggy last time I ran it.
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 1 Minutes and 19 Seconds
XP GAIN: 66105
XP/H: 64669.5690950885<–again with willows. still have 10k willows left to burn
If its not going to the bank, if you could take a screeny and post it here I will be able to modify it to work better for you.
Thats some pretty sweet stuff Jack. I only knew how to program Simba, but I learned a lot from looking through your script. I think I'll try to implement some of those things into my scripts. I have edited into V102 in the burn function, I made it a lot more reliable, so it doesn't have to find or search for a fire. You should check it out. Also, I'm adding spirit detection, and flawless firemaking into v103. Instead of using colors to detect if a spirit is there, it just searches for the text that pulls up in the chatbox when a spirit is there. Then it will collect the reward by using aca and it will bank the reward, withdraw more logs, and make more fires.
Trance Love
2012-05-13 13:56:57
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 23 Seconds
XP GAIN: 121509
XP/H: 120717.395677842
That's awesome! I used maples, according to my calculations it will take 14 days to get 99 from 82 botting 6 hours a day. Takes 19 days using 1 day brakes after each 3 days.
As soon as i get my membership, i'll get my 99 FM using this script!
Would be awesome if you would add breaking along with flawless spirit looting!
[D]ude
2012-05-13 20:08:44
Awesome proggy. I got about 450k xp so far today using the incomplete version103.
Version 103 right now detects if radialwalk walks to the wrong location and then it will switch players, so less chance of being banned. I have the spirit detection done, but I need to make it collect from the spirit still. I'm add a walking failsafe, where if it doesn't find the bank, then it will sps walk to the bank.
TheWord
2012-05-14 00:07:36
[Hint] C:\Simba\Includes\SRL/SRL/core/mapwalk.simba(1353:3): Variable 'BOX' never used at line 1352
[Error] C:\Simba\Includes\sps/sps.simba(300:3): Unknown identifier 'SPS_FilterMinimap' at line 299
Compiling failed.
[D]ude
2012-05-14 11:05:35
Word redownload the script. Its compiling fine for me
blinkblink
2012-05-14 13:28:21
From: TheWord
[Hint] C:\Simba\Includes\SRL/SRL/core/mapwalk.simba(1353:3): Variable 'BOX' never used at line 1352
[Error] C:\Simba\Includes\sps/sps.simba(300:3): Unknown identifier 'SPS_FilterMinimap' at line 299
Compiling failed.
make sure your SPS up to date
Moron
2012-05-14 13:54:07
From: blinkblink
make sure your SPS up to date
How do you do that?
blinkblink
2012-05-14 14:53:38
From: Moron
How do you do that?
well your name says you are a Moron, so….. jk
But anyways in the top menu of *Simba

Do the same with Extensions, SRL, SPS, MSI & ODTM
On each wait reading in the bottom or the console till it says it finished updating
If afterwards you are still getting the error after trying to run the script, then in where it says Settings(on each of those you updated) select "Override Update* and afterwards do again "Check for Update"
Now if you are still getting the error.. then crap I have no other idea lol
simba is like the shittiest bot iv ever seen and your script aswell, sit that shit in!
zamserv
2012-05-14 15:25:05
From: 3ely
simba is like the shittiest bot iv ever seen and your script aswell, sit that shit in!
why? because you cant use it?
[D]ude
2012-05-14 15:29:02
From: 3ely
simba is like the shittiest bot iv ever seen and your script aswell, sit that shit in!
Lol. Leechers…..
k9thebeast
2012-05-15 04:54:13
There is one problem when it tries to make a fire ontop of another fire. It fails, then it clicks "add to bonfire" which works, but then runs to the bank and does another run :/
Produst
2012-05-15 10:20:07
After a while, it just runs to dwarfen mine entrance.. i'd say theres plenty of work to do here.. :stirthepot:
[D]ude
2012-05-15 10:31:15
If you guys like, I can release an incomplete version of v103 and these problems are fixed in it. I'll call it v102.5 haha. Only if someone requests it though
Produst
2012-05-15 11:04:14
Sure.. why do we always have to request ? :confused: just upp it..
teamemb99
2012-05-15 11:29:37
seems a good script il test it later
[D]ude
2012-05-15 13:12:32
I uploaded v1025. If it runs to the wrong spot, it will detect it and log out. I also updated the radial walk so it is more reliable, and added an SPS walk option.
E: Post 200!!!
Produst
2012-05-15 15:45:39
crashes - logs out, when you get that daily SPIN.. but everything else seems to be okay AT THE MOMENT..
[D]ude
2012-05-15 16:39:41
At least it logs out instead of sit there forever. Lol jk. But I love your positive attitude.
E: If you downloaded the script before 3:30pm Eastern Time then you will have to redownload it, as I made a few changes then
Produst
2012-05-15 17:00:32
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 16 Minutes and 43 Seconds
XP GAIN: 154807
XP/H: 121053.514146599
So far so good.. hope it wont crush.. gonna give more feedback.. atm this is the best one iv'e been using. If we get rid of those small bug's that are left this script will be kick ass lolz..
[D]ude
2012-05-15 17:08:47
Wow nice proggy. I think the longest proggy I ever got was 2 hours, and then there is always a random and it logs out. But still 2 hours is like 200k xp at least with maples. I think I'm gonna start using multiplayer so the randoms don't matter so much.
Produst
2012-05-15 17:20:39
You should do something with that random thing.. if you can get rid of this i think the script can run about 6-10 hours wich is good.. :spot:
Produst
2012-05-15 17:23:23
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 31 Minutes and 27 Seconds
XP GAIN: 184881
XP/H: 121287.834362149
***** Found Random: Quiz Master *****
Quiz_ScanItem: Shears Small, with a score of 9
Quiz_ScanItem: BattleAxe Big, with a score of 9
Quiz_ScanItem: Tuna Fish Small, with a score of 7
GetTROAUse: UseNames - ['Tool', 'Weapon', 'Edible']
GetTROAUse: UseCounts - [1, 1, 1]
GetTROAUse: Result - Tool
Quiz_SolveQuestion: We need to pick BattleAxe Big at slot 2
Quiz_Solve: Answered question right
Quiz_ScanItem: Trout Fish Small, with a score of 5
Quiz_ScanItem: Tuna Fish Big, with a score of 5
Quiz_ScanItem: BattleAxe Small, with a score of 7
GetTROAUse: UseNames - ['Edible', 'Weapon']
GetTROAUse: UseCounts - [2, 1]
GetTROAUse: Result - Edible
Quiz_SolveQuestion: We need to pick BattleAxe Small at slot 3
Quiz_Solve: Answered question wrong
Quiz_ScanItem: BattleAxe Small, with a score of 9
Quiz_ScanItem: Trout Fish Big, with a score of 5
Quiz_ScanItem: Trout Fish Small, with a score of 9
GetTROAUse: UseNames - ['Weapon', 'Edible']
GetTROAUse: UseCounts - [1, 2]
GetTROAUse: Result - Edible
Quiz_SolveQuestion: We need to pick BattleAxe Small at slot 1
Quiz_Solve: Answered question right
Quiz_ScanItem: Tuna Fish Small, with a score of 9
Quiz_ScanItem: Shears Big, with a score of 9
Quiz_ScanItem: Sword Small, with a score of 7
GetTROAUse: UseNames - ['Edible', 'Tool', 'Weapon']
GetTROAUse: UseCounts - [1, 1, 1]
GetTROAUse: Result - Edible
Quiz_SolveQuestion: We need to pick Shears Big at slot 2
Quiz_Solve: Answered question wrong
Quiz_ScanItem: Trout Fish Small, with a score of 9
Quiz_ScanItem: Tuna Fish Big, with a score of 7
Quiz_ScanItem: Necklace Small, with a score of 7
GetTROAUse: UseNames - ['Edible', 'Jewelry']
GetTROAUse: UseCounts - [2, 1]
GetTROAUse: Result - Edible
Quiz_SolveQuestion: We need to pick Necklace Small at slot 3
Quiz_Solve: Answered question right
Quiz_ScanItem: Trout Fish Small, with a score of 9
Quiz_ScanItem: Trout Fish Big, with a score of 5
Quiz_ScanItem: Sword Small, with a score of 9
GetTROAUse: UseNames - ['Edible', 'Weapon']
GetTROAUse: UseCounts - [2, 1]
GetTROAUse: Result - Edible
Quiz_SolveQuestion: We need to pick Sword Small at slot 3
Quiz_Solve: Answered question wrong
Quiz_ScanItem: Helmet Small, with a score of 11
Quiz_ScanItem: Tuna Fish Big, with a score of 7
Quiz_ScanItem: Necklace Small, with a score of 7
GetTROAUse: UseNames - ['Weapon', 'Edible', 'Jewelry']
GetTROAUse: UseCounts - [1, 1, 1]
GetTROAUse: Result - Weapon
Quiz_SolveQuestion: We need to pick Tuna Fish Big at slot 2
Quiz_Solve: Answered question wrong
Quiz_ScanItem: Necklace Small, with a score of 9
Quiz_ScanItem: Ring Big, with a score of 9
Quiz_ScanItem: Tuna Fish Small, with a score of 7
GetTROAUse: UseNames - ['Jewelry', 'Edible']
GetTROAUse: UseCounts - [2, 1]
GetTROAUse: Result - Jewelry
Quiz_SolveQuestion: We need to pick Tuna Fish Small at slot 3
Quiz_Solve: Answered question right
Quiz_ScanItem: Ring Big, with a score of 9
Quiz_ScanItem: Ring Big, with a score of 9
Quiz_ScanItem: Trout Fish Small, with a score of 9
GetTROAUse: UseNames - ['Jewelry', 'Edible']
GetTROAUse: UseCounts - [2, 1]
GetTROAUse: Result - Jewelry
Quiz_SolveQuestion: We need to pick Trout Fish Small at slot 3
Quiz_Solve: Answered question wrong
Quiz_ScanItem: Ring Small, with a score of 9
Quiz_ScanItem: Necklace Big, with a score of 9
Quiz_ScanItem: Shears Small, with a score of 7
GetTROAUse: UseNames - ['Jewelry', 'Tool']
GetTROAUse: UseCounts - [2, 1]
GetTROAUse: Result - Jewelry
Quiz_SolveQuestion: We need to pick Shears Small at slot 3
Quiz_Solve: Answered question right
Quiz_ScanItem: Tuna Fish Small, with a score of 7
Quiz_ScanItem: Trout Fish Big, with a score of 5
Quiz_ScanItem: Sword Small, with a score of 7
GetTROAUse: UseNames - ['Edible', 'Weapon']
GetTROAUse: UseCounts - [2, 1]
GetTROAUse: Result - Edible
Quiz_SolveQuestion: We need to pick Sword Small at slot 3
Quiz_Solve: Answered question right
Quiz_ScanItem: Ring Small, with a score of 11
Quiz_ScanItem: Tuna Fish Big, with a score of 7
Quiz_ScanItem: Trout Fish Small, with a score of 5
GetTROAUse: UseNames - ['Jewelry', 'Edible']
GetTROAUse: UseCounts - [1, 2]
GetTROAUse: Result - Edible
Quiz_SolveQuestion: We need to pick Ring Small at slot 1
Quiz_Solve: Answered question right
Quiz_ScanItem: Tuna Fish Small, with a score of 9
Quiz_ScanItem: BattleAxe Big, with a score of 7
Quiz_ScanItem: Shears Small, with a score of 7
GetTROAUse: UseNames - ['Edible', 'Weapon', 'Tool']
GetTROAUse: UseCounts - [1, 1, 1]
GetTROAUse: Result - Edible
Quiz_SolveQuestion: We need to pick BattleAxe Big at slot 2
Quiz_Solve: Answered question wrong
***** Solved Random: Quiz Master *****
***** Found Random: Rewards *****
RD_SolveBox: Found reward box
RD_ClickBoxOption: Found box option une
***** Solved Random: Rewards *****
in random
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 33 Minutes and 35 Seconds
XP GAIN: -29826519
XP/H: -19119706.4507961
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 33 Minutes and 41 Seconds
XP GAIN: -29826519
XP/H: -19100024.7076308
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active…
All players not active!
Successfully executed.
and caboom… i think it opened rewardbox and got 26 runes and then logd out.. hmmm.. weird.. if it clicks on fire spirit rarely and then banks the shit that it got from there, why is doesn't the script just empty inv. as well as fire spirits thingy.. ugh, keep up the good work
[D]ude
2012-05-15 17:28:25
Okay. I fixed it. Forgot to take the logout after random thingy from an old script
E: Just uploaded it
Produst
2012-05-15 17:34:24
Great, going to test it. Hope that the "GAME SESSION" wont end when I sleep lol.. Gonna give you more feedback in about 10 hours bro ;)
Moron
2012-05-15 17:39:24
From: Produst
Great, going to test it. Hope that the "GAME SESSION" wont end when I sleep lol.. Gonna give you more feedback in about 10 hours bro ;)
After the player finishes adding all the logs to the bonfire, do you get a small delay of like 2-3 seconds before the player banks?
[D]ude
2012-05-15 17:52:22
Yes its supposed to do that. Maybe when I figure out a better detection system I will be able to eliminate that. I would use pixelshift which is the best, but you don't move in bonfire making so it doesn't work
StevenLatham95
2012-05-15 18:15:20
cant start fires in the bank. lmao
Produst
2012-05-15 18:27:22
From: StevenLatham95
cant start fires in the bank. lmao
Problably you have old version of the script. Latest is working fine atm. Full feedback in 9 hours. :spot::spot::spot::spot::duh::duh::duh::google::google::spot::spot::spot::spot::f::f::f:
Produst
2012-05-15 18:53:40
AAAAArghh..
You cannot light a fire there, script walked wrong place
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 15 Minutes and 37 Seconds
XP GAIN: -30033066
XP/H: -23825471.709755
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active…
All players not active!
Successfully executed.
:fiery: :fiery: :fiery: :fiery:
ugh, going to add some more bugs here, dont like too many post :D
***** Found Random: Leo *****
Leo solver currently disabled
***** Failed Random: Leo *****
Produst
2012-05-15 18:55:57
I dont think it was due to walking only 1 SQUARE away from normal firemaking place.. it's because I got that SPIN again.. damn.. we need to find a solution for that spin thingy.. (Not the spin that comes with ticket.. spin that comes randomly flashing in the right lower corner)
Produst
2012-05-16 05:52:58
12:15
Book of knowlege.. logs out (that dragon teacher what ever random :D)
+ jagex has changed randoms to oldschool.. hmm need to update randoms :(
[D]ude
2012-05-16 09:48:16
Could you tell me what happens when the random spin thing happens??? I haven't been able to find it
Produst
2012-05-16 11:05:52
GOT it.. it wont click on it (it has to be closed before script continue's) mouse goes crazy, coz it cant close or click on it.. i think you must add somekind of "Close" option to the script..
progress so far is:
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 3 Hours, 14 Minutes and 26 Seconds
XP GAIN: 371849
XP/H: 114740.056066489
:f:
[D]ude
2012-05-16 11:52:24
The smart client is the one that clicks on the extra spin ticket things. I can imagin I had like 50 spins yesterday.
Nice proggy! I'm gonna add it to the OP. I had one like that yesterday but my bro closed simba and he lost it :( haha.
I think the smart client is the one that closes the spin thing also. The script has nothing to do with it,. Oh and I updated the antiban to make it less detectable. Its pretty sweet.
Produst
2012-05-16 11:53:54
well, it ran 40 more minutes and then my game session ended.. :duh:
[D]ude
2012-05-16 12:06:55
IT RAN TILL THE GAME SESSION ENDED!!!!!!!!!!!!!!!!!!!!!
Thats like a pro script eh??? Jk. I know I have a lot of work still
Produst
2012-05-16 12:19:13
Thumbs up.. we'll get this script to the top ;)
Firemaking with **VeB**
75-90…DONE!
90-99…IN PROGRESS!
[D]ude
2012-05-16 13:06:57
Awesome! Post a pic of the 99 when you get it :D
Produst
2012-05-16 13:13:21
way too much camera movement, fails to bank sometimes.. check it ;)
[D]ude
2012-05-16 13:14:49
Ok. I will change it back.
E: Changed
Produst
2012-05-16 16:04:14
Testing..
[D]ude
2012-05-16 16:09:31
It works fine again. got this proggy but then my game time ended
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 58 Minutes and 55 Seconds
XP GAIN: 92883
XP/H: 94564.2205013182
Produst
2012-05-16 16:14:31
Ran for 2 minutes and then just freezez, no error, nothing.. just wont bank… trying to re-run, mabey it was my bad..
[D]ude
2012-05-16 16:17:04
Hm. Interesting. Definitely try restarting it.
Produst
2012-05-16 17:27:30
Working atm. 146K xp/ph :)
[D]ude
2012-05-16 18:18:05
Nice! :D I'm making a clay miner/banker at this minute
peeweewoen
2012-05-17 01:59:29
From: 3ely
simba is like the shittiest bot iv ever seen and your script aswell, sit that shit in!
lool u mad? :fiery:
:P :spongebob:
Produst
2012-05-17 04:57:34
Feedback/progress: Well, the script always runs for 3 hours + - 40 minutes.. if we can get it to run for 1 Game session (6 hours) then this is the best script (PRO SCRIPT).. And to get it run for 6 hours we need to find a solution for the randoms. 2 THUMBS UP ATM!
91/99..IN PROGRESS!
lap101
2012-05-17 05:30:42
Would be nice if it detected other bonfires, it only adds to other bonfires if it walks on a fire and fails to set a new one.
Would be nice if it detected fire spirits
Sometimes logs out when the inventory is full of logs.
If i start it outside the falador east bank it most likely will just keep swapping mouse between those 2 lanterns on the wall.
Examines my logs, or at least tries to, multiple times per load. Isn't that bit too much?
Other than that, I like it so far.
Produst
2012-05-17 05:37:53
Wrong settings br0, works just fine (and as you can read 1st page there's no fire spirit support).. Start @ bank booth. No need of other bonfire detections, makes it crush…
92/99..IN PROGRESS!
Welcome Fruity
2012-05-17 08:30:10
Good script, but when it creates a new fire and banks the first fire is still lit but it creates aoither one to make 2. Its not a huge bug but it just looks like your botting.
Produst
2012-05-17 09:20:41
:duh: Prolly you havent run it for about hour.. it lits fire randomly.. yeah, well v125.(4) may have 2 specific fireing spots but when there's and old fire and it trys to make another one on top of it (wich is impossible)..so it will just add logs to the old fire..
Dont start complaining after running it for 15 mins or w.e. I've been testing and giving feedback to dude1994 for almost 3 days.. (6-10 updates?) :spongebob:
I must say.. this script has turned out from WORST to BEST for now..
Firemaking with **VeB**
75-90…DONE!
90-99…IN PROGRESS! (92 atm)
lap101
2012-05-17 10:56:14
From: Produst
Wrong settings br0, works just fine (and as you can read 1st page there's no fire spirit support).. Start @ bank booth. No need of other bonfire detections, makes it crush…
92/99..IN PROGRESS!
Even I'm not sure what setting you were pointing to, only setting I see that could change anything is the walktype (unless you were talking about the settings "in" the script.
Thats why I wrote Would be nice (a suggestion?)
Well if a random came and it would be bonfiring, that would sort of end the functioning of the script, so thats why it should also be startable outside the bank.
Max I've ran it is 2,5h, then it somehow had found it's way to the fountain on the right and stopped, becouse it couldn't bank. And it didn't detect a random, so i suppose it has something to do with the script. But I'm currently using radial walk so maybe that's the reason. Also sometimes walks behind the bank.
Reason I suggested detecting other bonfires, is that isn't it bit suspicious if you walk on a fire and try to make a fire on it and then just click add to bonfire?
Also if the fire goes out for some reason, then it goes to bank instead of lighting a new fire or looking for other bonfires.
Produst
2012-05-17 11:18:23
Randoms are messed up in most of the scripts atm coz jagex change few things(Deal with it). About walking: theres something wrong with your setting or some things need to be updated, coz the script runs smoothly (without randoms 6h - 1 game session). I dont really know whats wrong with the randoms, prolly need to wait for somekind of update(PS. Its not scripts fault that it crushes @ or in the end of a random - Random solver).
Detecting bonfires.. just pick a server that has the least players and no-one will give a shit what are you doing there lol.. Most ppl who are banking'n'walking are bots - Miners,smelters,air rune crafters,crafthing guild trolls etc.
Welcome Fruity
2012-05-17 16:22:21
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 4 Hours, 23 Minutes and 51 Seconds
XP GAIN: 487949
XP/H: 110955.429381375
Tried doing a random manually but when i enabled the script again it started going crazy. But was working flawlessly would have got to 6 hr i recon.
Physic
2012-05-17 16:24:04
Decent Script, but i think it is quite buggy
[D]ude
2012-05-17 17:34:33
I'm gonna start editing this again after a few day break. Will work on fixing everything. Got me to over 80 fm so far from 50. :D
Okay, so in order to make this flawless spirit detecting it would be great if all of you guys could take screenies of a fire spirit and post them on here, so I can get as wide an array of colors as needed in order to properly find the spirit. Thanks!
Produst
2012-05-18 06:17:14
From: Physic
Decent Script, but i think it is quite buggy
ohh yeh, well, read the previous post kid ;)
:duh: :duh: :duh: :duh: :duh: :duh: :duh: :duh: :duh: :duh: :duh: :duh:
Firemaking with **VeB**
75-90…DONE!
90-99…IN PROGRESS! (95 atm)
Dude: Are you going to add fire spirit support ?
http://uppit.com/do2t65iqkx2z/Untitled.jpgMake this square 3 dimensional (3D) and you've got yourself the area where fire spirits appear.. :)
About randoms, i might know how to fix this thing.. My other account runs with DwarenResourceMinerBETA, and this runs along with {$i ObjectDTM\ObjDTMInclude.simba} - ODTM (One of simbas extensions).. PRO SCRIPT, HERE WE COME! Lolz.. :D
[D]ude
2012-05-18 11:49:26
Okay. Thanks produst!
Yes, I am adding spirit collecting. I made better fire detection, and made it so it only deposits into bank when items are in the inventory. I'm adding multiple firemaking locations also. I can add the option of using ODTMs as a walking function, but I don't see it as necessary with multiple SPS locations. These will all be released in V103 when I complete it.
Fire spirit colors - Not sure if you want the brownish red center. If it is what you want, you might want to check out this ACA.
[D]ude
2012-05-18 12:52:15
Thanks Eric! Looks Awesome!
I'm glad to let you all know, with the better GainingXP function I made, I am noticing about a 10-20% increase in xp/hr :D In v103
lap101
2012-05-18 14:50:21
From: dude1994
Thanks Eric! Looks Awesome!
I'm glad to let you all know, with the better GainingXP function I made, I am noticing about a 10-20% increase in xp/hr :D In v103
Great!
Btw, I'm not sure, but do you know that at least with sps it likes to walk to pretty much to the same spot meaning that it will add logs for the old one, then it goes out and bot goes banking with half full inv. On the other hand, radial sometimes fails to bank :D
[D]ude
2012-05-18 21:01:49
Yeah, I'm adding randomization to the SPS walking, so it walks to different places.
dimka1127
2012-05-19 04:04:32
add lumby basement support?
xsharpx
2012-05-19 17:32:12
Runs really smooth but one big problem.
This is what happens:
Withdraws 28 Maples.
Lights a Maple.
After several seconds or so, it will go back, empty inv, and withdraw 28 logs again.
It keeps doing this :(
Produst
2012-05-19 20:30:30
Soz, I was on holidays.. back in action.. gonna give you some feedback soon..
[D]ude
2012-05-20 09:38:14
From: xsharpx
Runs really smooth but one big problem.
This is what happens:
Withdraws 28 Maples.
Lights a Maple.
After several seconds or so, it will go back, empty inv, and withdraw 28 logs again.
It keeps doing this :(
looking into it. if your computer is slow you may need to change a few wait times to be longer. For me its running fine.
I noticed the banking was opening the bank noticeboard, so I uploaded v1028 which has most of the bugs fixed, and the banking changed a tad bit. Getting a stead 120k xp/hr currently.
I reuploaded the v1028 at 6:15pm ET. There was a problem with the antirandoms so don't hate if you downloaded it before then
Welcome Fruity
2012-05-21 03:57:47
V1028 Is working 100% better than 1025, it doesnt wait around once finished burning it gets straight to the bank and continues to burn brilliant script. Getting an extra 10-20k/hr
EDIT: Running it now
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 51 Minutes and 6 Seconds
LEVELS GAINED: 0
XP GAIN: 103543
XP/H: 121560
Much better XP ( with maples ) will upload the final Proggy when its finished.
Produst
2012-05-21 04:36:00
From: Welcome Fruity
V1028 Is working 100% better than 1025, it doesnt wait around once finished burning it gets straight to the bank and continues to burn brilliant script. Getting an extra 10-20k/hr
EDIT: Running it now
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 51 Minutes and 6 Seconds
LEVELS GAINED: 0
XP GAIN: 103543
XP/H: 121560
Much better XP ( with maples ) will upload the final Proggy when its finished.
Trolololooo :spot: Going to post final proggy when 99.. 1 more level to go.. trololoo
Welcome Fruity
2012-05-21 05:54:16
Im getting an error now, im only using 1 player so that player would be "0" i put 0 in the constants but i get this:
SMART Initialized.
Loaded: Server 7, Members: False, Signed: True, Super Detail: False.
Error: Out Of Range at line 37
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]
Its an error to do with my username part?
Produst
2012-05-21 06:05:57
ugh.. just change the value back to 1.. dum dum..
Welcome Fruity
2012-05-21 06:45:56
Yeah ive tried that but then it thinks im using 2 players and tries to log into another account
Produst
2012-05-21 06:52:03
Nope, you prolly have old version of this script.. be sure you have the latest.. works just fine
Welcome Fruity
2012-05-21 07:00:36
No its the newest ill try re dling
Welcome Fruity
2012-05-21 09:21:44
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 2 Hours, 30 Seconds
LEVELS GAINED: 0
XP GAIN: 258971
XP/H: 128941
Not gaining any xp…nextplayer
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 2 Hours, 1 Minutes and 13 Seconds
LEVELS GAINED: 0
XP GAIN: -43545864
XP/H: -21554024
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active…
All players not active!
Successfully executed.
this is what im getting… ive only want one player… but its trying to find 2…
[D]ude
2012-05-21 13:19:14
In the constants you put how many players you are using 1=1 2=2. It only says 0 in declare players for standards.
Its supposed to do that if you are only using 1 player. It keeps going until every player is no longer active. Since there are no players active, then it terminates the script and you get the successfully executed thingy
Welcome Fruity
2012-05-21 13:30:11
Yeah but it wasnt doing that before, now it runs for like an hour or so and just stops
[D]ude
2012-05-21 13:44:22
I made it better now. Is it saying it failed a random?? I forgot to add in a wait time
Welcome Fruity
2012-05-21 15:31:03
constantly getting this error now… ////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 22 Minutes and 21 Seconds
LEVELS GAINED: 0
XP GAIN: -44165425
XP/H: -32172494
NextPlayer(False)
SwitchToPlayer(PlayerNo: 0, Active: False);
Player is not Active…
All players not active!
Successfully executed.
never got it before update
Produst
2012-05-21 15:41:30
Don't think it's scripts fault.. works flawless.. get ready for 99 lol :duh:
[D]ude
2012-05-21 15:56:51
I just got this proggy
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 2 Hours, 49 Minutes and 11 Seconds
LEVELS GAINED: 0
XP GAIN: 301225
XP/H: 106817
Then the client broke or whatever
Produst
2012-05-21 16:13:02
Agree.. :spongebob:
Produst
2012-05-21 20:43:33
http://imageupload.org/en/file/225930/untitled.jpg.html :duh:
Btw.. my best proggy:
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 5 Hours, 30 Minutes and 3 Seconds
LEVELS GAINED: 0
XP GAIN: 721259
XP/H: 130848
[D]ude
2012-05-21 21:57:25
Wow! Awesome! Going on the first post right now!
Produst
2012-05-22 01:08:15
+ wow… i got hacked..
Welcome Fruity
2012-05-22 01:24:22
I dont run for more than an hour… i get that player error
[D]ude
2012-05-22 12:14:12
You got hacked!? Did you get a screeny of their IP address?
Produst
2012-05-22 14:17:32
unfortunately client crashed.. saw it but coulnt take a screenie.. :fiery: well.. dunno.. what to do.. got nothing..
[D]ude
2012-05-22 22:35:35
Aww. Well that always sucks. Did you get cleaned???
Pendulum_From_Rid
2012-05-23 00:31:00
The script seems to have an error right after it makes the fire, goes to add logs to the bonfire and clicks to early.
[D]ude
2012-05-23 00:36:48
I'll update it
E: updated
rtyrty100
2012-05-23 00:55:07
From: dude1994
I'll update it
E: updated
Nice script =) Can we expect v103 soon? Flawless fm and spirits sounds great!
Produst
2012-05-23 10:24:15
From: dude1994
Aww. Well that always sucks. Did you get cleaned???
yup, 12M gone.. :spongebob:
Complications
2012-05-23 11:11:23
Works beautifully for me. Great work! :D
Pendulum_From_Rid
2012-05-23 14:30:10
Still has the same issue for me, right after the inventory is finished it logs out.
[D]ude
2012-05-23 14:53:03
I'm not putting a date on v103. Been really busy with family stuffz. Glad to know you guys like it.
@Pendulum You should try moving the bar thing on the right of the smart client all the way up. Sounds like you are having lag troubles
wogtaz ryder
2012-05-25 00:01:27
Not gaining any xp…nextplayer
Then it logs out ? after every full bag ..
[D]ude
2012-05-25 00:34:44
Never had that happen. Maybe they changed the font of the xp counter. If so then they will have to update srl. Anyways I'm going on a vacation to virginia, so I won't be able to update for a while. Good luck botting though ;D
issac555
2012-05-25 04:51:58
From: dude1994
UPDATED
I made a bonfire maker for y'all. Here it is. Please post feedback and proggies.
Progress report from the next version I am still working on–
////////DUDES_FEB_BONFIRES\\\\\\\\ <- By Produst!! :D
TIME RAN: 5 Hours, 30 Minutes and 3 Seconds
LEVELS GAINED: 0
XP GAIN: 721259
XP/H: 130848
////////DUDES_FEB_BONFIRES\\\\\\\\ Proggy by Welcome Fruity :D
TIME RAN: 4 Hours, 23 Minutes and 51 Seconds
XP GAIN: 487949
XP/H: 110955.429381375
The next version is still not complete however. It runs very smoothly though
Setup
Start in Falador East Bank
Have logs in bank row 2 column 2
Fill out declare players and the constants.
Press play
Features
Multiplayer
Antiban
randoms support
Supports all logs
SpiritSupport-Thanks to JJ in V101
v102 does not support spirits but it works :P
v1025-Choice between sps and radial walk (Sps is slightly more accurate, but more detectable)
Timer (enter how long you want the bot to run for)
to come
V103-flawless spirit support and flawless fmaking and banking.
Updates
5/12/2012 fixed a whole lot of stuff.
I've been getting around 115k xp/hr with maple logs and 70k xp/hr with willow
hey im new to simba what are declare player and constants?
Syntax
2012-05-25 06:07:19
From: issac555
hey im new to simba what are declare player and constants?
Take a look at the script code and you will figure it out in 5 seconds both are exactly as their name suggest.
Produst
2012-05-25 06:14:13
From: Blakebn2011
Take a look at the script code and you will figure it out in 5 seconds both are exactly as their name suggest.
From: issac555
hey im new to simba what are declare player and constants?
WRONG SECTION GUYS… :fiery:
Sh!nE
2012-05-27 01:54:03
Hey. The script is awesome, but I think it would be faster if it would right click on the logs to fire them and right click on fire and add logs. I think it would be faster than how it is right now.
And I'd like to know one more thing… When the script is loading, i saw one line "Nazi$keysender" ??? Is it keylogger or something ?
[D]ude
2012-05-31 00:48:58
Just got back. :D
Lol. Thats not a line in the script. Go read through it yourself
phuzionz
2012-06-03 10:23:51
1 word, perfect.
Edit: does not colelct from the fire spirit
[D]ude
2012-06-05 18:14:30
Thanks. Its nice to see a good outcome from a lot of work :D
I'm currently questing, so I'm not going to be adding anything soon, but I will update it if its needed.
Produst
2012-06-05 18:38:26
icons of "use thinderbox" and add logs to fire have changed..
http://uppit.com/w7i7gt4lq3o3/Untitled.jpgcould you check it.. cant use the script atm due to this..
[D]ude
2012-06-07 14:30:43
It doesn't work anymore??? It all looks the same to me. Did you change you rs graphical settings??
Produst
2012-06-08 23:39:20
umm nope.. but ill check it tomorrow..
TheWord
2012-06-09 20:43:16
:/
Really angry now, used this a couple of weeks ago, didn't work tried it today, it won't add to the bonfire…
About to punch someone in the face tbh -.-
munn123
2012-06-10 03:25:09
Jup, "PLayers not active" saying for me. Everything seems okei, so i dont know problem and after that logging off
TriggedHD
2012-06-15 17:04:59
sortTPAByX(tpa, true); // first sort by column number
What's this ?
Produst
2012-06-20 09:19:13
dude1994, can you fix the add logs button.. miss clicks after the update..
[D]ude
2012-06-24 22:00:26
Where is it miss clicking? If you can give me coordinates of the right ones I can update it, but I'm really busy right now
new problem, it does about 4 logs then goes back to bank more
[D]ude
2012-06-24 22:06:02
Ok. In about a week I'll be f2p and I'll work on it then, but I'm making my own scripts for p2p right now.
Produst
2012-06-25 04:07:37
@adding to bonfire..
Emotional
2012-09-12 01:16:35
-Could not find location, doing antiban and antirandoms
-Failed random
Logs Out….
im at the bank right at bankers, and still o.o help?
satkan
2012-09-12 04:31:29
You shouldn't pick one of the most inactive bonfire scripts out there.
Anyways, all bonfire scripts seem to have flaws, so just wait for someone to make a good one… or fix one yourself.
Produst
2012-09-14 10:31:04
program FeBBonfires;
{$DEFINE SMART}
{$i srl/srl.simba}
{$i sps/sps.simba}
{Start in fally East bank with logs in second row and second colum
////////DUDES_FEB_BONFIRES\\\\\\\\
TIME RAN: 1 Hours, 28 Minutes and 0 Seconds
XP GAIN: 155658 < stopped this manually, because I modified the script
XP/H: 106125.570357273}
const
//Smart
SmartWorld = 120;
Members = False; //log into a member world=true f2p=false
SignedClient = False;
HighDetail = False;
NumbOfPlayers = 1; //how many players are you using?
StartPlayer = 0;
SRLStats_User = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
pin = ''; //put your pin in the apostraphes'
bot = 350; // time in minutes to run
log = 'Maple'; //type of log you are burning Maple, Yew, Willow, Magic, etc.
walktype = 1; //bank 1= radial, 2= sps(doesn't work)
var startXP, run, m, lvl: integer;
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
{with Players[1] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;}
end;
procedure ProgressReport(var startXP: integer);
var gain: integer;
begin
gain := GetXPBarTotal- startXP;
{$IFDEF DEBUG}
{$ENDIF}
writeln('////////DUDES_FEB_BONFIRES\\\\\\\\');
writeln('TIME RAN: ' + TimeRunning);
writeln('LEVELS GAINED: ' + IntToStr(lvl));
writeln('XP GAIN: ' + IntToStr(gain));
writeln('XP/H: ' + floatToStr(round(3600000 * 1.0 / GetTimeRunning * gain)));
end;
procedure Login;
var t: integer;
begin
MarkTime(t);
while (not LoggedIn) do
begin
if LogInPlayer then
break;
wait(10000+random(500));
if (TimeFromMark(t) > 180000) then
begin
writeln('Failed to login after 180s... Terminating');
TerminateScript;
end;
end;
end;
Procedure SetupPlayer;
begin
SRL_SixHourFix := True;
SMART_FixSpeed := True;
setupSRL();
DeclarePlayers; //and functions listed
if not (LoggedIn) then
begin
Login;
end;
ClickNorth(SRL_ANGLE_HIGH);
wait(2500+random(2500));
ToggleXPBar(true);
gametab(tab_inv);
startXP:=getXPBarTotal;
ProgressReport(startXP);
end;
Procedure DebugShiftCount;
var
PBox: TBox;
begin
PBox := IntToBox(245, 130, 285, 195);
Writeln(IntToStr(AveragePixelShift(PBox, 1000, 1200)));
end;
Function MMRandom(Time:integer):boolean;
var
x, y, fx, fy, t:integer;
begin
result:= false;
MarkTime(t);
GetMousePos(x, y);
repeat
repeat
fx := (x + random(715) - random(715));
fy := (y +random(474) - random(474));
until (fx > 0) and (fx < 715) and (fy > 0) and(fy < 474);
wait(100+random(250));
MMouse(fx, fy, 5, 5);
until (TimeFromMark(t) >= Time);
end;
procedure Antiban();
begin
if not loggedin then exit;
if FindNormalRandoms then
begin
writeln('Did random');
end else;
case random(40) of
//0: MakeCompass(RandomRange(100,180)); //different SRL antiban procedures
1: PickUpMouse;
//2: RandomAngle(True);
//3: begin HoverSkill(skill_firemaking,false); wait(1000+random(1000)); gametab(tab_inv); end;
//4: ExamineInv;
//5: BoredHuman;
6: RandomRClick;
7: wait(1000+random(1000));
8: MMRandom(100+random(100));
end;
end;
Function BankLogs:boolean;
var
i, l:integer;
begin
Result:=false;
repeat
OpenBankNPC;
wait(300+random(300));
until bankscreen or pinscreen;
wait(100+random(300));
if pinscreen then
begin
InPin(pin);
end;
if bankscreen then
begin
for i := 1 to 28 do
begin
if existsitem(i) then
begin
Deposit(2, 28, true);
end;
end;
withdraw(1, 1, 28)
CloseBank;
gametab(tab_inv);
exit;
end else;
gametab(tab_inv);
I := (1+random(27));
wait(1200 +random(500));
if existsitem(I) then
begin
exit;
end else;
if not existsitem(I) then
begin
wait(200+random(300));
if OpenBankNPC then
begin
if pinscreen then
begin
InPin(pin);
end;
if bankscreen then
begin
Withdraw(1, 1, 28);
CloseBank;
end;
end else;
gametab(tab_inv);
end;
end;
Function MakingFire: boolean; //credit to Flight's guide on using pixelshift
//var
//PBox : TBox;
//x, y : integer;
begin
result:= false;
{PBox := IntToBox(245, 130, 285, 195);
Result := (AveragePixelShift(PBox, 1000, 1200) > 300);}
MMouse(262, 81, 9, 9);
if waituptext('Show', 500) then
begin
result:= true;
end else;
{if FindBlackChatMessage('light a fire here') then
begin
logout;
writeln('You cannot light a fire there, script walked wrong place');
exit;
end;}
end;
Function GainingXP: boolean;
var
start, finish:integer;
begin
result :=false;
start := invcount;
if (start = 0) then
begin
wait(100+random(200));
start := invcount;
end else
if (start = 0) then
begin
wait(100+random(200));
start := invcount;
end else
if (start = 0) then
begin
wait(100+random(200));
start := invcount;
end else
wait(3700+random(500));
if (start > invcount) then
begin
result := true;
end;
if (invcount > start) then
begin
result:= true;
end;
end;
Function GotLogs:boolean;
var
i:integer;
begin
result :=false;
I := (1+random(27));
if existsitem(I) then
begin
MMouseItem(I);
if waituptextmulti(['Logs'], 500) then
begin
Result := true;
end else;
end else;
end;
procedure WalkingSpec(spot:Integer); //tribute to NKN's tutorial on radial walk
begin
if not LoggedIn then Exit;
case spot of
1: RadialWalkTolerance(7897737, 3, 357, 25, 0, 0, 11);
2: RadialWalkTolerance(12502214, 177, 183, 32, 0, 0, 9); //12568007, 12370632
end;
end;
Function GoBank:boolean;
var
i :Integer;
mypath:tpoint;
begin
if not loggedin then exit;
result := false;
case walktype of
1:
begin
i := 2;
Writeln('Walking to get more logs location: ' + IntToStr(i));
WalkingSpec(i);
wait(2000+random(1000));
result := true;
end;
2:
begin
SPS_Setup(runescape_surface, ['9_8', '9_7']);
myPath := Point(3890, 3235);
SPS_WalkToPos(myPath);
result := true;
if not SPS_PosOnMM(myPath) then
begin
writeln('Could not find location, doing antiban and antirandoms');
antiban;
wait(11000+random(4000));
if not SPS_PosOnMM(myPath) then
begin
writeln('Failed random');
logout;
end;
end;
end;
end;
end;
Function GoRoad:boolean;
var
i:Integer;
mypath:tpoint;
begin
if not loggedin then exit;
result := false;
case walktype of
1:
begin
i := 1;
Writeln('Walking to burn them logs location: ' + IntToStr(i));
WalkingSpec(i);
result := true;
end;
2:
begin
SPS_Setup(runescape_surface, ['9_8', '9_7']);
myPath := Point(3884+random(10), 3209+random(10));
SPS_WalkToPos(myPath);
result := true;
if not SPS_PosOnMM(myPath) then
begin
writeln('Could not find location, doing antiban and antirandoms');
antiban;
wait(11000+random(4000));
if not SPS_PosOnMM(myPath) then
begin
writeln('Failed random');
logout;
end;
end;
end;
end;
end;
Function Empty: boolean;
var
lol:integer;
begin
result := false;
lol := InvCount;
if (lol = 0) then
begin
wait(200+random(200));
lol := InvCount;
end;
if (lol=0) then
begin
result := true;
end;
end;
function DetectSpirit: String;
var
SpiritColors: TPointArray;
SpiritColorsSplit: T2DPointArray;
P: TPoint;
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.16, 0.30);
if CountColorTolerance(4219032, MSX1, MSY1, MSX2, MSY2, 12) > 75 then
begin
WriteLn('Spirit detected');
if FindColorsTolerance(SpiritColors, 4219032, MSX1, MSY1, MSX2, MSY2, 12) then
begin
SortTPAFrom(SpiritColors, Point(MSCX, MSCY));
SpiritColorsSplit := SplitTPAEx(SpiritColors, 10, 20);
SortATPASize(SpiritColorsSplit, True);
P := MiddleTPA(SpiritColorsSplit[0]);
MMouse(P.X, P.Y, 2, 2);
if WaitUpTextMulti(['ollec', 'eward', 'ire s', 'irit'], 250) then
begin
ClickMouse2(1);
Result := 'Yes';
Wait(3000 + Random(3000));
end;
end;
end;
end;
Procedure Burn;
var
i: integer;
begin
if not loggedIn then exit;
i := (10+random(16));
if not existsitem(i) then
begin
i := (10+random(16));
if existsitem(i) then
begin
MouseItem(i, mouse_left);
wait(700+random(200));
MouseBox(190, 415, 196, 419, mouse_left);
wait(1500+random(700));
MouseItem((1+random(8)), mouse_left);
wait(900+random(200));
MouseBox(296, 419, 302, 423, mouse_left);
wait(4500+random(700));
if GainingXP then
begin
repeat
antiban;
progressreport(startXP);
wait(1000+random(1000));
until (not GainingXP);
antiban;
exit;
end;
end;
end else;
{if not existsitem(i) then
begin
writeln('Could not fin any logs to burn');
logout;
exit;
end else;}
if existsitem(i) then
begin
MouseItem(i, mouse_left);
wait(700+random(200));
MouseBox(190, 415, 196, 419, mouse_left);
wait(1500+random(700));
MouseItem((1+random(8)), mouse_left);
wait(900+random(200));
MouseBox(296, 419, 302, 423, mouse_left);
wait(4700+random(2000));
if GainingXP then
begin
repeat
antiban;
progressreport(startXP);
wait(1000+random(1000));
until (not GainingXP);
antiban;
exit;
end;
end;
end;
Procedure Burn2;
var
n:integer;
begin
for m := 1 to 28 do
begin
if existsitem(m) then
begin
MouseItem(m, mouse_left);
wait(700+random(200));
MouseBox(190, 415, 196, 419, mouse_left);
wait(1500+random(700));
for n := 1 to 28 do
if existsitem(n) then
begin
MouseItem(n, mouse_left);
wait(700+random(200));
MouseBox(296, 419, 302, 423, mouse_left);
wait(4700+random(2000));
end;
if GainingXP then
begin
repeat
antiban;
progressreport(startXP);
wait(1000+random(1000));
until (not GainingXP);
antiban;
exit;
end;
end;
end;
end;
Procedure MainLoop;
var
jk:integer;
begin
if not loggedin then exit;
jk := getXPBarTotal;
GoBank;
BankLogs;
antiban;
GoRoad;
Burn;
//Burn2;
if (jk = getXPBarTotal) then
begin
Writeln('Not gaining any xp...nextplayer');
logout;
exit;
end;
end;
begin //main script
SetupPlayer;
MarkTime(Run); //does the various procedures
Lvl := 0;
repeat
MainLoop;
ProgressReport(startXP);
if (TimeFromMark(run) > (bot*60000)) then
begin
writeln('All done burning the logs')
logout;
end;
until(not LoggedIn);
nextplayer(false);
end.
This is my first time on "touching" scripts. Got it working with latest simba. + smart 8.0 :(
Produst
2012-09-14 11:22:29
Any1 got ideas how to fix the fire spirit thingy ? :P