SRL Archive - Archive

Venom666 - SRL Member Application Form


Venom666

2007-07-06 20:57:58

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

What is the meaning to life?


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



Programming Knowledge
Java,C++

Other Communitys
none :D

How Long have You Played Runescape
far to many years

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

I have been here for a couple weeks. I a going to apply for a membership cause i feel i know everything that is required. If not then oh well i can always learn more :D. Any comments and positive feedback would be very much appreciated. If this script is not good enough please state why it sucks :D. thanks for your time.

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

{POWER MINER}

{ By Venom }
{-----------------------------------------------------}
{ This Script is a simple powerminer by me. It mines ores}
{ then drops them. Simple Enough :D but good for lvling}
{ -----------------------------------------------------}
{ Instructions
{------------------------------------------------------}
{1. Specify The Rs client }
{2. then fill out the declares procedure }
{3. Fill out the const }
{4. Make sure you start the script LOGGED OUT }
{5. hit run and tell me how it works!! :D }

program VenomsPowerMiner;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Mining.scar}


{====================Fill Info Out Below======================}
Const

RockColour1=5935847; //Rock Color Number 1
TimeToMine=5000000; // Time allowed for each load in millsecs
SkillToSet=('Mining'); //Skill To Use Genie Lamp On If Found
RuningDir=('N'); // Direction To Run incase of a fight
DropPick=False; //Drop Stuff From Randoms??
LoadsTodo=5; // Loads to do for each character.
TimeToClick=5000; // Time between each click on rock
{====================End Of SetUp=============================}



Procedure DeclarePLayers; // Sets up players for Multi
begin

HowManyPlayers := 6; // Number of players in script.
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; //Player to start on.


Players[0].Name := 'username'; // Put your UserName Here
Players[0].Pass := 'password'; // PassWord Goes Here
Players[0].Nick := 'nick'; // 3-4 Letters of Username
Players[0].Boolean1 := false; //// is the pick weilded?
Players[0].Active := True; // Use Player In Script?

Players[1].Name := 'UserName';
Players[1].Pass := 'Password';
Players[1].Nick := '3-4 letters of UserName';
Players[1].Boolean1 := false; //// is the pick weilded?
Players[1].Active := False;

Players[2].Name := 'UserName';
Players[2].Pass := 'Password';
Players[2].Nick := '3-4 letters of UserName';
Players[2].Boolean1 := false; //// is the pick weilded?
Players[2].Active := False;

Players[3].Name := 'UserName';
Players[3].Pass := 'Password';
Players[3].Nick := '3-4 letters of UserName';
Players[3].Boolean1 := false; //// is the pick weilded?
Players[3].Active := False;

Players[4].Name := 'UserName';
Players[4].Pass := 'Password';
Players[4].Nick := '3-4 letters of UserName';
Players[4].Boolean1 := false; //// is the pick weilded?
Players[4].Active := False;

Players[5].Name := 'UserName';
Players[5].Pass := 'Password';
Players[5].Nick := '3-4 letters of UserName';
Players[5].Boolean1 := false; //// is the pick weilded?
Players[5].Active := False;

NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;



{===============Start Of Procedures Below==============================}
{ dont Touch unless you know what your doing!}

Var
Lost: boolean;
Clicks,Loads: Integer;

