SRL Archive - Outdated / Broken

Mage curser?


faster789

2008-08-19 13:13:32

Hey I was looking for a script if anyone made, but apparently not, a mage curser where it curses a monster over and over again as this is a very cheap and efficient way of leveling :)

sjlou

2008-08-19 16:39:48

there was one made a long time ago
let me check if i still got it

EDIT: here it is

{---------------------------------------------------------}
{ ________ }
{ ____ ____ / _____/ }
{ / \ / __ \/ \ ___ }
{ | | \| ___/\ \_\ \ }
{ |___| / \___ >\______ / _ }
{ \/ \/ \/ |_| }
{ EDITED FOR SRL4 by KAVE }
{---------------------------------------------------------}
{---------------------------------------------------------}
{ DUMMY CURSER + UNDEAD CRUMBLER }
{---------------------------------------------------------}
program SpellDummy;
{.include SRL\SRL.scar}
{.include SRL\SRL\skill\magic.scar}
var
NumOfCurses: Integer;
AntiBann: Integer;
zx, zy: Integer;

{---------------------------------------------------------}
{ SETUP }
{---------------------------------------------------------}

const
Spell = 'Curse'; // 'Confuse', 'Weaken', 'Curse', or 'Crumble Undead'
RunAwayDir = 'Z'; // Direction to run away. N,S,E or W (Choose Well)
CursesToDo = 1000; // Set this properly,

DummyName = 'onk'; // Dummys name eg. 'Chicken'
Colour1 = 3422607; // Colour of your dummy
Colour2 = 1974868;
Colour3 = 3554709;

MouseSpeeed = 14; // Lower is Faster, (idea from fours)

{---------------------------------------------------------}
{ Declare Players }
{---------------------------------------------------------}

procedure DeclarePlayers;
begin
Status('Loading Players')

HowManyPlayers := 3;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := ''; // 3-4 letters of username
Players[0].Active := True;
Players[0].Integers[1] := 3;

Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := ''; // 3-4 letters of username
Players[1].Active := True;
Players[1].Integers[1] := 10;

Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := ''; // 3-4 letters of username
Players[2].Active := True;
Players[2].Integers[1] := 10;
end;

{---------------------------------------------------------}
{ Find Talk + Fights }
{---------------------------------------------------------}
//WT-Fakawi

function FindFastRandoms: Boolean;
var
i: Integer;
begin
for i := 1 to 6 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
end;
wait(1);
end;
end;

{---------------------------------------------------------}
{ Find Talk + Fights }
{---------------------------------------------------------}

procedure TalkingRandoms;
begin
FindTalk;
wait(10)
FindFastRandoms;
wait(10);
if (FindFight = true) then
begin
RunAwayDirection(RunAwayDir);
Wait(10000 + random(2000));
RunBack;
end;
FindTalk;
end;

{---------------------------------------------------------}
{ Random Case Randoms }
{---------------------------------------------------------}

procedure NormalRandoms;
begin
if (not (LoggedIn)) then Exit;
AntiBann := 1 + Random(5)
case AntiBann of
1: FindNormalRandoms;
end;
FindTalk;
end;

{---------------------------------------------------------}
{ PROGRESS REPORT }
{---------------------------------------------------------}

procedure Report;
begin
ClearDebug;
SRLRandomsReport;
WriteLn('>--------------------<>--------------------<')
WriteLn('> neGs Dummy Curser - Progress Report ')
WriteLn('> ')
WriteLn('> Running Time: ' + (TimeRunning) + '')
WriteLn('> Curses Cast: ' + IntToStr(NumOfCurses) + '')
WriteLn('>--------------------<>--------------------<')
end;

{---------------------------------------------------------}
{ CURSING PROCEDURE }
{---------------------------------------------------------}
var t, Tries: integer;

procedure CurseDummy;
begin
if (not (LoggedIn)) then Exit;
GameTab(7);

Case Lowercase(Spell) of
'confuse':
begin
if (not ((GetColor(618, 238) = 15533737))) then
begin
WriteLn('Not enough runes for cast.'); Wait(500);
WriteLn('Logging out.');
Players[CurrentPlayer].Active := False;
Logout;
wait(2000)
NextPlayer(True);
NumOfCurses := 0;
Exit
end;
if (GetColor(618, 238) = 15533737) then
begin
TalkingRandoms;
Cast('Confuse')
FindObjCustom(zx, zy, [DummyName], [Colour1, Colour2, Colour3], 10);
if (IsUpText(DummyName)) then
begin
Mouse(zx, zy, 0, 0, true);
wait(1200 + random(300));
TalkingRandoms;
NumOfCurses := NumOfCurses + 1
T := T + 1;
Tries := 0;
end else
begin
TalkingRandoms;
Tries := Tries + 1
wait(10);
WriteLn('' + IntToStr(Tries) + '');
CurseDummy;
end;
end;
end;

