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 WithdrawRune(Rune : String; Numb : integer);
By: Me_ntal
Description:
Withdraws a speficied amount of any rune.
Example:
WithdrawRune('Air', '200');
Procedure ScrollBank(Direction: String);
By: Me_ntal
Description:
Scrolls the bank by one line.
Example:
ScrollBank('Up');
Procedure BareHand:Boolean
By: Me_ntal
Description:
Checks if a weapon is equipped
Procedure AutoRetaliate(Setting: String);
By: Me_ntal
Description:
Either turns on or off retaliate
Example:
AutoRetaliate('on');
Skinner released to the public on May 6th
Rimmington willow cutter general store seller never released currently on hold needs abit of work to make it more reliable and successful.
——————————————————
<!– END 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 –>