SRL Archive - Archive

metagen - SRL Member Application Form


Metagen

2007-11-05 10:09:13

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

What is the meaning to life?
42

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


Programming Knowledge
VB C++

Other Communitys
Nope

How Long have You Played Runescape
Since Classic

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

I'm 16 and live in canada… the blue bar thing is loading ahhh! quick type this before it posts… ok

I like programming and really consider this my stepping stone there. It is something that i enjoy doing instead of programming stupid little applications in visual basic. :) i love the community here and would love to advance to all the fun stuff :P.

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


// Metagen's Fleshy Pounder.
// This script uses SCAR Divi 3.12 and SRL 4
// The basic idea is that it doesnt actually click on the monster, but
// the monster attacks you, very quickly.

// ----- Version 1.0 -----
//Lots of antirandom
//Auto-Eating
//Automatically walks down tunnel and comes back to reaggrivate
//Auto-opens rickety doors
//Some Anti-Ban stuff

// ----- Version 1.1 -----
// Multiplayer
// Added LOADS of failsafes

// ----- Version 1.2 -----
// - Fixed eating bug (should now eat more often in main room)
// - added failsafe for the door back (no longer get stuck between)
// - Added Further Anti-Ban (instead of checking for all randoms, just
// checks for talking randoms regularly, randomly checks for others)

// --- Version 1.3 ----
// - Progress reports
// - Fixed door (again)
// - Added DTM for the room
// - Fixed bug where you can die down the hallway if u run out of food
// - Better Looking script :p

// ------How to use--------
//1.Move your army to the second level of the stronghold of security, the most
// south-eastern room. Set ur guys in the south-west corner of the room.


// 2. Make sure runescape is running on Low-Detail, and highest brightness
// 3. Setup the script (I recommend using salmon or better and setting
// the eat hp to its maximum without overeating.)
// 4. Set the client window.
// 5. Click the shiney green arrow

program New;
{.include srl/srl.scar}
var
x, y, i, misscount, xpcount, Mark : integer;
RoomDTM : integer;

const
DoorX = 238;
DoorY = 157;
text = 'ickety door';


///////////////// SETUP BEGINS /////////////////////////
procedure DeclarePlayers;
Begin
HowManyPlayers := 2; //Set how many characters
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; //Which character to start with

Players[0].Name := 'hi'; //Username
Players[0].Pass := 'hi'; //Password
Players[0].Nick := 'yyyy'; //3-4 letters of your name
Players[0].Active := True;
Players[0].Integers[0] := 6843779; //Food Color
Players[0].Integers[1] := 60; //Eat HP
Players[0].Strings[0] := 'una'; //Eat HP

Players[1].Name := 'hi'; //Username
Players[1].Pass := 'hi'; //Password
Players[1].Nick := 'yyyy'; //3-4 letters of your name
Players[1].Active := True;
Players[1].Integers[0] := 6843779; //Food Color
Players[1].Integers[1] := 60; //Eat HP
Players[1].Strings[0] := 'una'; //Eat HP

end;

/////////////////// SETUP ENDS ////////////////////

procedure LoadDTM;
begin
{RoomDTM := DTMFromString('78DA634C6562600862C00A1861740C504D00A' +
'ADCF757DF184490D5A400D5C41250530054134C404D16508D277E' +
'3500A6060F5B'); }
RoomDTM := DTMFromString('78DA634C656260B060C00A18617420116ACA8' +
'06A5409A84903AA8920A0A68D08BB92806A7209A8990954634740' +
'CD7422CC292342CD2CA09A10026AD2816A94F0AB0100A769086E');


end;

function EatCheck : boolean;
begin
if (gethp < Players[CurrentPlayer].Integers[1]) then
begin
writeln('eating');
gametab(4);
if findcolortolerance(x,y, Players[CurrentPlayer].Integers[0], 552, 209, 729, 460, 5) then
begin
MMouse(x,y,0,0);
wait(150+random(21));
if isuptext(Players[CurrentPlayer].Strings[0]) then
begin
Mouse(x, y, 0, 0, true);
end else
begin
Result := False;
Exit;
end;
end else
begin
result := False;
exit;
end;
end;
result := True;
end;

procedure RoomLogout;
begin
perfectnorth;
mouse(593,119, 0, 0, true);
wait(2000);
mouse(593,119, 0, 0, true);
wait(3000);
Players[CurrentPlayer].loc := 'Out of food';
logout;
exit;
end;

