just tested this script works like a charm gona use for 99 fm soon i think rs did something with butler tho might keep looking at it and will post if its something i did that made butler go away or its rs ..
just tested this script works like a charm gona use for 99 fm soon i think rs did something with butler tho might keep looking at it and will post if its something i did that made butler go away or its rs ..
Can also comment on the butler issue, Worked fine for 20 minutes, Butler vanished.. Weird huh.
The butler doesn't vanish.
There's a relatively rare mishap that occurs in the script when it attempts to Uncert your logs.
It only waits 750-950ms after clicking "Uncert" and if there's lag, it can press 2 (from 26) which selects the Bank option instead. It still believes that you've requested the butler to Uncert your logs so it proceeds to run back to the South-East corner.
Unfortunately, the butler hasn't gone to Uncert your logs, you just exited out of a conversation with him and he is no longer following you.
Edit: on the bright side, I just got a 4 hour 30 minutes run and I only had to fix the issue once.
Hi Folks,
Just started running this script and its amazing. I noticed only one issue so far (30 minutes in). After getting the bulter to uncert my character tried to run back to his starting point but doesnt make back before the butler gives the logs back. The character than starts burning logs from when the butler gave the inventory. This means that over time the character will slowly start heading more west with each new inventory?
Did anyone else get this? Not sure if its normal or not ...
Thanks!!
Digital Ninja
============S1NFiremaker===========
Time Running: 5 Hours, 49 Minutes and 34 Seconds
XP Earned: 730215
XP Per Hour: -80286
Logs Burned: 5512
Burned Per Hour: 956
===================================
===================================
Gave this a go 130k xp hour not bad.
Tutorials: Creating Custom SPS Minimap Maps + How to Use SPS | Bitmap Tutorial (For Finding Items In Inventory + Bank) + Implementing Into A Script
Private: RS3 AstralRcRunner
Currently: Looking for a script request
Yep, that happens. You also tend to go further and further north as time goes by.
I find that it's generally pretty safe to go for about 1 or 2 hours without me having to interfere and move them back to the start position.
If you're prepared to check up on it every now and then, it's fine. However, if you're looking for a script you can run while you go on holiday for 2 weeks, this isn't quite it. :P
does this works flawless for more than 1-2 houers`? and does it support magic logs ? , i got a big house , does it work with that ?
Edit: works flawless have runned it for over 3 houers now!... ill post a proggie when it STOPS thanks alot
Edit: Here's a proggy
=============v1.7==================
============S1NFiremaker===========
Time Running: 5 Hours, 45 Minutes and 44 Seconds
XP Earned: 1735002
XP Per Hour: 94062
Logs Burned: 5831
Burned Per Hour: 1012
===================================
===================================
Successfully executed. Burned Magic logs !
Here i burned maple logs! =============v1.7==================
============S1NFiremaker===========
Time Running: 5 Hours, 59 Minutes and 41 Seconds
XP Earned: 742755
XP Per Hour: -75118
Logs Burned: 5670
Burned Per Hour: 945
===================================
===================================
Successfully executed.
Works like a charm! going for 99 this week - weeeeee!
Last edited by thomas1116; 05-05-2012 at 05:55 AM.
can someone tell me how much money do i need to pay the butler per hour ?
You must pay the Demon Butler 10,000 gp (or 7,500 after completing the quest, Love Story) every 10 tasks.
In this case the 10 tasks will be Uncerting logs.
Assuming 1000~ logs are burned every hour that's 39~ trips/task the butler must take every hour (1000/26 is 38.46, rounded up to 39 because we can't have .4 of a trip/task). 39 tasks... 39,000 gp (1,000 gp per task).
Expect to pay your butler 40,000 gp /hour. Very reasonable for immunity to randoms!
Providing you keep a bit of cash in your money pouch you won't have any problems.
not working- butler running off when it asks you if u wanna take the logs or take them to sawmill when you are in the middle of running
flawless script tyvm
Another script that is working better because of the performance update
Red & Green Salamander Hunter // Construction // Gilded Altar // Major help w/ Kyles Runespan // VWB Smither // PhoenixFeathers // GemCutter // Bonfire // LRC Miner // Spell Tab Maker // ApeAtollAgility // IvyWC // RoguesCooker // Herblore // AshamanButterfly // AshamanPowerMiner // Fletcher // LividFarm
This looks amazing.
Will give it a try after Im done with herbalore.
Great work Sin, as always.
Looking at it I think I was messing with some other things as well. IDK if it works 100%, but I know the relocate function is where it fixes the drifting thing, and that works.
Here is the whole thing, might want people to make sure the rest of it works too before posting the whole thing, or just take that function.
Simba Code:program new;
{$include srl/srl/misc/smart.simba}
{$I SRL/SRL.simba}
{$I srl/srl/misc/debug.simba}
var
StartTime,XPBurn,Burned:Integer;
//Cases
UseProggys,NextLight:Boolean;
TypeOfLogs:String;
procedure DeclarePlayers;
begin
UseProggys := False; //Yes or No * True or False
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Active := True;
Players[0].Pin := '';
Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];
end;// declare players
procedure SetupLogin;
begin
ClearDebug;
Smart_Server := 10;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
end;
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
WindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
end;
Procedure HumanMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
WindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
ClickMouse2(True);
end;
function FindButler(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.39, 1.37);
if not(FindColorsTolerance(arP, 2174030, 196,79,349,222, 9)) then
begin
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 1.53) and (X <= 7.94) and (Y >= 1.28) and (Y <= 6.22) and (Z >= 0.91) and (Z <= 3.49) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;
SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
HumanMMouse(p.x,p.y,5,5);
Wait(100 + Random(100));
if (IsUpText('emon')) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
begin
Exit;
end;
GetMousePos(fx, fy);
end;
function FireColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.13, 0.49);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 1738208, MSX1, MSY1, MSX2, MSY2, 17);
if (Length(arP) = 0) then
begin
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 13.94) and (X <= 58.29) and (Y >= 10.60) and (Y <= 58.15) and (Z >= 2.00) and (Z <= 18.07) then
begin
Result := arC[i];
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
end;
function WaitNPCChatText(Text:String; Time:Integer):Boolean;
var
t:Integer;
begin
MarkTime(t);
repeat
wait(10);
if TimeFromMark(t) > Time then
begin
Result := False;
Exit;
end;
until(FindNPCChatText(Text,Nothing));
Result := True;
end;
procedure StoreUptext;
begin
if ExistsItem(1) then
begin
Mouseitem(1,3);
if IsUpText('ew') then
TypeOfLogs := 'Yew';
if IsUptext('agic') then
TypeofLogs := 'Magic';
if IsUpText('aple') then
TypeOfLogs := 'Maple';
if IsUpText('Oak') then
TypeOfLogs := 'Oak';
if IsUpText('llow') then
TypeOfLogs := 'Willow';
end;
if TypeOfLogs = '' then
writeLn('Failed uptext checking');
writeLn('We are burning: ' + TypeOfLogs);
end;
function WaitInvCountInc(Time:Integer):Boolean;
var
Inv1,Inv2,t:Integer;
begin
MarkTime(t);
Inv1 := InvCount;
repeat
wait(10);
Inv2 := InvCount;
if TimeFromMark(t) > Time then
begin
Result := False;
Exit;
end;
until(Inv2 > Inv1);
Result := True;
end;
procedure Randoms;
begin
if FindNormalRandoms then
if not LoggedIn then
TerminateScript;
end;
function WaitInvCountDec(Time:Integer):Boolean;
var
Inv1,Inv2,t:Integer;
begin
MarkTime(t);
Inv1 := InvCount;
repeat
wait(10);
Inv2 := InvCount;
if TimeFromMark(t) > Time then
begin
Result := False;
Exit;
end;
until(Inv2 < Inv1);
Result := True;
end;
procedure Proggy;
var
//progress variables
XP,XPH,Sec,BPH:Integer;
begin
ClearDebug;
XP := GetXPBarTotal - Players[CurrentPlayer].Integers[0];
Sec:= (1+((Getsystemtime-StartTime)/1000));
XPH := (3600 * XP) / (SeC);
BPH := (3600 * Burned) / (SeC);
writeLn('=============v1.7==================');
writeLn('============S1NFiremaker===========');
writeLn('Time Running: ' + TimeRunning);
writeLn('XP Earned: ' + IntToStr(XP));
writeLn('XP Per Hour: ' + IntToStr(XPH));
writeLn('Logs Burned: ' + IntToStr(Burned));
writeLn('Burned Per Hour: ' + IntToStr(BPH));
writelN('===================================');
writeLn('===================================');
end;
function WaitXPIncrease(Time:Integer):Boolean;
var
First,Second,t:Integer;
begin
First := GetXPBarTotal;
MarkTime(T);
repeat
wait(10);
Second := GetXPBarTotal;
if TimeFromMark(t) > Time then
begin
Result := False;
Exit;
end;
until(Second > First);
Result := True;
end;
function IsFireUnder:Boolean;
var
x,y:Integer;
begin
Result := FindColorSpiralTolerance(x,y,FireColor,242,172,263,181,3);
end;
function GetLogs(Amount:Integer; DoWait:Boolean):Boolean;
var
x,y,t:Integer;
begin
Result := False;
if ExistsItem(1) then
MouseItem(1,1);
if FindButler(x,y) then
begin
ClickMouse2(True);
If WaitNPCChatText('coins',1250) Then
Begin
ClickContinue(True, True);
TypeSendEx('1',False);
Wait(RandomRange(800,1000));
MouseItem(1,1);
if FindButler(x,y) then
ClickMouse2(True);
end;
if WaitNPCChatText('cert',4000) then
begin
TypeSendEx('1',False);
//wait(RandomRange(1500,1700));
If WaitFindColor(X,Y,0,266,397,281,407,1,5000) Then
//if FindColorSpiralTolerance(x,y,9877449,MCX1,MCY1,MCX2,MCY2,38) then
begin
TypeSend('26');
if DoWait then
if WaitInvCountInc(10000) then
Result := True;
end;
end;
end;
end;
function Light(Slot:Integer):Boolean;
begin
If Not NextLight Then
Begin
If Not OptionsExist(['a','g','h'],Nothing) Then
Begin
// Writeln('nooptionfound');
MouseItem(Slot,0);
End;
if WaitOptionMulti(['ight','Lig'],750) then
Begin
// Writeln('foundoptionfound');
Result := True;
End;
Inc(Burned);
End Else
Begin
// Writeln('clicking next spot');
MouseItem(Slot+1,0);
NextLight:=False;
End;
end;
function Relocate:Boolean;
var
x,y,ti:Integer;
begin
MakeCompass(0);
case random(2) of
0:
begin
HumanMouse(688,75,4,4);
FFlag(1);
Wait(RandomRange(650,750));
HumanMouse(671,90,5,5);
Wait(RandomRange(1000,1750));
Repeat
Wait(100);
Until Not IsMoving;
If FlagPresent Then
Begin
HumanMouse(671,90,5,5);
FFlag(1);
Wait(RandomRange(650,750));
End;
end;
1:
begin
HumanMouse(671,110,5,5);
FFlag(1);
Wait(RandomRange(650,750));
HumanMouse(688,100,4,4);
Wait(RandomRange(1000,1750));
Repeat
Wait(100);
Until Not IsMoving;
If FlagPresent Then
Begin
HumanMouse(688,100,4,4);
FFlag(1);
Wait(RandomRange(650,750));
End;
end;
end;
MarkTime(TI);
Repeat
Wait(100);
If TimeFromMark(TI)>6000 Then
Break;
Until InvCount>4;
if InvCount = 1 then
Begin
repeat
wait(10);
until(FindButler(x,y));
GetLogs(26,True);
Exit;
End;
Randoms;
end;
procedure BurnLogs;
var
i,x,y:Integer;
begin
for i := 2 to 28 do
begin
if FindColorSpiralTolerance(x,y,11059400,173,234,201,253,0) Then
Begin
HumanMouse(627,79,5,5);
FFlag(1);
Wait(RandomRange(650,750));
End;
if FindColorSpiralTolerance(x,y,11059400,173,101,201,120,0) Then
Begin
HumanMouse(628,91,5,5);
FFlag(1);
Wait(RandomRange(650,750));
End;
if ExistsItem(i) then
begin
if FIndBlackChatMessage('here') then
begin
case Random(2) of
0:
begin
HumanMouse(627,79,5,5);
FFlag(1);
Wait(RandomRange(650,750));
end;
1:
begin
HumanMouse(628,91,5,5);
FFlag(1);
Wait(RandomRange(650,750));
end;
end;
ExamineInv;
Wait(RandomRange(650,750));
Exit;
end;
Light(i);
Proggy;
NextLight:=True;
Light(i);
WaitXPIncrease(RandomRange(3000,3200));
if (InvCount = 1) And (Not OptionsExist(['a','g','h'],Nothing)) then
begin
GetLogs(26,False);
Relocate;
Randoms;
Exit;
end;
Randoms;
end else
If OptionsExist(['a','g','h'],Nothing) Then
Begin
NextLight:=False;
Light(i);
WaitXPIncrease(RandomRange(3000,3200));
if (InvCount = 1) And (Not OptionsExist(['a','g','h'],Nothing)) then
begin
GetLogs(26,False);
Relocate;
end;
Randoms;
End;
end;
Randoms;
end;
procedure ScriptStart;
var
StartInv,NTW:Integer;
begin
//start with 13 logs + noted, total of 14 items
//StartInv is equal to 14, ntw = 28 - startinv, 14
//Above is just me spouting out the equation, dont bother with it
StartInv := InvCount;
NTW := 28 - StartInv;
if StartInv < 2 then
GetLogs(NTW,True);
end;
begin
ClearDebug;
SetupLogin;
DeclarePlayers;
LoginPlayer;
MouseSpeed := RandomRange(18,20);
writeLn('Changes in 1.7: ');
writeln('Will no longer light the whole row');
writeLn('Wont be a retard anymore. Hopefully.');
NextLight:=False;
Wait(1500);
StartTime:=GetSystemTime;
if (Players[CurrentPlayer].Integers[1] = 0) then
begin
if not IsXPBarOpen then ToggleXPBar(true);
Players[CurrentPlayer].Integers[0] := GetXPBarTotal;
Players[CurrentPlayer].Integers[1] := (Players[CurrentPlayer].Integers[1] + 1);
end;
StoreUptext;
ScriptStart;
repeat
BurnLogs;
until not loggedin;
end.
Red & Green Salamander Hunter // Construction // Gilded Altar // Major help w/ Kyles Runespan // VWB Smither // PhoenixFeathers // GemCutter // Bonfire // LRC Miner // Spell Tab Maker // ApeAtollAgility // IvyWC // RoguesCooker // Herblore // AshamanButterfly // AshamanPowerMiner // Fletcher // LividFarm
ashaman's version gets me 1100 logs/h, instead of 1000 logs/h. nice fix ashaman!
Too bad I've already gotten 99 fm
Otherwise I would have used this for sure!
Decision Runite
85+ Mining
Progress:
{[( l l l l l l l l l l l l l )]}
Previously known as Perfecticus
this script is flawless! this is one of my proggies!
===================================
============S1NFiremaker===========
Time Running: 3 Hours, 21 Minutes and 51 Seconds
XP Earned: 400424
XP/h: 119016
===================================
===================================
Proggy:
=============v1.7==================
============S1NFiremaker===========
Time Running: 3 Hours, 40 Minutes and 6 Seconds
XP Earned: 527985
XP Per Hour: 143941
Logs Burned: 3995
Burned Per Hour: 1089
===================================
===================================
Used maple logs. I will edit if i will get to 6h proggy
wish this could run more than 6 h :S but im 96 fm now so its good, sometimes it just stands there, when the bulter come back with logs and it dosnt exit the text ... then it waits and waits untill disconnect ... and the but shuts down , an wont logg in again :S got that issues some few times but its flawless anyways :P can't wait for 99 ! :P
I can't believe this script has come so far.
This was written (the original version, v1) in 20 minutes because RiDs wasn't working.
Hmm...
How come others are getting in excess of 1k logs and hour, and I'm getting only around 750 (max) logs an hour?
I'm not very good at scripting, so from what I've read I'm not sure how to fix it.
Anyone care to chime in and possible help me?
Cheers.
There are currently 1 users browsing this thread. (0 members and 1 guests)