got a proggy
2 hours, 52 minutes, and 9 seconds
chickens killed: 225
one hit kills: 416.
just wrote in from other pc hehe![]()
Thanks for the replies and porggies and the answers to my poll people, sorry Bobzilla thought you meant you have the up to date SRl and Scar.
New version will be made, which will have evening skills and an easier way to set the fighting style by selecting the weapon first then the style, i'll try and fix the issue about burying bones but i checked a few days ago and it worked fine on my computer lol.
this script is becoming such a good script lol.
nice one.
haxor
SCAR Code:if BuryBones then
begin
WriteLn('Bury bones : True');
end
else
begin
WriteLn('Bury bones : False');
end;
if CollectFeathers then
begin
WriteLn('Collect feathers : True');
end
else
begin
WriteLn('Collect feathers : False');
end;
WriteLn('Chicken tolerance : '+IntToStr(ChickenTolerance));
WriteLn('Chicken colour 1 : '+IntToStr(ChickenColour[1]));
WriteLn('Chicken colour 2 : '+IntToStr(ChickenColour[2]));
WriteLn('Chicken colour 3 : '+IntToStr(ChickenColour[3]));
WriteLn('Bone colour : '+IntToStr(BoneColour));
WriteLn('Feather colour : '+IntToStr(FeatherColour));
WriteLn('----')
WriteLn('Players : '+IntToStr(HowManyPlayers));
Sounds like something I had
Also needs some heavy standardising:
SCAR Code:{
_______
/ ____/ Version 0.79
/ / ______
/ /icken / ___/ \\
\ \ / /rusher _( o >
\ \____\ \___ /__=-/
\_______-_____\ ||
By ShapeShifter
My first nice form and fighting script!
Date made:23/07/07
Programs Used:Scar Divi 3.11 and SRL 3.81
-Anti-randoms, also has some anti-ban stuff so you loook more human.
-Can set how much Chickens you want to kill or the time per player.
-Can set your fighting style, recognises if you have equiped a staff
or if you're unarmed else it sets it the default way.
-Checks for the nearest Chicken which is not in a fight.
-Waits untill you've killed/one hit killed the Chicken before
attacking the next one.
-Can set to pick up feathers or bury bones, if you're not burying
bones it'll fill up the inventory with bones to prevent randoms.
-Script will leave one space for the feathers if your collecting
them and you ain't got them yet.
-Can check if you've got the latest version.
-Easy form you can use, easy to add/delete players and pick colours.
-Clicks on a GameTab to make you stay active if you ain't found
a Chicken yet, after 2 minuts or abit more it'll log you out if
you ain't found a Chicken or if you havn't killed a Chicken for 5
minutes plus random 20 seconds it'll log out.
Post any errors to the thread!
Instructions:1.Use in arear where chicken are, don't
use in a too crowded area.
2.Script can only be used for melee combat.
3.Use Runescape client low detail and
set your screen to 32 bit TRUE color.
4.Read the bit below about setting the
fight mode, so you know what to do.
5.Drag the crosshair over the Runescape
client.
6.Finally, start logged out, click on the
green arrow, enjoy!
Setting the fight mode in the form.
OPTIONS:'attack','strength1','strength2 and 'defence'.
If you ain't got nothing wielded or not got a staff thiS
is how the categories go in gametab(1):
_________ _________
| attack | |strength1|
--------- ---------
_________ _________
|strength2| | defence |
--------- ---------
If you have got a weapon listed above equiped
'strength1' and 'strength2' is just the strength box.
Version :
--------------------------------------------------------------
0.79
Date made:23/07/07
Programs Used:Scar Divi 3.11 and SRL 3.81
-If script doesn't kill a Chicken for 5 minutes plus random
20 seconds it'll log out.
-Fixed a few minor bugs.
-New bone bitmap, old one weren't working.
0.77
Date made:21/07/07
Programs Used:Scar Divi 3.11 and SRL 3.81
My first nice form and my first fighting script!
Check if you have killed the chicken by its healthbar or if
you have one hit killed it, can set if you want it to collect
feathers or bury bones. If you don't burybones, it will fill
up the inventory with bones to prevent randoms. The function
'CheckStrToInt' checks if the string can be changed into an
integer to prevent erros in the form.
Credits :
--------------------------------------------------------------
Widget, without him I would have never thought of a form like
this!
[--------------------------------------------------------------]}
program ChickenCrusher;
{.include SRL\SRL.SCAR}
{.include SRL\SRL\Misc\Trade.scar}
var
{-----Form-----}
ChickenCrusherForm : TForm;
PressedStart : boolean;
Background : TImage;
b, CPlayer : integer;
GroupBoxScript, GroupBoxMisc, GroupBoxColours,
GroupBoxPlayers : TGroupBox;
UrSRLID, UrSRLPassword, FRMs, ABRate, PlayerTime, CTlr,
CColour1, CColour2, CColour3, BColour, FColour,
Username, Password, Nickname, IntegerOne : TEdit;
BBones, PUFeathers : TCheckBox;
Skill4Lamp, StringOne : TComboBox;
LabelTitle, LabelABRate, LabelPlayerTime, LabelCTlr,
LabelCColours, LabelBColour, LabelFColour, LabelRandoms : TLabel;
VersionIsLatest, ButtonC1, ButtonC2, ButtonC3, ButtonBC, ButtonFC,
BackP, AddP, DeleteP, NextP, Start, Cancel : TButton;
{-----/Form-----}
{-----SetUp-----}
FindRandomMS, AntiBanRate, TimePerPlayer, ChickenTolerance,
BoneColour, FeatherColour : integer;
BuryBones, CollectFeathers : boolean;
ChickenColour : array[1..3] of integer;
{-----/SetUp-----}
TotalChickensKilled, TotalBonesBuried, TotalOneHitKills,
FRTime, LastKill, ChickenTimer, BMPBone, BMPFeather, BMP1HitKill,
BMPDead : integer;
GotFeathers : boolean;
HasBeenOn : array of boolean;
ChickensKilled : array of integer;
OneHitKills : array of integer;
BonesBuried : array of integer;
const
Version = '0.79';
{DragForm - Drags the form}
procedure DragForm(Sender : TObject; Button : TMouseButton; Shift : TShiftState; X, Y : Integer);
var Newx, Newy, Oldx, Oldy : integer;
begin
GetMousePos(Oldx, Oldy);
repeat
GetMousePos(Newx, Newy);
ChickenCrusherForm.Top := ChickenCrusherForm.Top - (Oldy - Newy);
ChickenCrusherForm.Left := ChickenCrusherForm.Left - (Oldx - Newx);
sleep(1);
Oldx := Newx;
Oldy := Newy;
until (not IsMouseButtonDown(True));
end;
{LatestVersion - Checks for the latest version}
procedure LatestVersion(Sender : TObject);
var LatestVersionOut : string;
begin
LatestVersionOut := GetPage('http://shapeshifterscripts.freehostia.com/Chicken%20Crusher/Latest%20Version');
if LatestVersionOut <> Version then
begin
WriteLn(' You do not have the latest version!');
WriteLn(' Your version is ' + Version + ', latest version is ' + LatestVersionOut);
WriteLn(' Download the latest version from these link[s]:');
WriteLn(GetPage('http://shapeshifterscripts.freehostia.com/Chicken%20Crusher/Download%20Link'));
end
else
begin
WriteLn(' You have got the latest version!');
WriteLn(' Post all your progress reports at these site[s]:');
WriteLn(GetPage('http://shapeshifterscripts.freehostia.com/Chicken%20Crusher/Progress%20Report'));
end;
end;
{CheckStrToInt - Check if the string can be changed into an
integer, nearly always works(used for the form)}
function CheckStrToInt(SS : string) : Boolean;
var t : integer;
begin
for t := 1 to Length(SS) do
begin
if t = 1 then
begin
if Length(SS) = 1 then
begin
if SS[t] = '+' then
begin
exit;
end;
end;
if not ((SS[t] = '+') or (SS[t] = '0') or
(SS[t] = '1') or (SS[t] = '2') or
(SS[t] = '3') or (SS[t] = '4') or
(SS[t] = '5') or (SS[t] = '6') or
(SS[t] = '7') or (SS[t] = '8') or
(SS[t] = '9')) then
begin
exit;
end;
end
else
begin
if not ((SS[t] = '0') or (SS[t] = '1') or
(SS[t] = '2') or (SS[t] = '3') or
(SS[t] = '4') or (SS[t] = '5') or
(SS[t] = '6') or (SS[t] = '7') or
(SS[t] = '8') or (SS[t] = '9')) then
begin
exit;
end;
end;
if t = Length(SS) then
begin
if SS[1] = '+' then
begin
if Length(ss) <= 10 then
begin
Result := True;
end
else
begin
exit;
end;
end
else
begin
if Length(ss) <= 9 then
begin
Result := True;
end
else
begin
exit;
end;
end;
Result := True;
exit;
end;
end;
end;
{SortOutPlayer - Used to sort out the player stuff}
procedure SortOutPlayer;
begin
Players[CPlayer].Name := Username.Text;
Players[CPlayer].Pass := Password.Text;
Players[CPlayer].Nick := LowerCase(Nickname.Text);
if not CheckStrToInt(IntegerOne.Text) then
begin
IntegerOne.Text := '0';
end;
Players[CPlayer].integer1 := StrToInt(IntegerOne.Text);
if not ((LowerCase(StringOne.Text) = 'attack') or
(LowerCase(StringOne.Text) = 'strength1') or
(LowerCase(StringOne.Text) = 'strength2') or
(LowerCase(StringOne.Text) = 'defence')) then
begin
StringOne.Text := 'attack';
end;
Players[CPlayer].string1 := LowerCase(StringOne.Text);
end;
{SetVars - Sets the variables after you press fight so
no faults occurs}
procedure SetVars(Sender : TObject);
var p : integer;
begin
SortOutPlayer;
SRLID := UrSRLID.Text;
SRLPassword := UrSRLPassword.Text;
if not CheckStrToInt(FRMs.Text) then
begin
FRMs.Text := IntToStr(9000 + random(2000));
end;
FindRandomMS := StrToInt(FRMs.Text);
if not CheckStrToInt(ABRate.Text) then
begin
ABRate.Text := IntToStr(26 + random(10));
end;
AntiBanRate := StrToInt(ABRate.Text);
if not ((LowerCase(Skill4Lamp.Text) = 'agility') or
(LowerCase(Skill4Lamp.Text) = 'attack') or
(LowerCase(Skill4Lamp.Text) = 'construction') or
(LowerCase(Skill4Lamp.Text) = 'cooking') or
(LowerCase(Skill4Lamp.Text) = 'crafting') or
(LowerCase(Skill4Lamp.Text) = 'defence') or
(LowerCase(Skill4Lamp.Text) = 'farming') or
(LowerCase(Skill4Lamp.Text) = 'firemaking') or
(LowerCase(Skill4Lamp.Text) = 'fishing') or
(LowerCase(Skill4Lamp.Text) = 'fletching') or
(LowerCase(Skill4Lamp.Text) = 'herblore') or
(LowerCase(Skill4Lamp.Text) = 'hitpoints') or
(LowerCase(Skill4Lamp.Text) = 'hunting') or
(LowerCase(Skill4Lamp.Text) = 'magic') or
(LowerCase(Skill4Lamp.Text) = 'mining') or
(LowerCase(Skill4Lamp.Text) = 'prayer') or
(LowerCase(Skill4Lamp.Text) = 'ranged') or
(LowerCase(Skill4Lamp.Text) = 'runecrafting') or
(LowerCase(Skill4Lamp.Text) = 'slayer') or
(LowerCase(Skill4Lamp.Text) = 'smithing') or
(LowerCase(Skill4Lamp.Text) = 'strength') or
(LowerCase(Skill4Lamp.Text) = 'thieving') or
(LowerCase(Skill4Lamp.Text) = 'woodcutting')) then
begin
Skill4Lamp.Text := 'attack';
end;
LampSkill := LowerCase(Skill4Lamp.Text);
if not CheckStrToInt(PlayerTime.Text) then
begin
PlayerTime.Text := '0';
end;
TimePerPlayer := StrToInt(PlayerTime.Text);
BuryBones := BBones.Checked;
CollectFeathers := PUFeathers.Checked;
if not CheckStrToInt(CTlr.Text) then
begin
CTlr.Text := '5';
end;
ChickenTolerance := StrToInt(CTlr.Text);
if not CheckStrToInt(CColour1.Text) then
begin
CColour1.Text := '858490';
end;
ChickenColour[1] := StrToInt(CColour1.Text);
if not CheckStrToInt(CColour2.Text) then
begin
CColour2.Text := '4831951';
end;
ChickenColour[2] := StrToInt(CColour2.Text);
if not CheckStrToInt(CColour3.Text) then
begin
CColour3.Text := '8828102';
end;
ChickenColour[3] := StrToInt(CColour3.Text);
if not CheckStrToInt(BColour.Text) then
begin
BColour.Text := '13685206';
end;
BoneColour := StrToInt(BColour.Text);
if not CheckStrToInt(FColour.Text) then
begin
FColour.Text := '9472';
end;
HowManyPlayers := GetArrayLength(Players);
for p := 0 to HowManyPlayers - 1 do
begin
Players[p].Active := True;
end;
SetArrayLength(HasBeenOn, HowManyPlayers);
SetArrayLength(ChickensKilled, HowManyPlayers);
SetArrayLength(OneHitKills, HowManyPlayers);
SetArrayLength(BonesBuried, HowManyPlayers);
FeatherColour := StrToInt(FColour.Text);
ChickenCrusherForm.ModalResult := mrOk;
PressedStart := True;
WriteLn('');
WriteLn('[--------------------Form Info----------------------]');
WriteLn('SRL Stats ID : ' + SRLID);
WriteLn('SRL Stats password : ' + SRLPassword);
WriteLn('Find Randoms : ' + IntToStr(FindRandomMS) + ' msecs');
WriteLn('Anti-ban rate : ' + IntToStr(AntiBanRate));
WriteLn('Skill for lamp : ' + LampSkill);
WriteLn('Timer per player : ' + IntToStr(TimePerPlayer));
if BuryBones then
begin
WriteLn('Bury bones : True');
end
else
begin
WriteLn('Bury bones : False');
end;
if CollectFeathers then
begin
WriteLn('Collect feathers : True');
end
else
begin
WriteLn('Collect feathers : False');
end;
WriteLn('Chicken tolerance : ' + IntToStr(ChickenTolerance));
WriteLn('Chicken colour 1 : ' + IntToStr(ChickenColour[1]));
WriteLn('Chicken colour 2 : ' + IntToStr(ChickenColour[2]));
WriteLn('Chicken colour 3 : ' + IntToStr(ChickenColour[3]));
WriteLn('Bone colour : ' + IntToStr(BoneColour));
WriteLn('Feather colour : ' + IntToStr(FeatherColour));
WriteLn('----')
WriteLn('Players : ' + IntToStr(HowManyPlayers));
for p := 0 to HowManyPlayers - 1 do
begin
WriteLn('---')
WriteLn('Players[' + IntToStr(p) + '].Name :=' + Players[p].Name);
WriteLn('Players[' + IntToStr(p) + '].Pass :=' + Players[p].Pass);
WriteLn('Players[' + IntToStr(p) + '].Nick :=' + Players[p].Nick);
WriteLn('Players[' + IntToStr(p) + '].integer1 :=' + IntToStr(Players[p].integer1));
WriteLn('Players[' + IntToStr(p) + '].string1 :=' + Players[p].string1);
end;
WriteLn('[---------------------------------------------------]');
WriteLn('');
end;
{AddPlayer - Adds a player}
procedure AddPlayer(Sender : TObject);
begin
SortOutPlayer
SetArrayLength(Players, GetArrayLength(Players) + 1);
Players[GetArrayLength(Players) - 1].Name := 'Username';
Players[GetArrayLength(Players) - 1].Pass := 'Password';
Players[GetArrayLength(Players) - 1].Nick := 'ser';
Players[GetArrayLength(Players) - 1].integer1 := 0;
Players[GetArrayLength(Players) - 1].string1 := 'attack';
CPlayer := GetArrayLength(Players) - 1;
GroupBoxPlayers.Caption := 'Player ' + IntToStr(CPlayer + 1) + ' of ' + IntToStr(GetArrayLength(Players));
Username.Text := Players[CPlayer].Name
Password.Text := Players[CPlayer].Pass;
Nickname.Text := Players[CPlayer].Nick;
IntegerOne.Text := IntToStr(Players[CPlayer].integer1);
StringOne.Text := Players[CPlayer].string1;
end;
{DeletePlayer - Deletes the player}
procedure DeletePlayer(Sender : TObject);
var p : integer;
Deleted : boolean;
begin
if ((CPlayer = 0) and (GetArrayLength(Players) = 1)) then
begin
Players[GetArrayLength(Players) - 1].Name := 'Username';
Players[GetArrayLength(Players) - 1].Pass := 'Password';
Players[GetArrayLength(Players) - 1].Nick := 'ser';
Players[GetArrayLength(Players) - 1].integer1 := 0;
Players[GetArrayLength(Players) - 1].string1 := 'attack';
Deleted := True;
end
else
begin
if CPlayer < GetArrayLength(Players) - 1 then
begin
for p := CPlayer + 1 to GetArrayLength(Players) - 1 do
begin
Players[p - 1].Name := Players[p].Name;
Players[p - 1].Pass := Players[p].Pass;
Players[p - 1].Nick := Players[p].Nick;
Players[p - 1].integer1 := Players[p].integer1;
Players[p - 1].string1 := Players[p].string1;
end;
SetArrayLength(Players, GetArrayLength(Players) - 1);
end
else
begin
if CPlayer = GetArrayLength(Players) - 1 then
begin
CPlayer := CPlayer - 1;
SetArrayLength(Players, GetArrayLength(Players) - 1);
end;
end;
end;
Username.Text := Players[CPlayer].Name
Password.Text := Players[CPlayer].Pass;
Nickname.Text := Players[CPlayer].Nick;
IntegerOne.Text := IntToStr(Players[CPlayer].integer1);
StringOne.Text := Players[CPlayer].string1;
GroupBoxPlayers.Caption := 'Player ' + IntToStr(CPlayer + 1) + ' of ' + IntToStr(GetArrayLength(Players));
end;
{ForwardPlayer - See the stats of the player plus one}
procedure ForwardPlayer(Sender : TObject);
begin
SortOutPlayer
if CPlayer + 1 = GetArrayLength(Players) then
begin
CPlayer := 0;
end
else
begin
CPlayer := CPlayer + 1;
end;
GroupBoxPlayers.Caption := 'Player ' + IntToStr(CPlayer + 1) + ' of ' + IntToStr(GetArrayLength(Players));
Username.Text := Players[CPlayer].Name
Password.Text := Players[CPlayer].Pass;
Nickname.Text := Players[CPlayer].Nick;
IntegerOne.Text := IntToStr(Players[CPlayer].integer1);
StringOne.Text := Players[CPlayer].string1;
end;
{BackPlayer - See the stats of the player minus one}
procedure BackPlayer(Sender : TObject);
begin
SortOutPlayer
if CPlayer = 0 then
begin
CPlayer := GetArrayLength(Players) - 1;
end
else
begin
CPlayer := CPlayer - 1;
end;
GroupBoxPlayers.Caption := 'Player ' + IntToStr(CPlayer + 1) + ' of ' + IntToStr(GetArrayLength(Players));
Username.Text := Players[CPlayer].Name
Password.Text := Players[CPlayer].Pass;
Nickname.Text := Players[CPlayer].Nick;
IntegerOne.Text := IntToStr(Players[CPlayer].integer1);
StringOne.Text := Players[CPlayer].string1;
end;
{SetColourKeyUp - Sets the colour of the box when you
have just released the key}
procedure SetColour1KeyUp(Sender : TObject; var Key : Word; Shift : TShiftState);
begin
if not CheckStrToInt(CColour1.Text) then
begin
CColour1.Text := '858490';
end;
CColour1.Color := StrToInt(CColour1.Text);
if CColour1.Color < 12053224 then
begin
CColour1.Font.Color := ClWhite;
end
else
begin
CColour1.Font.Color := ClBlack;
end;
end;
procedure SetColour2KeyUp(Sender : TObject; var Key : Word; Shift : TShiftState);
begin
if not CheckStrToInt(CColour2.Text) then
begin
CColour2.Text := '4831951';
end;
CColour2.Color := StrToInt(CColour2.Text);
if CColour2.Color < 12053224 then
begin
CColour2.Font.Color := ClWhite;
end
else
begin
CColour2.Font.Color := ClBlack;
end;
end;
procedure SetColour3KeyUp(Sender : TObject; var Key : Word; Shift : TShiftState);
begin
if not CheckStrToInt(CColour3.Text) then
begin
CColour3.Text := '8828102';
end;
CColour3.Color := StrToInt(CColour2.Text);
if CColour3.Color < 12053224 then
begin
CColour3.Font.Color := ClWhite;
end
else
begin
CColour3.Font.Color := ClBlack;
end;
end;
procedure SetBColourKeyUp(Sender : TObject; var Key : Word; Shift : TShiftState);
begin
if not CheckStrToInt(BColour.Text) then
begin
BColour.Text := '13685206';
end;
BColour.Color := StrToInt(BColour.Text);
if BColour.Color < 12053224 then
begin
BColour.Font.Color := ClWhite;
end
else
begin
BColour.Font.Color := ClBlack;
end;
end;
procedure SetFColourKeyUp(Sender : TObject; var Key : Word; Shift : TShiftState);
begin
if not CheckStrToInt(FColour.Text) then
begin
FColour.Text := '9472';
end;
FColour.Color := StrToInt(FColour.Text);
if FColour.Color < 12053224 then
begin
FColour.Font.Color := ClWhite;
end
else
begin
FColour.Font.Color := ClBlack;
end;
end;
{SetColour - Sets the colour of the box}
procedure SetColour1;
begin
CColour1.Color := StrToInt(CColour1.Text);
if CColour1.Color < 12053224 then
begin
CColour1.Font.Color := ClWhite;
end
else
begin
CColour1.Font.Color := ClBlack;
end;
end;
procedure SetColour2;
begin
CColour2.Color := StrToInt(CColour2.Text);
if CColour2.Color < 12053224 then
begin
CColour2.Font.Color := ClWhite;
end
else
begin
CColour2.Font.Color := ClBlack;
end;
end;
procedure SetColour3;
begin
CColour3.Color := StrToInt(CColour3.Text);
if CColour3.Color < 12053224 then
begin
CColour3.Font.Color := ClWhite;
end
else
begin
CColour3.Font.Color := ClBlack;
end;
end;
procedure SetBColour;
begin
BColour.Color := StrToInt(BColour.Text);
if BColour.Color < 12053224 then
begin
BColour.Font.Color := ClWhite;
end
else
begin
BColour.Font.Color := ClBlack;
end;
end;
procedure SetFColour;
begin
FColour.Color := StrToInt(FColour.Text);
if FColour.Color < 12053224 then
begin
FColour.Font.Color := ClWhite;
end
else
begin
FColour.Font.Color := ClBlack;
end;
end;
{PickOutColour - You get to pick the colour by pressing
the button next to it}
procedure PickOutColour1(Sender : TObject);
var Cc, Px, Py : integer;
begin
PickColor(Cc, Px, Py);
CColour1.Text := IntToStr(Cc);
SetColour1;
end;
procedure PickOutColour2(Sender : TObject);
var Cc, Px, Py : integer;
begin
PickColor(Cc, Px, Py);
CColour2.Text := IntToStr(Cc);
SetColour2;
end;
procedure PickOutColour3(Sender : TObject);
var Cc, Px, Py : integer;
begin
PickColor(Cc, Px, Py);
CColour3.Text := IntToStr(Cc);
SetColour3;
end;
procedure PickOutBoneColour(Sender : TObject);
var Cc, Px, Py : integer;
begin
PickColor(Cc, Px, Py);
BColour.Text := IntToStr(Cc);
SetBColour;
end;
procedure PickOutFeatherColour(Sender : TObject);
var Cc, Px, Py : integer;
begin
PickColor(Cc, Px, Py);
FColour.Text := IntToStr(Cc);
SetFColour;
end;
{NewForm - The form}
procedure NewForm;
begin
ChickenCrusherForm := CreateForm;
with ChickenCrusherForm do
begin
Caption := 'Blaster Miner Start Up';
Position := poScreenCenter;
Width := 697;
Height := 499;
Color := ClBlack;
Font.Name := 'Arial';
Font.Size := 9;
Font.Color := ClBlack;
BorderStyle := bsNone;
OnMouseDown := @DragForm;
end;
Background := TImage.Create(ChickenCrusherForm);
with Background do
begin
Parent := ChickenCrusherForm;
SetBounds(0, 0, 697, 499);
OnMouseDown := @DragForm;
end;
b := BitmapFromString2(False, 'aBA85978DA75965976ED380800B7' +
'A479F8D4B8FF25758164B79393978F0A17A10104C8C6185BB6E1C' +
'F66E0EB80C127A1C044EF5E7D0C4B989A702A9B8C262FA3C9AA9C' +
'645A3241467381AEC92C575413759DAD36626E52D17F3E1A930B6' +
'BA6B2DD783995C375985DBBCCA5A2CF65B909372CB09B5C0D2C8C' +
'A6CB0A3372466E25B8605ADECE9BAE1CB93BAB3430D96D66CE686' +
'64E705D7ABBADC9CE19EBD276D6FAD40FD1076463137A6799EA02' +
'F4B0F1235F76D64FCA7C293B163B2FC5E6E1A34F76A1393C36F1C' +
'A43D73F9C305E0ECE8046393855B00B320B8D57C6CBF9918FE5FF' +
'F4FF644BB80749075B92C4A4C46DD79533F2B6297634BF39FEA15' +
'F36C27E196043DED8C7B8D024565E36A7A4CCBA57965DE0405EAA' +
'3F67E8CAFDB2726B53E2AFB2B0E7C6DC9117E71F8554B5135A34F' +
'BC83A2A7367165FD6B15179AACD62AE7BB9CFA8AE668ECD599F15' +
'CE3A1D79CA8D5F8ABEAB7E1F99B967B46589929C931870CEF5435' +
'33E3CA3326BBF5CE7E4D797879269F65D2DBF240E6AD3F162E28B' +
'D798F84783D7C4BB44B2719744BE3DB4425616AE8F0C9D61B41F6' +
'269AE5C55AECE60536F3ECF0FA92CA90BCDCFAE39D653E30C954C' +
'B390EA7BB2EBE4DB27EBB2E60947237A57AFB2584ECD13FCD50AE' +
'D5AA12D9D9BF5520BEC1E2EB756D62626525FD40BA75D2EE999C9' +
'77F1FA0F5AFC2A2EB0257543AC84D635186044BF6084A29F97093' +
'DAB96E2995DA62742657BEF5A352F6BB5B0D7E0A39B247176A316' +
'B8EAF4050EE5F6F561338FEC4D0BBE53A8D10F585EBA96FD84C32' +
'FEFDB843F478F7E29B7DF3E7403630FC1C2A4143921BB5793DFD1' +
'2CC7BD9A049D6AD26B937FD953E8C1B08BF0EC7BCE70CE499AEAD' +
'9F0C26DBC6B6ED7F5FABBAFEF8B38CC5A89CC13A5E4B98D1A895B' +
'2792E147540B74445EA2CD4BC1E891536157289A435E10D611B97' +
'083131B618285953DA4C7179A0B7266D415DE47C90A3487A618EE' +
'97FC81362FE890EDE5576373F7740EB26E494D79A39D7F6B1E4A4' +
'5E31BD58A6FFA8E680F51BD5876E5F88B4E2ABD39E97BDD496FD9' +
'6A2F1C2578673B27B452E370E38583155F3CBE530D5C26D5493C8' +
'900D92872402E681AF109C4BF282B912F44B8A2EF9A99436FEAB0' +
'93B74519D53228A912656505A3B760E14496B77E5F4DE4D5DE126' +
'7ADA3A275942F27914F6E6825D2E1A8D3712995DB359E228BEF52' +
'DD5DABFEF49F71399512E1A6B1EDDA154F843562B0425E1365662' +
'F64A2672F1F0DB70FF34BA96EB1217390AB0F365D4E1825672E83' +
'B42D8B2FC89A3950EEC5683E18B971F9F6E07B66D388BA91F7BA9' +
'A49376B66D021B3E9BCC57CD5C42D5F351F4EE58EF285A3B44634' +
'D64679F19DCA14219DD6CB0AF29ED2EDB392D7939874F61D37033' +
'53335AB9D667BD02AE04B0ABFA2564AD6AA29372B241FF85E2307' +
'961BD42FF16B543DB52CC9B7A86E32B12D96713D86F032404F972' +
'0A21FFADB5B2672ECFB6518E6B706863F6C8EDEB382D735DD4BE9' +
'66B66DC87938E7A60B4D37E93CE4117D46BC98BE6BC676CDD876F' +
'B8364292F64919C976E105DFC3068940EE9F9D8FB225D28E4ADFD' +
'C4AA3EEB3AD2DB6B917A396CDA799AC673D0CDBAF63732FA32298' +
'356967639ED5A43DF8B87567B6366B5A9B5B9A8C1763BE4B139B3' +
'BAB26997E33B593B64D6AACCFA42157DA178217E50ECA3DAC84B3' +
'84AF90F0F6');
SafeCopyCanvas(GetBitmapCanvas(b), Background.Canvas, 0, 0, 1, 499, 0, 0, 697, 499);
b := BitmapFromString2(False, 'a8162378DA3D8CC10DC030080357' +
'72684D78370AFB8F548CA2F03859676400C855C098050F2BF2437' +
'3CB3094C3C5A9ECC3AEB778E5A905A67E5CE5D9C1C3E6CEBE1FA3' +
'E');
SafeCopyCanvas(GetBitmapCanvas(b), Background.Canvas, 0, 0, 1, 1, 0, 0, 697, 2);
SafeCopyCanvas(GetBitmapCanvas(b), Background.Canvas, 0, 0, 1, 1, 695, 2, 697, 497);
SafeCopyCanvas(GetBitmapCanvas(b), Background.Canvas, 0, 0, 1, 1, 0, 497, 697, 499);
SafeCopyCanvas(GetBitmapCanvas(b), Background.Canvas, 0, 0, 1, 1, 0, 2, 2, 497);
LabelTitle := TLabel.Create(ChickenCrusherForm);
with LabelTitle do
begin
Parent := ChickenCrusherForm;
Font.Size := 48;
Caption := 'Chicken Crusher';
SetBounds(107, 20, 480, 65);
end;
GroupBoxScript := TGroupBox.Create(ChickenCrusherForm);
with GroupBoxScript do
begin
Parent := ChickenCrusherForm;
Caption := 'Script information';
SetBounds(65, 120, 192, 95);
end;
UrSRLID := TEdit.Create(ChickenCrusherForm);
with UrSRLID do
begin
Parent := ChickenCrusherForm;
Text := 'Your SRL stats ID';
Hint := 'Your SRL stats ID, leave blank if you don''t' + Chr(13) +
'have a SRL Stats account';
ShowHint := True;
SetBounds(75, 140, 172, 20);
end;
UrSRLPassword := TEdit.Create(ChickenCrusherForm);
with UrSRLPassword do
begin
Parent := ChickenCrusherForm;
Text := 'Your SRL stats password';
Hint := 'Your SRL stats password, leave blank if you don''t' + Chr(13) +
' have a SRL Stats account';
ShowHint := True;
SetBounds(75, 165, 172, 20);
end;
VersionIsLatest := TButton.Create(ChickenCrusherForm);
with VersionIsLatest do
begin
Parent := ChickenCrusherForm;
Caption := 'Check for latest version';
Hint := 'Click here to make script check for latest version';
ShowHint := True;
SetBounds(75, 190, 172, 20);
OnClick := @LatestVersion;
end;
GroupBoxMisc := TGroupBox.Create(ChickenCrusherForm);
with GroupBoxMisc do
begin
Parent := ChickenCrusherForm;
Caption := 'Miscellaneous information';
SetBounds(65, 230, 192, 204);
end;
FRMs := TEdit.Create(ChickenCrusherForm);
with FRMs do
begin
Parent := ChickenCrusherForm;
Text := '10000';
Hint := 'Will do FindNormalRandom every' + Chr(13) +
'(Amount you type in) milleseconds else it will' + Chr(13) +
'do FindFastRandoms, recomended around 10000';
ShowHint := True;
SetBounds(75, 250, 80, 20);
end;
LabelRandoms := TLabel.Create(ChickenCrusherForm);
with LabelRandoms do
begin
Parent := ChickenCrusherForm;
Caption := 'Random(ms)';
SetBounds(159, 254, 80, 20);
end;
ABRate := TEdit.Create(ChickenCrusherForm);
with ABRate do
begin
Parent := ChickenCrusherForm;
Text := '27';
Hint := '1 Out of anti-ban rate chance of doing something' + Chr(13) +
'random, recomended around 30';
ShowHint := True;
SetBounds(75, 275, 30, 20);
end;
LabelABRate := TLabel.Create(ChickenCrusherForm);
with LabelABRate do
begin
Parent := ChickenCrusherForm;
Caption := 'Anti-ban rate';
SetBounds(109, 279, 68, 20);
end;
Skill4Lamp := TComboBox.Create(ChickenCrusherForm);
with Skill4Lamp do
begin
Parent := ChickenCrusherForm;
Text := 'Genie skill';
Items.Add('agility');
Items.Add('attack');
Items.Add('construction');
Items.Add('cooking');
Items.Add('crafting');
Items.Add('defence');
Items.Add('farming');
Items.Add('firemaking');
Items.Add('fishing');
Items.Add('fletching');
Items.Add('herblore');
Items.Add('hitpoints');
Items.Add('hunting');
Items.Add('magic');
Items.Add('mining');
Items.Add('prayer');
Items.Add('ranged');
Items.Add('runecrafting');
Items.Add('slayer');
Items.Add('smithing');
Items.Add('strength');
Items.Add('thieving');
Items.Add('woodcutting');
Hint := 'Skill to use if you find a lamp';
ShowHint := True;
SetBounds(75, 300, 95, 20);
end;
PlayerTime := TEdit.Create(ChickenCrusherForm);
with PlayerTime do
begin
Parent := ChickenCrusherForm;
Text := '90';
Hint := 'Time in minutes before switching player adds a' + Chr(13) +
'random of 10% time, set to 0 or below so' + Chr(13) +
'player will stay on till target Chickens to kill' + Chr(13) +
'is reached';
ShowHint := True;
SetBounds(75, 325, 30, 20);
end;
LabelPlayerTime := TLabel.Create(ChickenCrusherForm);
with LabelPlayerTime do
begin
Parent := ChickenCrusherForm;
Caption := 'Timer per player(Minutes)';
SetBounds(109, 329, 142, 20);
end;
BBones := TCheckBox.Create(ChickenCrusherForm);
with BBones do
begin
Parent := ChickenCrusherForm;
Caption := 'Bury bones';
Hint := 'If you want to bury bones, if you dont''t less' + Chr(13) +
'randoms will happen becaue your inventory will' + Chr(13) +
'get full';
ShowHint := True;
SetBounds(75, 350, 95, 20);
end;
PUFeathers := TCheckBox.Create(ChickenCrusherForm);
with PUFeathers do
begin
Parent := ChickenCrusherForm;
Caption := 'Pick feathers';
Hint := 'If you want to pick up feathers';
Checked := True;
ShowHint := True;
SetBounds(75, 375, 95, 20);
end;
CTlr := TEdit.Create(ChickenCrusherForm);
with CTlr do
begin
Parent := ChickenCrusherForm;
Text := '5';
Hint := 'Tolerance of the Chicken, set to around 4-10';
ShowHint := True;
SetBounds(75, 400, 30, 20);
end;
LabelCTlr := TLabel.Create(ChickenCrusherForm);
with LabelCTlr do
begin
Parent := ChickenCrusherForm;
Caption := 'Chicken Tolerance';
SetBounds(109, 404, 105, 20);
end;
GroupBoxColours := TGroupBox.Create(ChickenCrusherForm);
with GroupBoxColours do
begin
Parent := ChickenCrusherForm;
Caption := 'Colours - Click buttons to pick';
SetBounds(277, 309, 355, 125);
end;
LabelCColours := TLabel.Create(ChickenCrusherForm);
with LabelCColours do
begin
Parent := ChickenCrusherForm;
Caption := 'Chicken';
SetBounds(305, 333, 80, 20);
end;
CColour1 := TEdit.Create(ChickenCrusherForm);
with CColour1 do
begin
Parent := ChickenCrusherForm;
Text := '858490';
SetColour1;
SetBounds(287, 354, 80, 20);
OnKeyUp := @SetColour1KeyUp;
end;
ButtonC1 := TButton.Create(ChickenCrusherForm);
with ButtonC1 do
begin
Parent := ChickenCrusherForm;
Caption := 'Pick 1';
Hint := 'Pick the first colour for the Chicken';
ShowHint := True;
SetBounds(372, 354, 70, 20);
OnClick := @PickOutColour1;
end;
CColour2 := TEdit.Create(ChickenCrusherForm);
with CColour2 do
begin
Parent := ChickenCrusherForm;
Text := '4831951';
SetColour2;
SetBounds(287, 379, 80, 20);
OnKeyUp := @SetColour2KeyUp;
end;
ButtonC2 := TButton.Create(ChickenCrusherForm);
with ButtonC2 do
begin
Parent := ChickenCrusherForm;
Caption := 'Pick 2';
Hint := 'Pick the second colour for the Chicken';
ShowHint := True;
SetBounds(372, 379, 70, 20);
OnClick := @PickOutColour2;
end;
CColour3 := TEdit.Create(ChickenCrusherForm);
with CColour3 do
begin
Parent := ChickenCrusherForm;
Text := '8828102';
SetColour3;
SetBounds(287, 404, 80, 20);
OnKeyUp := @SetColour3KeyUp;
end;
ButtonC3 := TButton.Create(ChickenCrusherForm);
with ButtonC3 do
begin
Parent := ChickenCrusherForm;
Caption := 'Pick 3';
Hint := 'Pick the third colour for the Chicken';
ShowHint := True;
SetBounds(372, 404, 70, 20);
OnClick := @PickOutColour3;
end;
LabelBColour := TLabel.Create(ChickenCrusherForm);
with LabelBColour do
begin
Parent := ChickenCrusherForm;
Caption := 'Bone';
SetBounds(487, 333, 80, 20);
end;
BColour := TEdit.Create(ChickenCrusherForm);
with BColour do
begin
Parent := ChickenCrusherForm;
Text := '13685206';
SetBColour;
SetBounds(462, 354, 80, 20);
OnKeyUp := @SetBColourKeyUp;
end;
ButtonBC := TButton.Create(ChickenCrusherForm);
with ButtonBC do
begin
Parent := ChickenCrusherForm;
Caption := 'Pick';
Hint := 'Pick a colour for the Chicken''s bone';
ShowHint := True;
SetBounds(552, 354, 70, 20);
OnClick := @PickOutBoneColour;
end;
LabelFColour := TLabel.Create(ChickenCrusherForm);
with LabelFColour do
begin
Parent := ChickenCrusherForm;
Caption := 'Feather';
SetBounds(480, 383, 80, 20);
end;
FColour := TEdit.Create(ChickenCrusherForm);
with FColour do
begin
Parent := ChickenCrusherForm;
Text := '9472';
SetFColour;
SetBounds(462, 404, 80, 20);
OnKeyUp := @SetFColourKeyUp;
end;
ButtonFC := TButton.Create(ChickenCrusherForm);
with ButtonFC do
begin
Parent := ChickenCrusherForm;
Caption := 'Pick';
Hint := 'Pick a colour for the Chicken''s feather';
ShowHint := True;
SetBounds(552, 404, 70, 20);
OnClick := @PickOutFeatherColour;
end;
GroupBoxPlayers := TGroupBox.Create(ChickenCrusherForm);
with GroupBoxPlayers do
begin
Parent := ChickenCrusherForm;
Caption := 'Player ' + IntToStr(CPlayer + 1) + ' of ' + IntToStr(GetArrayLength(Players));
SetBounds(277, 120, 300, 150);
end;
Username := TEdit.Create(ChickenCrusherForm);
with Username do
begin
Parent := ChickenCrusherForm;
Text := 'Username';
Hint := 'Username of player';
ShowHint := True;
SetBounds(287, 140, 100, 20);
end;
Password := TEdit.Create(ChickenCrusherForm);
with Password do
begin
Parent := ChickenCrusherForm;
Text := 'Password';
Hint := 'Password of player';
ShowHint := True;
SetBounds(287, 165, 100, 20);
end;
Nickname := TEdit.Create(ChickenCrusherForm);
with Nickname do
begin
Parent := ChickenCrusherForm;
Text := 'ser';
Hint := 'Nickname of player, 3-4 lowercase letters of username';
ShowHint := True;
SetBounds(287, 190, 100, 20);
end;
IntegerOne := TEdit.Create(ChickenCrusherForm);
with IntegerOne do
begin
Parent := ChickenCrusherForm;
Text := 'Chickens to kill';
Hint := 'Number of Chickens to kill, set to 0 or lower if' + Chr(13) +
'you want to set target to infinity or if you set' + Chr(13) +
'to above 0 it will kill the target before' + Chr(13) +
'logging out';
ShowHint := True;
SetBounds(287, 215, 100, 20);
end;
StringOne := TComboBox.Create(ChickenCrusherForm);
with StringOne do
begin
Parent := ChickenCrusherForm;
Text := 'Fighting style';
Items.Add('attack');
Items.Add('strength1');
Items.Add('strength2');
Items.Add('defence');
Hint := 'The way you attack, there is normally 4 options in GameTab(1).' + Chr(13) +
'If you don''t know how to use reed ''Known issues'' at the top of script';
ShowHint := True;
SetBounds(287, 240, 100, 20);
end;
BackP := TButton.Create(ChickenCrusherForm);
with BackP do
begin
Parent := ChickenCrusherForm;
Caption := '<';
SetBounds(397, 190, 40, 20);
OnClick := @BackPlayer;
end;
AddP := TButton.Create(ChickenCrusherForm);
with AddP do
begin
Parent := ChickenCrusherForm;
Caption := 'Add player';
SetBounds(447, 165, 70, 20);
OnClick := @AddPlayer;
end;
DeleteP := TButton.Create(ChickenCrusherForm);
with DeleteP do
begin
Parent := ChickenCrusherForm;
Caption := 'Delete';
SetBounds(447, 215, 70, 20);
OnClick := @DeletePlayer;
end;
NextP := TButton.Create(ChickenCrusherForm);
with NextP do
begin
Parent := ChickenCrusherForm;
Caption := '>';
SetBounds(527, 190, 40, 20);
OnClick := @ForwardPlayer;
end;
Start := TButton.Create(ChickenCrusherForm);
with Start do
begin
Parent := ChickenCrusherForm;
Caption := 'Start';
SetBounds(487, 280, 80, 20);
OnClick := @SetVars;
end;
Cancel := TButton.Create(ChickenCrusherForm);
with Cancel do
begin
Parent := ChickenCrusherForm;
Caption := 'Cancel';
SetBounds(287, 280, 80, 20);
ModalResult := mrOk;
end;
end;
procedure SafeShowForm;
var BMF : TVariantArray;
begin
SetArrayLength(BMF, 0);
ThreadSafeCall('NewForm', BMF);
end;
procedure ShowFormModal;
begin
ChickenCrusherForm.ShowModal;
end;
procedure SafeShowFormModal;
var BMF : TVariantArray;
begin
SetArrayLength(BMF, 0);
ThreadSafeCall('ShowFormModal', BMF);
end;
{ProgressReport - Show information on what the players has done so far}
procedure ProgressReport;
var PR : integer;
PRActive : string;
begin
SRLRandomsReport;
PlayerCurTime := (GetSystemTime / 1000);
Players[CurrentPlayer].Worked := ((PlayerCurTime - PlayerStartTime) / 60);
WriteLn('');
WriteLn('/==========Chicken Crusher ' + Version + ' by ShapeShifter==========\');
WriteLn('| Progress Report |');
for PR := 0 to HowManyPlayers - 1 do
begin
if HasBeenOn[PR] then
begin
if Players[PR].Active then
begin PRActive := 'T' end
else
begin PRActive := 'F' end;
WriteLn('| ' + IntToStr(PR) + ' : ' +
Players[PR].Name + ',' +
PRActive + ',' + IntToStr(Players[PR].Worked)
+ ' mins,' + IntToStr(ChickensKilled[PR]) +
' CK,' + IntToStr(OneHitKills[PR]) + ' OHK,' +
IntToStr(BonesBuried[PR]) + ' BB,' + Players[CurrentPlayer].loc);
end;
end;
WriteLn('| ' + TimeRunning);
WriteLn('| Chickens Killed : ' + IntToStr(TotalChickensKilled));
WriteLn('| One Hit Kills : ' + IntToStr(TotalOneHitKills));
WriteLn('| Bones Buried : ' + IntToStr(TotalBonesBuried));
WriteLn('\========================================================/');
end;
{LoadBMP - Loads the bitmaps}
procedure LoadBMP;
begin
BMPBone := BitmapFromString2(False, 'a0CF5378DAA55359AEE430' +
'08BC125ED83E59ECFB1FE9E1B8A5A7F9E89E19354895082AE0542' +
'500008B0BC05AC1D0289C830E1E7855A8F583300B514EA3CB738F' +
'A78BFB54E850EAA973C1964FF7B7C2B80FCE75987E1ADDCFC66E0' +
'64FA42526C60EA99C1E956ABB7259B356C52EFDC5CC949422CC18' +
'2E9616365594AB386404387B6D30337D6AA1535444B6A020BC893' +
'5575B4D84372FDAC495808ACAC1A3D2B871837F88D5EA7451A71E' +
'36DE7172A5A6DE737EE6783736FABC313DA9F26A42BE7CDDED9E3' +
'E7C4404C6BC1CEA58B27C9EF687FE8FB61ADAB4D5DCD2B476F4EC' +
'574F5E8C8C57F3CB31D7ADFBBAF69AD65C5D1C6C96434B878EABB' +
'0005794DFB50F0D274E225CB85818685FCEF5CE50CBC6BF28D0EB' +
'2DE36E87AFC3C9DCFCFB39D7DFCF5FDDDB37A2AC1F28DB312132A' +
'852A347FBDF393FD1E');
BMPFeather := BitmapFromString(12, 9, 'z78DAA5CF510EC3200C0' +
'3D02BA530A07CDAA9B8FF91462193602BDAB41AC97F3C39226734' +
'F0E0515BA9EA09C2DA3173678282D60140B67E2063EF2D4326A70' +
'9222E8A5C3883408784A88985A5EF69D8D69D49586CE882398B5B' +
'2E9C85305DD4FE6AFDC7D485579F0B7F684BBD2D328CC2B861F56' +
'B91ED53B0FD82505F8187FF86BCDDF277EE0A4F5ACE89F8');
BMP1HitKill := BitmapFromString(9, 11, 'z78DAAD50410A003008' +
'FA925DF68009FBFF93C6E81248D2611D2444B3225EB1E02955F9B' +
'5110836FAEC218CF742E640341C6CA82E9FA81B729C0B9BA293FF' +
'DED521ACBEFB86C774755EE593B9E9C37BF8');
BMPDead := BitmapFromString2(False, 'a0417078DAD58DC115C020' +
'0843578A22608FDACAFE2395D0297AF981045E00E07802AB25E4B' +
'A93438C24207B267572D17148A7D3E7E0ACBCD7606A1DF545D1F6' +
'545A4E5DDAE662CE165BE5C8577022A8FFE20B59D');
end;
{FreeBMP - Free the bitmaps}
procedure FreeBMP;
begin
FreeBitmap(BMPBone);
FreeBitmap(BMPFeather);
FreeBitmap(BMP1HitKill);
FreeBitmap(BMPDead);
end;
{FindFastRandoms - Finds all the quick randoms, by WT-Fakawi}
function FindFastRandoms : Boolean;
var I : integer;
begin
for I := 1 to 10 do
begin
case I of
1 : if FindDead then
begin
Players[CurrentPlayer].loc := 'Dead';
Result := True;
end;
2 : if FindMod then
begin
Players[CurrentPlayer].loc := 'Mod';
Result := True;
end;
3 : if FindMime then
begin
Players[CurrentPlayer].Loc := 'Mime';
Result := True;
end;
4 : if FindMaze then
begin
Players[CurrentPlayer].Loc := 'Maze';
Result := True;
end;
5 : if FindQuiz then
Result := True;
6 : if FindDemon then
Result := True;
7 : if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'NoGameTab';
Logout;
exit;
end;
8 : if RC then
Result := True;
9 : if FindTalk then
Result := True;
10 : if HandleTrade then
Result := True;
end;
wait(1);
end;
end;
{FindRandoms - FindNomralRandoms when the time from mark is
over something else it FindFastRandoms}
function FindRandoms(RTime : integer) : Boolean;
begin
if TimeFromMark(FRTime) < RTime then
begin
if FindFastRandoms then
begin
Result := True;
end;
end
else
begin
if FindNormalRandoms then
begin
Result := True;
end;
MarkTime(FRTime);
end;
end;
{RestartVars - All the report vars reset to zero}
procedure RestartVars;
var RV : integer;
begin
for RV := 0 to 19 do
begin
ReportVars[RV] := 0;
end;
end;
{DisguiseIt - Discguise Scar, so it looks like another program}
procedure DisguiseIt;
begin
case Random(7) of
0 : DisguiseScar('iTunes');
1 : DisguiseScar('Google - Microsoft Internet Explorer');
2 : DisguiseScar('Document1 - Microsoft Word');
3 : DisguiseScar('Google - Microsoft Internet Explorer');
4 : DisguiseScar('Mozilla Firefox Start Page - Mozilla Firefox');
5 : DisguiseScar('New Folder');
6 : DisguiseScar('Untitled - Notepad');
end;
end;
{SetChckenCrusher - Sets up Chicken Crusher}
procedure SetChickenCrusher;
begin
ClearDebug;
ClearReport;
WriteLn(' _______');
WriteLn(' / ____/ Version ' + Version);
WriteLn(' / / ______');
WriteLn(' / /icken / ___/ \\');
WriteLn(' \ \ / /rusher _( o >');
WriteLn(' \ \____\ \___ /__=-/');
WriteLn(' \_______-_____\ ||');
WriteLn(' By ShapeShifter');
SetUpSRL;
ScriptID := '212';
GetSelf.Visible := False;
SetArrayLength(Players, 1);
SafeShowForm;
SafeShowFormModal;
GetSelf.Visible := True;
if not PressedStart then
begin
TerminateScript;
end;
MouseSpeed := 7 + random(2);
RestartVars;
CheckUserNicks;
DisguiseIt;
ActivateClient;
MarkTime(FRTime);
wait(1000);
end;
{HighestBrightness - Sets the brightness to level 4}
procedure HighestBrightness;
begin
GameTab(11);
wait(50 + random(10));
if FindColorSpiralTolerance(x, y, 4478048, 710, 226, 710, 226, 10) then
begin
Mouse(713, 229, 2, 2, True);
end;
end;
{RetaliateTrue - Sets auto retaliate to true}
procedure RetaliateTrue;
begin
GameTab(1);
wait(50 + random(10));
if not FindColorSpiralTolerance(x, y, 1711220, 610, 367, 620, 393, 10) then
begin
Mouse(613, 370, 88, 21, True)
end;
end;
{SetFightingStyle - Sets fighting style}
procedure SetFightingStyle;
begin
WriteLn('Fighting mode:' + Players[CurrentPlayer].string1);
GameTab(1);
wait(200 + random(10));
if not ((Players[CurrentPlayer].string1 = 'attack') or
(Players[CurrentPlayer].string1 = 'strength1') or
(Players[CurrentPlayer].string1 = 'strength2') or
(Players[CurrentPlayer].string1 = 'defence')) then
begin
WriteLn('This player''s string1 does not fit into any category');
WriteLn('String1 will be set to ''attack''');
Players[CurrentPlayer].string1 := 'attack';
end;
if FindText(x, y, 'Punch', StatChars, 589, 276, 627, 293) then
begin
WriteLn('Unarmed');
case LowerCase(Players[CurrentPlayer].string1) of
'attack' : Mouse(577, 254, 61, 37, true);
'strength1' : Mouse(661, 254, 61, 37, true);
'strength2' : Mouse(661, 254, 61, 37, true);
'defence' : Mouse(577, 307, 61, 37, true);
end;
exit;
end;
if FindText(x, y, 'Bash', StatChars, 587, 264, 623, 283) and
FindText(x, y, 'ocus', StatChars, 593, 338, 624, 353) then
begin
WriteLn('Staff wielded');
case LowerCase(Players[CurrentPlayer].string1) of
'attack' : Mouse(578, 255, 61, 25, true);
'strength1' : Mouse(578, 290, 61, 25, true);
'strength2' : Mouse(578, 290, 61, 25, true);
'defence' : Mouse(578, 325, 61, 25, true);
end;
exit;
end;
WriteLn('Setting fight mode the default way');
case LowerCase(Players[CurrentPlayer].string1) of
'attack' : Mouse(577, 254, 61, 37, true);
'strength1' : Mouse(661, 254, 61, 37, true);
'strength2' : Mouse(577, 307, 61, 37, true);
'defence' : Mouse(661, 307, 61, 37, true);
end;
end;
{FeathersInInv - Checks if fether is in inventory}
procedure FeathersInInv;
begin
if ((CollectFeathers) and (not GotFeathers)) then
begin
LoadBMP;
if FindBitmapToleranceIn(BMPFeather, x, y, MIx1, MIy1, MIx2, MIy2, 20) then
begin
GotFeathers := True;
writeln('Got feathers');
end;
FreeBMP;
end;
end;
{SetUpPlayer - Sets up the player stuff}
procedure SetUpPlayer;
begin
WriteLn(' ' + IntToStr(CurrentPlayer) + ':' + Players[CurrentPlayer].Name);
HasBeenOn[CurrentPlayer] := True;
Players[CurrentPlayer].loc := 'Chickens';
GotFeathers := False;
wait(200 + random(50));
if LoggedIn then
begin
RetaliateTrue;
wait(140 + random(10));
SetFightingStyle;
wait(120 + random(50));
SetRun(True);
wait(100 + random(10));
HighestBrightness;
wait(140 + random(10));
SetChat('off', 1);
wait(70 + random(20));
SetChat('off', 2);
wait(60 + random(20));
SetChat('on', 3);
wait(50 + random(10));
HighestAngle;
wait(100 + random(50));
GameTab(4);
wait(100 + random(5));
FeathersInInv;
MarkTime(LastKill);
end;
end;
{FindChicken - My find colour spiral with "IsUpTextMulti('ick','cke','ken')"}
function FindChicken(var Cx, Cy : integer; X1, Y1, X2, Y2, CTol : integer) : Boolean;
var ACx, ACy, C : integer;
begin
for C := 1 to 3 do
begin
if FindColorSpiralTolerance(ACx, ACy, ChickenColour[C], X1, Y1, X2, Y2, CTol) then
begin
if ((not FindColorSpiral(x, y, 65280, ACx - 10, ACy - 35, ACx + 10, ACy + 10)) and
(not FindColorSpiral(x, y, 255, ACx - 10, ACy - 35, ACx + 10, ACy + 10)) and
(not FindColorSpiral(x, y, 16728128, ACx - 10, ACy - 35, ACx + 10, ACy + 10))) then
begin
MMouse(ACx, ACy, 0, 0);
wait(80 + random(10));
if IsUpTextMulti('ick', 'cke', 'ken') then
begin
Cx := ACx;
Cy := ACy;
Result := True;
exit;
end;
end
else
begin
WriteLn('Mouse hovered over a thing that was already in a fight');
end;
end;
wait(50 + random(10));
FindRandoms(FindRandomMS);
end;
end;
{KillChicken - Find and kills chicken}
function KillChicken : Boolean;
var x1, y1, DsTimer : integer;
begin
MarkTime(ChickenTimer);
MarkTime(DsTimer);
repeat
if TimeFromMark(ChickenTimer) > 120000 + random(20000) then
begin
WriteLn('Hasn''t found a Chicken for ' + FloatToStr(TimeFromMark(ChickenTimer) / 1000) + ' seconds');
Players[CurrentPlayer].loc := 'Can''tFindChickenFor' + FloatToStr(TimeFromMark(ChickenTimer) / 1000);
LogOut;
end;
if TimeFromMark(LastKill) > 300000 + random(20000) then
begin
WriteLn('Hasn''t killed a Chicken for ' + FloatToStr(TimeFromMark(LastKill) / 1000) + ' seconds');
Players[CurrentPlayer].loc := 'Hasn''tKillChickenFor' + FloatToStr(TimeFromMark(LastKill) / 1000);
LogOut;
end;
if TimeFromMark(DsTimer) > 20000 + random(5000) then
begin
KeyDown(vk_right);
wait(800 + random(400));
KeyUp(vk_right);
MarkTime(DsTimer);
end;
FindRandoms(FindRandomMS);
wait(100);
if FindChicken(x1, y1, MSx1, MSy1, MSx2, MSy2, ChickenTolerance) then
begin
Mouse(x1, y1, 0, 0, false);
MarkTime(DsTimer);
if ChooseOption(x1, y1, 'ttack') then
begin
Flag;
MarkTime(ChickenTimer);
break;
end;
end
else
begin
if random(3) = 1 then
begin
MarkTime(DsTimer);
if random(5) = 1 then
begin
KeyDown(vk_left);
wait(800 + random(400));
KeyUp(vk_left);
end
else
begin
KeyDown(vk_right);
wait(800 + random(400));
KeyUp(vk_right);
end;
end;
end;
until (not LoggedIn);
LoadBMP;
repeat
FindRandoms(FindRandomMS);
wait(100);
if FindBitmapSpiralTolerance(BMP1HitKill, x, y, MSCx - 70, MSCy - 70, MSCx + 70, MSCy + 70, 20) then
begin
ReportVars[1] := ReportVars[1] + 1;
OneHitKills[CurrentPlayer] := OneHitKills[CurrentPlayer] + 1;
TotalOneHitKills := TotalOneHitKills + 1;
MarkTime(LastKill);
Result := True;
break;
end;
if FindBitmapSpiralTolerance(BMPDead, x, y, MSCx - 70, MSCy - 70, MSCx + 70, MSCy + 70, 20) then
begin
ReportVars[0] := ReportVars[0] + 1;
ChickensKilled[CurrentPlayer] := ChickensKilled[CurrentPlayer] + 1;
TotalChickensKilled := TotalChickensKilled + 1;
MarkTime(LastKill);
Result := True;
break;
end;
if (FindColorSpiral(x, y, 65280, MSCx - 70, MSCy - 70, MSCx + 70, MSCy + 70)) or
(FindColorSpiral(x, y, 255, MSCx - 70, MSCy - 70, MSCx + 70, MSCy + 70)) or
(FindColorSpiral(x, y, 16728128, MSCx - 70, MSCy - 70, MSCx + 70, MSCy + 70)) then
begin
MarkTime(ChickenTimer);
end;
until ((TimeFromMark(ChickenTimer) > 3000) or (not LoggedIn))
FreeBMP;
end;
{BuryAllBones - Buries all bones}
procedure BuryAllBones;
var BoneTimer, Bones, Bx, By : integer;
begin
LoadBMP;
if FindBitmapToleranceIn(BMPBone, Bx, By, MIx1, MIy1, MIx2, MIy2, 20) then
begin
Bones := CountItemBMPTol(BMPBone, 20);
ReportVars[2] := ReportVars[2] + Bones;
BonesBuried[CurrentPlayer] := BonesBuried[CurrentPlayer] + Bones;
TotalBonesBuried := TotalBonesBuried + Bones;
repeat
if FindBitmapToleranceIn(BMPBone, Bx, By, MIx1, MIy1, MIx2, MIy2, 20) then
begin
Mouse(Bx, By, 6, 6, True);
MarkTime(BoneTimer);
repeat
wait(100 + random(50));
if FindRandoms(FindRandomMS) then
begin
break;
end;
until ((not LoggedIn) or (TimeFromMark(BoneTimer) > 1300));
end;
until ((not FindBitmapToleranceIn(BMPBone, Bx, By, MIx1, MIy1, MIx2, MIy2, 20)) or (not LoggedIn));
end;
FreeBMP;
end;
{PickUpItems - picks up the itmes}
procedure PickUpItems;
begin
MarkTime(ChickenTimer);
GameTab(4);
wait(50 + random(10));
while ((TimeFromMark(ChickenTimer) < 4000) and (LoggedIn)) do
begin
wait(150 + random(50));
if FindRandoms(FindRandomMS) then
begin
exit;
end;
if FindColorSpiralTolerance(x, y, FeatherColour, MSCx - 50, MSCy - 50, MSCx + 50, MSCy + 50, ChickenTolerance) or
FindColorSpiralTolerance(x, y, BoneColour, MSCx - 50, MSCy - 50, MSCx + 50, MSCy + 50, ChickenTolerance) then
begin
if CollectFeathers then
begin
if (GotFeathers) or ((not GotFeathers) and (InvCount < 28)) then
begin
if FindColorSpiralTolerance(x, y, FeatherColour, MSCx - 50, MSCy - 50, MSCx + 50, MSCy + 50, ChickenTolerance) then
begin
Mouse(x, y, 0, 0, false);
if ChooseOption(x, y, 'eather') then
begin
Flag;
wait(300 + random(30));
FeathersInInv;
end;
end;
end;
end;
if FindRandoms(FindRandomMS) then
begin
exit;
end;
if ((CollectFeathers) and (GotFeathers) and (InvCount < 28)) or
((CollectFeathers) and (not GotFeathers) and (InvCount < 27)) or
((not CollectFeathers) and (InvCount < 28)) then
begin
if FindColorSpiralTolerance(x, y, BoneColour, MSCx - 50, MSCy - 50, MSCx + 50, MSCy + 50, ChickenTolerance) then
begin
Mouse(x, y, 0, 0, False);
if ChooseOption(x, y, 'one') then
begin
Flag;
wait(300 + random(30));
end;
end;
end;
if BuryBones then
begin
if (InvFull) or ((CollectFeathers) and (not GotFeathers) and (InvCount > 26)) then
begin
BuryAllBones;
end;
end;
exit;
end;
end;
end;
{SSAntiBan - look more human, less chance of getting banned}
procedure SSAntiBan;
begin
if random(AntiBanRate) <= 0 then
begin
if LoggedIn then
begin
case random(5) of
0 : begin GameTab(2); wait(50 + random(50)); HoverSkill('attack', false); end;
1 : begin GameTab(2); wait(50 + random(50)); PickUpMouse; HoverSkill('strength', false);
if random(2) = 1 then
begin wait(50 + random(50)); HoverSkill('prayer', false); end; end;
2 : begin GameTab(2); wait(100 + random(50)); HoverSkill('defence', false); end;
3 : begin PickUpMouse; GameTab(2); wait(50 + random(50)); HoverSkill('hitpoints', false); end;
4 : begin GameTab(2); SetRun(True); end;
end;
wait(100 + random(100));
GameTab(4);
FindRandoms(FindRandomMS);
end;
end;
end;
{Da Stuff}
begin
SetChickenCrusher;
LogInPlayer;
SRL_Logs := SRL_logs + 1;
repeat
SetUpPlayer;
repeat
if KillChicken then
begin
if BuryBones or CollectFeathers then
begin
PickUpItems;
end;
ProgressReport;
end;
SSAntiBan;
if ((TimePerPlayer > 0) and (Players[CurrentPlayer].Worked > TimePerPlayer + random(TimePerPlayer / 10))) then
begin
Players[CurrentPlayer].loc := 'TimeReached';
WriteLn('Time reached');
break;
end;
if ((Players[CurrentPlayer].integer1 > 0) and (ChickensKilled[CurrentPlayer] >= Players[CurrentPlayer].integer1)) then
begin
LogOut;
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].loc := 'TargetReached';
WriteLn('Target reached');
end;
until (not LoggedIn);
ProgressReport;
NextPlayer(LoggedIn);
until (false);
end.
[CENTER][img]http://signatures.mylivesignature.com/54486/113/4539C8FAAF3EAB109A3CC1811EF0941B.png[/img][/CENTER]
[CENTER][BANANA]TSN ~ Vacation! ~ says :I Love Santy[/BANANA][/CENTER]
[CENTER][BANANA]Raymond - Oh rilie? says :Your smart[/BANANA][/CENTER]
During this time I built an end table for my room.
cut the wood and all. (It's a small table... 27x24)
/==========Chicken Crusher 0.79 by ShapeShifter==========\
| Progress Report |
| 0 : SftCell,F,104 mins,100 CK,27 OHK,0 BB,TimeReached
| 1 : Aha,F,178 mins,232 CK,22 OHK,0 BB,TimeReached
| 2 : Tommy2tone,F,98 mins,146 CK,3 OHK,0 BB,TimeReached
| 3 : Rico S,T,0 mins,139 CK,245 OHK,0 BB,TimeReached
| 4 Hours, 48 Minutes and 19 Seconds
| Chickens Killed : 617
| One Hit Kills : 297
| Bones Buried : 0
\================================================= =======/
*Names changed to protect the guilty
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL Randoms Report |
| www.villu-reborn.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Logged in : 5 |
| Trade[s] Missed : 2 |
| Talking Random[s] : 5 |
| Dwarf[s] Solved : 1 |
| OldMen Solved : 1 |
| Capn Hand[s] Solved : 1 |
| Certer[s] Missed : 1 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
Hello! Great script!!! GRAT!![]()
Nice report dlindberg![]()
ok umm like i cant use it !!!!!!!!!!!!!!!1 i do not understand it keeps saying failed compile omg plz help me i dont get how to use scripts i just started today plz help
Maybe you could stop begging and use proper spelling?
[CENTER][img]http://signatures.mylivesignature.com/54486/113/4539C8FAAF3EAB109A3CC1811EF0941B.png[/img][/CENTER]
[CENTER][BANANA]TSN ~ Vacation! ~ says :I Love Santy[/BANANA][/CENTER]
[CENTER][BANANA]Raymond - Oh rilie? says :Your smart[/BANANA][/CENTER]
Looks VERY good. Will edit in Proggy.
PROGGY!!!
/==========Chicken Crusher 0.79 by ShapeShifter==========\
| Progress Report |
| 0 : 1,F,2 mins,1 CK,0 OHK,0 BB,Can'tFindChickenFor129.947
| 1 : 2,F,30 mins,19 CK,0 OHK,0 BB,Can'tFindChickenFor129.947
| 2 : 3,F,46 mins,20 CK,7 OHK,0 BB,Can'tFindChickenFor129.947
| 3 : 4,T,11 mins,8 CK,3 OHK,0 BB,Can'tFindChickenFor129.947
| 1 Hours, 3 Minutes and 21 Seconds
| Chickens Killed : 48
| One Hit Kills : 10
| Bones Buried : 0
\================================================= =======/
LoL
The script works fine. I recommend:
1. Looking at the error (does it have a line #) and seeing where it might be affecting something.
2. Taking that information and searching through the Manual aka (R.T.F.M.) and/or searching the forums themselves with the little search tool up at the top of the page (waits while you scroll up).
If you then can not figure it out post a reply that:
a.) Makes sense
b.) Can be read be the average person...or even a 3yr old chimp.
c.) Give a more detailed description of your issue.
You might just post back here saying "BuT u Gyz 1 d1D rdz its" or however you would type it. If you did read it you would be able to prove it I would assume... but then again assuming makes an ASS out of U and ME.
I know I am new here and I am quiet and if I get crap for posting something this long well.... Sorry? (hides in the corner getting ready for the Dunce Cap)
| Progress Report |
| 0 : dark filled,T,26 mins,37 CK,0 OHK,0 BB,Can'tFindChickenFor131
| 27 Minutes and 12 Seconds
| Chickens Killed : 37
| One Hit Kills : 0
| Bones Buried : 0
\=========================
Not bad
-Currently learning script![]()
Marzey
![]()
/==========Chicken Crusher 0.79 by ShapeShifter==========\
| Progress Report |
| 0 : -----------r,T,101 mins,208 CK,269 OHK,0 BB,Can'tFindChickenFor131,921
| 1 Hours, 42 Minutes and 7 Seconds
| Chickens Killed : 208
| One Hit Kills : 269
| Bones Buried : 0
\================================================= =======/
Getting only better and better :P
* Got 1 idea..
Could you make new script, called ''cow crusher''
That would be cool :P
@siider There is already a really geat Cow script.
Cows! by WT-Fakawi rawks the cat's paw like you wouldn't believe
So not sure what happened here with the report but it looks different then the last one (and I do not mean the figures but the set up)
I ran it while sleeping so i did not get to match it up visually.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL Randoms Report |
| www.villu-reborn.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Logged in : 5 |
| Trade[s] Missed : 2 |
| Talking Random[s] : 5 |
| Dwarf[s] Solved : 1 |
| OldMen Solved : 1 |
| Capn Hand[s] Solved : 1 |
| Certer[s] Missed : 1 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
/==========Chicken Crusher 0.79 by ShapeShifter==========\
| Progress Report |
| 0 : Tom,F,42 mins,63 CK,2 OHK,0 BB,Chickens
| 1 : Dick,F,28 mins,29 CK,11 OHK,0 BB,Chickens
| 2 : Harry,F,48 mins,41 CK,26 OHK,0 BB,Chickens
| 3 : JDoe,T,49 mins,69 CK,116 OHK,0 BB,Chickens
| 1 Hours, 53 Minutes and 8 Seconds
| Chickens Killed : 202
| One Hit Kills : 155
| Bones Buried : 0
\================================================= =======/
*names changed
still a awesome script.
you should try making a walkback and then apply for srl members
He already said it's for all chickens, everywhere. He could try walkback near lumbridge...not recommended though.
The chickens are already raped by Tara's Chickensweeper in members section...we don't need this too.
[CENTER][img]http://signatures.mylivesignature.com/54486/113/4539C8FAAF3EAB109A3CC1811EF0941B.png[/img][/CENTER]
[CENTER][BANANA]TSN ~ Vacation! ~ says :I Love Santy[/BANANA][/CENTER]
[CENTER][BANANA]Raymond - Oh rilie? says :Your smart[/BANANA][/CENTER]
wow worked great =)) heres proggie
/==========Chicken Crusher 0.79 by ShapeShifter==========\
| Progress Report |
| | 1 Hours, 23 Minutes and 11 Seconds
| Chickens Killed : 145
| One Hit Kills : 7
| Bones Buried : 0
\================================================= =======/
another 1 i did later didnt work full time came back to find myself dead
/==========Chicken Crusher 0.79 by ShapeShifter==========\
|
| 25 Minutes and 22 Seconds
| Chickens Killed : 49
| One Hit Kills : 29
| Bones Buried : 0
\================================================= =======/
Thanks for the posts, good to know people are using my script!
Sorry about not replying, been working hard on version 0.83 which will have the ability to make your skills(attack, strength and defence) even.
/==========Chicken Crusher 0.79 by ShapeShifter==========\
| Progress Report |
| 0 : c0m3 swap,T,129 mins,259 CK,3 OHK,0 BB,Chickens
| 2 Hours, 10 Minutes and 38 Seconds
| Chickens Killed : 259
| One Hit Kills : 3
| Bones Buried : 0
\================================================= =======/
great script but work on the randoms didnt do ginie mystery box or evil chickeen, =/
Ya I have been using this script a lot its awesome will post a prog report later but I think the random detection got screwed up in the update or something because I works great never has a problem but after a while when a random shows up it doesn't do anything and the random kills my char. Also sometimes people leave the gate open and the chickens get out and the script runs after them and gets lost I am not sure what could be done about this maybe like some sort of recognition that its leaving the gate and where it is prospective to where the char is and walk back to it and close it but hey I am not sure how to do that so I can only speculate.
Wow... I am sorry I take back what I said about the randoms I think it was my falt I wasn't doing the nickname thing correctly so that may be why so forget what I said before I am gonna give it another try and post a prog report later
/==========Chicken Crusher 0.79 by ShapeShifter==========\
| Progress Report |
| 0 : ******,F,152 mins,152 CK,81 OHK,0 BB,Can'tFindChickenFor120.344
| 1 : ******,F,46 mins,37 CK,6 OHK,0 BB,Can'tFindChickenFor120.344
| 2 : ******,T,25 mins,225 CK,232 OHK,0 BB,Can'tFindChickenFor120.344
| 3 Hours, 42 Minutes and 6 Seconds
| Chickens Killed : 414
| One Hit Kills : 319
| Bones Buried : 0
\================================================= =======/
Heres the prog I promised.
Couldnt get the proggy to copy but it worked for 23 mins or something and killed 47 chickens! Thank you for the script!
Free runescape members? Yes, for 1 cent a click go here!
http://www.stats.srl-forums.com/sigs/1854.png
Need a tester? I could test for you. PM me for details =)
press ctrl c in debug box then press paste.
haxor
There are currently 1 users browsing this thread. (0 members and 1 guests)