function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 8 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;


procedure randoms;
begin
findfastRandoms;
findNormalRandoms;
end;


function ScanName(name : string; var cx, cy: integer; Startx, Starty : integer; Down : Boolean) : boolean; // by me
var
PointX, PointY, PointY2 : integer;
begin
for PointX:= StartX to StartX + 100 do
begin
PointX := PointX + 5;
for PointY:= StartY to StartY + 60 do
begin
PointY := PointY + 20;
if down = false then
begin
PointY2 := 2 * StartY - PointY
end else
begin
PointY2 := PointY - 60
end;
mmouse(PointX, PointY2, 0, 0);
wait(100);
if(IsUpText(name)) then
begin
result := true;
cx := PointX;
cy := PointY2;
exit;
end;
end;
end;
result := False;
end;


function SecondDoorOpen : boolean;
var
rx : integer;
begin
mouse(616, 47, 4, 4, true); //walk to door
fflag(0);
if ScanName(text, x, y, Doorx, Doory, true) then
begin
for i := 1 to 5 do
begin
rx := random(10);
mmouse(x+5+rx, y+5+rx, 0, 0);
if isuptext(text) then
begin
for i := 1 to 60 do
begin
if not isuptext(text) then
begin
result := true;
exit;
end else
begin
mouse(x+5+rx, y+5+rx, 0, 0, true);
wait(2000+random(300));
end;
end;
end;
end;
end;
result := false;
end;

procedure AttemptRecovery;
begin
makeCompass('W');
mouse(649,22,0,0,true);
wait(3000+random(1000));
SecondDoorOpen;
makeCompass('E');
end;

procedure WalkHall;
begin
Players[CurrentPlayer].loc := 'Walking Hallway';
radialWalkex(x,y,643, 83, 15199724, 30, 270, 400, 30);
mouse(x,y,0,0,true);
wait(200);
if flagpresent then
begin
Randoms;
fflag(0);
EatCheck;

radialWalkex(x,y,643, 83, 15199724, 30, 270, 400, 65);
mouse(x,y,0,0,true);
Randoms;
fflag(0);
EatCheck;

MakeCompass('E');
MakeCompass('E');
MakeCompass('E');

radialWalkex(x,y,643, 83, 15199724, 30, 400, 330, 60);
mouse(x,y,0,0,true);
Randoms;
fflag(0);
EatCheck;

radialWalkex(x,y,643, 83, 15199724, 30, 400, 330, 60);
mouse(x,y,0,0,true);
Randoms;
fflag(0);

mouse(325, 464, 0, 0, true); //this is basically a failsafe
//due to the confined space even if radialwalk misses this will click
//in the area on the other side of the door and walk u to it.
wait(1000+random(450));
end else if i < 3 then
begin
i := i + 1;
SecondDoorOpen;
WalkHall;
end;
end;


function FirstDoorOpen : boolean;
var
rx : integer;
begin
if ScanName(text, x, y, Doorx, Doory, false) then
begin
for i := 1 to 5 do
begin
rx := random(10);
mmouse(x+5+rx, y, 0, 0);
wait(200+random(100));
if isuptext(text) then
begin
mouse((x+5+rx), y, 0, 0, true);
result := true;
wait(3000+random(234));
exit;
end;
end;
end;
result := false;
wait(3000+random(234));
end;



procedure ToFirstDoor;
begin
perfectnorth;
mouse(651, 78, 0, 0, true);
fflag(0);
makecompass('W');
radialWalkex(x,y,643, 83, 15199724, 30, 270, 400, 50);
mouse(x,y,0,0,true);
fflag(0);
end;


procedure RunDownHall;
begin
writeln('Walking Down Hall');
SetRun(true);

i := 0;
repeat
i := i + 1;
ToFirstDoor;
Players[CurrentPlayer].loc := 'At First Door';
wait(500+random(200));
if i = 3 then
begin
writeln('Error, Could not locate first door.');
logout;
end;
Until FirstDoorOpen
if not EatCheck then
begin
Logout;
Exit;
end;
wait(500+random(200));
if not SecondDoorOpen then //this will most likely NEVER happen.
begin
writeln('Second Door Opening Failed');
AttemptRecovery;
Exit;
end;
Players[CurrentPlayer].loc := 'Start of hallway';
i:= 0;
WalkHall;
Players[CurrentPlayer].loc := 'Start of hallway';
FirstDoorOpen;
Players[CurrentPlayer].loc := 'In between the doors';
Randoms;
wait(3000+random(500));
if not EatCheck then
begin
Logout;
Exit;
end;
SecondDoorOpen;
mouse(630, 68, 0, 0, true);
wait(1000);
if not flagpresent then
begin
SecondDoorOpen;
mouse(630, 68, 0, 0, true);
end
Players[CurrentPlayer].loc := 'In the room';
fflag(0);
end;





