SRL Archive - Archive

meanage - SRL Member Application Form


Meanage

2007-01-30 05:59:51

meanage - SRL Member Application Form
meanage

What is the meaning to life?


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

no


Programming Knowledge


Other Communitys
MoparIsTheBest, Sythe

How Long have You Played Runescape
About 4 years

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

I read most of the scripts that I use to get ideas on functions etc. I have made a few working scripts and posted 2 in the free scripts section. I don't really know what else to say, I'm polite and helpfull on the forums.

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

I updated them, working on my own find and attack axe procedure, after that my own ent finder and solver.



{
__ __ ___ _ _ _
| \/ |___ __ _ _ _ __ _ __ _ ___ / __| |_ _ _ __| (_)___ ___
| |\/| / -_) _` | ' \/ _` / _` / -_) \__ \ _| || / _` | / _ (_-<
|_| |_\___\__,_|_||_\__,_\__, \___| |___/\__|\_,_\__,_|_\___/__/
|___/
Chain Saw (PowerCutter)
}
{Instructions:
1. Setup players and Tree colors
2. Have characters by the trees you want to cut, the more the better
3. Press play
4. Watch
5. Post on my thread
}
program MeanageStudiosChainsaw;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/WoodCutting.scar}
const
treecolor1 = 2252880; // tree color
TreeColor2 = 3305578; // another tree color
Treetype = '1'; //1 is for normal, 2 is for oak
LoadsToCut = 3;//Loads to cut per player at a time
Rundir = 'S';//Run direction for fight
Axes = '1';//number of axes in inventory(doesnt count for weilded ones)
Axes3 = 1;//number of axes in inventory(doesnt count for weilded ones)
WantedLogins = 6;//Number of times you want to change players
var
LoadsCut:integer;
Logins:integer;
LogsCut:integer;
LogLoadsCut:integer;

procedure DeclarePlayers;
begin
HowManyPlayers:=1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;

Players[0].Name :='user';
Players[0].Pass :='pass';
Players[0].Nick :='nick';
Players[0].Active:=True;

end;

function ChopTree1:boolean;
var Tolerance,P :integer;
begin
Tolerance:=5;
begin
repeat
P:=P+1;
if (FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,MSX2,MSY2,Tolerance))or
(FindColorTolerance(x,y,TreeColor2,MSX1,MSY1,MSX2,MSY2,Tolerance))then
MMouse(x,y,3,3)
wait(100+random(50));
if (IsUpText('ree')) then
result:= true;
if not result then
tolerance:= tolerance+1;
if (tolerance=15) then
begin
Tolerance:=(Tolerance-5)
wait (7000+random(500))
end;
until (result or (P=20))
begin
if (FindObjMultiText(x,y, 'ree', 'ree', 'ree', Treecolor1, Tolerance)) or
(FindObjMultiText(x,y, 'ree', 'ree', 'ree', Treecolor2, Tolerance)) then
Mouse(x,y,3,3,true);
end;
end;
end;

function ChopTree2:boolean;
var Tolerance,P :integer;
begin
Tolerance:=10;
begin
repeat
p:=P+1;
if (FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,MSX2,MSY2,Tolerance))or
(FindColorTolerance(x,y,TreeColor2,MSX1,MSY1,MSX2,MSY2,Tolerance))then
MMouse(x,y,3,3)
wait(10+random(10));
if (IsUpText('Oak')) then
result:= true;
if not result then
tolerance:= tolerance+1;
if (tolerance=15) then
begin
Tolerance:=(Tolerance-5)
Wait(7000+random(500))
end;
until (result or (P=20))
begin
if (FindObjMultiText(x,y, 'Oak', 'Oak', 'Oak', Treecolor1, Tolerance)) or
(FindObjMultiText(x,y, 'Oak', 'Oak', 'Oak', Treecolor2, Tolerance)) then
Mouse(x,y,3,3,true);
end;
end;
end;

procedure ChopTree3;
begin
if TreeType = '1'
then begin ChopTree1;
ChopTree1;
wait (3000+random(1000))
ChopTree1;
wait (3000+random(1000))
ChopTree1;
end;
if TreeType = '2'
then begin ChopTree2;
ChopTree2;
wait (7000+random(1000))
ChopTree2;
wait (7000+random(1000))
ChopTree2;
end;
end;

