SRL Archive - Archive

me_ntal - SRL Member Application Form


me_ntal

2007-05-08 01:59:06

<!– BEGIN TEMPLATE: formanswers –>
me_ntal - SRL Member Application Form
me_ntal

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
yes
Starblaster orignally told me to come here

Programming Knowledge
Java, Javascript, Html, Vb and very very very basic python

Other Communitys
Sythe, Mopar

How Long have You Played Runescape
few years

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Im from australia, im 17 currently year 12. I program as a hobby, been a member for a fair while and try and help with anything i can. Im not afriad to ask questions and im always friendly.Cars are my passion.

I studdied html at school for two years. After that i went and learnt javascript through tafe, im not fond of this language and avoid it. Then self taught the basics of java from the internet. I recently obtained a python tutorial and started to learn it.

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

Procedure SetSpell(Style: String; Spell: String);
By: Me_ntal
Description:
Sets the style and the spell with a staff equipped.
Example:
SetSpell('Normal', 'Fire');



procedure SetSpell(Style: String; Spell: String);
var SpellColor, CurTab: integer;
begin
CurTab := getcurrenttab;

if (LowerCase(Spell) = 'air') then SpellColor:= 12632764;
if (LowerCase(Spell) = 'water') then SpellColor:= 15610161;
if (LowerCase(Spell) = 'earth') then SpellColor:= 166658;
if (LowerCase(Spell) = 'fire') then SpellColor:= 974;

GameTab(1);
if (Style = 'Defence') then
begin
Mouse(680, 210, 40, 20, True);
Wait(500 + Random(500));
if FindColor(x, y, SpellColor, MIX1,MIY1,MIX2,MIY2) then
Begin
Wait(100+Random(100));
Mouse(x,y,0,0, True);
Wait(100+Random(100));
end;
end;

if (Style = 'Normal') then
begin
Mouse(680, 270, 40, 20, True);
Wait(500 + Random(500));
if FindColor(x, y, SpellColor, MIX1,MIY1,MIX2,MIY2) then
Begin
Wait(100+Random(100));
Mouse(x,y,0,0, True);
Wait(100+Random(100));
end;
end;

gametab(Curtab);
end;

Procedure WithdrawRune(Rune : String; Numb : integer);
By: Me_ntal
Description:
Withdraws a speficied amount of any rune.
Example:
WithdrawRune('Air', '200');