procedure RandomTab;
begin
if random(15) = 1 then
begin
gametab(random(random(14))); //causes unevenness in tabs
if random(9) = 1 then
begin
wait(300+random(432));
gametab(random(random(14))); //causes unevenness in tabs
wait(random(500));
gametab(random(random(14))); //causes unevenness in tabs
end;
wait2(3000, false);
end;
end;

procedure Proggy;
var
i : integer;
begin
writeln(' ');
writeln('<== Fleshy Pounding Carnage Report ==>');
writeln('Total Time: '+TimeRunning);
for i:=0 to getarraylength(players)-1 do
writeln(Players[i].Name + ': ' + inttostr(Players[i].Integers[2] / 1000 / 60) + ' Minutes and ' + inttostr((Players[i].Integers[2] / 1000)-((Players[i].Integers[2] / 1000 / 60)*60))+' Seconds -- Location: ' + Players[i].Loc);
writeln('<== End of Report ==>');
writeln(' ');
end;

procedure RoomMiddle;
begin
makecompass('N');
ToFirstDoor;
mouse(661, 105, 0, 0, true);
fflag(0);
end;

procedure RoomMiddleDTM;
begin
if not DtmRotated(RoomDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MakeCompass('N');
if not DtmRotated(RoomDTM, x, y, 573, 60, 652, 132) then
begin
RoomMiddle;
Exit;
end;
end;
Mouse(x+30,y+31, 1, 1, true);
end;

procedure AggressiveCheck;
begin
highestangle;
if findfight then
begin
xpcount := 0;
end else
begin
xpcount := xpcount + 1;
end;
if xpcount = 1 then
RoomMiddleDTM;
if xpcount > 1 then
begin
RunDownHall;
wait(random(2000));
xpcount := 0;
end;
end;

procedure StartScript;
begin
SetupSrl;
DeclarePlayers;
ActivateClient;
LoadDTM;
end;

procedure LoginTasks;
begin
LoginPlayer;
MarkTime(Mark);
PerfectNorth;
RoomMiddleDTM;
Players[CurrentPlayer].loc := 'In the room';
end;

procedure MainLoop;
begin
Wait2(500+random(500), false);
i := random(8);
case I of
2: Randoms;
3: RandomTab;
4: if random(1) = 2 then RoomMiddleDTM;
end;
AggressiveCheck;
if not EatCheck then RoomLogout;
FindTalk;
Wait2(5000+random(100)*random(100), false);
end;

Procedure LogoutTasks;
begin
MissCount := 0;
i := 0;
Players[CurrentPlayer].Integers[2] := timefrommark(Mark);
Proggy;
NextPlayer(False);
end;

//Main Program
begin
StartScript;
For i:= 0 to (GetArrayLength(Players) -1) do
begin
LoginTasks;
repeat
MainLoop;
until LoggedIn = False
LogoutTasks;
end;
freeDTM(RoomDTM);
TerminateScript;
end.

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

Metagen

2007-11-05 10:11:38

Sorry if i accidentally posted before, i accidentally hit return when i was writing my languages down

ShowerThoughts

2007-11-05 10:12:59

delete your other thread, i already though it was a mistake, good try but what it does?(i hold my vote :D)

Metagen

2007-11-05 10:15:52

I cant delete the other one :'( i didnt let the page load i hit the stop button 50 times instead. (i dont have it bookmarked). It kills fleshcrawlers in level 2 stronghold of security southeast corner.

Metagen

2007-11-05 10:18:20

Sorry i cant delete it. i managed to tweak the numbers to get to it but its not an option.

edit: oops for double post, wasnt showing the lst one after i changed the numbers at the top.

EDITEDIT: LOL i can just click appliances…

gerauchert

2007-11-05 10:21:00

heh i like the script alot actually…its a good idea

@hermpie the script makes your char run through stronghold security until it gets attacked (it doesnt click the monsters it waits for them to attack)

i say yes, but you definately need to work on failsafes

other than that i think it looks pretty good

Metagen

2007-11-05 10:23:13

:) its got lots of failsafes for doors… i guess i could throw some more in for a little bug with the cubes.