procedure SetUp;
begin;
cleardebug;
writeln(' __ __ ')
writeln('| \/ |___ __ _ _ _ __ _ __ _ ___ ')
writeln('| |\/| / -_) _` | ` \/ _` / _` / -_) ')
writeln('|_| |_\___\__,_|_||_\__,_\__, \___| ')
writeln(' |___/')
writeln('Chain Saw')
wait(1500)
cleardebug;
writeln(' ___ _ _ _')
writeln('/ __| |_ _ _ __| (_)___ ___')
writeln('\__ \ _| || / _` | / _ (_-<')
writeln('|___/\__|\_,_\__,_|_\___/__/')
writeln(' ')
writeln('Chain Saw')
wait(1500)
cleardebug;
if(not(loggedin)) then begin
LoginPlayer;
wait(200+random(200))
end;
end;

Procedure FindDeadAxe;
begin
begin
MMouse(586,220,3,3)
Wait(200+random(100))
if (IsUpText('Use')) then
begin
MMouse(628,220,3,3)
Wait(200+random(100))
if (IsUpText('Use')) then
begin
MMouse(664,323,3,3)
Wait(200+random(100))
if (IsUpText('Use')) then
begin
MMouse(771,228,3,3)
Wait(200+random(100))
if (IsUpText('Use')) then
begin
NextPlayer(False)
end;
end;
end;
end;
end;
end;

procedure DropAllLogs2;
begin
If Axes='1' then begin
DropTo(2,28)
end;
if Axes='2' then begin
DropTo(3,28)
end;
if Axes='3' then begin
DropTo(4,28)
end
if Axes='4' then begin
DropTo(5,28)
end
LoadsCut:=LoadsCut+1;
end;

procedure DropAllLogs3;
Var LogsDTM:integer;
IX,IY:integer;

begin
LogsDTM := DTMFromString('78DA63F462626060676440063571160CFF813' +
'448F43F1030DA03D5FC4351C290EE2105A6613A196D806AB850CD' +
'C9F74553130854F317D59CD228334C35DCA8E634255BA3A80100E' +
'EB30D67');
if (not FindDTM(LogsDTM,IX,IY,MIX1,MIY1,MIX2,MIY2)) then begin
DropAllLogs2;
end;
if FindDTM(LogsDTM,IX,IY,MIX1,MIY1,MIX2,MIY2) then begin
repeat
FindDTM(LogsDTM,IX,IY,MIX1,MIY1,MIX2,MIY2)
Mouse(IX,IY,3,3,false);
PopUp('Drop');
LogsCut:=LogsCut+1;
until(not(findDTM(LogsDTM,IX,IY,MIX1,MIY1,MIX2,MIY2)))
end;
end;



procedure ProgressReport;
begin
ClearDebug;
Writeln('Loads Cut And Dropped = '+intToStr(LoadsCut))
end;

Procedure SetChats;
Begin
SetChat('Hide', 1);
SetChat('Hide', 1);
SetChat('Friends', 2);
SetChat('Friends', 2);
SetChat('Off', 3);
SetChat('Off', 3);
End;

procedure AntiRandoms222;
begin
FindNormalRandoms;
FindHead;
FindBirdsNest;
FindTalk;
FindDeadAxe;
FindEnt(Treecolor1);
if (FindFight) then
begin
RunAwayDirection(RunDir);
Wait(9000 + random(3000));
RunBack;
end;
if(not(loggedin)) then begin
LoginPlayer;
wait(200+random(200))
end;
end;

Procedure ProggyMaths;
var
LogsCutAxes:integer;
Axes2:integer;
begin
Axes2:=Axes3;
LogsCutAxes:=28-Axes2;
LogLoadsCut:=LogsCut/LogsCutAxes;
LoadsCut:=LoadsCut+LogLoadsCut;
end;

Procedure ProgressReport2;
begin
ProggyMaths;
ProgressReport;
SRLRandomsReport;
end;


