SRL Archive - Archive

Maninblack144 - SRL Member Application Form


Maninblack144

2009-01-17 11:34:41

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

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
Actionscript, Visual Basic Script, Javascript, PHP, Pascal, Pawn, HTML and CSS.

Other Communitys
Aside from Moparscape nothing RS-related.

How Long have You Played Runescape
Around 4 years, with a lot of space inbetween periods.

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

Well, I started out with Visual Basic Script. After that I got Flash, with Actionscript. Later we got Javascript, HTML, CSS and PHP at school. Before that, I also used Pawn for GTA: San Andreas Multiplayer servers, and now there is SCAR with Pascal (or at least Pascal-based).

Made a few tiny games in Flash, and a few fully functional webpages with HTML, CSS, Javascript and PHP (but not all at once). Never uploaded one though. Made a script for a SA-MP server especially for 1vs1 Deathmatch, to be able to kill my younger brother over and over again.

I recently started playing Runescape again (P2P), and a few days ago I picked SCAR up again. My first script ever, a mildy functional Goblin Killer, is still uploaded at the First Script section. (Can't find it because Search is down). Made that about 1/2 year(s) ago. After that I made some small scripts, like an Autotalker with AntiBan and Pause option, before I made the scripts included with this Application.

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

SimplePowerChopper:
This one is a simple PowerChopper able to function at any place with any trees. Has AntiBan, AntiRandoms and ofcourse, FailSafes.
program SimplePowerChopper;

{.include SRL/SRL.scar}
{.include SRL/SRL/skill/WoodCutting.scar}

const
TreeColor1=1665885;
TreeColor2=1391670;
TreeColor3=4551572;
LoadsToDo=10;

var
TreeX, TreeY:Integer;
MouseX, MouseY:Integer;
TillChoppingWaitTime:Integer;
TillChoppedAntiBanCounter:Integer;
LoadsDone:Integer;
FailCounter:Integer;

procedure LogoutM;
begin
Mouse(755, 14, 2, 2, true);
wait(100+random(200));
Mouse(646, 378, 3, 3, true);
TerminateScript;
end;

procedure Initiate;
begin
SetupSRL;
ActivateClient;
writeln('Basic Power Chopper, made by Maninblack144.');
writeln(inttostr(LoadsToDo)+' loads to do. Starting...');
wait(1000+random(500));
SetAngle(true);
wait(1000+random(500));
LoadsDone:=0;
FailCounter:=0;
end;

procedure HandleRandoms;
begin
FindBirdsNest;
FindEnt(TreeX, TreeY, true);
FindNormalRandoms;
end;

procedure StartChopping;
begin
if (FindColorSpiralTolerance(TreeX, TreeY, TreeColor1, MSX1, MSY1, MSX2, MSY2, 4)) then
begin
MMouse(TreeX, TreeY, 5, 5);
wait(300+random(200));
if (IsUpText('hop') and IsUpText('ree')) then
begin
HandleRandoms;
GetMousePos(MouseX, MouseY);
Mouse(MouseX, MouseY, 0, 0, true);
end else
begin
SendArrowSilentWait(1, 500+random(1000));
StartChopping;
end;
end else if (FindColorSpiralTolerance(TreeX, TreeY, TreeColor2, MSX1, MSY1, MSX2, MSY2, 4)) then
begin
MMouse(TreeX, TreeY, 5, 5);
wait(300+random(200));
if (IsUpText('hop') and IsUpText('ree')) then
begin
HandleRandoms;
GetMousePos(MouseX, MouseY);
Mouse(MouseX, MouseY, 0, 0, true);
end else
begin
SendArrowSilentWait(1, 500+random(1000));
StartChopping;
end;
end else if (FindColorSpiralTolerance(TreeX, TreeY, TreeColor3, MSX1, MSY1, MSX2, MSY2, 4)) then
begin
MMouse(TreeX, TreeY, 5, 5);
wait(300+random(200));
if (IsUpText('hop') and IsUpText('ree')) then
begin
HandleRandoms;
GetMousePos(MouseX, MouseY);
Mouse(MouseX, MouseY, 0, 0, true);
end else
begin
SendArrowSilentWait(1, 500+random(1000));
StartChopping;
end;
end else
begin
SendArrowSilentWait(1, 500+random(1000));
FailCounter:=FailCounter+1;
if (FailCounter>=5) then
begin
writeln('Could not find any of the colours specified.');
writeln('Check the colours and your current position, and try again.');
LogoutM;
TerminateScript;
end;
StartChopping;
end;
end;

procedure WaitTillChopping;
begin
TillChoppingWaitTime:=0;
repeat
wait(50);
TillChoppingWaitTime:=TillChoppingWaitTime+50;
if (TillChoppingWaitTime=15000) then
begin
TillChoppingWaitTime:=0;
writeln('Taking too long to find a tree. Retrying...');
TypeSend('lol');
StartChopping;
end;
until (FindBlackChatMessage('your axe at'));
end;

procedure WaitTillChopped;
begin
TillChoppedAntiBanCounter:=0;
repeat
wait(50);
TillChoppedAntiBanCounter:=TillChoppedAntiBanCounter+50;
if (TillChoppedAntiBanCounter=1000) then
begin
TillChoppedAntiBanCounter:=0;
if (random(100)<4) then
begin
SendArrowSilentWait(3, random(1000));
end;
end;
until (FindBlackChatMessage('get some log'));
end;

procedure HandleDropping;
begin
wait(200+random(300));
if (InvFull) then
begin
LoadsDone:=LoadsDone+1;
DropAll;
end;
wait(200+random(300));
end;

begin
Initiate;
repeat
StartChopping;
WaitTillChopping;
WaitTillChopped;
HandleDropping;
until (LoadsDone=LoadsToDo);
writeln('Succesfully completed. Done '+inttostr(LoadsToDo)+' loads.');
end.

OakPlankMaker:
This one is my main project, still busy perfecting. As seen in the title, this script makes Oak Planks by walking back and forth from the Varrock East Bank to the Sawmill. This one has been extensively tested by both me and my younger brother, and thanks to a lot of improvements it can now run for hours straight. Every once in a (long) while the RadialWalk can screw up, but it's still an excellent way of making money, about 3Mil so far for me. It has AntiBan and a lot of FailSafes. It uses Dynamic DTM's to correct the cam at places where this is important. This makes sure the RadialWalk doesn't screw up (or at least a lot less). AntiRandoms were not needed when I made this, but I heard you can now also get Randoms when Banking so I have to build that in sometime soon. It can run around 1 run every 2 minutes, being 30 runs an hour. Averaging 5,4k profit every run, you can easily make 150k profit every hour. This is not that much, but it is still a reasonable amount.
Also, I build some command detection into it, so you can say something to make it stop instead of Alt-Tabbing to the SCAR screen and pressing F4. I modified 2 SRL-functions for this, the LastChatter and GetLastChatText ones, to make them return the actual text said instead of immediately running a check.
program OakPlankMaker;

{.include SRL/SRL.scar}

const
Runs=1;
SawColor=2386323;
NickName='';
CmdPass='';


{
Please refrain from touching anything below this point.
}










{
-----------STATUS REPORT----------
Current problems:

Problem: Tends to get lost at the Varrock crossroad, but only once every 3 hours or so.
Cause: Yet unknown.

Problem: A tree in front of the Sawmill might be in front of the Operator.
Cause: That damn tree.
Solution: Increase Y-position of the click to make it go IN FRONT of the Sawmill, instead of besides.
Test: Tested, works.
SOLVED

Usefulness of the script:
Good, but not yet entirely perfect. Can run for hours straight, with a bit of luck.

}




DRoadTol=30;
DirtRoadTolerance=70;
BankerColor=2904671;
DudeColor=13092264;
DoorColor=241;

var
RArrow1, RArrow2, RArrow3:Integer;
BankerColorX, BankerColorY:Integer;
MouseX, MouseY:Integer;
SawX, SawY:Integer;
DudeX, DudeY:Integer;
Counter:Integer;
CorrectDTM1, CorrectDTM1X, CorrectDTM1Y:Integer;
CorrectDTM2, CorrectDTM2X, CorrectDTM2Y:Integer;
CheckDTM, CheckDTMX, CheckDTMY:Integer;
CheckDTMA:Extended;
VRoadC:Integer;
CorrectDTM1MP: TDTMPointDef;
CorrectDTM1SP: array[0..3] of TDTMPointDef;
CorrectDTM1Skel: TDTM;
CorrectDTM2MP: TDTMPointDef;
CorrectDTM2SP: array[0..4] of TDTMPointDef;
CorrectDTM2Skel: TDTM;
CheckDTMMP: TDTMPointDef;
CheckDTMSP: array[0..1] of TDTMPointDef;
CheckDTMSkel: TDTM;
DRoadC:Integer;
DirtRoad:Integer;
CrashCounter:Integer;
LastChatterName, LastChatterText:String;
PauseBreak:Boolean;
DoorX, DoorY:Integer;

procedure Initiate;
begin
SetupSRL;
ActivateClient;
wait(200+random(300));
MakeCompass('n');
wait(100+random(200));
end;

function GetLastChatM: String;
var
x, y: Integer;
textP: TPoint;
begin
textP := TextCoords(8);
if findcolor(x, y, 16711680, textp.x, textp.y, textp.x + 200, textp.y + 14) then
begin
Result := LowerCase(Trim(GetTextAtEx(x - 3, textp.y - 2, 0, SmallChars, False,

False, -1, 1, 16711680, 60, False, tr_allChars)));
end;
end;

function LastChatterM: String;
var
i: Integer;
textP: TPoint;
name: String;
begin
textP := TextCoords(8);
name := LowerCase(Trim(GetTextAtEx(textP.x - 2, textP.y - 2, 0, SmallChars, False, False, 0, 1,
0, 60, False, tr_allChars)))
i := Pos(':', name)
if (i <> 0) then
begin
Delete(name, i, i);
Result := name;
end;
end;

procedure LogoutM;
begin
Mouse(755, 14, 2, 2, true);
wait(100+random(200));
Mouse(646, 378, 3, 3, true);
TerminateScript;
end;

function CheckString(substring, mainstring:String):Boolean;
begin
if (pos(substring, mainstring)>0) then
begin
Result:=True;
end else
begin
Result:=False;
end;
end;

procedure CheckForCommand;
begin
LastChatterName:=LastChatterM;
LastChatterText:=GetLastChatM;
if (LastChatterM=Nickname) then
begin
if (CheckString(CmdPass, LastChatterText)) then
begin
if (CheckString('quit this', LastChatterText)) then
begin
LogoutM;
writeln('Terminate command issued. Terminating.');
TerminateScript;
end;
end;
end;
end;

procedure LoadDDTM(BankThing:Boolean);
begin
VRoadC:=FindVarrockRoadColor;
if (BankThing=True) then
begin
if (FindColorTolerance(DoorX, DoorY, DoorColor, 570, 102, 591, 130, 50)) then
begin
DRoadC:=GetColor(DoorX+7, DoorY);
if (DRoadC>10000000) then
begin
wait(5000+random(500));
DRoadC:=GetColor(DoorX+7, DoorY);
end;
writeln('Dirtroad Color picked: '+inttostr(DRoadC));
end else
begin
if (FindColorTolerance(DoorX, DoorY, DoorColor, 604, 112, 621, 130, 50)) then
begin
DRoadC:=GetColor(DoorX, DoorY-2);
writeln('Dirtroad Color picked: '+inttostr(DRoadC));
end else
begin
writeln('Dirtroad Color not found. Terminating.');
TerminateScript;
end;
end;
end;

CorrectDTM1MP.x:=593;
CorrectDTM1MP.y:=49;
CorrectDTM1MP.areasize:=1;
CorrectDTM1MP.areashape:=0;
CorrectDTM1MP.color:=VRoadC;
CorrectDTM1MP.tolerance:=1;

CorrectDTM1SP[0].x:=566;
CorrectDTM1SP[0].y:=48;
CorrectDTM1SP[0].areasize:=1;
CorrectDTM1SP[0].areashape:=0;
CorrectDTM1SP[0].color:=VRoadC;
CorrectDTM1SP[0].tolerance:=1;

CorrectDTM1SP[1].x:=595;
CorrectDTM1SP[1].y:=25;
CorrectDTM1SP[1].areasize:=1;
CorrectDTM1SP[1].areashape:=0;
CorrectDTM1SP[1].color:=VRoadC;
CorrectDTM1SP[1].tolerance:=1;

CorrectDTM1SP[2].x:=677;
CorrectDTM1SP[2].y:=48;
CorrectDTM1SP[2].areasize:=1;
CorrectDTM1SP[2].areashape:=0;
CorrectDTM1SP[2].color:=VRoadC;
CorrectDTM1SP[2].tolerance:=1;

CorrectDTM1SP[3].x:=585;
CorrectDTM1SP[3].y:=106;
CorrectDTM1SP[3].areasize:=1;
CorrectDTM1SP[3].areashape:=0;
CorrectDTM1SP[3].color:=DRoadC;
CorrectDTM1SP[3].tolerance:=DRoadTol;

CorrectDTM1Skel.MainPoint:=CorrectDTM1MP;
CorrectDTM1Skel.SubPoints:=CorrectDTM1SP;
CorrectDTM1:=AddDTM(CorrectDTM1Skel);



CorrectDTM2MP.x:=609;
CorrectDTM2MP.y:=60;
CorrectDTM2MP.areasize:=1;
CorrectDTM2MP.areashape:=0;
CorrectDTM2MP.color:=VRoadC;
CorrectDTM2MP.tolerance:=1;

CorrectDTM2SP[0].x:=619;
CorrectDTM2SP[0].y:=29;
CorrectDTM2SP[0].areasize:=1;
CorrectDTM2SP[0].areashape:=0;
CorrectDTM2SP[0].color:=VRoadC;
CorrectDTM2SP[0].tolerance:=1;

CorrectDTM2SP[1].x:=582;
CorrectDTM2SP[1].y:=61;
CorrectDTM2SP[1].areasize:=1;
CorrectDTM2SP[1].areashape:=0;
CorrectDTM2SP[1].color:=VRoadC;
CorrectDTM2SP[1].tolerance:=1;

CorrectDTM2SP[2].x:=628;
CorrectDTM2SP[2].y:=95;
CorrectDTM2SP[2].areasize:=1;
CorrectDTM2SP[2].areashape:=0;
CorrectDTM2SP[2].color:=VRoadC;
CorrectDTM2SP[2].tolerance:=1;

CorrectDTM2SP[3].x:=639;
CorrectDTM2SP[3].y:=61;
CorrectDTM2SP[3].areasize:=1;
CorrectDTM2SP[3].areashape:=0;
CorrectDTM2SP[3].color:=DRoadC;
CorrectDTM2SP[3].tolerance:=DRoadTol;

CorrectDTM2SP[4].x:=591;
CorrectDTM2SP[4].y:=76;
CorrectDTM2SP[4].areasize:=1;
CorrectDTM2SP[4].areashape:=0;
CorrectDTM2SP[4].color:=DRoadC;
CorrectDTM2SP[4].tolerance:=DRoadTol;

CorrectDTM2Skel.MainPoint:=CorrectDTM2MP;
CorrectDTM2Skel.SubPoints:=CorrectDTM2SP;
CorrectDTM2:=AddDTM(CorrectDTM2Skel);



CheckDTMMP.x:=681;
CheckDTMMP.y:=90;
CheckDTMMP.areasize:=1;
CheckDTMMP.areashape:=0;
CheckDTMMP.color:=DoorColor;
CheckDTMMP.tolerance:=20;

CheckDTMSP[0].x:=660;
CheckDTMSP[0].y:=92;
CheckDTMSP[0].areasize:=1;
CheckDTMSP[0].areashape:=0;
CheckDTMSP[0].color:=DRoadC;
CheckDTMSP[0].tolerance:=DRoadTol;

CheckDTMSP[1].x:=694;
CheckDTMSP[1].y:=104;
CheckDTMSP[1].areasize:=1;
CheckDTMSP[1].areashape:=0;
CheckDTMSP[1].color:=DRoadC;
CheckDTMSP[1].tolerance:=DRoadTol;

CheckDTMSkel.MainPoint:=CheckDTMMP;
CheckDTMSkel.SubPoints:=CheckDTMSP;
CheckDTM:=AddDTM(CheckDTMSkel)
end;

procedure UnloadDDTM;
begin
FreeDTM(CorrectDTM1);
FreeDTM(CorrectDTM2);
FreeDTM(CheckDTM);
FreeBitmap(DirtRoad);
end;

procedure CorrectCamBank;
begin
LoadDDTM(True);
CrashCounter:=0;
repeat
SendArrowSilentWait(1, 100);
CrashCounter:=CrashCounter+100;
if (CrashCounter=30000) then
begin
CrashCounter:=0;
writeln('Crashed at the Bank. DDTM not found.');
LogoutM;
TerminateScript;
end;
until (FindDTM(CorrectDTM1, CorrectDTM1X, CorrectDTM1Y, MMX1, MMY1, MMX2, MMY2));
wait(500+random(500));
UnloadDDTM;
end;

procedure CorrectCamCrossroad;
begin
LoadDDTM(False);
CrashCounter:=0;
repeat
SendArrowSilentWait(1, 100);
CrashCounter:=CrashCounter+100;
if (CrashCounter=30000) then
begin
CrashCounter:=0;
writeln('Crashed at the Crossroad. DDTM not found.');
wait(50+random(100));
LogoutM;
TerminateScript;
end;
until (FindDTM(CorrectDTM2, CorrectDTM2X, CorrectDTM2Y, MMX1, MMY1, MMX2, MMY2));
wait(100+random(200));
UnloadDDTM;
end;

procedure RandomMouseMove;
begin
MMouse(random(800), random(600), 5, 5);
wait(100+random(200));
end;

procedure RandomArrowTwisting;
begin
RArrow1:=200+random(400);
RArrow2:=200+random(400);
RArrow3:=RArrow1-RArrow2;
SendArrowSilentWait(1, RArrow1);
wait(100+random(200));
SendArrowSilentWait(3, Rarrow2);
wait(100+random(200));
if (RArrow3>0) then
begin
SendArrowSilentWait(3, RArrow3);
wait(100+random(200));
end else if (RArrow3=0) then
begin
wait(100+random(200));
end else if (RArrow3<0) then
begin
SendArrowSilentWait(1, (0-RArrow3));
wait(100+random(200));
end;
end;

procedure RandomSpeechSaying;
begin
case random(4) of
0:TypeSend('lol');
1:TypeSend('w00t');
2:TypeSend('humtiedum');
3:TypeSend('lalalalaallala');
end;
wait(500+random(500));
end;

procedure RandomAntiBan;
begin
case random(3) of
0:RandomMouseMove;
1:RandomArrowTwisting;
end;
end;

procedure MOpenBank;
begin
if (FindColorSpiralTolerance(BankerColorX, BankerColorY, BankerColor, MSX1, MSY1, MSX2, MSY2, 2)) then
begin
MMouse(BankerColorX, BankerColorY, 2, 2);
wait(500+random(500));
if (IsUpText('ank')) then
begin
GetMousePos(MouseX, MouseY);
Mouse(MouseX, MouseY, 0, 0, false);
wait(500+random(500));
if (ChooseOption('uickly')=false) then
begin
wait(3000+random(2000));
MOpenBank;
end;
wait(3000+random(2000));
end else
begin
wait(3000+random(2000));
SendArrowSilentWait(1, 1000+random(500));
MOpenBank;
end;
end else
begin
wait(3000+random(3000));
SendArrowSilentWait(1, 1000+random(500));
MOpenBank;
end;
wait(3000+random(200));
Mouse(476, 84, 2, 2, true);
wait(500+random(500));
end;

procedure GetLogs;
begin
Mouse(52, 110, 3, 3, false);
wait(100+random(200));
if (ChooseOption('ll')=false) then
begin
LogoutM;
TerminateScript;
end;
wait(300+random(400));
Mouse(485, 40, 2, 2, true);
wait(200+random(300));
RandomAntiBan;
end;

procedure WalkToPlankDude;
begin
ActivateClient;
wait(100+random(200));
CheckForCommand;
RadialWalk(FindVarrockRoadColor, 50, 80, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
RadialWalk(FindVarrockRoadColor, 80, 100, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
LoadDDTM(False);
if (FindDTMRotated(CheckDTM, CheckDTMX, CheckDTMY, MMX1, MMY1, MMX2, MMY2, 6.0, 6.56, 0.05, CheckDTMA)=false) then
begin
RadialWalk(FindVarrockRoadColor, 80, 100, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
end;
UnloadDDTM;
CorrectCamCrossroad;
wait(100+random(200));
CheckForCommand;
RadialWalk(FindVarrockRoadColor, 340, 380, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
RadialWalk(FindVarrockRoadColor, 10, 20, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
RandomAntiBan;
RadialWalk(FindFallyRoadColor, 300, 460, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
RadialWalk(FindFallyRoadColor, 300, 460, 20, 1, 1);
wait(100+random(200));
CheckForCommand;
if (FindColorSpiralTolerance(SawX, SawY, SawColor, MMX1, MMY1, MMX2, MMY2, 3)) then
begin
Mouse(SawX, SawY+10, 2, 4, true);
end else
begin
RadialWalk(FindFallyRoadColor, 300, 460, 20, 1, 1);
wait(100+random(200));
if (FindColorSpiralTolerance(SawX, SawY, SawColor, MMX1, MMY1, MMX2, MMY2, 3)) then
begin
Mouse(SawX, SawY+10, 2, 4, true);
end else
begin
LogoutM;
TerminateScript;
end;
end;
wait(10000+random(3000));
end;

procedure BuyPlanks;
begin
SetAngle(false);
if (FindColorSpiralTolerance(DudeX, DudeY, DudeColor, MSX1, MSY1, MSX2, MSY2, 8)) then
begin
MMouse(DudeX, DudeY, 2, 30);
wait(100+random(200));
if (IsUpText('mill')) then
begin
GetMousePos(MouseX, MouseY);
Mouse(MouseX, MouseY, 0, 0, false);
wait(100+random(200));
if (ChooseOption('lank')=false) then
begin
LogoutM;
TerminateScript;
end;
wait(3000+random(1000));
end else
begin
writeln('Failed in finding the saw dude.');
LogoutM;
TerminateScript;
end;
end else
begin
writeln('Sawdude not found. Relocating camera.');
SendArrowSilentWait(2, 2000+random(1000));
wait(100+random(200));
BuyPlanks;
end;
Mouse(334, 112, 5, 5, false);
wait(100+random(200));
ChooseOption('ll');
wait(1000+random(500));
SetAngle(true);
end;

procedure WalkToBank;
begin
RadialWalk(FindFallyRoadColor, 180, 200, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
RadialWalk(FindVarrockRoadColor, 180, 210, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
RadialWalk(FindVarrockRoadColor, 130, 250, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
RandomAntiBan;
RadialWalk(FindVarrockRoadColor, 160, 200, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
CorrectCamCrossroad;
wait(100+random(200));
CheckForCommand;
RadialWalk(FindVarrockRoadColor, 260, 300, 70, 1, 1);
wait(100+random(200));
CheckForCommand;
RandomAntiBan;
RadialWalk(FindVarrockRoadColor, 260, 280, 50, 1, 1);
wait(100+random(200));
CheckForCommand;
if (FindBank('veb')=false) then
begin
Mouse(626, 157, 1, 1, true);
wait(10000+random(2000));
FFlag(10);
if (FindBank('veb')=false) then
begin
writeln('Could not find the bank.');
LogoutM;
TerminateScript;
end;
end;
wait(100+random(200));
end;

procedure BankPlanks;
begin
Mouse(624, 226, 2, 2, false);
wait(100+random(200));
if (ChooseOption('ll')=false) then
begin
LogoutM;
TerminateScript;
end;
wait(1000+random(500));
end;

begin
Initiate;
Counter:=0;
FindBank('veb');
repeat
GetLogs;
CorrectCamBank;
WalkToPlankDude;
BuyPlanks;
WalkToBank;
BankPlanks;
Counter:=Counter+1;
Disguise(inttostr((Runs-Counter)*27)+' more Logs to do.');
until (Counter=Runs);
writeln('All runs done.');
Mouse(485, 40, 2, 2, true);
wait(500+random(500));
LogoutM;
end.

GoblinKiller:
Currently being worked on, but I finished the Multiplayer part already so I figured I could show this one too, just to show I know how to do Multiplayer. Nothing more to be said.
program GoblinKiller;

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

var
goblinX,goblinY:Integer;
goblinsKilled:Integer;
died:Integer;

const
goblinColor1=4955557;
goblinColor2=2852527;
NumberOfUsers=8;
StartPlayer=0;

procedure DeclarePlayers;
begin
HowManyPlayers:=NumberOfUsers;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=StartPlayer;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Loc :='Bank';
Players[0].Active:=True;
Players[0].Boolean1 := True; // Is The Pick Equipped?

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Loc :='Bank';
Players[1].Active:=True;
Players[1].Boolean1 := True; // Is The Pick Equipped?

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Loc :='Bank';
Players[2].Active:=True;
Players[2].Boolean1 := True; // Is The Pick Equipped?

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Loc :='Bank';
Players[3].Active:=True;
Players[3].Boolean1 := True; // Is The Pick Equipped?

Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Loc :='Bank';
Players[4].Active:=True;
Players[4].Boolean1 := True; // Is The Pick Equipped?

Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Loc :='Bank';
Players[5].Active:=True;
Players[5].Boolean1 := True; // Is The Pick Equipped?

Players[6].Name :='';
Players[6].Pass :='';
Players[6].Nick :='';
Players[6].Loc :='Bank';
Players[6].Active:=True;
Players[6].Boolean1 := True; // Is The Pick Equipped?

Players[7].Name :='';
Players[7].Pass :='';
Players[7].Nick :='';
Players[7].Loc :='Bank';
Players[7].Active:=True;
Players[7].Boolean1 := True; // Is The Pick Equipped?

Players[8].Name :='';
Players[8].Pass :='';
Players[8].Nick :='';
Players[8].Loc :='Bank';
Players[8].Active:=True;
Players[8].Boolean1 := True; // Is The Pick Equipped?

Players[9].Name :='';
Players[9].Pass :='';
Players[9].Nick :='';
Players[9].Loc :='Bank';
Players[9].Active:=True;
Players[9].Boolean1 := True; // Is The Pick Equipped?
end;

procedure Initiate;
begin
SetupSRL;
ClearDebug;
writeln(' /^^\ /^^\ _ |^^^\ ');
writeln(' / /\ \ / /\ \ |_| | |^ \');
writeln(' / / \ \ / / \ \ |^| | |/ /');
writeln(' / / \ \ / / \ \ | | | | ');
writeln(' / / \ \__/ / \ \ | | | ^\ \');
writeln(' / / \____/ \ \ | | | _/ /');
writeln('/_/ \_\ |_| |___/ ');
writeln('((=====Maninblack144s Goblin Killer====))');
end;

procedure CheckSwitch;
begin

end;

procedure HandleRandoms;
begin
FindNormalRandoms();
end;

begin
end.

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

boberman

2009-01-17 11:46:08

Hmm, this is a tough one. The 1st and 3rd script are not good enough for me. The third script is nothing really other then a player setup (don't submit unfinished work like this in a members app) and the 1st script is just way too simple.

Also SendArrowSilentWait.. Don't use that. The silent keys thing is somewhat detectable and should be avoided at all costs.

The code is… dirty, so to speak, you use a ton of global variables (that's bad) instead pass parameters around…

IDK, I don't have a whole lot of helpful comments to give you, I like that you use the DDTMs and Radialwalking for walking, I don't like that you don't seem to have a lot of failsafes, antibans, antirandomes (though arguably you don't really need a whole lot of anti-randoms for the plank maker).

I'm going to say no this time, but please note this was really REALLY close for me. Next time, submit just the plank maker, Add a few more backup procedures for opening the bank and getting stuff from the sawmill, and eliminate the usage of Global variables.

boberman

2009-01-17 11:47:40

From: Dr D. Dervish
First thing I saw : Standards.

Second : Its ONE of your scripts, not three.

Third : The "multiplayer" in your third script is totally wrong.

Edit your post and only leave the ONE script you want us to look at.

Else, I believe you'd get declined quite fast :(.


Multiple scripts are allowed, please READ the scripts before posting garbage like this, the third script has nothing in it, but the other two have stuff in them.

Quickmarch

2009-01-17 11:48:36

From: Dr D. Dervish
First thing I saw : Standards.

Second : Its ONE of your scripts, not three.

Third : The "multiplayer" in your third script is totally wrong.

Edit your post and only leave the ONE script you want us to look at.

Else, I believe you'd get declined quite fast :(.


You are allowed more than one script… anyway i'm voting no. Sorry its just way to simple. GL On you next app :)

Dervish

2009-01-17 11:51:07

Rly ? I saw this appliance where he had 2 scripts and people kept telling him to edit…

NCDS

2009-01-17 12:10:37

Like Boberman said, this is a REALLY hard choice. Its clear to me that you know what your doing in a coding sense, but just a few things with SRL it self that you may need to work on. Like you said, your just getting back into this, so give it some time. Just be Active on the forums for a couple weeks and you will catch up alot as to what has changed since you left. Then you will be able to come back and look at this APP. and correct yourself. Then re-apply and I think you would be all set.

Im going to hold my vote on this one basically because I would rather not vote then vote 'no' in this case.
I do expect to see you around the forums and re-apply in a few weeks tho.

Good Luck next time :) and if you need anything feel free to PM me.

Quickmarch

2009-01-17 12:37:29

From: N C D S
Like Boberman said, this is a REALLY hard choice. Its clear to me that you know what your doing in a coding sense, but just a few things with SRL it self that you may need to work on. Like you said, your just getting back into this, so give it some time. Just be Active on the forums for a couple weeks and you will catch up alot as to what has changed since you left. Then you will be able to come back and look at this APP. and correct yourself. Then re-apply and I think you would be all set.

Im going to hold my vote on this one basically because I would rather not vote then vote 'no' in this case.
I do expect to see you around the forums and re-apply in a few weeks tho.

Good Luck next time :) and if you need anything feel free to PM me.


It's highly recommended that you wait 2 weeks before you vote.

Maninblack144

2009-01-17 13:07:07

Since there are already 6 votes againts me I consider this case lost. I don't really mind though, I can wait a few weeks, time I was already planning to spend on scripting before even posting this App. Thanks for the suggestions, I will surely take them into consideration before even attempting to write a new one.

Being active on the forums is kinda hard for me though. I usually only post when I need a question answered or when I have something valuable to say. If "active" means reading everything that's going on, I was doing that anyway before the 3-month brake from SRL and Runescape, so no worries there.

Nava2

2009-01-17 13:41:24

No, sorry.

NCDS

2009-01-17 14:05:30

From: Quickmarch
It's highly recommended that you wait 2 weeks before you vote.


…Im pretty sure its been 2 weeks?

Griff

2009-01-17 14:32:25

You're first and third scripts aren't really that great for me. But I like your second one, even though the standards are messed up. I think that I'm going to vote no, but as stated above, it was a hard choice.

-Griff

Quickmarch

2009-01-17 15:02:46

From: N C D S
…Im pretty sure its been 2 weeks?


I checked on your app and it said you got in on the 10th.

NCDS

2009-01-17 15:18:37

From: Quickmarch
I checked on your app and it said you got in on the 10th.


yeah I checked it too, seems like it has been wayyyy longer then that :redface:

I Apologize.

Quickmarch

2009-01-17 15:33:45

From: N C D S
yeah I checked it too, seems like it has been wayyyy longer then that :redface:

I Apologize.


Lol no problem anyway i don't really think the last few days count, i was just being fussy :)

Magiic

2009-01-17 18:25:38

From: N C D S
yeah I checked it too, seems like it has been wayyyy longer then that :redface:

I Apologize.

"Reccomended" ;)
edit:i'm saying yes, great attitude+the script's good enough for me, sort your standards though ;p