rogeruk

2007-11-05 10:48:31

Still using FindFastRandoms?. Update to newest SRL ? :D

Metagen

2007-11-05 13:20:41

O.o? something new? ill have to check it out!

Edit: i checked it out now.. Nice new stuff (im definitally using the noninventoryrandoms to not include boxes in the normal random checks). Poor fakawi wont be getting credit for every random check now :D:D

RAM

2007-11-05 19:28:29

I think you have met all the requirements this time ;) Yes from me :)

~RAM

Metagen

2007-11-05 20:08:12

woot woot! ram i love you.

Timer

2007-11-05 20:27:09

I'll Say Yes, You have all you need, but cords arnt that reliable and can get you banned :( , you still have some things to learn but I see that candle[1] in you.

[1]: The SRL Spirit! :D

Metagen

2007-11-05 20:29:59

coords can get you banned… ohh i see yes … what if i added a randomish distance and used triginometry and the compass angle?

Pancakes

2007-11-05 20:32:13

Yeah, looks nice.

Timer

2007-11-05 20:36:10

Something Like
Mouse({X Cord}, {Y Cord}, 5, 5, {True}{False});
But That Can Still Get You Banned, Try Random Compass Angles And Use
DTMRotated
and umm..
what if i added a random distance and used trigonometry and the compass angle?
Wtf That Mean :D :D :D well trigonometry?

Metagen

2007-11-05 20:38:11

Basically i could take the compass angle, and use that to find the poitn i wanted to go at, and add a random distance. (that way the point will be as random as the compass, whilst being more accurate at the same time.)

Timer

2007-11-05 20:39:22

From: metagen
Basically i could take the compass angle, and use that to find the point i wanted to go at, and add a random distance. (that way the point will be as random as the compass, whilst being more accurate at the same time.)


yes that would do… hey talk on MSN?

Metagen

2007-11-05 20:57:10

ya i have added u now

legendaryhero90

2007-11-05 21:36:00

ok from me.

though you gotta change some of those things that rely on coordinate clicks.

a little more failsafes that would check if the player is would be nice too.

other than that, i like the script.

i vote yes

Metagen

2007-11-06 13:01:53

So umm how long do i have to wait until i get memberifieD?

HyperSecret

2007-11-06 15:02:46

From: metagen
So umm how long do i have to wait until i get memberifieD?


y does it matter and who says your getting 'memberified'? hmm, do you just want to get members and leech some scripts and stop contributing or what?

Metagen

2007-11-06 15:12:27

Oooh nice rank :D ur rank number 5 for macroing :p gj

No, i love you guys :D

and doesn't 6-0 pretty much mean i'm in?

I am just very excited that this time i'm getting a good vote. my last ones were all bad because i didn't have all of the components in my script.

ShowerThoughts

2007-11-06 15:24:58

im pissed… but a yes for you ;)

Metagen

2007-11-06 15:34:43

Y r u pissed?

Metagen

2007-11-06 15:59:51