Procedure WithdrawRune(Rune : String; Numb : integer);
var ReqRune, bx, by : integer;
begin
case lowercase(rune) of
'air': ReqRune := BitmapFromString(8, 8, 'z78DA758E510EC3200C43AF' +
'443698ED4FA0E1FE472A827E803A8864095B2F8E120BB3C08BD5A' +
'35B9FA1CA0A6CAA32D9E61B413C1A296A4BC71E894E5FFDFE8F7D' +
'1A13D3EA3FD4BC61E846557EF9997ABAE1BD8D99C6706A674441D' +
'952A2C1FFF44E2AA0BF2DFDE1427D374E0A8E84B452A7C649DDD8' +
'475753');
'blood': ReqRune := BitmapFromString(8, 8, 'z78DA7D8C410EC4200C03' +
'BF0414D6F6B150F8FF9336DA64A5569588A5C9656C35769E022F0' +
'E899333782A7171E4998B86B265EAB0648208568AD26FC1CDF06F' +
'3B966A712E3636EFDEFD68F90EB130ED67260E1E2C7FBE7CDFF9E' +
'0C28896F3653E58D1D183DEDDFB09762C1014ADAD8F8986F6686D' +
'FD2FC95355AC');
'body': ReqRune := BitmapFromString(8, 8, 'z78DA858E410EC3201003B' +
'FC42650CF1E1B20FF7F525148A54551552CF96079BC185B6AE6A2' +
'51DDE9F4E9566C1B0AEEDDF72143E8F68CE34BE7DA89C9D8CA439' +
'72FCD1F0BA053CB752A3BDF9D934299ECF38793E58D91162AB07F' +
'A8279B341E9B5C4ED6A163A1023B7375159548DDFD979A6AA466F' +
'E01309351C5');
'chaos': ReqRune := BitmapFromString(8, 8, 'z78DAB334B430B7307735' +
'70B43074829226AE8640888B2442A589A589B9812584C4540F15A' +
'7997A4ADC6F686A6804846012BF7A2C2A31D513E12A0064A656DC' +
'');
'cosmic': ReqRune := BitmapFromString(8, 8, 'z78DA858D410E03210CC' +
'4BE04EDD2788E2C84FF3FA968C501295455249FEC89A7EEF99670' +
'7CB12A31D494E73DF4C7D9A90B21156EEAA2D169FBCEA1CA18B61' +
'816A24FE3CD6B6E5DF306851217FE54A18DFE6161AB7E3AD830A7' +
'9249FBC783F9B16E6DF9A1FA02A715588F');
'death': ReqRune := BitmapFromString(8, 8, 'z78DAB58D3B0E80300C43' +
'AF44A0C1CE487FF73F1251C380547542E8492F436CD9BAA9694B4' +
'D9CC9A2B23BC3ABEF97FC7F9EB70CAC2CBC28DCFC1EDCC373DE84' +
'202CD11CA2A385575BEC546AB498909179A2A23CDD587CEF36266' +
'7B46EEDC5566A');
'earth': ReqRune := BitmapFromString(8, 8, 'z78DACDCF310E80201044' +
'D12B012ECCA7045CEE7F24292C34363626E627D3BD628A5B0B5E7' +
'EB314ED1AA029A71109E70E36128EAD26995C235A99BAFA4D5DED' +
'43915455DFABAFFF1E58CA5814');
'fire': ReqRune := BitmapFromString(8, 8, 'z78DAD5CDB10DC0200C05D' +
'19530C4E25C3A04F61F29524C811432409A2B9EAC6F2717513B30' +
'CC94138F7AB8D1E9B36E8911CE4051132A3564EDDCA95CB4D5691' +
'4F2E6FE630747481B7FBEBFFD8FBD0179895235');
'law': ReqRune := BitmapFromString(8, 8, 'z78DA758E4B0AC0201043AF' +
'54AB76DE2CD5EAFD8F5451170E52025984FC5CBE7DBDDCC15AD47' +
'554F51D4D63C7E480A21AC924E3572A7571D28B36751A91A80E41' +
'8C7F342C165ECAF2173CF764E31F0D670F48934AC261FEF71FA16' +
'3AC1BFD9157CA995ABB2365FC41B2E43DB5F4913D7FFEA5F6C53D' +
'F501F645551D');
'mind': ReqRune := BitmapFromString(8, 8, 'z78DA858E410E84300C03B' +
'FD442BAB68F940DFF7F1288F410542414690E91C78917AA76BF29' +
'D1E94193A12853AEF59A4A10C13933F3EA32DA4B5BF41845A9B17' +
'37B7177AE5C826373B0B1E586479E38E0DC5859E6EBD91D9B1FFE' +
'D8B3351877A7CF69E8E80F2BBBE9CF915F207C5827780C5392');
'nature': ReqRune := BitmapFromString(8, 8, 'z78DA9D8F410EC4200C0' +
'3BFD45042EC2350F8FF93166D52896AD5CBCAD288833D80247451' +
'F98BEC9495C173C539A9D49A58589CD1345CE8240646B0F2C00CC' +
'3E689BEC060CC204845430DFE78BCBF4E796542716F5F0CD1AF10' +
'1CE83891822F86FDBF804D1B8FADAFBE8C4EB6662D58ECB2EEABF' +
'DDEFDCD1F5089547D');
'soul': ReqRune := BitmapFromString(8, 8, 'z78DAA58F410E80200C04B' +
'F240AEEF40822FF7F920439688826C634995E76DA2C3BBE4E2110' +
'CC21D4E931CC0289D829321B11C754F7C2DCF97A0154B4775EDDD' +
'31A5D1939B12A6BBB59A37B5A2D7FE5D3C731F98778257DC9CFAD' +
'DA601DD1D65727');
'water': ReqRune := BitmapFromString(8, 8, 'z78DA8D8E510AC42010C5' +
'AEA45D675FE6535BBDFF912A9D7E14BA2C2A644412D133425E70D' +
'C8D46CD965B25E84EA7DFAC9E18F354E61E18E657FBF4EFEA7AC7' +
'C5C1CEBC24CDF9610BFEF01F7F000DF5E0DB7C57143535BE3AB4F' +
'FF7836C7279544B7ED25C51ADF8EA32D98A193C0125A45501');
end;
if (FindBitMapToleranceIn(ReqRune, bx, by, 25, 60, 455, 300, 20)) then
begin
Mouse(bx,by, 0,0, false);
ChooseOption(bx,by,'Withdraw X');
TypeSend(Inttostr(Numb));
FreeBitmap(ReqRune);
end else
WriteLn('Rune Not Found');
FreeBitmap(ReqRune);
end;

Procedure ScrollBank(Direction: String);
By: Me_ntal
Description:
Scrolls the bank by one line.
Example:
ScrollBank('Up');


procedure ScrollBank(Direction : String);
var Uarrow, Darrow, bx, by : integer;
begin
Darrow := BitmapFromString(10, 2, 'z78DA333000024303306' +
'9E26262646C0C210D8810C72471E9C5540900911D1767');
Uarrow := BitmapFromString(10, 2, 'z78DA33300002430324D' +
'2C4C5C4C8D818BF88010E5DB8F4628A030080B51767');

case Lowercase(Direction) of
'up':begin
if (FindBitMapToleranceIn(Uarrow, bx, by, MSX1, MSY1, MSX2, MSY2, 20)) then
begin
MMouse(bx,by,0,0);
HoldMouse(bx,by, True);
Wait(150 + Random(50));
ReleaseMouse(bx,by, True);
end;
end;
'down':begin
if (FindBitMapToleranceIn(Darrow, bx, by, MSX1, MSY1, MSX2, MSY2, 20)) then
begin
MMouse(bx,by,0,0);
HoldMouse(bx,by, True);
Wait(150 + Random(50));
ReleaseMouse(bx,by, True);
end;
end;
end;
FreeBitmap(Darrow);
FreeBitmap(Uarrow);
end;