//-----------------------------------------------------------------\\
{ FindFastRandoms - Finds the randoms fast ||
\\-----------------------------------------------------------------//}
Function FindFastRandoms: Boolean; //By WT-Fakawi
var
i: Integer;
begin
for i:=1 to 10 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;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9: RC;
10: //Respond; :)
end;
wait(1);
end;
end;

//----------------------------------------------------------------------------//
//-- Checks and sets Auto Retaliate. True = On, False = Off --//
//----------------------------------------------------------------------------//

procedure Retaliate(AutoRet:Boolean); // WT-Fakawi, Full Credits to him
begin
GameTab(1);
if AutoRet then
begin
If not FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end;
end;
if not AutoRet then
begin
If FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end;
end;
end;


Procedure ProgressReport; // Progress Report
begin
WriteLn('[]=====================================[]');
WriteLn('---------[Progress Report!!!]----------');
WriteLn(' Worked For : ' + ScriptTime2(2));
WriteLn(' Did ' + IntToStr(Clicks) + ' clicks' +' ');
WriteLn(' Did ' + IntToStr(Loads) + ' loads ' +' ' );
WriteLn('------[End Of Progress Report!!!]-----');
WriteLn('[]====================================[]');

WriteLn(' Venoms Power Miner ');
SrlRandomsReport;
end;


Procedure HumanHand; // My Custom Made AntiBan :)
begin
If(not(LoggedIn)) then
Exit;
case Random(20) of

0: IdleTime(1000 + Random(250),300,1.2);

1: IdleTime(500 + Random(500),500,1.0);

2: IdleTime(650 + Random(340), 400,0.5);

3: begin
Wait(300+random(500));
HoverSkill('Mining', false);
GameTab(4);
end;

4: begin
HoverSkill('Smithing', false);
wait(100+random(250));
GameTab(4);
end;

5: PickUpMouse;

6: PickUpMouse;

7: begin
wait(350+random(450));
GameTab(1 + Random(7));
wait(560+random(750));
GameTab(4);
end;

9: IdleTime(600 + Random(300), 500,1.0);

10: SleepAndMoveMouse ( 50000+ random(80000));

11: RandomRClick;

12: LeaveScreenEvery(12+ Random(8));

13: AlmostLogout;

14: RandomRClick;
end;
end;


Procedure SetUp; //Sets up script
begin
WriteLn(' Setting The Script Up');
wait(1000+random(350));
FindPickHeadColor;
wait(300+random(100));
MakeCompass('N');
HighestAngle;
Retaliate(false);
HumanHand;
end;


Procedure Switch;
var t: integer;
begin
T:=T+1;
if (T = LoadsToDo) then
begin
NextPlayer(True);
T:=0;
HighestAngle;
wait(300+random(500));
MakeCompass('N');
WriteLn(' Script has successfully switched players');
end;
end;


Procedure DropOre; // Drops The Ore. With Help From JAD, I Just Edited
//it a bit
var

Rocky,x,y : Integer;

begin

Rocky:= DTMFromString('78DA635CC8C0C0D0C98002F6E41A30FC07D28' +
'C40FC1F0818970219B50C6880918115AA06CC5B03241A08A8590E' +
'242611503317484C27A0661211E680CC68C6AF06001A2C0EAA');
Wait(350+Random(200));
GameTab(4);
if (DropPick = false) then
begin
repeat
wait(200+random(100));
if FindDTM(Rocky, x, y, 0, 0, 800, 600) and (InvFull) then
begin
WriteLn(' Beginning to drop ores');
MMouse(x, y, 0, 0);
Wait(50+random(30));
Mouse(x, y, 2, 5, false);
if (ChooseOption(x, y, 'rop')) then
end;
until (not (FindDTM(Rocky, x, y, 0, 0, 800, 600)));
Loads:=Loads+1
ProgressReport;
Switch;
if (DropPick = True) and (Players[CurrentPlayer].Boolean1 = false) then
begin
DropTo(2, 28);
end;
if (DropPick = true) and (Players [CurrentPlayer].Boolean1 = true) then
begin
DropAll;
end;
end;
end;


Procedure GasyCheck; // Checks for gas and tries to run if True
begin
if (FindGas(x,y)) then
begin
WriteLn('Here Comes The Mustard');
MakeCompass('N');
RunAwayDirection(RuningDir);
wait(6500+random(8000));
RunBack;
WriteLn('Gas Is Gone Proceding Back');
end else
Exit;
end;


Procedure FindRandoms; //Finds randoms in RS
begin
GasyCheck;
FindTalk;
wait(100+random(150));
FindNormalRandoms;
FindLamp(SkillToSet);
wait(100+random(100));
FindFastRandoms;
FindPick;
FindTalk;
if (FindFight = true) then
begin
RunAwayDirection(RuningDir);
wait(5000+random(8500));
RunBack;
end;
end;


Procedure Miner; //Mining Procedure

var

Lost: Boolean;
MiningTime: Integer;

begin
FindRandoms;
Lost:=false
MarkTime(MiningTime); // Starts The clock
if(not(LoggedIn))then
Exit;
Repeat
Wait(TimeToClick+ random(350));
if(FindObj(x,y, 'ine', Rockcolour1, 5)) then
begin
WriteLn('Found Rock, Proceding To Mine');
Clicks:=Clicks+1
wait(500+Random (250));
Mouse( x, y, 1, 2, True);
FindRandoms;
end else
WriteLn(' Could not find rock colour Logging Out');
Lost :=True;
Exit;
Until(InvFull) or (TimeFromMark(MiningTime) > (TimeToMine))
end;


Procedure IsLost;
begin
if (Lost = True) then
begin
WriteLn(' Player is lost Switching...');
wait(200+random(350));
NextPlayer(False);
Lost:=False
SetUp;
end else
WriteLn('Player is not Lost Procceding With minning');
Exit;
end;


procedure Signature;
begin
ClearDebug;
WriteLn(' Venoms PowerMiner Enjoy!! ');
end;


Begin //Main LINE!!!!!
Signature;
wait(5000);
SetUpSRL;
ActivateClient;
DeclarePlayers;
Wait(3000+random(350));
LoginPlayer;
wait(3000);
SetUp;
repeat
FindRandoms;
if (not (LoggedIn)) then
Exit;
Miner;
DropOre;
Islost;
until(false);
End.


{====================Credits=================}
// Credits go to JAD,Dan cardin and many others who have helped me out
// The tut section was very helpful and everyone who contributed there
// helped out a lot belevie me. :D also to anyone else i didnt add. Thanx guys :D

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

IEatJ00erBaybees

2007-07-06 21:36:09

Pretty basic, but pretty good. I'll hold my vote to see what others think though.

I never really bothered with FindObj, but I guess I should use it now, it does IsTextUp and Finds the color at the same time?

As one suggestion.

Instead of Mining Time = 5000, make it easier for those who may be high school dropouts and just do by seconds.

Then when you are doing Wait(MiningTime+Random(___));, just do

MiningTime*1000+Random…..

That way they can just fill in 5 seconds. Just makes it easier to see for the user.

Like TimeToMine…wtf :p.

Just make them do it in minutes.

So then do

TimeToMine*1000*60

I won't vote no for that, since,

OMG, INBD


Oh my god, it's no big deal..if you've seen that commercial :p.

Anyway, I'll hold my vote to see what others say.

Venom666

2007-07-06 21:42:02

ok, thanks im glad that you pointed some errors out :). But yea i guess that can get confusing with the time. ill try to fix that later.

