Kyle Undefined
2009-10-10 01:01:17
I made this script awhile ago and just want to give it to someone to finish it. It worked 100% a couple of months ago when I made it. The thing is, I made it in reflection, and all it needs is a new DDTM, and walking procedure. Everything else should still work. If you want it just post here, but only if you're serious and will make it work.
~Camo
That is true, didn't think about that lol. Could you move it YoHoJo? That does make better sense.
Here is the script (don't laugh at the Procedure names) :
*EDIT* Oh, and I just remembered that the burn procedure is reflection too
~Camo
~Camo
That is true, didn't think about that lol. Could you move it YoHoJo? That does make better sense.
Here is the script (don't laugh at the Procedure names) :
*EDIT* Oh, and I just remembered that the burn procedure is reflection too
{I took over this script from Sandstorm. He decided to give up on it but I wanted
another script to do. Most of it is by him, I just mainly did the reflection
walking and the findlog function. I also moved it to the Varrock bank because it
was to hard to get it to bank at the Grand Exchange. So all thanks towards him
for the banking and withdraw procedure!}
program ZeFirez;
{.Include SRL/SRL/Misc/Smart.Scar}
{.Include SRL/SRL.Scar}
{.Include SRL/SRL/Reflection/Reflection.Scar}
var
ZeLvlUp, ZeLoads, ZeLogs, AntiBan, Withdrew, LogsID, CP : Integer;
const
WhatWorld = 69; // What world to Macro on
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Pin := '';
Players[0].Active:= True;
Players[0].Strings[0] := ''; // Type of log burning
Players[0].Integers[0] := 5; // Loads to do
{
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Pin := '';
Players[1].Active:= True;
Players[1].Strings[0] := ''; // Type of log burning
Players[1].Integers[0] := ; // Loads to do
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Pin := '';
Players[2].Active:= True;
Players[2].Strings[0] := ''; // Type of log burning
Players[2].Integers[0] := ; // Loads to do
}
end;
procedure ZeAntiRandoms;
begin
if (not LoggedIn) then
Exit;
R_FindRandoms;
FindNormalRandoms;
if FindFight then
RunAway('N', False, 1, 7000);
end;
procedure ZeAntiBan;
var
NoBan : Integer;
begin
If (not LoggedIn) then
Exit;
NoBan := Random(20);
case NoBan of
1,14,18: Hoverskill('Firemaking', False);
2,6,13: Gametab(4);
3,15,17: Gametab(RandomRange(2,5));
4,16: Gametab(8);
5,9,10,11,12,8: MMouse(Random(600), Random(600), 50, 50);
7,19: MouseSpeed := RandomRange(10,13);
end;
Inc(AntiBan);
end;
procedure ZeLvls;
begin
if FindNPCChatText('ongratulations', Nothing) then
begin
Wait(300 + Random(100));
Inc(ZeLvlUp);
ClickContinue(True, True);
Exit;
end else
Exit;
end;
procedure ZeProgress;
var
I : Integer;
begin
ClearDebug;
Writeln('');
WriteLn('¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤');
WriteLn(Padr('¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ ZeFirez! By Camo¤Kyle ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤', 62));
WriteLn(Padr('¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤',62));
WriteLn(Padr('¤¤ Ze Total Loads Done: ' + IntToStr(ZeLoads) + '!', 62) + '¤');
WriteLn(Padr('¤¤ Ze Total Logs Burned: ' + IntToStr(ZeLogs) + ' Times!', 62) + '¤');
WriteLn(Padr('¤¤ Ze AntiBan Performed: ' + IntToStr(AntiBan) + '!', 62) + '¤');
WriteLn(Padr('¤¤ Ze Total Logs Withdrawn: ' + IntToStr(Withdrew * 27) + '!', 62) + '¤');
WriteLn(Padr('¤¤ Ze Time Running: ' + TimeRunning + '!', 62) + '¤');
WriteLn(Padr('¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤', 62));
WriteLn(Padr('¤¤¤¤¤¤¤¤ Don''t forget to add to ze Rep++ if you like ;) ¤¤¤¤¤¤¤', 62));
WriteLn(Padr('¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ NO PROGGY''S NO UPDATES! ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤', 62));
WriteLn(Padr('¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ Players Report ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤', 62));
WriteLn('¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤');
for I := 0 to (HowManyPlayers - 1) do
begin
WriteLn('¤¤¤¤ ZePlayer ' + Players[i].Nick + ': Did ' + IntToStr(ZeLoads) + ' Loads and Burned '+ IntToStr(ZeLogs) + ' Logs and Withdrew ' +IntToStr(Withdrew * 27) + ' Logs and you gained ' + IntToStr(ZeLvlUp) + ' Firemaking Levels!');
end;
WriteLn('¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤');
Writeln('');
R_RandomsReport;
Wait(200);
end;
function LogDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..15] of TDTMPOINTDEF;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 746;
dtmMainPoint.y := 399;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 65536;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 746;
dtmSubPoints[0].y := 399;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 65536;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 727;
dtmSubPoints[1].y := 412;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 65536;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 752;
dtmSubPoints[2].y := 407;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 65536;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 742;
dtmSubPoints[3].y := 420;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 65536;
dtmSubPoints[3].Tolerance := 0;
dtmSubPoints[4].x := 756;
dtmSubPoints[4].y := 415;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 65536;
dtmSubPoints[4].Tolerance := 0;
dtmSubPoints[5].x := 732;
dtmSubPoints[5].y := 418;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 65536;
dtmSubPoints[5].Tolerance := 0;
dtmSubPoints[6].x := 752;
dtmSubPoints[6].y := 399;
dtmSubPoints[6].AreaSize := 0;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := 65536;
dtmSubPoints[6].Tolerance := 0;
dtmSubPoints[7].x := 727;
dtmSubPoints[7].y := 412;
dtmSubPoints[7].AreaSize := 0;
dtmSubPoints[7].AreaShape := 0;
dtmSubPoints[7].Color := 65536;
dtmSubPoints[7].Tolerance := 0;
dtmSubPoints[8].x := 733;
dtmSubPoints[8].y := 401;
dtmSubPoints[8].AreaSize := 0;
dtmSubPoints[8].AreaShape := 0;
dtmSubPoints[8].Color := 65536;
dtmSubPoints[8].Tolerance := 0;
dtmSubPoints[9].x := 737;
dtmSubPoints[9].y := 422;
dtmSubPoints[9].AreaSize := 0;
dtmSubPoints[9].AreaShape := 0;
dtmSubPoints[9].Color := 65536;
dtmSubPoints[9].Tolerance := 0;
dtmSubPoints[10].x := 746;
dtmSubPoints[10].y := 419;
dtmSubPoints[10].AreaSize := 0;
dtmSubPoints[10].AreaShape := 0;
dtmSubPoints[10].Color := 65536;
dtmSubPoints[10].Tolerance := 0;
dtmSubPoints[11].x := 752;
dtmSubPoints[11].y := 417;
dtmSubPoints[11].AreaSize := 0;
dtmSubPoints[11].AreaShape := 0;
dtmSubPoints[11].Color := 65536;
dtmSubPoints[11].Tolerance := 0;
dtmSubPoints[12].x := 731;
dtmSubPoints[12].y := 405;
dtmSubPoints[12].AreaSize := 0;
dtmSubPoints[12].AreaShape := 0;
dtmSubPoints[12].Color := 65536;
dtmSubPoints[12].Tolerance := 0;
dtmSubPoints[13].x := 727;
dtmSubPoints[13].y := 416;
dtmSubPoints[13].AreaSize := 0;
dtmSubPoints[13].AreaShape := 0;
dtmSubPoints[13].Color := 65536;
dtmSubPoints[13].Tolerance := 0;
dtmSubPoints[14].x := 753;
dtmSubPoints[14].y := 404;
dtmSubPoints[14].AreaSize := 0;
dtmSubPoints[14].AreaShape := 0;
dtmSubPoints[14].Color := 65536;
dtmSubPoints[14].Tolerance := 0;
dtmSubPoints[15].x := 735;
dtmSubPoints[15].y := 421;
dtmSubPoints[15].AreaSize := 0;
dtmSubPoints[15].AreaShape := 0;
dtmSubPoints[15].Color := 65536;
dtmSubPoints[15].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure LogIDs;
begin
if (not LoggedIn) then
Exit;
case lowercase(Players[CurrentPlayer].strings[0]) of
'normal' : LogsID := 1511;
'oak' : LogsID := 1521;
'willow' : LogsID := 1519;
'maple' : LogsID := 1517;
'yew' : LogsID := 1515;
end;
end;
function FindLog(InvSpot : Integer) : Boolean;
var
x, y : Integer;
begin
Result := FindDTM(LogDDTM, x, y, MIX1, MIY1, MIX2, MIY2);
FreeDTM(LogDDTM);
end;
procedure BurnLog(InvSpot : Integer);
var
WhichClick : Integer;
begin
if (not FindLog(InvSpot)) or (not LoggedIn) then
Exit;
begin
LogIDs;
WhichClick := Random(4);
case WhichClick of
0 : begin
ClickItemsID(591, '', [500, 1000]);
Wait(100 + Random(200));
ZeAntiRandoms;
ClickItemsID(LogsID, '', [500, 1000]);
Wait(100 + Random(200));
ZeAntiRandoms;
while not InChat('atches and the') do
begin
ZeAntiBan;
Wait(500 + Random(500));
Inc(ZeLogs);
ZeLvls;
end;
end;
1 : begin
ClickItemsID(591, 'se', [500, 1000]);
Wait(100 + Random(200));
ZeAntiRandoms;
ClickItemsID(LogsID, 'se', [500, 1000]);
Wait(100 + Random(200));
ZeAntiRandoms;
while not InChat('atches and the') do
begin
ZeAntiBan;
Wait(500 + Random(500));
Inc(ZeLogs);
ZeLvls;
end;
end;
2 : begin
ClickItemsID(591, '', [500, 1000]);
Wait(100 + Random(200));
ZeAntiRandoms;
ClickItemsID(LogsID, 'se', [500, 1000]);
Wait(100 + Random(200));
ZeAntiRandoms;
while not InChat('atches and the') do
begin
ZeAntiBan;
Wait(500 + Random(500));
Inc(ZeLogs);
ZeLvls;
end;
end;
3 : begin
ClickItemsID(591, 'se', [500, 1000]);
Wait(100 + Random(200));
ZeAntiRandoms;
ClickItemsID(LogsID, '', [500, 1000]);
Wait(100 + Random(200));
ZeAntiRandoms;
while not InChat('atches and the') do
begin
ZeAntiBan;
Wait(500 + Random(500));
Inc(ZeLogs);
ZeLvls;
end;
end;
end;
end;
end;
function LoadBurnLoc: TPointArray;
begin
case Random(3) of
0 : begin
SetLength(Result, 3);
Result[0] := (Point(3816, 3448));
Result[1] := (Point(3190, 3450));
Result[2] := (Point(3192, 3452));
end;
1 : begin
SetLength(Result, 5);
Result[0] := (Point(3187, 3445));
Result[1] := (Point(3187, 3448));
Result[2] := (Point(3190, 3448));
Result[3] := (Point(3191, 3450));
Result[4] := (Point(3191, 3452));
end;
2 : begin
SetLength(Result, 4);
Result[0] := (Point(3186, 3444));
Result[1] := (Point(3185, 3449));
Result[2] := (Point(3189, 3451));
Result[3] := (Point(3192, 3451));
end;
end;
end;
procedure WalkToBurnLoc;
var
I : Integer;
Path : TPointArray;
begin
if (not LoggedIn) then
Exit;
Path := LoadBurnLoc;
for I := 0 to High(Path) do
begin
WalkToTile(Path[i], 1, 0);
end;
Wait(500 + Random(300));
end;
function LoadBankLoc: TPointArray;
begin
case Random(3) of
0 : begin
SetLength(Result, 5);
Result[0] := (Point(3171, 3451));
Result[1] := (Point(3177, 3449));
Result[2] := (Point(3185, 3448));
Result[3] := (Point(3186, 3444));
Result[4] := (Point(3189, 3443));
end;
1 : begin
SetLength(Result, 4);
Result[0] := (Point(3172, 3451));
Result[1] := (Point(3180, 3451));
Result[2] := (Point(3186, 3447));
Result[3] := (Point(3189, 3443));
end;
2 : begin
SetLength(Result, 4);
Result[0] := (Point(3173, 3451));
Result[1] := (Point(3180, 3447));
Result[2] := (Point(3186, 3441));
Result[3] := (Point(3189, 3443));
end;
end;
end;
procedure WalkToBank;
var
I : Integer;
Path : TPointArray;
begin
if (not LoggedIn) then
Exit;
Path := LoadBankLoc;
for I := 0 to High(Path) do
begin
WalkToTile(Path[i], 1, 0);
end;
Wait(500 + Random(300));
end;
procedure FindZeBank;
var
BankDTM, x, y : Integer;
begin
if (not LoggedIn) then
Exit;
BankDTM := DTMFromString('78DA639CC5C4C0D0C080028AD31C19FE03694' +
'620FE0F048C0B806AAA2172CC50357FFE30317041D58000E37CA0' +
'9A2622D474A2AAF9F74F10450D007BF310CC');
begin
if DTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 2, 2, True);
Flag;
end;
end;
if (not DTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2)) then
NextPlayer(False);
FreeDTM(BankDTM);
end;
procedure Bank;
var
Time : Integer;
begin
MarkTime(Time);
Wait(100 + Random(100));
if (not LoggedIn) then
Exit;
OpenBankReflection('vwb');
Wait(100 + Random(200));
if (R_BankScreen) then
Exit;
if (R_PinScreen) then
R_InPin(Players[CP].Pin);
if (TimeFromMark(Time) > 120000) then
NextPlayer(False);
end;
procedure Withdraw2(Col, Row, Amount: Integer);
var
BBox: TBox;
ZeTime: Integer;
begin
if (not LoggedIn) then
Exit;
MarkTime(ZeTime);
BBox := BankIndexToMSBox(BankPointToBankIndex(Point(Col - 1, Row - 1)));
if Amount = 1 then
begin
MouseBox(BBox.X1 + 5, BBox.Y1 + 5, BBox.X2 - 5, BBox.Y2 - 5, 1);
end
else
begin
MouseBox(BBox.X1 + 5, BBox.Y1 + 5, BBox.X2 - 5, BBox.Y2 - 5, 2);
if InIntArray([5, 10], Amount) then
ChooseOption('withdraw-' + IntToStr(Amount))
else if (Amount = 0) or (Amount = 27) then
case Random(2) of
0 : begin
ChooseOption('withdraw-All')
Inc(Withdrew);
end;
1 : begin
ChooseOption('withdraw-X')
Wait(1000 + Random(100));
TypeSend(IntToStr(Amount));
Inc(Withdrew);
end;
end;
end;
Wait(1000 + Random(500));
if (TimeFromMark(ZeTime) > 180000) then
NextPlayer(False);
end;
procedure Banking;
begin
Bank;
SearchBank(Players[CP].Strings[0] + ' logs');
Withdraw2(1, 1, 27);
CloseBank;
end;
procedure MainLoop;
var
I, LoadsTillSwitch, Z : Integer;
MyP : TPoint;
begin
R_MakeCompass('N');
R_SetAngle(100);
CP := CurrentPlayer;
LoadsTillSwitch := 0;
Z := 0;
if not LoggedIn then
Exit;
if (not InvFull) then
begin
MyP := GetMyPos;
if (MyP.x <> 3189) then
WalkToTile(IntToPoint(3189, 3443), 2, 0);
Banking;
end else
Inc(Z);
repeat
WalkToBurnLoc;
Wait(250 + Random(250));
ZeAntiRandoms;
for I := 2 to 28 do
begin
if FindLog(I) then
BurnLog(I);
end;
Inc(ZeLoads);
ZeAntiBan;
ZeProgress;
if (not InvFull) then
begin
WalkToBank;
FindZeBank;
Wait(250 + Random(250));
Banking;
end else
Inc(Z);
until (LoadsTillSwitch = Players[CP].Integers[0]) or (not LoggedIn) or (Z = 6);
if (LoadsTillSwitch = Players[CP].Integers[0]) then
Logout;
NextPlayer(True);
if (not LoggedIn) or (Z = 6) then
NextPlayer(False);
end;
procedure SetupSmart;
begin
SmartSetupEx(WhatWorld, False, True, False);
Wait(1000);
SetTargetDC(SmartGetDC);
while not RSReady do
Wait(100);
end;
{procedure ScriptTerminate;
begin
ZeProgress;
end;}
begin
SetupSRL;
SetupSmart;
Wait(1000);
SetupReflection;
Wait(1000);
DeclarePlayers;
LoginPlayer;
Wait(5000);
repeat
MainLoop;
until (AllPlayersInactive);
end.
~Camo