Procedure BareHand:Boolean
By: Me_ntal
Description:
Checks if a weapon is equipped


Function BareHand:boolean;
var EmptyHand, Wx, Wy, CurTab:integer;
begin
EmptyHand := BitmapFromString(11, 1, '4949452E2B232E2B232E2B2355' +
'55512E2B232E2B232E2B232E2B2352524D4D4D49');
CurTab := getcurrenttab;
GameTab(5);
wait(100+random(100));
if (FindBitMapToleranceIn(EmptyHand, Wx, Wy, MIX1,MIY1,MIX2,MIY2, 20)) then Result := True;
wait(100+random(100));
GameTab(CurTab);
FreeBitmap(EmptyHand);
end;


Procedure AutoRetaliate(Setting: String);
By: Me_ntal
Description:
Either turns on or off retaliate
Example:
AutoRetaliate('on');

Procedure AutoRetaliate(Setting:String);
var CurTab: integer;
begin
CurTab := getcurrenttab;
GameTab(1)
wait(100+Random(100));

If FindColor(x, y, 1777020, 624, 385, 719, 396) and
(LowerCase(Setting) = 'off') then Mouse(x,y,0,0,true);

If (FindColor(x, y, 5330261, 624, 385, 719, 396)) and
(LowerCase(Setting) = 'on') then Mouse(x,y,0,0,true);

GameTab(CurTab)
end;

Skinner released to the public on May 6th

program Skinner;
{
##### ## ## ###
###### /#### ##### ###
/# / / ##### ##### # ##
/ / / # ## # ## ## ##
/ / # # ## ##
## ## # # /## ### /### ######## /### ## /###
## ## # # / ### ###/ #### / ######## / ### / ## / #### /
## ## # # / ### ## ###/ ## / ###/ ## ## ###/
## ## # # ## ### ## ## ## ## ## ## ####
## ## # ## ######## ## ## ## ## ## ## ###
# ## # ## ####### ## ## ## ## ## ## ###
/ # ## ## ## ## ## ## ## ## ###
/##/ # ## #### / ## ## ## ## /# ## /### ##
/ ##### ## ######/ ### ### ## ####/ ## ### / / #### /
/ # ## ##### ### ### ## ### ## ##/ ###/
# #
## ####### /
/ ### #/ #
/ ## ## ###
## # ## #
### ##
## ### ## /## ### ### /### ### /### /## ### /###
### ### ## / ### ### ###/ #### / ###/ #### / / ### ###/ #### /
### ### ##/ / ## ## ###/ ## ###/ / ### ## ###/
### /## ## / ## ## ## ## ## ## ### ##
#/ /## ## / ## ## ## ## ## ######## ##
#/ ## ## ## ## ## ## ## ## ####### ##
# / ###### ## ## ## ## ## ## ##
/## / ## ### ## ## ## ## ## #### / ##
/ ########/ ## ### / ### / ### ### ### ### ######/ ###
/ # ##### ## ##/ ##/ ### ### ### ### ##### ###
# #
# #
## Verison 0.2

Thanks for downloading Me_ntal's skinner, Please email me your progress reports
[email]thyess@gmail.com[/email] or post them on the thread. Update planned to improve the walking
and slaughtering of cows.

Special Thanks to
Pentti,
JAD,
WT-fawki
Wizzup
Nielsie95
Boreas
~Alex~
and anyone at the SRL forums.

To run:
1. Either start in the bank or the cow field.
2. Make sure your player is weilding a weapon. (hand combat coming)
3. Focus and press play.
4. Post your progress reports and tell me how to improve

~Mental~
}

{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Fighting.scar}

var {counters}
toll, logd, bankd, xet, KillingAttempts, killd, CArray, hidecolor, MissedColor, HitColor: integer;
var {Colors}
CowColor: array[1..4] of integer;
var
HideDTM, HideBMP : integer;

const cowpatience = 40000;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := ''; {3-4 letters of your name}
Players[0].Skill := 'strength'; {Fight Mode, attack, deffence, strength and even}
Players[0].Active := True; {Use player?}
Players[0].integer2 := 10; {how many cows?}
end;

{======================================================================
Colors
=======================================================================}

procedure CowColors;
begin
MissedColor := 16728128;
HitColor := 192;
CowColor[1] := 12238787;
CowColor[2] := 2307389;
CowColor[3] := 9812173;
CowColor[4] := 2765117;
hidecolor := 11185588;
HideDTM := DTMFromString('78DA6314656060286740013BD7AF67F80FA41' +
'981F83F103082D46432A001462412488B018916026AD831EDC250' +
'A30024AA09A89105123904D47001893AFC6A0049030AF5');
HideBMP := BitmapFromString(7, 4, 'C4BBBAD8D3D2BCB3B3B9AEADCEC' +
'7C6B1A5A5B6ABAAC2B9B9C5BCBCD4CECEC7BFBFAB9F9FB9AEADB9' +
'AEADC2B9B9C1B8B7D8D3D2A19696BBB1B1BAB0B0B9AEADC5BCBCC' +
'5BCBCB3A8A7CBC4C4A89C9CBBB1B1BBB1B1');