'weaken':
begin
if (not ((GetColor(570, 268) = 15533737))) then
begin
WriteLn('Not enough runes for cast.'); Wait(500);
WriteLn('Logging out.');
Players[CurrentPlayer].Active := False;
Logout;
wait(2000)
NextPlayer(True);
NumOfCurses := 0;
Exit
end;
if (GetColor(570, 268) = 15533737) then
begin
TalkingRandoms;
Cast('Weaken')
FindObjCustom(zx, zy, [DummyName], [Colour1, Colour2, Colour3], 10);
GetMousePos(zx, zy);
if (IsUpText(DummyName)) then
begin
Mouse(zx, zy, 0, 0, true);
TalkingRandoms;
wait(1200 + random(300));
NumOfCurses := NumOfCurses + 1
T := T + 1;
Tries := 0;
end else
begin
TalkingRandoms;
Tries := Tries + 1
wait(10);
WriteLn('' + IntToStr(Tries) + '');
CurseDummy;
end;
end;
end;

/////////////////////////////////Curse Casting Procedure
'curse':
begin
if (not ((GetColor(665, 267) = 15533737))) then
begin
WriteLn('Not enough runes for cast.'); Wait(500);
WriteLn('Logging out.');
Players[CurrentPlayer].Active := False;
Logout;
wait(2000)
NextPlayer(True);
NumOfCurses := 0;
Exit
end;
if (GetColor(665, 267) = 15533737) then
begin
TalkingRandoms;
Cast('Curse')
FindObjCustom(zx, zy, [DummyName], [Colour1, Colour2, Colour3], 10);
GetMousePos(zx, zy);
if (IsUpText(DummyName)) then
begin
Mouse(zx, zy, 0, 0, true);
TalkingRandoms;
wait(1200 + random(300));
NumOfCurses := NumOfCurses + 1
T := T + 1;
Tries := 0;
end else
begin
TalkingRandoms;
Tries := Tries + 1
wait(10);
WriteLn('' + IntToStr(Tries) + '');
CurseDummy;
end;
end;
end;

/////////////////////////////////Crumble Undead Casting Procedure
'crumble undead':
begin
if (not (GetColor(595, 306) = 15533737)) then
begin
WriteLn('Not enough runes for cast.'); Wait(500);
WriteLn('Logging out.');
Players[CurrentPlayer].Active := False;
Logout;
wait(2000)
NextPlayer(True);
NumOfCurses := 0;
Exit
end;
if (GetColor(595, 306) = 15533737) then
begin
TalkingRandoms;
Cast('Crumble Undead')
FindObjCustom(zx, zy, [DummyName], [Colour1, Colour2, Colour3], 10);
GetMousePos(zx, zy);
if (IsUpText(DummyName)) then
begin
Mouse(zx, zy, 0, 0, true);
wait(1200 + random(300));
NumOfCurses := NumOfCurses + 1
T := T + 1;
Tries := 0;
TalkingRandoms;
end else
begin
TalkingRandoms;
Tries := Tries + 1
wait(10);
WriteLn('' + IntToStr(Tries) + '')
CurseDummy;
end;
end;
end;
end;

/////////////////////////////////Cant Find Monster Failsafe
if (Tries > 10) then
begin
WriteLn('Couldnt Find Dummy')
WriteLn('Did you set the colour/dummyname right?')
wait(500)
WriteLn('Logging Out')
Players[CurrentPlayer].Active := False;
Logout;
wait(2000)
NextPlayer(True);
NumOfCurses := 0;
Exit
end;

end;

{---------------------------------------------------------}
{ MAIN LOOP }
{---------------------------------------------------------}
begin
SetupSRL;
ActivateClient;
DeclarePlayers;
MouseSpeed := MouseSpeeed + Random(2);
begin
if (not (LoggedIn)) then
begin
Loginplayer;
HighestAngle;
end;
end;

repeat
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
MouseSpeed := MouseSpeeed + Random(2);
repeat
CurseDummy;
NormalRandoms;
TalkingRandoms;
Report;
until (NumOfCurses = CursesToDo);
if (NumOfCurses = CursesToDo) then
begin
WriteLn('Done all curses, woo!');
Players[CurrentPlayer].Active := False;
LogOut;
wait(2000)
NextPlayer(True);
NumOfCurses := 0;
HighestAngle;
end;
until (false);
end.

HayHay89

2008-08-19 18:47:30

wow thats really old i continued on one in jr mems but no1 used so i didnt update it any more

faster789

2008-08-21 10:54:39

From: HayHay89
wow thats really old i continued on one in jr mems but no1 used so i didnt update it any more


aww,,, I wish it was still there, I need magic xp badly, lol.:duh: