NinjaTerrorist
2007-04-20 23:47:27
<!– BEGIN TEMPLATE: formanswers –>
NinjaTerrorist - SRL Member Application Form
NinjaTerrorist
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
HTML, CSS and some PHP.
Other Communitys
Freddy1990.com
How Long have You Played Runescape
1 year.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well I joined SRL sometime around february(I think) and started learing SCAR, after about a month of learnig a submitted a member app, it was turned down though because it was too simple.
About 2 weeks after that I didn't really have time to learn SCAR anymore and wasn't very active scripting. About the time of Divi's release I started scripting again. I decided to try and submit another app, taking suggestions from my other app.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
NinjaTerrorist - SRL Member Application Form
NinjaTerrorist
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
HTML, CSS and some PHP.
Other Communitys
Freddy1990.com
How Long have You Played Runescape
1 year.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well I joined SRL sometime around february(I think) and started learing SCAR, after about a month of learnig a submitted a member app, it was turned down though because it was too simple.
About 2 weeks after that I didn't really have time to learn SCAR anymore and wasn't very active scripting. About the time of Divi's release I started scripting again. I decided to try and submit another app, taking suggestions from my other app.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' _ ___ _ '
' _ __ | |_ / _ \_____ _____ _ __ /\/\ (_)_ __ ___ _ __ '
' | '_ \| __|/ /_)/ _ \ \ /\ / / _ \ '__/ \| | '_ \ / _ \ '__| '
' | | | | |_/ ___/ (_) \ V V / __/ | / /\/\ \ | | | | __/ | '
' |_| |_|\__\/ \___/ \_/\_/ \___|_| \/ \/_|_| |_|\___|_| '
' '
' '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '
' '
' Script Name : ntPowerMiner. '
' Version : 0.1a. '
' Author : Ninja(Terrorist). '
' Description : Mines a full inventory of ore and drops them. '
' Date : April 19, 2007. '
' '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' '
' Setup: '
' ------- '
' '
' 1. First fill in your players in "DeclarePlayers;", take care '
' when setting players nicks. '
' 2. Make sure all of your players start near minable ore. '
' 3. Starting logged out is recommend. '
' 4. Watch script for one full load to make sure everything is '
' going ok. '
' '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' '
' If you have any C&C/suggestions for me please contact me via my '
' thread or email/MSN (NinjaTerrorist@gmail.com). '
' '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''}
// -------------------------------------------------------------------------- \\
program ntPowerMiner;
// -------------------------------------------------------------------------- \\
{.INCLUDE SRL/SRL.SCAR}
{.INCLUDE SRL/SRL/SKILL/MINING.SCAR}
// -------------------------------------------------------------------------- \\
const
Debug = True;
wTime = 5;
OreCount = 4;
AntiRatio = 10;
// -------------------------------------------------------------------------- \\
var
OreCol, Loads: Integer;
frmDesign : TForm;
Image1 : TImage;
Label1 : TLabel;
Label2 : TLabel;
GroupBox1 : TGroupBox;
Label5 : TLabel;
Label6 : TLabel;
Label7 : TLabel;
Label8 : TLabel;
Button1 : TButton;
Button2 : TButton;
Edit1 : TEdit;
Edit2 : TEdit;
Edit3 : TEdit;
Edit4 : TEdit;
// -------------------------------------------------------------------------- \\
procedure ntDebug(s: string);
begin
if(Debug)then
WriteLn(s)
else
Status(s);
end;
// -------------------------------------------------------------------------- \\
procedure StartUsers(Sender: TObject);
begin
StartPlayers(True, 'Boolean1 String1 Integer1');
end;
// -------------------------------------------------------------------------- \\
procedure StartScript(Sender: TObject);
begin
frmDesign.ModalResult:= mrOk;
end;
// -------------------------------------------------------------------------- \\
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 418;
frmDesign.Top := 108;
frmDesign.Width := 214;
frmDesign.Height := 290;
frmDesign.Caption := 'ntPowerMiner';
frmDesign.Color := 3881787;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Image1 := TImage.Create(frmDesign);
Image1.Parent := frmDesign;
Image1.Left := 0;
Image1.Top := 0;
Image1.Width := 206;
Image1.Height := 0;
Image1.Align := alTop;
Image1.AutoSize := True;
Image1.Center := True;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 21;
Label1.Top := 2;
Label1.Width := 164;
Label1.Height := 33;
Label1.Alignment := taCenter;
Label1.Caption := 'ntPowerMiner';
Label1.DragCursor := crDefault;
Label1.Font.Color := clWhite;
Label1.Font.Height := -27;
Label1.Font.Name := 'Tahoma';
Label1.Font.Style := [];
Label1.ParentFont := False;
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 72;
Label2.Top := 30;
Label2.Width := 51;
Label2.Height := 33;
Label2.Alignment := taCenter;
Label2.Caption := 'v0.1';
Label2.Font.Color := clWhite;
Label2.Font.Height := -27;
Label2.Font.Name := 'Tahoma';
Label2.Font.Style := [];
Label2.ParentFont := False;
GroupBox1 := TGroupBox.Create(frmDesign);
GroupBox1.Parent := frmDesign;
GroupBox1.Left := 9;
GroupBox1.Top := 66;
GroupBox1.Width := 188;
GroupBox1.Height := 181;
GroupBox1.Caption := ' Script Setup ';
GroupBox1.Font.Color := clWhite;
GroupBox1.Font.Height := -11;
GroupBox1.Font.Name := 'MS Sans Serif';
GroupBox1.Font.Style := [fsBold];
GroupBox1.ParentFont := False;
GroupBox1.TabOrder := 0;
Label5 := TLabel.Create(GroupBox1);
Label5.Parent := GroupBox1;
Label5.Left := 11;
Label5.Top := 32;
Label5.Width := 65;
Label5.Height := 13;
Label5.Caption := 'Debug Script:';
Label5.Font.Color := clWhite;
Label5.Font.Height := -11;
Label5.Font.Name := 'MS Sans Serif';
Label5.Font.Style := [];
Label5.ParentFont := False;
Label6 := TLabel.Create(GroupBox1);
Label6.Parent := GroupBox1;
Label6.Left := 24;
Label6.Top := 57;
Label6.Width := 51;
Label6.Height := 13;
Label6.Caption := 'Ore Count:';
Label6.Font.Color := clWhite;
Label6.Font.Height := -11;
Label6.Font.Name := 'MS Sans Serif';
Label6.Font.Style := [];
Label6.ParentFont := False;
Label7 := TLabel.Create(GroupBox1);
Label7.Parent := GroupBox1;
Label7.Left := 23;
Label7.Top := 82;
Label7.Width := 52;
Label7.Height := 13;
Label7.Caption := 'Mine Time:';
Label7.Font.Color := clWhite;
Label7.Font.Height := -11;
Label7.Font.Name := 'MS Sans Serif';
Label7.Font.Style := [];
Label7.ParentFont := False;
Label8 := TLabel.Create(GroupBox1);
Label8.Parent := GroupBox1;
Label8.Left := 5;
Label8.Top := 107;
Label8.Width := 71;
Label8.Height := 13;
Label8.Caption := 'Anti Ban Ratio:';
Label8.Font.Color := clWhite;
Label8.Font.Height := -11;
Label8.Font.Name := 'MS Sans Serif';
Label8.Font.Style := [];
Label8.ParentFont := False;
Button1 := TButton.Create(GroupBox1);
Button1.Parent := GroupBox1;
Button1.Left := 15;
Button1.Top := 138;
Button1.Width := 75;
Button1.Height := 25;
Button1.Caption := 'Player Form';
Button1.OnClick := @StartUsers;
Button1.TabOrder := 0;
Button2 := TButton.Create(GroupBox1);
Button2.Parent := GroupBox1;
Button2.Left := 96;
Button2.Top := 138;
Button2.Width := 75;
Button2.Height := 25;
Button2.Caption := 'Start Script!';
Button2.OnClick := @StartScript;
Button2.TabOrder := 1;
Edit1 := TEdit.Create(GroupBox1);
Edit1.Parent := GroupBox1;
Edit1.Left := 79;
Edit1.Top := 24;
Edit1.Width := 101;
Edit1.Height := 21;
Edit1.Font.Color := clBlack;
Edit1.Font.Height := -11;
Edit1.Font.Name := 'MS Sans Serif';
Edit1.Font.Style := [fsBold];
Edit1.ParentFont := False;
Edit1.TabOrder := 2;
Edit1.Text := 'True';
Edit2 := TEdit.Create(GroupBox1);
Edit2.Parent := GroupBox1;
Edit2.Left := 79;
Edit2.Top := 49;
Edit2.Width := 101;
Edit2.Height := 21;
Edit2.Font.Color := clBlack;
Edit2.Font.Height := -11;
Edit2.Font.Name := 'MS Sans Serif';
Edit2.Font.Style := [fsBold];
Edit2.ParentFont := False;
Edit2.TabOrder := 3;
Edit2.Text := '5';
Edit3 := TEdit.Create(GroupBox1);
Edit3.Parent := GroupBox1;
Edit3.Left := 79;
Edit3.Top := 74;
Edit3.Width := 101;
Edit3.Height := 21;
Edit3.Font.Color := clBlack;
Edit3.Font.Height := -11;
Edit3.Font.Name := 'MS Sans Serif';
Edit3.Font.Style := [fsBold];
Edit3.ParentFont := False;
Edit3.TabOrder := 4;
Edit3.Text := '5';
Edit4 := TEdit.Create(GroupBox1);
Edit4.Parent := GroupBox1;
Edit4.Left := 79;
Edit4.Top := 99;
Edit4.Width := 101;
Edit4.Height := 21;
Edit4.Font.Color := clBlack;
Edit4.Font.Height := -11;
Edit4.Font.Name := 'MS Sans Serif';
Edit4.Font.Style := [fsBold];
Edit4.ParentFont := False;
Edit4.TabOrder := 5;
Edit4.Text := '10';
end;
// -------------------------------------------------------------------------- \\
procedure SafeInitForm;
var
v: TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('InitForm', v);
end;
// -------------------------------------------------------------------------- \\
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
// -------------------------------------------------------------------------- \\
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
// -------------------------------------------------------------------------- \\
function SetBrightness(Mode: Integer): Integer;
begin
GameTab(11);
case Mode of
1: begin
if(not(GetColor(620, 232) = 7096371))then
begin
Mouse(620, 232, 1, 1, True);
Result := 1;
end;
end;
2: begin
if(not(GetColor(651, 232) = 7096371))then
begin
Mouse(651, 232, 1, 1, True);
Result := 2;
end;
end;
3: begin
if(not(GetColor(683, 231) = 7096371))then
begin
Mouse(683, 231, 1, 1, True);
Result := 3;
end;
end;
4: begin
if(not(GetColor(716, 232) = 7096371))then
begin
Mouse(716, 232, 1, 1, True);
Result := 4;
end;
end;
end;
end;
// -------------------------------------------------------------------------- \\
procedure SearchScreen;
begin
MakeCompass('n');
HighestAngle;
SendArrowSilentWait(1 + Random(5), 250 + Random(500));
end;
// -------------------------------------------------------------------------- \\
function YouManage: Boolean;
begin
Result := InChat('manage');
ntDebug('You managed to mine ore.');
end;
// -------------------------------------------------------------------------- \\
procedure MineOre;
var
mx, my, MineTime: Integer;
i, xx, yy: Integer;
begin
if(not(LoggedIn))then Exit;
begin
MarkTime(MineTime);
repeat
if(FindObjOre2(mx, my, 'ock', OreCol, 10, 4))then
begin
ntDebug('Ore spotted on screen!');
if(FindGas(mx, my))then
begin
Players[CurrentPlayer].Loc := 'Gas.';
ntDebug('Found gas, evading.');
Mouse(648, 83, 1, 1, True);
FTWait(20 + Random(5));
end;
if((Random(5) > 2))then Mouse(mx, my, 2, 2, True) else
begin
Mouse(mx, my, 2, 2, False);
ChooseOption(xx, yy, 'ine');
end;
Players[CurrentPlayer].Loc := 'Mined ore.';
FTWait(15 + Random(5));
end else
begin
if((i) >= 5)then
begin
ntDebug('MineOre failed.');
Exit;
end;
i := i + 1;
SearchScreen;
ntDebug(IntToStr(i) + '/5 attempts taken.');
end;
until(YouManage)or((TimeFromMark(MineTime) > wTime * 1000 + Random(2000)))
end;
end;
// -------------------------------------------------------------------------- \\
procedure ntAntiBan;
var
aRatio, i: Integer;
xx, yy: Integer;
begin
if(not(LoggedIn))then Exit;
begin
aRatio := AntiRatio;
i := aRatio / 1 + Random(5);
case i of
1: begin
HoverSkill('random', false);
FTWait(1);
end;
2: begin
GameTab(4);
MouseItem(1 + Random(28), False);
ChooseOption(xx, yy, 'cancel');
end;
3: begin
LowestAngle;
FTWait(5);
HighestAngle;
MakeCompass('n');
end;
4: RandomRClick;
5: AntiBan;
else Exit;
end;
end;
end;
// -------------------------------------------------------------------------- \\
procedure SetChats;
begin
SetChat('on', 1);
SetChat('on', 1);
SetChat('friends', 2);
SetChat('friends', 2);
SetChat('off', 3);
SetChat('off', 3);
end;
// -------------------------------------------------------------------------- \\
procedure SetOreColor;
begin
case LowerCase(Players[CurrentPlayer].String1) of
'iron' : OreCol := 2503507;
'copper' : OreCol := 3692925;
'tin' : OreCol := 7763583;
end;
end;
// -------------------------------------------------------------------------- \\
procedure PreparePlayer;
begin
if(not(LoggedIn))then LoginPlayer;
begin
SetBrightness(4);
SetChats;
FindPickHeadColor;
SetOreColor;
Players[CurrentPlayer].Loc := 'Starting..';
GameTab(4);
end;
end;
// -------------------------------------------------------------------------- \\
procedure PlayerStats; // From the SRL template.
var Active: string;
var i: Integer;
begin
GetAllLevels;
writeln('**********************************************');
writeln('Name : '+ Players[CurrentPlayer].Name);
writeln('Number : '+ inttostr(CurrentPlayer));
writeln('Mining Level : '+ inttostr(Players[CurrentPlayer].Level[15]));
writeln('Worked for : '+ inttostr(Players[CurrentPlayer].Worked)+' minutes.');
writeln('Loads : '+ inttostr(Loads) + ' times.');
if Players[CurrentPlayer].Active=True then Active:='True' else Active:='False';
writeln('Active : '+ Active);
writeln('Location : '+ Players[CurrentPlayer].loc);
writeln('**********************************************');
for i := 0 to HowManyPlayers-1 do
begin
if Players[i].Active=True then Active:='True' else Active:='False';
writeln( (inttostr(i))+' : '+Players[i].name+ ' = '+Active+'. - Lvl : '+inttostr(Players[i].Level[15])+
'. - B :'+inttostr(Players[i].Banked)+' Times.'+
' - : '+IntToStr(Players[i].Worked)+' mins.'+' - Loc: '+Players[i].loc);
end
writeln('----------------------------');
end;
// -------------------------------------------------------------------------- \\
procedure SetLoc;
var
i: Integer;
begin
for i := 0 to HowManyPlayers - 1 do
begin
Players[i].Loc := '-';
end;
end;
// -------------------------------------------------------------------------- \\
function AllPlayersInActive: Boolean; // By TOB, modded by me.
var
uCount, i: Integer;
begin
for i := 0 to HowManyPlayers - 1 do
begin
if(not(Players[CurrentPlayer].Active))then
begin
uCount := uCount + 1;
end;
if(uCount > HowManyPlayers)then
Result := True
else
Result := False;
end;
end;
{/ -------------------------------------------------------------------------- \\
MAIN LOOP
// -------------------------------------------------------------------------- /}
begin
SetupSRL;
SetLoc;
SafeInitForm;
SafeShowFormModal;
ActivateClient;
repeat
PreparePlayer;
PlayerStats;
repeat
MineOre;
FindPick;
FindNormalRandoms;
if(FindFight)then
begin
Players[CurrentPlayer].Loc := 'Fight.';
RunAwayDirection('n');
FTWait(10 + Random(5));
RunBack;
end;
if((1 + Random(5) > 3))then ntAntiBan;
if(not(LoggedIn))then break;
PlayerStats;
until(InvFull)
if(InvFull)then
begin
Loads := Loads + 1;
if(LoggedIn)and(Players[CurrentPlayer].Integer1 = Loads)then
begin
if(Players[CurrentPlayer].Boolean1)then
DropAll
else
DropTo(2, 28);
NextPlayer(True);
PlayerStats;
break;
end else
begin
NextPlayer(False);
PlayerStats;
break;
end;
end;
PlayerStats;
NextPlayer(False);
break;
untiL(AllPlayersInActive)
end.
——————————————————
<!– END TEMPLATE: formanswers –>