end;

{======================================================================
Randoms //
WT-Fawki
=======================================================================}
function FindFastRandoms: Boolean; {By Wt-Fakawi}
var
i: Integer;
begin
for i := 1 to 8 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;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;

procedure RunRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
end;


{======================================================================
Anti-Ban //
=======================================================================}

procedure WereHuman;
begin
if not (LoggedIn) then Exit;
begin
case Random(60) of
0: HoverSkill('attack', false);
5: AlmostLogout;
10:begin
GameTab(1 + Random(12));
Wait(1500 + Random(500));
GameTab(4);
end;
15: HoverSkill('random', false);
20: begin
case random(10) of
0: TypeSend('Attack lvls?');
3: TypeSend('Strength levels');
5: TypeSend('defence lvls');
7: TypeSend('prayer levels');
9: TypeSend('hp?');
end;
end;
25: begin
GameTab(Random(5));
Wait(1500 + Random(500));
GameTab(4);
end;
30: begin
GameTab(1);
Wait(1500 + Random(500));
GameTab(4);
end;
end;
end
end;

{======================================================================
Checks If were infight //
Wt-Fawki
=======================================================================}

Function InFightAt(x, y: Integer):Boolean;
var
dx, dy: Integer;
begin
if (FindColor(dx, dy, GreenStatusColor, x - 20, y - 10, x + 20, y + 10)) or
(FindColor(dx, dy, RedStatusColor, x - 20, y - 10, x + 20, y + 10)) or
(FindColor(dx, dy, MissedColor, x - 20, y - 10, x + 20, y + 10)) or
(FindColor(dx, dy, HitColor, x - 20, y - 10, x + 20, y + 10)) then
Result:=True;
end;

{======================================================================
Get Combat Level //
=======================================================================}

function getcombatlevelb: integer;
var
Curtab, i: integer;
Cmblvl: string;
begin
CurTab := getcurrenttab;
gametab(1);
Cmblvl := GetTextAtEx(671, 230, 100, StatChars, False, True, 0, 5, -1, 2, True, tr_Digits);
if (Trim(Cmblvl) = '') then
for i := 1 to 5 do
begin
Cmblvl := GetTextAtEx(671 + i, 230, 100, StatChars, False, True, 0, 5, -1, 2, True, tr_Digits);
if (Trim(Cmblvl) <> '') then Exit;
end;
if (not (Trim(Cmblvl) = '')) then
result := StrToInt(Trim(Cmblvl));
wait(500 + random(200));
gametab(Curtab);
end;

{======================================================================
Player Report //
=======================================================================}

procedure PlayerReport;
var i: integer;
begin
for I := 0 to HowManyPlayers - 1 do
begin
WriteLn(Players[i].Name + ' = ' + booltostr(Players[i].Active));
WriteLn('Att ' + inttostr(Players[i].level[1]) + ', Str ' + inttostr(Players[i].level[2]) + ', Def ' + inttostr(Players[i].level[3]));
WriteLn('Cmb ' + inttostr(Players[i].integer1) + ', Hps ' + inttostr(Players[i].level[8]) + ', Pry ' + inttostr(Players[i].level[5]));
WriteLn('Worked For: ' + IntToStr(Players[i].Worked) + ' min, Killed : ' + IntToStr(Players[i].Killed) + ', Loc: ' + Players[i].loc);
WriteLn('Banked: ' + IntToStr(Players[i].Banked) + ' loads');
WriteLn('');
Writeln('================================================================');
end
end;

{======================================================================
Progress Report //
=======================================================================}

procedure ProgressReport;
begin
writeln('');
WriteLn('================================================================');
WriteLn('| Me_ntals Skinner |');
Writeln('================================================================');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Logged In ' + InttoStr(logd));
Writeln(' Banked ' + InttoStr(bankd));
writeln(' Kills ' + InttoStr(killd));
Writeln('================================================================');
end;

{======================================================================
Introduction //
=======================================================================}

procedure Introd;
begin
repeat
wait(250);
cleardebug;
xet:= xet -1;
writeln(' Me_ntals Skinner');
writeln('');
writeln(' Loading please wait');
writeln(' '+inttostr(xet));
until(xet = 0)
cleardebug;
if (xet = 0) then
writeln(' Here We ago');
writeln(' ~Mentals Skinner~');
end;

{======================================================================
Even Combat //
Idea Stolen From GS by Wt-Fawki
=======================================================================}
procedure evenlevels;
begin
GetAllLevels;
if (Players[CurrentPlayer].level[1] < Players[CurrentPlayer].level[2]) and
(Players[CurrentPlayer].level[1] < Players[CurrentPlayer].level[3]) then
begin
SetFightMode(1);
exit;
end;
if (Players[CurrentPlayer].level[2] < Players[CurrentPlayer].level[1]) and
(Players[CurrentPlayer].level[2] < Players[CurrentPlayer].level[3]) then
begin
SetFightMode(2);
exit;
end;
if (Players[CurrentPlayer].level[3] < Players[CurrentPlayer].level[1]) and
(Players[CurrentPlayer].level[3] < Players[CurrentPlayer].level[2]) then
begin
SetFightMode(3);
exit;
end;
end;