procedure MainLoop;
begin
repeat
ProgressReport2;
ChopTree3;
AntiRandoms222;
if (invfull)
then begin
DropAllLogs2;
end;
MouseSpeed := MouseSpeed +random(3)
PickUpMouseEvery(50+random(10));
LeaveScreenEvery(10 + random(5));
HoverSkill('woodcutting', false);
ProgressReport2;
ChopTree3;
AntiRandoms222;
MouseSpeed := MouseSpeed -random(3)
if (invfull)
then begin
DropAllLogs3;
end;
if ((LoadsToCut) >= (LoadsCut)) then
begin
NextPlayer(false)
Logins:= Logins+1
end;
until(Logins >= WantedLogins)
end;

begin
SetUpSRL;
DeclarePlayers;
DisguiseScar('Meanage Studios Chain Saw');
SetUp;
Setchats;
MainLoop;
end.

{
__ __ ___ _ _ _
| \/ |___ __ _ _ _ __ _ __ _ ___ / __| |_ _ _ __| (_)___ ___
| |\/| / -_) _` | ' \/ _` / _` / -_) \__ \ _| || / _` | / _ (_-<
|_| |_\___\__,_|_||_\__,_\__, \___| |___/\__|\_,_\__,_|_\___/__/
|___/
DummySpliter
}
{Instructions:
1. Setup players and dummy colors
2. Have characters at the dummy place by varrock east bank
3. Press play
4. Watch
5. Post on my thread
}
program DummySplitter;
{.include srl\srl.scar}
const
// Setup
dummycolor1=8627649;// Dummy Color One.
dummycolor2=6981021;// Dummy Color Two.
rundir='S';
PlayerAmount=1;//How many players have you got?
Floor=2447978;//floor color dummy place
var
HitTimes:integer;
LogedIn:integer;

procedure DeclarePlayers;
begin
HowManyPlayers:=1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;

Players[0].Name :='name';
Players[0].Pass :='pass';
Players[0].Nick :='nick';
Players[0].Active:=True;
end;

Procedure DontGetLost;
Var
WX, WY : Integer;

Begin
If (Not(FindSymbol(Wx, WY, 'training dummy'))) Then Begin
if (not(FindColor(x,y,Floor,200,60,385,205))) Then Begin
LogedIn:= LogedIn+1
NextPlayer(false);
End;
End;
End;

function HitDummy:boolean;
var Tolerance, P :integer;
begin
Tolerance:=10;

begin
repeat
P:=P+1;
if (FindColorTolerance(x,y,DummyColor1,MSX1,MSY1,MSX2,MSY2,Tolerance))or
(FindColorTolerance(x,y,DummyColor2,MSX1,MSY1,MSX2,MSY2,Tolerance))then
MMouse(x,y,3,3)
wait(10+random(10));
if (IsUpText('ttack')) then
result:= true;
if not result then
tolerance:= tolerance+1;
DontGetLost;
if (tolerance=15) then
begin
LogedIn:= LogedIn+1;
NextPlayer(false);
end;
until (result) or (P=20)
begin
if (FindObject(x,y,'ttack',DummyColor1,tolerance,true)) or
(FindObject(x,y,'ttack',DummyColor2,tolerance,true)) then
Mouse(x,y,3,3,true);
HitTimes:=HitTimes+1
end;
end;
end;

