Ah yes.. will take a look.
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
Last edited by chuckyb0y; 05-11-2012 at 07:12 AM.
how about making bonfire for ge? there is always a fire next to bank by people that are also training...
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.
You got it up pretty fast, will try it out and post a progress report soon! Good job man.
anyone else getting errors?
I might just updated from this script and make this better after I'm done with my mobilising armies script.
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.
Just read through the script. Found that it is quite poorly made. I'm making a new one right now.
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
Just to inform you guys. I made one, try it out.
http://villavu.com/forum/showthread.php?t=82093
Dude, if you want some paint in your script, i can make you one for free![]()
Need a forum signature? a banner in your script maybe? Look no further! -Vengeance09 [PM ME FOR DETAILS!]
Is the Bonfire possible at SoulWars??????
doesn't support that TROLL random..
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
Simba Code: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.
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...
Simba Code: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.
does the script jack said work cuz i am not home riight not and i want to use it when i get home
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.
also if it does work it goes to the same spot every time to light the fire =/
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.
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.
There are currently 1 users browsing this thread. (0 members and 1 guests)