{======================================================================
Set Combat //
=======================================================================}

procedure Combattype;
begin
if Lowercase(Players[CurrentPlayer].Skill) = 'attack' then SetFightMode(1);
if Lowercase(Players[CurrentPlayer].Skill) = 'strength' then SetFightMode(2);
if Lowercase(Players[CurrentPlayer].Skill) = 'defence' then SetFightMode(4);
if Lowercase(Players[CurrentPlayer].Skill) = 'auto' then evenlevels;
if Lowercase(Players[CurrentPlayer].Skill) = 'even' then evenlevels;
gametab(4);
end;

{======================================================================
Waits While Attacking Cows
Modified Verison from Gs
=======================================================================}

Procedure patience;
var cowwait : integer;
begin
marktime(cowwait);
repeat
Wait(250 + Random(250));
if (TimeFromMark(cowwait) > ((cowpatience/2)+random((cowpatience/2))))then exit;
until (not(InFight));
end;

{======================================================================
Attack Cows //
=======================================================================}

function SlaughterCow: Boolean;
var CBx, CBy: Integer;
Begin
For CArray:=1 to 4 do
Begin
if (FindColorSpiralTolerance(CBx, CBy, CowColor[CArray], MSX1, MSY1, MSX2, MSY2, 15)) then
Begin
MMouse(CBx, CBy, 0, 0);
if (IsUpText('Cow')) then
Begin
KillingAttempts := KillingAttempts + 1
Mouse(CBx, CBy, 0, 0, True);
Flag;
wait(5000+random(4000));
if (InChatMulti('alr', 'und ',' att')) then
Begin
Result:=True;
Exit;
end;
if (InChatMulti('ome', 'one ',' ing')) then
Begin
Result:=False;
Exit;
end;
end;
end;
if (KillingAttempts = 50) then
begin
WriteLn('Too Busy World');
TerminateScript;
end;
end;
end;

{======================================================================
Walks to Field //
=======================================================================}

procedure ToField;
var i : integer;
begin
i := 0
RadialRoadWalk(findfallyRoadColor, 270, 180, 50, 1, 1);
flag;
i := i +1
RadialRoadWalk(findfallyRoadColor, 200, 170, 65, 1, 1);
flag;
i := i +1
RadialRoadWalk(RoadColor, 200, 170, 65, 1, 1);
flag;
i := i +1
RadialWalk(96513, 300, 0, 110, 1,1); //yew tree
flag;
i := i +1
if (RadialWalkEx(x, y, MMCX, MMCY, 234, 10, 115, 90, 60)) then Mouse(x, y, 5, 5, true);
flag;
if i = 5 then exit;
i := i +1
if i = 5 then exit;
end;

{======================================================================
Walks To bank //
=======================================================================}

procedure WalkBank;
var i : integer;
begin
i := 0
if (RadialWalkEx(x, y, MMCX, MMCY, 234, 280, 430, 70, 60)) then Mouse(x, y, 5, 5, true);
flag;
i := i +1
RadialWalk(96513, 300, 150, 300, 1,1); //yew tree
flag;
i := i +1
RadialWalk(6579307, 300, 270, 55, 1,1); //road
flag;
i := i +1
RadialRoadWalk(findfallyRoadColor, 375, 350, 60, 1, 1); //fally
flag;
i := i +1
RadialRoadWalk(findfallyRoadColor, 355, 380, 60, 1, 1);
flag;
i := i +1
RadialWalk(9547703 , 20, 70, 45, 1, 1); //fallybank
flag;
if i = 6 then exit;
i := i +1
if i = 6 then exit;
end;

{======================================================================
Collects Hide
=======================================================================}

procedure CollectHide;
var hidebmp:integer;
var acc:extended;
begin
hidebmp := BitmapFromString(6, 5, 'z78DA7331747674767419522400C' +
'8192CA7');

FindDeformedBitmapToleranceIn( hidebmp, x, y, MSX1, MSY1, MSX2, MSY2, 20, 1, True, acc)
if acc >= 0.9 then
begin
MMouse(x,y,0,0);
wait(100+Random(100));
mouse(x, y, 0, 0, false);
ChooseOption(x, y, 'ide');
freebitmap(hidebmp)
end;
end;

{======================================================================
Banks Hide //
=======================================================================}

procedure BankHides;
var bx, by: integer;
begin
if (FindDTM(HideDTM, bx, by, 552, 203, 742, 469)) then
begin
Mouse(x, y, 1, 1, false);
Wait(100 + Random(100));
ChooseOption(x, y, 'All');
bankd := bankd + 1;
CloseBank;
DropAll;
end;
end;

{======================================================================
Finds and Opens the Bank //
Modified verison of openbankglass by wizzup?
=======================================================================}