procedure SetUp;
begin;
cleardebug;
writeln(' __ __ ')
writeln('| \/ |___ __ _ _ _ __ _ __ _ ___ ')
writeln('| |\/| / -_) _` | ` \/ _` / _` / -_) ')
writeln('|_| |_\___\__,_|_||_\__,_\__, \___| ')
writeln(' |___/')
writeln('Dummy Splitter v1.03')
writeln('Thankyou Madmoon for all your help')
wait(750)
cleardebug;
writeln(' ___ _ _ _')
writeln('/ __| |_ _ _ __| (_)___ ___')
writeln('\__ \ _| || / _` | / _ (_-<')
writeln('|___/\__|\_,_\__,_|_\___/__/')
writeln(' ')
writeln('Dummy Splitter v1.03')
writeln('Thankyou Madmoon for all your help')
wait(750)
cleardebug;
writeln(' __ __ ')
writeln('| \/ |___ __ _ _ _ __ _ __ _ ___ ')
writeln('| |\/| / -_) _` | ` \/ _` / _` / -_) ')
writeln('|_| |_\___\__,_|_||_\__,_\__, \___| ')
writeln(' |___/')
writeln('Dummy Splitter v1.03')
writeln('Thankyou Madmoon for all your help')
wait(500)
cleardebug;
writeln(' ___ _ _ _')
writeln('/ __| |_ _ _ __| (_)___ ___')
writeln('\__ \ _| || / _` | / _ (_-<')
writeln('|___/\__|\_,_\__,_|_\___/__/')
writeln(' ')
writeln('Dummy Splitter v1.03')
writeln('Thankyou Madmoon for all your help')
wait(500)
cleardebug;
writeln(' __ __ ')
writeln('| \/ |___ __ _ _ _ __ _ __ _ ___ ')
writeln('| |\/| / -_) _` | ` \/ _` / _` / -_) ')
writeln('|_| |_\___\__,_|_||_\__,_\__, \___| ')
writeln(' |___/')
writeln('Dummy Splitter v1.03')
writeln('Thankyou Madmoon for all your help')
wait(250)
cleardebug;
writeln(' ___ _ _ _')
writeln('/ __| |_ _ _ __| (_)___ ___')
writeln('\__ \ _| || / _` | / _ (_-<')
writeln('|___/\__|\_,_\__,_|_\___/__/')
writeln(' ')
writeln('Dummy Splitter v1.03')
writeln('Thankyou Madmoon for all your help')
wait(250)
cleardebug;
writeln(' __ __ ')
writeln('| \/ |___ __ _ _ _ __ _ __ _ ___ ')
writeln('| |\/| / -_) _` | ` \/ _` / _` / -_) ')
writeln('|_| |_\___\__,_|_||_\__,_\__, \___| ')
writeln(' |___/')
writeln('Dummy Splitter v1.03')
writeln('Thankyou Madmoon for all your help')
wait(125)
cleardebug;
writeln(' ___ _ _ _')
writeln('/ __| |_ _ _ __| (_)___ ___')
writeln('\__ \ _| || / _` | / _ (_-<')
writeln('|___/\__|\_,_\__,_|_\___/__/')
writeln(' ')
writeln('Dummy Splitter v1.03')
writeln('Thankyou Madmoon for all your help')
wait(125)
cleardebug
if(not(loggedin)) then begin
LoginPlayer;
wait(200+random(200))
end;
end;

Procedure ProgressReport;
Begin
ClearDebug;
Writeln('Hit dummy times=' +intToStr(hitTimes))
Writeln('Total xp gained='+IntToStr(HitTimes*5))
end;

Procedure SetChats;
Begin
SetChat('Hide', 1);
SetChat('Hide', 1);
SetChat('Friends', 2);
SetChat('Friends', 2);
SetChat('Off', 3);
SetChat('Off', 3);
End;

procedure MainLoop2;
Begin
repeat;
progressReport;
SRLRandomsReport;
HitDummy;
FindNormalRandoms;
MouseSpeed := MouseSpeed +random(3)
PickUpMouseEvery(50+random(10));
LeaveScreenEvery(10 + random(5));
HoverSkill('attack', false);
if(Players[CurrentPlayer].Level[1] >= 8) or (InChat('is nothing more you can learn')) then
Writeln('Finished Player, NextPlayer')
LogedIn:=LogedIn+1
NextPlayer(false);
progressReport;
SRLRandomsReport;
HitDummy;
FindNormalRandoms;
MouseSpeed := MouseSpeed -random(3)
if(Players[CurrentPlayer].Level[1] >= 8) or (InChat('is nothing more you can learn'))then
Writeln('Finished Player, NextPlayer')
LogedIn:= LogedIn+1
NextPlayer(false);
until(LogedIn >= PlayerAmount)
end;

begin
SetupSRL;
DeclarePlayers;
DisguiseScar('Meanage Studios Dummy Splitter');
Setup;
SetChats;
MainLoop2;
end.

——————————————————

Buckleyindahouse