thanks again.

EDIT: and yea findobj is really good :) i like it alot.

Santa_Clause

2007-07-06 21:51:07

It's a bit too simple for a powerminer. Auto-Retaliate is from Fawki and Ore-Dropper is from JAD. Sorry, but it's going to have to be a no from me.

Venom666

2007-07-06 22:48:02

From: SantaClause
It's a bit too simple for a powerminer. Auto-Retaliate is from Fawki and Ore-Dropper is from JAD. Sorry, but it's going to have to be a no from me.


ok, thanks for your time.

Bobarkinator

2007-07-06 23:45:05

I think that you need some more failsafes. You have a few instances of endless loops which are really bad. I think that I am going to vote no.

n3ss3s

2007-07-07 08:47:09

same as bob.

btw, bob do you know when kyab forums are back up?

Pentti

2007-07-07 09:18:54

Are you sure your ore dropping will actually work?
    repeat
wait(200+random(100));
if FindDTM(Rocky, x, y, 0, 0, 800, 600) and (InvFull) then
begin
WriteLn(' Beginning to drop ores');
MMouse(x, y, 0, 0);
Wait(50+random(30));
Mouse(x, y, 2, 5, false);
if (ChooseOption(x, y, 'rop')) then
end;
until (not (FindDTM(Rocky, x, y, 0, 0, 800, 600)));
Remove and (InvFull) so it will work, if you had it there, when it has dropped one ore, it will not drop other ores and waits until it cant find ore dtm, well it finds it all the time because it doesnt drop other ores, so it will get stuck.

Also you can use FindDTM(Rocky, x, y, MIX1,MIY1,MIX2,MIY2)

Venom666

2007-07-07 13:18:08

From: Pentti
Are you sure your ore dropping will actually work?
    repeat
wait(200+random(100));
if FindDTM(Rocky, x, y, 0, 0, 800, 600) and (InvFull) then
begin
WriteLn(' Beginning to drop ores');
MMouse(x, y, 0, 0);
Wait(50+random(30));
Mouse(x, y, 2, 5, false);
if (ChooseOption(x, y, 'rop')) then
end;
until (not (FindDTM(Rocky, x, y, 0, 0, 800, 600)));
Remove and (InvFull) so it will work, if you had it there, when it has dropped one ore, it will not drop other ores and waits until it cant find ore dtm, well it finds it all the time because it doesnt drop other ores, so it will get stuck.

Also you can use FindDTM(Rocky, x, y, MIX1,MIY1,MIX2,MIY2)




Ah i c. i just added that in but now i see that it was kinda stupid :P. thanks for the feedback guys i guess ill have to try again later.

Dan Cardin

2007-07-07 16:43:41

i know i helped you but i didnt mean for you to apply yet, other things needed in an app are:DTM's(we covered), bitmaps(we covered),walking,failsafes(we covered),banking,and forms help but are definately not needed.

i think thats your first script?its pretty nice for a first:D(if it is indeed your first).
just wondering why you didnt put DTM/bitmap/more failsafes since we got to all of those.

Venom666

2007-07-07 18:41:03

yea its my first, i did use a much failsafes as i could remeber at the time. i was gonna show to you before i applyed but i havent seen you for awhile. anyways i guess i could use more help on failsafes then seeing how they seem to be my main problem :)

LordGregGreg

2007-07-08 23:12:44

Yups, you have a bit more to learn , but you seem to earn fast. Keep it up.

Dan, thanks for helping him :) Just make sure all the work is his.

Dan Cardin

2007-07-09 08:07:02

u mean like me giving him stuff? or him getting stuff from others?…but yea i told him to take stuff from other people(even if he credits) as little as possible because that doesnt show anyone ur scripting ability.(i might've only told my other mentor so if i didnt tell you, then listen to that

LordGregGreg

2007-07-09 08:58:58

From: dan cardin
u mean like me giving him stuff? or him getting stuff from others?…but yea i told him to take stuff from other people(even if he credits) as little as possible because that doesnt show anyone ur scripting ability.(i might've only told my other mentor so if i didnt tell you, then listen to that


What i meant was, dont tell him what his code should be, or how he shoud do stuff really.. You can help him with tthat, but dont tell him how to do soemthing. It is important that he thinks about that part of scripting himself.
If he wants to know "how do i stay on path" you can say, well, make a ddtm of that rock and have it click on X+40 if it finds it.
You should instead tell him to find a distinquishing object, and to write a few failsafes based on it.