procedure OpenAccount;
var BB :TPoint;
begin
if (FindColorTolerance(BB.x, BB.y, 10594993, MSX1, MSY1, MSX2, MSY2, 4)) then
begin
MMouse(BB.x, BB.y, 4, 4);
if (IsUpTextMulti('ank', 'booth', 'ooth')) then
begin
Mouse(BB.x, BB.y, 0, 0, False);
Wait(100);
ChooseOption(BB.x, BB.y, 'uickly');
FFlag(0);
Wait(2000 + Random(500));
BankHides;
end;
end
else
begin
if (FindObj(BB.x, BB.y, 'ank', 10594993, 14)) then
begin
Mouse(BB.x, BB.y, 0, 0, False);
Wait(50);
ChooseOption(BB.x, BB.y, 'uickly');
FFlag(0);
Wait(2000 + Random(500));
BankHides;
end;
end;
end;



{======================================================================
Determines Where we are //
=======================================================================}

function WereAtBank: Boolean;
begin
if FindSymbol(x, y, 'bank') then
begin
mouse(x, y, 0, 0, true);
flag;
Players[currentplayer].loc := 'bank';
result := true
WriteLn('Were at Bank')
end;
end;

{======================================================================
Setup's
=======================================================================}

procedure SetupScript;
begin
DeclarePlayers;
CowColors;
ClearDebug;
ClearReport;
MouseSpeed := 25;
KillingAttempts := 0;
toll := 0;
bankd := 0;
killd := 0;
logd := 0;
Introd;
wait(1000);
ActivateClient;
loginplayer;
end;

procedure SetupPlayer;
begin
logd := logd + 1;
HighestAngle;
CombatType;
SetChat('on', 1);
SetChat('friends', 2);
SetChat('off', 3);
MakeCompass('N');
end;

{======================================================================
Main Loop
=======================================================================}

begin
SetupSRL;
xet:=10;
SetupScript;
repeat
if (not (LoggedIn)) then loginplayer;
SetupPlayer
repeat
if (WereAtBank) then Tofield else
begin
repeat
if(SlaughterCow) then KillingAttempts := 0;
Patience;
CollectHide;
werehuman;
RunRandoms;
until ((InvFull))
end;
WalkBank;
RunRandoms;
OpenAccount;
RunRandoms;
ToField;
ProgressReport;
PlayerReport;
Combattype;
SetRun(True);
until (toll >= Players[CurrentPlayer].integer2)
if (toll >= Players[CurrentPlayer].integer2) then
begin
GetAllLevels;
Players[currentplayer].integer1 := getcombatlevelb;
ProgressReport;
PlayerReport;
SRLRandomsReport;
LogOut;
NextPlayer(True);
toll := 0;
SetupPlayer;
end;
until False;
end.


Rimmington willow cutter general store seller never released currently on hold needs abit of work to make it more reliable and successful.

{
__________________________________________________________
|| Me_ntals Willow Cutter ||
|| ||
|| Suggestion? Post it! ||
|| Thanks the SRL team ||
|| Espically starblaster ||
||_______________________________________________________||

}

{.include srl/srl.scar}
{.include SRL/SRL/Skill/WoodCutting.scar}
var
DX, DY, LogDTM, BigXDTM, Willows, i: integer;

const WillowColor = 3160112;
const LogsPerLoad = 27;
const Loadstodo = 50;
const keepercolor = 2575473;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := ''; {3-4 letters of your name}
Players[0].Skill := 'hitpoints'; {Lamp Skill}
Players[0].Active := True; {Use player?}
Players[0].Boolean1 := False; {Powercop?}


end;

procedure DeclareDTM;
begin

LogDTM := DTMFromString('78DA632C66626078CA8002527D75191E02694' +
'620FE0F048CC94035CF18D000231209A4F3806AEE10505343A49A' +
'3744D8F511BF1A00056F0DE4');

BigXDTM := DTMFromString('78DA63E4626060006114C0C8F01F4C3230FC0' +
'7024661208309554541A21B54255407480D0FAA1A676B6D54351C' +
'404218554D88A739AA1A903D1CA86AB2639D51D5B001096654351' +
'35BF251D508E0B78B15880100130BA0');
end;


{__________________________________________
| Sigantures |
|__________________________________________|}

procedure Siganture;
begin
Writeln('_______________________________');
Writeln('| Me_ntal"s |');
Writeln('| Edgeville |');
Writeln('| Willow Cutter |');
Writeln('|______________________________|');
end;

procedure Report;
begin
ClearDebug;
Writeln('_______________________________');
Writeln('| |');
Writeln('| Me_ntal"s |');
Writeln('| Edgeville |');
Writeln('| Willow Cutter |');
Writeln('|______________________________|');
Writeln('')
Writeln(' Total Running Time : ' + TimeRunning);
Writeln('')
Writeln(Players[CurrentPlayer].Name);
Writeln('Willows Cut :' + IntToStr(Willows));
Writeln('Exp Gained :' + FloatToStr(Willows * 62.5));
end;