2007-01-30 06:07:27

These scripts are too simple to get into SRL Members with. Keep working learning srl some more and maybe you'll get in. Till then I'll have to vote No.

Ejjman

2007-01-30 09:03:03

Null vote, but those are great first scripts. Try adding some failsafes to them maybe. ;)

YoHoJo

2007-01-30 16:40:14

Meh,
if you add fail safes and a bit of other stuff ill bote yes,
your dropign procedure
drop (2, 28)
What if they have their axe in the last inven spot?
Or have some money on them?

Try using DTMs or Bitmaps of logs for yuor dropping.
It seems fine to me, not as bad as most appliances looks like you worked hard.

Add failsafes.
Heres an example:

function ChopTree1:boolean;
var Tolerance,P :integer;
begin
Tolerance:=5;
begin
repeat
P:=P+1
if (FindColorTolerance(x,y,TreeColor1,200,60,385,205,Tolerance))or
(FindColorTolerance(x,y,TreeColor2,200,66,385,205,Tolerance))then
MMouse(x,y,3,3)
wait(100+random(50));
if (IsUpText('ree')) then
result:= true;
if not result then
tolerance:= tolerance+1;
if (tolerance=15) then
begin
Tolerance:=(Tolerance-5)
wait (7000+random(500))
end;
until (result OR P>20)
begin
if (FindObjMultiText(x,y, 'ree', 'ree', 'ree', Treecolor1, Tolerance)) or
(FindObjMultiText(x,y, 'ree', 'ree', 'ree', Treecolor2, Tolerance)) then
Mouse(x,y,3,3,true);
end;
end;
end;
The P is an integer and the P:=P+1 keeps adding a P.
If the procedure loops over 20 times (Until (P > 20)) Then it will stop =).

Ill be nice and vote yes, because i have a power chopper fetish.

Just promise you will work on it more and not be a lecchy nooby noob =)

Also it seems like this script is original, no need to "copy bust you"

Fourscape

2007-01-30 18:32:11

As Yohojo8 said… DTM's are probobly the best option for dropping… make a find axe head procedure or add in SRL's Findaxehead… ent finder… that too… I dont see any If(Not(LoggedIn))then next player false; where you have loops… it will just keep trying to click on the back pack… Possible make a TimefromMark so that if the script doesn't find a tree for 3 minutes it will change to a different player… Also… instead of…

if (FindColorTolerance(x,y,TreeColor1,200,60,385,205,Tolerance))or

put…

if (FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,MSX2,MSY2,Tolerance))or

easyer… yeah…

no for me.

YoHoJo

2007-01-30 19:48:41

Meh cmon guys
If yohojo (the harshest appliance grader) votes yes, you should too =).
Usually when i say no its because of copied scripts, lack of work, scripts that just don't work or don't like like people have taken time on them.

I think this guy worked hard by looking at the code.
Dont grade by the quaility of the script itself, grade on quality of code
Meaning, ok, he needs to fix dropping and axe head fidning, big whoop.

That takes about 10-30 mins to do and he will probably fix it after we tell him.
So yea.. =)

meanage,
try reading my DTM tutorial in the tutorial island section,
using that, make a new dropping procedure which uses DTMS

Also fourscape.
he does use axe head fidning procedure

MouseSpeed := MouseSpeed +random(3)
PickUpMouseEvery(50+random(10));
LeaveScreenEvery(10 + random(5));
HoverSkill('woodcutting', false);
ProgressReport;
SRLRandomsReport;
ChopTree3;
FindNormalRandoms;
FindHead;
FindTalk;
FindBirdsNest;
FindDeadAxe;
if (FindFight) then
begin
RunAwayDirection('RunDir');
Wait(9000 + random(3000));
RunBack;
end;

owned, my friend =)

oliver1205

2007-01-30 21:51:37

yes, he looks like he has potential =)

Ruroken

2007-01-30 22:02:59

this is someone yoho votes YES for…he gets my vote

Hey321

2007-01-31 07:59:29

If Yohojo votes yes, he definitly gets mine since he voted no to me ;).

WT-Fakawi

2007-01-31 08:54:53

Accepted!