i made one but its buggy if your watching it then its OK :P was my personal one but u need it so here :D also its made to specifically make alot of exp (lol) wait… Not compatible with SRL-5 well anyways here it is i'll update the mouse; and other things so its uptodate.
program new;
{$DEFINE SRL5}
{$define SMART}
{$i srl/srl.scar}
{$i SRL/SRL/misc/paintsmart.scar}
{$i SRL/SRL/skill/magic.scar}
var
Tol2,Color2,CastAmnt,XpAmnt,DTM,x,y:Integer;
Hue2,Sat2 : Extended;
//TPA:TPointArray;
{*===========================================================================*}
{* <> SCRIPT SETTINGS <> *}
{*===========================================================================*}
const
MOUSE_SPEED = 15;
MOUSE_SPEED_RANDOMNESS = 7;
{*===========================================================================*}
{* <> PLAYER DECLARATION <> *}
{*===========================================================================*}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
CurrentPlayer := 0;
NumberOfPlayers(HowManyPlayers);
{//== PLAYER SETUP GOES UNDER HERE ==\\}
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := 'CaCC*';
Players[0].Member := False;
Players[0].Active := True;
Players[0].Integers[0] := 3422068; //Color Of NPC :D changes here and there
Players[0].Integers[1] := 3; // Tolerance for Color
Players[0].Integers[2] := 32; // World Number
Players[0].Extendeds[0] := 0.07; //Hue (I can set it up for you?) helps with color
Players[0].Extendeds[1] := 0.16; // Saturation (I can set it up for you?) helps with color
Players[0].Member := False;
end;
Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportOnStatus;
begin
PrintOnSmart(['> = > Curse Dat M0nk < = <','<======================>' , 'by Inf3cti0us',TimeRunning, 'User Nick:' + Players[CurrentPlayer].nick,'Xp: '+ inttostr(xpAmnt), 'Casts: ' +IntToStr(CastAmnt) ] , Point(40, 50), 255);
end;
procedure CastAtNPC;
begin
DTM := DTMFromString('mAAEAAHic42FgYOAGYiYgFoZiEJsZiIWAmAeI2YCYH0pzQ8W4oFgAilmhmB2KhaBYEIi/V/9kOKL5AAWvlTgMx7litQzvvb+DsQdPDAOpgJFEjAwAjoQVaw==');
Color2:= Players[CurrentPlayer].Integers[0];
Tol2 := Players[CurrentPlayer].Integers[1];
Hue2 := Players[CurrentPlayer].Extendeds[0];
Sat2 := Players[CurrentPlayer].Extendeds[1];
repeat
ReportOnStatus; //Only way i know how to keep it Running unless i repeat it more than once
if(GetCurrentTab <> tab_Magic ) then
begin
ReportOnStatus;
GameTab(tab_magic)
wait(2000)
end;
if(FindDTM(dtm,x,y,MIX1,MIY1,MIX2,MIY2)) then
begin
Mouse(x,y,3,3,true);
wait(randomRange(750,1000));
ReportOnStatus;
end else
begin
writeln('Could nt find Spell :/ ');
exit;
end;
if(FindColorSpiralTolerance(x,y,Color2,MSX1,MSY1,MSX2,MSY2,Tol2)) then
begin
MMouse(x,y,7,7);
wait(random(750))
ReportOnStatus;
if(IsUpTextMultiCustom(['onk','amorck','of'])) then
begin
Mouse(x,y,0,0,true);
wait(RandomRange(500,800))
IncEx(XpAmnt,29);
IncEx(CastAmnt,1);
ReportOnStatus;
end;
end else
begin
Mouse(x,y,3,3,false);
if(ChooseOptionMulti(['ast Curse','-> Monk of'])) then
begin
Mouse(x,y,0,0,true);
wait(random(500))
IncEx(XpAmnt,29);
IncEx(CastAmnt,1);
ReportOnStatus;
end else exit;
end;
until(FindBlackChatMessage('not have enough')
or FindBlackChatMessage('Cannot reach'));
FreeDTM(DTM);
end;
Procedure MoveCam(Maxy,dir:Integer);
begin
KeyDown(dir);
wait(Random(Maxy))
KeyUp(dir);
end;
procedure AntiBan;
begin
end;
procedure LastReport;
begin
writeln('/-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-\')
writeln('| User Alias: ' + Players[CurrentPlayer].Nick )
writeln('| Levels Gained: ')
writeln('| Run Time: ' + TimeRunning)
{writeln('| Levels Gained: ' + IntToStr(LevelG)) }
writeln('| Exp Gained: ' + IntToStr(XpAmnt))
writeln('\-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-/')
end;
Procedure SetUpAll;
begin
MouseSpeed:= MOUSE_SPEED + MOUSE_SPEED_RANDOMNESS;
SetupSRL; // SetupSRL
ActivateClient; // Chooses Client
DeclarePlayers;
CastAmnt := 0;
XpAmnt := 0;
if( not LoggedIn) then
begin
LogInPlayer;
repeat
ReportOnStatus;
until(LoggedIn);
end;
if(LoggedIn) then
SetAngle(true);
MakeCompass('W')
MoveCam(810,VK_DOWN);
end;
begin
Smart_Server := 19;
Smart_Members := false;
Smart_Signed := True;
Smart_SuperDetail := False;
SetUpAll;
CastAtNPC;
LastReport;
end.
I think it should work :/ you MUST babysit it asIf it were your own child :p enjoy bit buggy but made it in a hurry Make sure your Curse Icon(spell) is Active when you start.
i'll edit this with pics and stuff :D