procedure Summary;
begin
AddToReport('');
AddToReport(Players[CurrentPlayer].Name)
AddToReport('');
AddToReport('Worked for : ' + IntToStr(Players[CurrentPlayer].Worked));
AddToReport('Loads Done : ' + IntToStr(Willows));
AddToReport('Exp Gained : ' + FloatToStr(Willows * 62.5));
AddToReport('Wc level : ' + IntToStr(Players[CurrentPlayer].Level[20]));
AddToReport('');
end;



{__________________________________________
| Setups |
|__________________________________________|}

procedure SetupPlayer;
begin
HighestAngle;
MakeCompass('N');
FindAxeHeadColor;
Report;
end;

{__________________________________________
| Randoms |
|__________________________________________|}

function FindFastRandoms: Boolean; //By WT-Fakawi.
begin
for i := 1 to 16 do
begin
case I of
1: CloseWindow;
2: if FindTalk then
Result := True;
3: if FindDead then
Result := True;
4: if FindMod then
Result := True;
5: if FindMime then
Result := True;
6: if FindMaze then
Result := True;
7: if FindQuiz then
Result := True;
8: if FindDemon then
Result := True;
9: if FindScapeRune then
Result := True;
10: if FindTalk then
Result := True;
11: if FindLamp(LampSkill) then
Result := True;
12: if (FindNewBox) then
begin
Result := True;
if (UseBoxSolver) then
SolveBox
else
GambleNewBox;
end;

14:
begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
16: if RC then
Result := True;
end;
Wait(1);
end;
end;

{__________________________________________
| AntiBan |
|__________________________________________|}

procedure WereHuman;
begin
if not (LoggedIn) then Exit;
begin
case Random(20) of
0: HoverSkill('random', false);
1: RandomRClickEvery(2 + Random(8));
2: RotateEvery(20 + Random(10));
3: LeaveScreenEvery(5 + Random(5));
4: HoverSkill('Woodcutting', false);
5: BoredEvery(9 + Random(24));
6: begin
GameTab(1 + Random(12));
Wait(1500 + Random(500));
GameTab(4);
end;
7: SleepAndMoveMouse(1000 + Random(1000));
8: MMouse(Random(MIX2), Random(MIY2), 0, 0);
9: HoverSkill('Firemaking', false);
end;
end
end;

procedure Randomfind;
begin
FindFastRandoms;
FindNormalRandoms;
end;

{__________________________________________
| Selling |
|__________________________________________|}

procedure fromshop;
begin
{Shop to Witch}
if (RadialWalkEx(DX, DY, MMCX, MMCY, RoadColor, 30, 120, 130, 50)) then
begin
mouse(DX, DY, 0, 0, true);
Flag;
if (RadialWalkEx(DX, DY, MMCX, MMCY, 1784915, 30, 145, 175, 60)) then
begin
mouse(DX, DY, 0, 0, true);
Flag;
Randomfind;
WriteLn('Returned To Willows');
end;
end;
end;

procedure selllogs;
begin
LowestAngle;
MakeCompass('N');
if (FindColorTolerance(x, y, keepercolor, MSX1, MSY1, MSX2, MSY2, 10)) then
begin
MMouse(x, y, 3, 3);
wait(100 + random(100));
if (IsUpTextMulti('hop', 'eep', 'per')) then
begin
Mouse(x, y, 3, 3, false);
Wait(50 + Random(35));
ChooseOption(x, y, 'Trade');
Wait(50 + Random(100));
repeat
if (FindDTM(LogDTM, x, y, 552, 203, 742, 469)) then
begin
Mouse(x, y, 2, 2, False);
ChooseOption(x, y, 'Sell 10');
Mouse(x, y, 2, 2, True);
end;
until (not (FindDTM(LogDTM, x, y, 552, 203, 742, 469)));
Willows := Willows + LogsPerLoad;
Report;
if (FindDTM(BigXDTM, x, y, 552, 203, 742, 469)) then
begin
Mouse(x, y, 2, 2, True);
Wait(100 + Random(100));
WriteLn('Sold A load');
HighestAngle;
end;
end;
end
end;

procedure tooshop;
begin
{Willow to dead}
if (RadialWalkEx(DX, DY, MMCX, MMCY, 1256738, 30, 345, 366, 45)) then
begin
begin
mouse(DX, DY, 0, 0, true);
Flag;
if (RadialWalkEx(DX, DY, MMCX, MMCY, 232, 30, 300, 303, 60)) then
begin
begin
mouse(DX, DY, 0, 0, true);
Flag;
if (RadialWalkEx(DX, DY, MMCX, MMCY, 602204, 30, 300, 225, 15)) then
begin
mouse(DX, DY, 0, 0, true);
Flag;
WriteLn('At Shop');
Wait(100 + Random(100));
end
end;
end
end;
end
end;

procedure DropLogs;
begin
if (InvFull) then
begin
repeat
if (FindDTM(LogDTM, x, y, 552, 203, 742, 469)) then
begin
Mouse(x, y, 2, 2, False);
ChooseOption(x, y, 'Drop');
Randomfind;
end;
until (not (FindDTM(LogDTM, x, y, 552, 203, 742, 469)));
Willows := Willows + LogsPerLoad;
Report;
end else
exit;
end;