Hey why did someone vote no? what do i need to improve :) (not complaining, just wondering why the only no didn't post why?)

Smartzkid

2007-11-06 16:01:50

From: metagen
Hey why did someone vote no? what do i need to improve :) (not complaining, just wondering why the only no didn't post why?)


I'll post why asap, busy atm.

EDIT: Commented things that stood out. Even if this script was perfect, I'd have voted no. It uses DeclarePlayers, which I have DelcaredWar on. DeclarePlayers is SRL 3. Welcome to SRL 4. Welcome to StateOfTheArtPlayerManager. I hope you enjoy your stay.

// Metagen's Fleshy Pounder.
// This script uses SCAR Divi 3.12 and SRL 4
// The basic idea is that it doesnt actually click on the monster, but
// the monster attacks you, very quickly.

// ----- Version 1.0 -----
//Lots of antirandom
//Auto-Eating
//Automatically walks down tunnel and comes back to reaggrivate
//Auto-opens rickety doors
//Some Anti-Ban stuff

// ----- Version 1.1 -----
// Multiplayer
// Added LOADS of failsafes

// ----- Version 1.2 -----
// - Fixed eating bug (should now eat more often in main room)
// - added failsafe for the door back (no longer get stuck between)
// - Added Further Anti-Ban (instead of checking for all randoms, just
// checks for talking randoms regularly, randomly checks for others)

// --- Version 1.3 ----
// - Progress reports
// - Fixed door (again)
// - Added DTM for the room
// - Fixed bug where you can die down the hallway if u run out of food
// - Better Looking script :p

// ------How to use--------
//1.Move your army to the second level of the stronghold of security, the most
// south-eastern room. Set ur guys in the south-west corner of the room.


// 2. Make sure runescape is running on Low-Detail, and highest brightness
// 3. Setup the script (I recommend using salmon or better and setting
// the eat hp to its maximum without overeating.)
// 4. Set the client window.
// 5. Click the shiney green arrow

program New;
{.include srl/srl.scar}
var
x, y, i, misscount, xpcount, Mark : integer;
RoomDTM : integer;

const
DoorX = 238;
DoorY = 157;
text = 'ickety door';


///////////////// SETUP BEGINS /////////////////////////
procedure DeclarePlayers;
Begin
HowManyPlayers := 2; //Set how many characters
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; //Which character to start with

Players[0].Name := 'hi'; //Username
Players[0].Pass := 'hi'; //Password
Players[0].Nick := 'yyyy'; //3-4 letters of your name
Players[0].Active := True;
Players[0].Integers[0] := 6843779; //Food Color
Players[0].Integers[1] := 60; //Eat HP
Players[0].Strings[0] := 'una'; //Eat HP

Players[1].Name := 'hi'; //Username
Players[1].Pass := 'hi'; //Password
Players[1].Nick := 'yyyy'; //3-4 letters of your name
Players[1].Active := True;
Players[1].Integers[0] := 6843779; //Food Color
Players[1].Integers[1] := 60; //Eat HP
Players[1].Strings[0] := 'una'; //Eat HP

end;

/////////////////// SETUP ENDS ////////////////////

procedure LoadDTM;
begin
{RoomDTM := DTMFromString('78DA634C6562600862C00A1861740C504D00A' +
'ADCF757DF184490D5A400D5C41250530054134C404D16508D277E' +
'3500A6060F5B'); }
RoomDTM := DTMFromString('78DA634C656260B060C00A18617420116ACA8' +
'06A5409A84903AA8920A0A68D08BB92806A7209A8990954634740' +
'CD7422CC292342CD2CA09A10026AD2816A94F0AB0100A769086E');


end;

function EatCheck : boolean;
begin
if (gethp < Players[CurrentPlayer].Integers[1]) then
begin
writeln('eating');
gametab(4);
if findcolortolerance(x,y, Players[CurrentPlayer].Integers[0], 552, 209, 729, 460, 5) then
begin
MMouse(x,y,0,0);
wait(150+random(21));
if isuptext(Players[CurrentPlayer].Strings[0]) then
begin
Mouse(x, y, 0, 0, true);
end else
begin
Result := False;
Exit;
end;
end else
begin
result := False;
exit;
end;
end;
result := True;
end;

procedure RoomLogout;
begin
perfectnorth;
mouse(593,119, 0, 0, true);
wait(2000);
mouse(593,119, 0, 0, true);
wait(3000);
Players[CurrentPlayer].loc := 'Out of food';
logout;
exit; //Why?
end;

function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 8 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;


procedure randoms;
begin
findfastRandoms;
findNormalRandoms;
end;

function ScanName(name : string; var cx, cy: integer; Startx, Starty : integer; Down : Boolean) : boolean; // by me
var
PointX, PointY, PointY2 : integer;
begin
for PointX:= StartX to StartX + 100 do
begin
PointX := PointX + 5;
for PointY:= StartY to StartY + 60 do
begin
PointY := PointY + 20;
if down = false then
begin
PointY2 := 2 * StartY - PointY
end else
begin
PointY2 := PointY - 60
end;
mmouse(PointX, PointY2, 0, 0);
wait(100);
if(IsUpText(name)) then
begin
result := true;
cx := PointX;
cy := PointY2;
exit;
end;
end;
end;
result := False;
end;


function SecondDoorOpen : boolean;
var
rx : integer;
begin
mouse(616, 47, 4, 4, true); //walk to door
fflag(0);
if ScanName(text, x, y, Doorx, Doory, true) then
begin
for i := 1 to 5 do
begin
rx := random(10);
mmouse(x+5+rx, y+5+rx, 0, 0);
if isuptext(text) then
begin
for i := 1 to 60 do
begin
if not isuptext(text) then
begin
result := true;
exit;
end else
begin
mouse(x+5+rx, y+5+rx, 0, 0, true);
wait(2000+random(300));
end;
end;
end;
end;
end;
result := false;
end;

procedure AttemptRecovery;
begin
makeCompass('W');
mouse(649,22,0,0,true);
wait(3000+random(1000));
SecondDoorOpen;
makeCompass('E');
end;

procedure WalkHall;
begin
Players[CurrentPlayer].loc := 'Walking Hallway';
radialWalkex(x,y,643, 83, 15199724, 30, 270, 400, 30);
mouse(x,y,0,0,true);
wait(200);
if flagpresent then
begin
Randoms;
fflag(0);
EatCheck;

radialWalkex(x,y,643, 83, 15199724, 30, 270, 400, 65);
mouse(x,y,0,0,true); //Why?
Randoms;
fflag(0);
EatCheck;

MakeCompass('E');
MakeCompass('E'); //Why?
MakeCompass('E'); //Again, why?

radialWalkex(x,y,643, 83, 15199724, 30, 400, 330, 60);
mouse(x,y,0,0,true);
Randoms;
fflag(0);
EatCheck;

radialWalkex(x,y,643, 83, 15199724, 30, 400, 330, 60);
mouse(x,y,0,0,true);
Randoms;
fflag(0);

mouse(325, 464, 0, 0, true); //this is basically a failsafe
//due to the confined space even if radialwalk misses this will click
//in the area on the other side of the door and walk u to it.
wait(1000+random(450));
end else if i < 3 then
begin
i := i + 1;
SecondDoorOpen;
WalkHall;
end;
end;

function FirstDoorOpen : boolean;
var
rx : integer;
begin
if ScanName(text, x, y, Doorx, Doory, false) then
begin
for i := 1 to 5 do
begin
rx := random(10);
mmouse(x+5+rx, y, 0, 0);
wait(200+random(100));
if isuptext(text) then
begin
mouse((x+5+rx), y, 0, 0, true);
result := true;
wait(3000+random(234));
exit;
end;
end;
end;
result := false;
wait(3000+random(234));
end;

procedure ToFirstDoor;
begin
perfectnorth;
mouse(651, 78, 0, 0, true);
fflag(0);
makecompass('W');
radialWalkex(x,y,643, 83, 15199724, 30, 270, 400, 50);
mouse(x,y,0,0,true);
fflag(0);
end;


procedure RunDownHall;
begin
writeln('Walking Down Hall');
SetRun(true);

i := 0;
repeat
i := i + 1;
ToFirstDoor;
Players[CurrentPlayer].loc := 'At First Door';
wait(500+random(200));
if i = 3 then
begin
writeln('Error, Could not locate first door.');
logout;
end;
Until FirstDoorOpen
if not EatCheck then
begin
Logout;
Exit;
end;
wait(500+random(200));
if not SecondDoorOpen then //this will most likely NEVER happen.
begin
writeln('Second Door Opening Failed');
AttemptRecovery;
Exit;
end;
Players[CurrentPlayer].loc := 'Start of hallway';
i:= 0;
WalkHall;
Players[CurrentPlayer].loc := 'Start of hallway';
FirstDoorOpen;
Players[CurrentPlayer].loc := 'In between the doors';
Randoms;
wait(3000+random(500));
if not EatCheck then
begin
Logout;
Exit;
end;
SecondDoorOpen;
mouse(630, 68, 0, 0, true);
wait(1000);
if not flagpresent then // standards?
begin
SecondDoorOpen;
mouse(630, 68, 0, 0, true);
end
Players[CurrentPlayer].loc := 'In the room';
fflag(0);
end;

procedure RandomTab;
begin
if random(15) = 1 then
begin
gametab(random(random(14))); //causes unevenness in tabs
if random(9) = 1 then
begin
wait(300+random(432));
gametab(random(random(14))); //causes unevenness in tabs
wait(random(500));
gametab(random(random(14))); //causes unevenness in tabs
end;
wait2(3000, false);
end;
end;

procedure Proggy;
var
i : integer;
begin
writeln(' ');
writeln('<== Fleshy Pounding Carnage Report ==>');
writeln('Total Time: '+TimeRunning);
for i:=0 to getarraylength(players)-1 do
writeln(Players[i].Name + ': ' + inttostr(Players[i].Integers[2] / 1000 / 60) + ' Minutes and ' + inttostr((Players[i].Integers[2] / 1000)-((Players[i].Integers[2] / 1000 / 60)*60))+' Seconds -- Location: ' + Players[i].Loc);
writeln('<== End of Report ==>');
writeln(' ');
end;

procedure RoomMiddle;
begin
makecompass('N');
ToFirstDoor;
mouse(661, 105, 0, 0, true);
fflag(0);
end;

procedure RoomMiddleDTM;
begin
if not DtmRotated(RoomDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MakeCompass('N');
if not DtmRotated(RoomDTM, x, y, 573, 60, 652, 132) then
begin
RoomMiddle;
Exit;
end;
end;
Mouse(x+30,y+31, 1, 1, true);
end;

procedure AggressiveCheck;
begin
highestangle;
if findfight then
begin
xpcount := 0;
end else
begin
xpcount := xpcount + 1;
end;
if xpcount = 1 then
RoomMiddleDTM;
if xpcount > 1 then
begin
RunDownHall;
wait(random(2000));
xpcount := 0;
end;
end;

procedure StartScript;
begin
SetupSrl;
DeclarePlayers;
ActivateClient;
LoadDTM;
end;

procedure LoginTasks;
begin
LoginPlayer; //on all but the first player, they will already be logged in from NextPlayer(false). If(not(LoggedIn))then LoginPlayer.
MarkTime(Mark);
PerfectNorth;
RoomMiddleDTM;
Players[CurrentPlayer].loc := 'In the room';
end;

procedure MainLoop;
begin
Wait2(500+random(500), false);
i := random(8);
case I of
2: Randoms;
3: RandomTab;
4: if random(1) = 2 then RoomMiddleDTM;
end;
AggressiveCheck;
if not EatCheck then RoomLogout;
FindTalk;
Wait2(5000+random(100)*random(100), false);
end;

Procedure LogoutTasks;
begin
MissCount := 0;
i := 0;
Players[CurrentPlayer].Integers[2] := timefrommark(Mark);
Proggy;
NextPlayer(False);
end;

//Main Program
begin
StartScript;
For i:= 0 to (GetArrayLength(Players) -1) do
begin
LoginTasks;
repeat
MainLoop;
until LoggedIn = False //fine with logggedin, but if the function doesn't specify that result := false, this will pass it by, even though result isn't true.
LogoutTasks;
end;
freeDTM(RoomDTM);
TerminateScript; //why?
end.

Metagen

2007-11-06 16:29:49

… k whatever. I didn't know there was something new.

Metagen

2007-11-06 16:36:24

       radialWalkex(x,y,643, 83, 15199724, 30, 270, 400, 65); mouse(x,y,0,0,true); //Why? 
So that i can do randoms and radial walk at the same time


MakeCompass('E');
MakeCompass('E'); //Why?
MakeCompass('E'); //Again, why?
because it was glitching and not turning the camera before it ran back.

Can i add you on msn and chat with u?

Timer

2007-11-06 16:37:01

I Don't Get What He Means? Does He Mean Use
  SRLPlayerForm(True, [], [], [], []);
Instead Of
  CurrentPlayer := 0;
HowManyPlayers:=3;
NumberOfPlayers(HowManyPlayers);

Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // Nickname, 3 - 4 letters of username
Players[0].Integers[0] := 5; //Amount of loads
Players[0].Strings[0] :=''; //Pin Number
Players[0].Loc := 'bank'; // Players Location
Players[0].Active := True; // Active?

Players[1].Name := ''; // Username
Players[1].Pass := ''; // Password
Players[1].Nick := ''; // Nickname, 3 - 4 letters of username
Players[1].Integers[0] := 5; //Amount of loads
Players[1].Strings[0] :=''; //Pin Number
Players[1].Loc := 'bank'; // Players Location
Players[1].Active := True; // Active?

Players[2].Name := ''; // Username
Players[2].Pass := ''; // Password
Players[2].Nick := ''; // Nickname, 3 - 4 letters of username
Players[2].Integers[0] := 5; //Amount of loads
Players[2].Strings[0] :=''; //Pin Number
Players[2].Loc := 'bank'; // Players Location
Players[2].Active := True; // Active?

Metagen

2007-11-06 16:41:17

Lmao nice sig timer :p

Timer

2007-11-06 16:46:16

You like it? lol my favorite it da bottom, and why is SmatzKid not awnsering? and Why vote no over a simple declareplayers issue?

Metagen

2007-11-07 08:02:49

From: Smartzkid

EDIT: Commented things that stood out. Even if this script was perfect, I'd have voted no. It uses DeclarePlayers, which I have DelcaredWar on. DeclarePlayers is SRL 3. Welcome to SRL 4. Welcome to StateOfTheArtPlayerManager. I hope you enjoy your stay.



Alas! I am a casualty of war!

Narcle

2007-11-07 14:27:52

From: Smartzkid
I'll post why asap, busy atm.

EDIT: Commented things that stood out. Even if this script was perfect, I'd have voted no. It uses DeclarePlayers, which I have DelcaredWar on. DeclarePlayers is SRL 3. Welcome to SRL 4. Welcome to StateOfTheArtPlayerManager. I hope you enjoy your stay.

I didn't know there was a new way in 4, guess I'll have to look at that. And I'm very curious why you "DelcaredWar" on it.

Btw metagen I'm still looking at script. ;)

Smartzkid

2007-11-07 15:18:47

It's not new in SRL 4, but it is a major improvement over DeclarePlayers, and SRL 4 is all about improvement, so I decided that now is the time to declare war on DeclarePlayers.

Of course, voting no on a few apps won't make much a difference, but I plan to make a tut on it eventually.

Feel free to add me on msn anytime, metagen.

Narcle

2007-11-07 22:56:41

From: Smartzkid
It's not new in SRL 4, but it is a major improvement over DeclarePlayers, and SRL 4 is all about improvement, so I decided that now is the time to declare war on DeclarePlayers.

Of course, voting no on a few apps won't make much a difference, but I plan to make a tut on it eventually.

Feel free to add me on msn anytime, metagen.


A tut would be awesome.

*Back to topic*

Things you could improve/change. Most of these were mentioned but I just wrote them down as I saw them.

1. Don't make the users set a eathp, change it to a HPpercent check instead. I immediately changed this when I found it.

2. In RoomLogout don't use mouse clicks like that, it can get you banned.
Try using another method, like a color or door in the minimap area.
Or more simple yet RunAwayDirection('s')

3. I think someone mentioned this but, FindFastRandoms can be replaced with FindNonInventoryRandoms.

4. In AttemptRecovery : again mousing with 0,0 accuracy is ban material.

5. Still lots of mouse(630, 68, 0, 0, true), having a perfect accuracy like that over and over doesn't help with antiban ;) Get more randomness in script.

6. I think main program loop could be improved.

7. Fail safes needed to be added in some key areas, as well as in main program loop. Of course the easy "If not loggedin then exit" way.

Other then that I like, I'm sure there is more I could of found, but that was a quick look-through top to bottom.

Yes from me, keep improving your script you'll always find new and better ways.
Even if no one even uses it, if you use it yourself it doesn't matter because it gives awesome scripting practice. Plus the motivation to level/make money on your own characters is the best there is.

rogeruk

2007-11-08 01:42:12

LoginPlayer; //on all but the first player, they will already be logged in from NextPlayer(false). If(not(LoggedIn))then LoginPlayer.


procedure LoginPlayer;
var
ClickHereToPlay, x, y, tx, ty,
CHx, CHy, c, tmpMask, LastPlayer, Mark: Integer;
begin

ClickHereToPlay := BitmapFromString(33, 1, 'z78DA758E510E80300843' +
'AF54C0E2F6E94CB8FF9134123392693FFA41FA4A23A6F0888443D' +
'26DC000A7DCE7F458F23EE444E721444B6A0F53D58FE44F4365B7' +
'067D37AC3D95AADF2F50962C79');
if (not (LoggedIn)) then
.

Since the procedure includes the if(Not LoggedIn)then, it really isnt necessary.

MasterKill

2007-11-08 16:33:49

yez.

but you got some "homework" to do! :rolleyes:

Metagen

2007-11-08 17:13:29

Masterkill lol you're my hero.

BobboHobbo

2007-11-09 02:06:10

Yes from me.

Metagen

2007-11-11 15:54:30

woot 13-2 vote :D im very happy.

WT-Fakawi

2007-11-11 16:23:19

And rightfully you should be! In.