procedure bankreq;
begin
if (InvFull) then
begin
if (Players[CurrentPlayer].Boolean1 = False) then
begin
tooshop;
Wait(50 + Random(100));
selllogs;
Wait(50 + Random(100));
fromshop;
end else
DropLogs;
end else
exit;
end;



{__________________________________________
| Main Loop |
|__________________________________________|}

procedure Doload;
var
cx, cy: Integer;
begin
if (InvFull) then bankreq;
repeat
begin
if not (LoggedIn) then Exit;
if (FindColorSpiralTolerance(x, y, WillowColor, msx1, msy1, msx2, msy2, 5)) and
not (FindColorSpiralTolerance(cx, cy, 515029, MSX1, MSY1, 180, 25, 20)) and
not (FindColorSpiralTolerance(cx, cy, 122333, MSX1, MSY1, 123, 15, 10)) and
not (FindColorSpiralTolerance(cx, cy, 65535, MSX1, MSY1, 180, 25, 20)) then
begin
MMouse(x, y, 3, 3);
if (IsUpTextMulti('hop', 'own', 'illo')) then
begin
Wait(100 + Random(100));
Mouse(x, y, 3, 3, false);
Wait(50 + Random(35));
ChooseOption(x, y, 'Chop');
Wait(50 + Random(100));
end;
repeat
begin
if (InvFull) then bankreq;
MMouse(x, y, 3, 3);
wait(500 + Random(1000));
FindEnt(3160112);
FindHead;
WereHuman;
end;
until (not (IsUpText('hop')));
Randomfind;
end;
end;
until ((InvFull))
if (InvFull) then bankreq;
end;



{__________________________________________
| Main Loop |
|__________________________________________|}
begin
setupsrl;
DeclareDTM;
ActivateClient;
Willows := 0;
ClearDebug;
Siganture;
DeclarePlayers;
repeat
if (not (LoggedIn)) then LoginPlayer;
SetupPlayer;
repeat
Doload;
bankreq;
Report;
until (Willows >= Loadstodo)
if (Willows >= Loadstodo) then
begin
GetAllLevels;
Summary;
LogOut;
NextPlayer(True);
Willows := 0;
SetupPlayer;
end;
until False;
end.

——————————————————
<!– END TEMPLATE: formanswers –>

YoHoJo

2007-05-08 02:31:15

1st script is just like cows.
Nice idea, but Cows is a member only script?
Where you get a hold of that?

Answer and ill vote. =)

rkroxpunk

2007-05-08 02:33:34

Aww man this is a sweet app but ur meant to wait a month before applying again. Personally I think this rule should be overlooked sometimes but I won't vote or anything until everyone else comments soz :(

EDIT: Oh yohojo beat me, well if he's voting i'm voting :D I'll just make sure it's all legit first :D

WT-Fakawi

2007-05-08 03:19:19

From: YoHoJo
1st script is just like cows.
Nice idea, but Cows is a member only script?
Where you get a hold of that?

Answer and ill vote. =)
I will answer. I have given him my Cows script to study, and permission to use whatever he feels suited, but not after he released his version to me, so thats ok…..



BTW: Voting yes (ofcourse)

YoHoJo

2007-05-08 03:22:49

Ahh i see.
Well his cows doesnt seem TOO similar to yours, wtf yes…

~alex~

2007-05-08 03:25:31

I'm saying yes, this is probably one of the better apps I've seen, little talking and far more scripting.

Definate yes.

nielsie95

2007-05-08 04:05:27

Yes from me. Good scripter and he's also a great helper in the Scripting Help section :).

neG

2007-05-08 04:50:22

Nice work, its good to see applications that are actually enjoyable to read :)
Yes from me.

omgh4x0rz

2007-05-08 07:05:42

yea, good job

me_ntal

2007-05-08 07:41:52

Wow! thanks alot guys, and as Wt has explained he gave me a copy of his cows but not until i had released mine. In terms of the cows script yes i originally wanted it to be like his, but have a range of ideas i want to implement if you want to swing by thread to read. It has a few errors in it but im ironing them out and Thanks heaps to nielse he always had help to offer me and a special thanks to WT god your a nice bloke.

The top few procedures/functions i developed for later use in my cow killer and the willow cutter i included.

Pentti

2007-05-08 07:48:15

Cool stuff man!
Ill vote NO…-W Yes!!
:D

rkroxpunk

2007-05-08 08:11:20

yay everyones saying yes, definate yes from me too :D

me_ntal

2007-05-08 08:19:28

Thanks alot, i also just added my developed AutoRetaliate procedure as you can see there is a common fighting theme coming through. Alot of these are being developed for later use on my cow killer. Feel free to use modify and do what ever you want with them. I have a procedure dump at http://www.villavu.com/forum/showthread.php?t=9608 Which i add to when i develop something.

Thanks everyone !!

WT-Fakawi

2007-05-08 19:01:34

In, and rightfully deserved too..

Welcome!