SRL Archive - Archive

caused - SRL Member Application


caused

2009-08-18 03:23:22

How Long have You Played Runescape?
2 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
Yeah well, google adviced me to go here :'D


What is your general programming knowledge?
+—+ uhm… webprogramming(css, html, php…), and uhm c,c++, java,delphi. And scar… anyone knows scar ??


Are you a member of any other communities?
this is the only programming comm. im in :)


Tell us about yourself…
From: caused
I'm a lost soul. I love programming as much As im addicted to art(painting, drawing, writing).

I'm also very interested in esoterism and hypnosis, + all the areas that are generated by those areas.

I'm an educated IT guy and currently work independet running a small computer repair and care service as well as an graphics and webdesign agency. Both is keeping me quite busy.(dot)



Please show us one (or multiple) of your scripts.
Well, I'm wantig to use my scar server tool to apply(in the first place), Since i think that this is the most usefull addition i made to scar:
http://www.villavu.com/forum/showthread.php?p=616640#post616640

I've also done various other scripts for Runescape and flash games. Finding out new ways to solve old problems was always fun.

Warning, those my not be "cleaned up" :'D:

http://www.villavu.com/forum/showthread.php?t=46793

http://www.villavu.com/forum/showthread.php?t=47876

http://www.villavu.com/forum/showthread.php?t=47915

And my bestest script ever O_O…
http://www.villavu.com/forum/showthread.php?t=48285

If you need a little more, or need to know that i can even use standards (if I have to!..) please say so :')…

ZaSz

2009-08-18 03:29:52

Mostly Non-Rs scripts except guild miner, and the guild miner looks kind of basic to me. I hold my vote.

caused

2009-08-18 03:32:18

From: ZaSz
Mostly Non-Rs scripts except guild miner, and the guild miner looks kind of basic to me. I hold my vote.


;). I'm currently not playing runescape cause my main accounts are banned… Already creating a new army though.

Thanks for your vote :'D

EDIT: I'll add the new version of the Guild Miner Tommorow. It's cleaned up and got fancy new features :3… Dont know if it works with the new runescape though.. couldnt test it yet..

Infantry001

2009-08-18 04:12:53

caused is a really good guy. Smart, helpful, good attitude.

However, I'm holding my vote for now until I have a chance to really look into your script.

TRiLeZ

2009-08-18 04:16:53

Im only going to examine your Guild Miner because its the only RuneScape script.
Im going to hold my vote until you upload your new version of your Guild Miner tomorrow.
Then Ill look at your Guild Miner.

ian.

2009-08-18 04:26:38

For attitude + you're good to talk to + I like you, I vote yes. BUT! I can't only vote based on your attitude. I'll check the scripts again. :) Good luck, you're a good guy. ^^

JAD

2009-08-18 04:36:16

For the guild miner:

I don't like how you use a separate line for every single variable. It just makes the code harder to skim through. Just my preference though.

It is more custom that users set constants near the top of the script instead of variables like you have it (with the WeildPickaxe, UseAutotalker, UseAntiBan). It would be best to do this also to make sure that you do not accidentally change any of these options that the user specifically said to do/not to do.

Wow. This code is going to be very hard to read…

Things like If(UseAutoTalker = True) then could just be if(UseAutoTalker)then to shorten the code.


invam := invcount;
invam := 28 - invam;

Could just be


invam := 28 - invcount;


On line 183:


if(TimeFromMark(Time1) > 180000)

In most cases, you really should add randomness to mark times to be less bannable (not sure if it is necessary in this case):


if(TimeFromMark(Time1) > 180000+random(20000))


In MiscSetup, randomness is REALLY necessary on those waits if you don't want to get banned:

wait(399+random(100));

I would use WaitChooseOption there too in case there is lag so it doesn't just quit if it is unable to find the option right away.


if(SomeoneTrades)then
begin
WriteLn('Got a trade, Accepting!');
wait(1000);
Mouse(318,492,10,5,True);
wait(2000);
AcceptTrade;
wait(2000);
end else
begin
exit;
end;

You will get banned very quickly using this script because the lack of randomness on those waits. I cannot stress this enough.

Also, that end else part could simply be:


end else
Exit;

To save a couple lines. After an if/then statement, or after an else, you only need a begin and end if you are calling more than one statement.


You do a lot of coordinates clicking without too much randomness. You should try some DTM's, DDTM's, bitmaps, or something reflection (I don't know reflection) for more reliability.


untiL( (TimeFromMark(Maintradetime) >= 30000) OR (FindBitmapTolerancein(goldore,x,y,315,70,499,230,5)) )
Just another example of a TimeFromMark without randomness.


If I am not mistaken, you do not ever switch players in this script (No NextPlayer(False) at the end of the main loop?) and I did not see you free your bitmaps either.




I don't care if you don't use proper standards, but those were completely awful lol. Try to make your future scripts a little more readable, and take all the spaces out.

Based on the scripts I would be leaning towards a no, but you have been trying so hard and have been very active.

I say yes.

EvilChicken!

2009-08-18 06:24:07

I know that caused will get a lot better at scripting, and that it's only a matter of time before he does so. His guildminer looks alright - but it is crucial that he learns proper standardization.

What puses my vote to yes is caused's general contribution to the community. He is helpful, nice and posts a lot of useful posts.

I don't know why I keep referring to caused in third person, but I do know that he currently is training an army, which he will develop scripts for.

cycrosism

2009-08-18 08:12:11

Please paste the scripts do not link to them

JPHamlett

2009-08-18 09:18:23

From: cycrosism
Please paste the scripts do not link to them


lol dude itll take what 20 seconds to ge the script

and i vote yes cuase i kno youll get better and no where in the rules of srl members does it say that you have apply with a RS script

BobboHobbo

2009-08-18 11:54:20

Im going to say yes, great attitude, and an Ok script. Goodluck.

Naum

2009-08-18 14:37:37

Caused caused me to vote yes :)

Dynamite

2009-08-18 14:54:52

Yes from me.
Great attitude.
Great guy.

T~M

Kave

2009-08-18 15:06:37

From: BobboHobbo
Im going to say yes, great attitude, and an Ok script. Goodluck.


above^

Infantry001

2009-08-18 19:03:32

Reviewed the script: Sort of basic, but the the foundation is there. Just gotta work more on the legibility of the script ;)

And again, great attitude, very kind and helpful. Yes =)

Dervish

2009-08-18 19:04:40

Nyeahnaeo for the script, yes for the attitude.

(Side note : flame me all you want other members…)

caused

2009-08-18 19:44:47

Thanks for voting/commenting, everyone !!
The Updated Guild Miner is added.. I didnt have any chances to test it yet… Last time I did, it ran about 16 hours with one account :D….

Infintry: Sure :).. I'm adding the new crafting guild miner in a second ;)..

Trilez: Okay. I'll add it soon..

ian: thank you :'D… I guess i shall read your story sometime ._.

JAD: Thanks for all those suggestions :).. This script didnt get any of my acounts banned… which is weird, cause i had it running for 24 hours + with only 1 account ;)…. Oh and one thing. I'm using the bitmaps all the time, thats why i dont free em.

Evil Chicken: Yeah, I'm always improving as i follow my path :). Thanks!.

cycrosism: *Pasting the updated miner*

J_Pizzle: Thanks, ill give my best. always!.. :)..

BobboHobbo: Thanks. also feel free to check out the updated version, its even kinda cleaned up ;)…

Nauman: wweeew caused caused a large "thank yuuu" ;)..

T~M: Thanks Man!.

Kave: Hooray =)

Dr D. Dervish: Whatever that means, but thanks for commenting/voting :'D….

Heres The Updated script:


//////////Crafting Guild Miner,,, by caused///////////////////////////
//==================================================================//
//Version 2.0, stable/////////////////////////////////////////////////
//==================================================================//
//>>>>>Requirements: //
// > Latest SRL, //
// > Reflection, //
// > Smart //
//==================================================================//
//>>>>>Setup Instructions: //
// //
// 1. Make Sure that you're having "cAntiban.scar" in your //
// "scar/includes/caused" folder. //
// 2. Setup Everything Form Line 267 to 293. //
// 3. If youre using the Autotalker, I recommend to customize it...//
// //
// 4. Place your Guy Where to Gold is, dont Forget the brown dress //
// 5. Start(Post your proggy, to help me improve the script) //
// //
//==================================================================//
//////////////////////////////////////////////////////////////////////


program GuildGoldMiner;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/misc/FindXP.scar}
{.include srl/srl/skill/Magic.scar}

{.include srl/srl/reflection/reflection.scar}
{.include SRL\srl\Misc\trade.scar}
{.include caused/cAntiban.scar}


//MiscID's

var
Gold: Array [0..100] of integer;
DoorClosed: integer;
Dooropen: integer;

//Proggy Vars
Loads, OresMined, MiningLvl, Loadtime, MinOld, MinNew, TimesTalked, Lostwalked, Switched, TimesTraded : Integer;


//DTMS's
goldore : Integer;

//Screenshot vars
bild : Integer;

//AutoTalk vars
newchattr, lastchattr : String;

bblvl : integer;

time1 : integer;
time2 : integer;
time3 : integer;

Switchtime : integer;

texttest : string;


TradeMarkx : integer;

//Setup Vars
wp, at, ab: Integer;
UseAutoTalker : Boolean;
UseAntiBan : Boolean;
UseFalaTele : Boolean;
WieldPickaxe : Boolean;
HowManyLoads : Integer;

//FS Vars
MineTime : Integer;

Function Autotalker(topic : string):boolean;
var
invam : integer;
begin

If(UseAutoTalker = True) then
begin
invam := invcount;
invam := 28 - invam;

LastChatter(newchattr);

texttest := '0';
Writeln('test check:');
GetLastChatText(texttest);
WriteLn('Attempt to Autotalk on: '+texttest);

if not(texttest = '0') then
begin

if(topic = 'Howmany2go')then
begin


if(random(100) >= 90)then
begin
case Random(12) of
0: TypeSend(AddMistakes(inttostr(invam)+' noch..', 25));
1: TypeSend(AddMistakes('Noch '+inttostr(invam), 25));
2: TypeSend(AddMistakes(inttostr(invam), 25));
3: TypeSend(AddMistakes(inttostr(invam), 25));
4: TypeSend(AddMistakes('Fuer mich, Noch ' +inttostr(invam), 25));
5: TypeSend(AddMistakes('Sooo.. fast voll', 25));
6: TypeSend(AddMistakes('fast voll', 25));
7: TypeSend(AddMistakes('Nur noch '+inttostr(invam)+' , die sind fuer mich', 25));
8: TypeSend(AddMistakes('Nur noch '+inttostr(invam)+' , fuer mich', 25));
9: TypeSend(AddMistakes('Noch '+inttostr(invam)+' stehen lassen', 25));
10: TypeSend(AddMistakes('Lass fuer mich, brauch nur '+inttostr(invam), 25));
11: TypeSend(AddMistakes('Fuer mich, brauch nur '+inttostr(invam), 25));
end;

savescreenshot('CGM-Misc-'+inttostr(bild)+inttostr(Random(5000))+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;

Inc(TimesTalked);
end;
end;

if(topic = 'Mining')then
begin

if
(
(inchat('Bergbau lvl'))
OR(inchat('Min lvl'))
OR(inchat('Mining lvl'))
OR(inchat('mining lvl'))
OR(inchat('deine Stufe in Bergbau') )
OR(inchat('Minig lvl'))
OR(inchat('Mini lvl'))
OR(inchat('Bb lvl'))
OR(inchat('Min lv'))
OR(inchat('Min lev'))
OR(inchat('Min level'))
OR(inchat('Mining lv'))
OR(inchat('Mining lev'))
OR(inchat('Mining level ?'))
OR(inchat('Mining level?'))
OR(inchat('Minin lv'))
OR(inchat('Minin level'))
OR(inchat('lv/'))
OR(inchat('Bb Lvl'))
OR(inchat('level in Mining'))
) then
begin

if not(lastchattr = newchattr)then
begin
//QCSayLevel('mining');
if(TimeFromMark(Time1) > 180000) OR (TimesTalked = 0) then
begin

case Random(9) of
0: TypeSend(AddMistakes(inttostr(bblvl)+', lvl', 25));
1: TypeSend(AddMistakes(inttostr(bblvl)+', Deine ', 25));
2: TypeSend(AddMistakes(inttostr(bblvl)+' hier', 25));
3: TypeSend(AddMistakes('+-'+inttostr(bblvl), 25));
4: TypeSend(AddMistakes('blub', 25));
5: TypeSend(AddMistakes((inttostr(Random(9)+90)), 25));
6: TypeSend(AddMistakes(inttostr(bblvl), 25));
7: TypeSend(AddMistakes('bululub', 25));
end;


Inc(TimesTalked);

savescreenshot('CGM-Mining-'+inttostr(bild)+inttostr(Random(5000))+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;

end;
time1 := 0;
MarkTime(time1);
end;

end;

end;

if(inchat('T432eilen'))OR(inchat('teil432en')) then
begin


if not(lastchattr = newchattr)then
begin
//QCSayLevel('mining');
TypeSend('Nein');
end;

if( (inchat(Players[0].Nick)) OR (inchat(Players[0].Name)) ) then
begin


if not(lastchattr = newchattr)then
begin

if(TimeFromMark(Time1) > 180000) OR (TimesTalked <= 3) then
begin

case Random(7) of
0: TypeSend(AddMistakes(':)', 25));
1: TypeSend(AddMistakes('xD', 25));
2: TypeSend(AddMistakes('!', 25));
3: TypeSend(AddMistakes('lol', 25));
4: TypeSend(AddMistakes('blub', 25));
5: TypeSend(AddMistakes('hehe', 25));
6: TypeSend(AddMistakes('?', 25));
end;





time1 := 0;
MarkTime(time1);
end;
savescreenshot('CGM-Nick-'+inttostr(bild)+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;
end;

end;

LastChatter(lastchattr);
end;

end;
end;
end;

procedure DefineIds;
begin


// Gold DTM
goldore := BitmapFromString(5, 5, 'beNpbK9WcJbC2V3TndLE9M8V' +
'XdYv2FgsCuUcXSBxfBEJTKoQg3AsrJS+tllreIQJUeWqJ5K2N0lfX' +
'Sm3oFwXqAnKB7KsAChUjTA==');

// Gold IDS
//Avail
Gold[1] := 11183;
Gold[2] := 11184;
Gold[3] := 11185;
//Not Avail
Gold[4] := 37700;//bla
Gold[5] := 37701;
Gold[6] := 37702;
//Misc
DoorClosed := 2647;
DoorOpen := 83;

end;


procedure Setup;
begin

/////////////////////////////////////
//Main Setup/////////////////////////
/////////////////////////////////////

WieldPickaxe := False; // True = Enable, False = Disable
UseAutotalker := True; // True = Enable, False = Disable
UseAntiBan := True; // True = Enable, False = Disable
UseFalaTele := True; // Have Air Staff Equipt. Law and Water Runes in Invetory. Pickaxe in Inventory.

HowManyLoads := 0; // 0 = Unlimited

/////////////////////////////////////
//Player Setup///////////////////////
/////////////////////////////////////


HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := ''; //Your Account name <<
Players[0].Pass := ''; //And Password <<
Players[0].Nick := ''; //Part of your Name <<
Players[0].Active := True; //No need to change
Players[0].Integers[0] := 10; //No need to change
Players[0].BoxRewards := ['Gem', 'XP', 'XP', 'Gem', 'ithril', 'oal']; // For the Reward box


WriteLn('Waiting for the RS Client to be ready...');


wp := 2;

If( WIeldPickaxe = True) then
wp := 1;

IF(UseFalaTele = True)then
wp := 4;

repeat
wait(1000);
until(RsReady);

If not(Loggedin) then
LoginPlayer;

WriteLn('Logged in?');
end;


Procedure MiscSetup;
begin

//Starting Switch World Timer
MarkTime(Switchtime);

//Trade Setup
TradeMarkx := 0;

//Filter Game Messages
Mouse(90,490,10,5,False);
wait(Random(100)+300);
ChooseOption('Filter');
//Mouse(145,490,5,5,True);
wait(Random(500)+1500);

end;


function invcheck():integer;
var
x,y:integer;
x1,y1:integer;
x2,y2:integer;
mwillow:integer;
begin
x1:=538;
y1:=202;
x2:=800;
y2:=800;

mwillow :=0;

while(FindBitmapToleranceIn(goldore,x,y,x1,y1,x2,y2,5))do
begin
x1 := 538;

while(x1<=x2)do
begin

if(FindBitmapToleranceIn(goldore,x,y,x1,y1,x2,y2,5))then
begin
// Found Bitmap
x1 := x+1;
mwillow := mwillow + 1;

writeln('There are'+inttostr(mwillow)+'Gold Ores found');
writeln('x1='+inttostr(x1));
wait(50);

end else
//WriteLn('Bitmap not found.');
x1 :=900;
y1 := y1+1;
end;
x1 := 0;
y1 := y+1;

end;

OresMined := mwillow + OresMined;
WriteLn('Progress Report, Ores: '+IntToStr(OresMined));
Result := mwillow;

end;





Function Walkthepath(Tilesx: TPointArray):Boolean;
var
i,x,y,fs:integer;
arl:integer;
begin

arl := (high(Tilesx));

for i:= 0 to arl do
begin

x := Tilesx[i].x;
y := Tilesx[i].y;
fs := 0;

repeat
R_FindRandoms;
FindNormalRandoms;
wait(Random(200)+300);
fs := fs+1;
WriteLn('Walk fs: '+inttostr(fs));
until((WalkToTile(Point(x,y), 1, 32)) OR (fs >= 10));
end;

if(fs >= 10)then
begin
WriteLn('We are Lost :((((( .... Starting Lostwalk');
Result := False;
end;

if(fs < 10)then
begin
WriteLn('Walked Successfully');
Result := True;
end;


end;

Function WalkThere(what: string):boolean;
Var
Tiles: TPointArray;
begin
case what of
'tobank': begin
Tiles:=[
// Point(2932, 3289), Clicked on the farm bla..
Point(2933, 3295),
Point(2935, 3299),
Point(2943, 3300),

Point(2948, 3304),
Point(2955, 3306),
Point(2964, 3305),
Point(2973, 3304),

Point(2979, 3305),
Point(2984, 3305),
Point(2989, 3307),
Point(2995, 3309),
Point(3002, 3315),

Point(3006, 3320),
Point(3006, 3327),
Point(3006, 3333),

Point(3006, 3341),
Point(3006, 3346),
Point(3006, 3351),

Point(3006, 3357),
Point(3008, 3360),
Point(3012, 3356)







];
end;
'toguild': begin
Tiles:=[
Point(3012, 3356),
Point(3008, 3360),
Point(3006, 3357),
Point(3006, 3351),
Point(3006, 3346),
Point(3006, 3341),
Point(3006, 3333),
Point(3006, 3327),
Point(3006, 3320),
Point(3002, 3315),
Point(2995, 3309),
Point(2989, 3307),
Point(2984, 3305),
Point(2979, 3305),
Point(2973, 3304),
Point(2964, 3305),
Point(2955, 3306),
Point(2948, 3304),
Point(2943, 3300),
Point(2935, 3299),
Point(2933, 3295),
Point(2932, 3289)
];
end;

'LeaveGuild': begin
Tiles:=[
Point(2934, 3281),
Point(2933, 3286)
];
end;

'FalaTeleToBank' : begin
Tiles:=[
Point(2964, 3381),
Point(2970, 3379),
Point(2977, 3378),
Point(2983, 3374),
Point(2989, 3370),
Point(2996, 3367),
Point(3003, 3363),
Point(3010, 3361),
Point(3011, 3354)]
end;



'LumbiToBank' : begin
Tiles:=[
Point(3225, 3218),
Point(3229, 3218),
Point(3232, 3218),
Point(3234, 3221),
Point(3234, 3226),
Point(3231, 3229),
Point(3228, 3233),
Point(3225, 3237),
Point(3222, 3241),
Point(3222, 3245),
Point(3220, 3249),
Point(3217, 3257),
Point(3217, 3263),
Point(3216, 3268),
Point(3215, 3273),
Point(3212, 3277),
Point(3208, 3280),
Point(3201, 3280),
Point(3195, 3280),
Point(3189, 3283),
Point(3182, 3286),
Point(3176, 3285),
Point(3171, 3286),
Point(3163, 3288),
Point(3160, 3289),
Point(3157, 3292),
Point(3150, 3294),
Point(3141, 3295),
Point(3133, 3295),
Point(3121, 3296),
Point(3111, 3296),
Point(3101, 3295),
Point(3094, 3293),
Point(3088, 3291),
Point(3082, 3289),
Point(3076, 3288),
Point(3073, 3282),
Point(3070, 3278),
Point(3062, 3277),
Point(3053, 3276),
Point(3044, 3276),
Point(3035, 3277),
Point(3025, 3277),
Point(3018, 3277),
Point(3010, 3277),
Point(3008, 3283),
Point(3005, 3290),
Point(3005, 3298),
Point(3005, 3305),
Point(3006, 3313),
Point(3006, 3318),
Point(3006, 3325),
Point(3006, 3335),
Point(3006, 3343),
Point(3006, 3352),
Point(3006, 3357),
Point(3010, 3360),
Point(3011, 3356)

]

end;


end;

IF not(WalkThePath(Tiles))then
begin
Result := False;
end else
begin
Result := True;
end;

end;




procedure Lostwalk;
begin
Lostwalked := Lostwalked+1;
WriteLn('Lostwalk Initiated!');

savescreenshot('CGM-Lostwalk-'+inttostr(bild)+inttostr(Random(5000))+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;

If not(Loggedin) then
LoginPlayer;

IF (UseFalaTele = True) then
begin
If (Cast('falador teleport')) then
begin
wait(3000);
MakeCompass('N');
WalkThere('FalaTeleToBank');
end else
begin
UseFalaTele := False;
end;
end;

IF (UseFalaTele = False) Then
begin

Mouse(742,185,4,4,True);
wait(1000);
Mouse(573,229,4,4,True);
wait(15000);

If(Walkthere('LumbiToBank') = False) then
TerminateScript;

end;
end;

Procedure TradeOre;
var
x,y,b: Integer;
MainTradeTime : integer;
Begin
WriteLn('CHecking TRades');
WriteLn('TradeMarkx: '+IntToStr(TimeFromMark(TradeMarkx)));

if((TimeFromMark(TradeMarkx) >= 220000) OR (TimesTraded = 0)) then
begin

Marktime(MainTradeTime);

WriteLn('We Are Trying to Trade');

if(SomeoneTrades)then
begin
WriteLn('Got a trade, Accepting!');
Marktime(TradeMarkx);
wait(Random(600)+400);
Mouse(318,492,10,5,True);
wait(Random(500)+1500);
AcceptTrade;
wait(Random(500)+1500);
end else
begin
exit;
end;
writeln('Waiting for trade Screen');

If not(Tradescreen = 1) then
begin
wait(100);
Mouse(33,494,10,2,True);
exit;
end;

wait(100);
Mouse(33,494,10,2,True);
Inc(TimesTraded);


WriteLn('Trading...');

WriteLn('Checking if Gold Ore is offered...');



repeat
WriteLn('Checking offers....');
wait(500);

untiL( (TimeFromMark(Maintradetime) >= 30000) OR (FindBitmapTolerancein(goldore,x,y,315,70,499,230,5)) )

savescreenshot('CGM-Trading-'+inttostr(bild)+inttostr(Random(5000))+'.bmp');
WriteLn('We Made A Screenshot');
bild := bild +1;
//Checking if its Gold Ore
If( FindBitmapTolerancein(goldore,x,y,315,70,499,230,5) ) then
begin
repeat
accept;
wait(500);
Until((Tradescreen = 2) OR (TimeFromMark(Maintradetime) >= 30000));
end else
begin
CloseWindow;
exit;
end;



WriteLn('accepting Trade Screen 2');

repeat
if(PlayerAccepted) then
begin
Accept;
wait(1000);
case Random(5) of
0: TypeSend(AddMistakes('ty', 25));
1: TypeSend(AddMistakes('thx', 25));
2: TypeSend(AddMistakes('hooray', 25));
3: TypeSend(AddMistakes('danke', 25));
4: TypeSend(AddMistakes('yay', 25));
end;
end;

wait(100);
until(((Tradescreen = 2) = False) OR (TimeFromMark(MainTradeTime) >= 40000))

TradeMarkx := 0;

Marktime(TradeMarkx);

wait(100);
Mouse(33,494,10,2,True);

end;



end;



procedure Mining;
var
x ,y ,i ,fs ,fs2 : integer;
p, waitp : TPoint;
twaitore, SafeTime, invam : Integer;
begin
WriteLn('Starting the Mining Procedure');
MarkTime(loadtime);
MinOld := Getxp('Mining');
bblvl := GetSkillLevel('mining');
WriteLn('Current Mining EXP: '+inttostr(MinOld));

fs := 0;
fs2 := 1;
twaitore := 0;
SetAngle(True);

MineTime := 0;

MakeCompass('S');
SetRun(True);

if not ExistsItem(28) then
Begin
MarkTime(MineTime);

while((ExistsItem(28) = False) AND (TimeFromMark(MineTime)<= 1100000) ) do
begin
wait(Random(300)+200);
i:=0;

WriteLn('Scanning for Rocks');
WriteLn('MineTime: '+IntToStr(TimeFromMark(MineTime)));

while((i<=2) AND (ExistsItem(28) = False)) do
begin
inc(i);
R_FindRandoms;

if findobjectex(p,Gold[i],10) then
begin
WriteLn('Rock Found. Mining!');
fs2 :=1;
twaitore := 0;

p := TileToMS(p, Random(1));
mouse(p.x,p.y,7,7,True);
wait(Random(300)+200);

WriteLn('Waiting for the Rock to be mined');
repeat
fs := fs+1;
R_FindRandoms;
FindNormalRandoms;

if((3 >= Random(10)) AND (UseAntiban = True))then
cAntiban('Light', True);

wait(Random(100)+50);

until((findobjectex(p,Gold[i],5) = False) OR (fs = 50) OR (ExistsItem(28)));
MarkTime(twaitore);
fs := 0;
WriteLn('Rock Mined');
invam := 28 - invcount;

if(invam <= 8)AND(invam > 0) then
Autotalker('Howmany2go');

end;

FindNormalRandoms;
Autotalker('Mining');

end;

if(5 > Random(10))then
begin

If( (TimeFromMark(twaitore)) >= (Random(3000)+2000) ) AND (fs2 = 1)then
begin
WriteLn('Waiting Position for Ore');
waitp := TileToMs(Point(2940, 3279),2);
Mouse((waitp.x-RandomRange(-10,40)),(waitp.y-RandomRange(-25,20)),2,2,True);
R_FindRandoms;
wait(Random(500)+500);
fs2 :=0;
end;
end;
TradeOre;
if((3 >= Random(100)) AND (UseAntiban = True))then
cAntiban('Medium', True);
end;
end;
WriteLn('Counting Ores');
Invcheck();
R_FindRandoms;
end;

Function OpenDoor(dir:string):Boolean;
var
p, TP : TPoint;
fs, fs2 : Integer;
begin
fs2 :=0;

if(dir = 'raus') then
begin
WriteLn('Rausgehen');
wait(2000);
TP := GetMyPos;
WriteLn('Current Pos: ('+inttostr(TP.x)+','+inttostr(TP.y)+')');

while not ((TP.y = 3289) AND (TP.x = 2933) AND (fs2 <= 15)) do
begin

if(fs2 >= 10)then
begin
MakeCompass('N');

WriteLn('Going to Door');
WalkThere('LeaveGuild');
wait(random(500)+600);
end;

fs2:=fs2+1;
//raus
TP := GetMyPos;
WriteLn('Current Pos: ('+inttostr(TP.x)+','+inttostr(TP.y)+')');
Writeln(inttostr(TP.y));
if findobjectex(p,DoorClosed,20) then
begin
WriteLN('Door Found FI');
p := TileToMS(p, Random(1));
mouse(p.x,p.y,5,5,True);
wait(3500);

if(fs2 >= 5)then
begin
mouse(p.x,p.y,5,5,False);
ChooseOption('Open');
end;

end;
wait(Random(300)+100);

end;
end;

wait(Random(500)+500);
if(dir = 'rein') then
begin

WalkToTile(Point(2933,3290), 1, 10);
MakeCompass('S');
TP := GetMyPos;
while not ((TP.y = 3288)AND(TP.x = 2933)) do
begin

TP := GetMyPos;
Writeln(inttostr(TP.y));
fs:=fs+1;
if((fs >= 5) AND (fs <=10)) then
begin
Mouse(265,229,4,4,True);
wait(Random(1000)+3400);
end;

if(fs >= 10) then
begin
MakeCompass('S');
WalkToTile(Point(2933,3290), 1, 10);
wait(Random(1000)+3400);
end;

if findobjectex(p,DoorClosed,20) then
begin




WriteLN('Door Found FO');
p := TileToMS(p, Random(1));
mouse(p.x,p.y-19,5,5,True);
wait(Random(800)+3000);
TP := GetMyPos;
end;

wait(Random(200)+100);
if(fs >= 20) then
Lostwalk;
end;


end;
MakeCompass('N');
end;

Function LeaveGuild:Boolean;
var
x,y: integer;
begin
MakeCompass('N');
WriteLn('Going to Door');
WalkThere('LeaveGuild');
wait(Random(1000)+600);
OpenDoor('raus');
result:=true;
end;

Procedure WalkToBank;
var
Walkfs : Boolean;
begin
WalkFs := True;

If (UseFalaTele = True) then
begin
If (Cast('falador teleport')) then
begin
wait(5000);
MakeCompass('N');
wait(500);
WalkThere('FalaTeleToBank');
end else
begin
UseFalaTele := False;
end;
end;

IF ((UseFalaTele = False) AND (TimeFromMark(MineTime)> 900000)) then
begin
Lostwalk;
WalkFs := False;
end;


If ((UseFalaTele = False) AND (WalkFs)) Then
begin
LeaveGuild;
wait(1000);
MakeCompass('N');
WriteLn('Starting to walk...');
If ( ((WalkThere('tobank')) = False)) then
Lostwalk;
end;
end;

procedure WalktoGuild;
begin
SetRun(True);
If(((WalkThere('toguild'))=False))then
begin
Lostwalk;
WalktoGuild;
end;


WriteLn('Attempting to stand at door');


end;

procedure EnterGuild;
begin
WriteLn('Entering the Guild');
wait(Random(600)+400);
OpenDoor('rein');

R_FindRandoms;
SetRun(True);
WalkToTile(Point(2940, 3279), 2, 2);
wait(20);
WalkToTile(Point(2940, 3279), 2, 2); //fs

wait(Random(1000)+4000);
end;

procedure Banking;
var
fs : integer;
ic : Tpoint;
ritemslot : Integer;
begin
fs := 0;
WalkToTile(Point(3012, 3356),1,4);

repeat
UseRewardBox;

WriteLn('Banking');
R_FindRandoms;
R_OpenBankBooth('FEB');
wait(5500);
inc(fs);
WriteLn('Checking for bankscreen');
until(Bankscreen OR (fs = 10));

if(fs>=10)then
begin
WriteLn('20 Attempts to open the bank failed.. We are Lost.. Starting Lostwalk');
Lostwalk;
end;

if(fs>=20)then
begin
WriteLn('Banking');
R_FindRandoms;
R_OpenBankBooth('FEB');
wait(Random(3000)+2000);
inc(fs);
WriteLn('Checking for bankscreen');
end;


if(fs <= 20) then
begin
fs:=0;

repeat
IF(UseFalaTele = False) AND (WieldPickaxe = True) then
wp := 1;

IF(UseFalaTele = False) AND (WieldPickaxe = False) then
wp := 2;

Deposit(wp,28,True);

wait(Random(600)+600);
INC(fs);

until((InvCount = (wp-1)) OR (fs >= 20))

if(fs>=20)then
begin
WriteLn('We Lost the Pickaxe. Terminating script...');
R_FindRandoms;
end;

CloseBank;
end else
begin
R_FindRandoms;
WriteLn('We Are Lost (Cast Lumbi or Fallador tele)');
end;

end;

procedure Proggy;
var
Mincalc, Tis, expsec, exphour, ltime : Integer;
begin

inc(Loads);


MinNew := Getxp('Mining');

wait(500);
ltime := TimeFromMark(Loadtime);

//Load exp gained
Mincalc := MinNew - MinOld;
Writeln('EXP gained:'+inttostr(Mincalc));
//Time in seconds.
Tis := ltime / 1000;
Writeln('Time in Seconds:'+inttostr(Tis));
//Exp per second
expsec := Mincalc / Tis;
Writeln('Exp per second:'+inttostr(expsec));
//Exp in An Hour
exphour := expsec * 60 * 60;
Writeln('Exp per hour:'+inttostr(exphour));


WriteLn('#############################');
WriteLn('#Crafting Guild Miner########');
WriteLn('#############################');
WriteLn('Runtime: '+TimeRunning);
WriteLn('Load Time: '+inttostr(ltime/1000)+' Seconds');
WriteLn('Loads Done: '+inttostr(Loads)+' of '+IntToStr(HowManyLoads));
WriteLn('Gold Ores Mined: '+inttostr(OresMined));
WriteLn('Exp per Hour: '+IntToStr(exphour));
WriteLn('Times Talked: '+IntToStr(TimesTalked));
WriteLn('Trades Handled: '+IntToStr(TimesTraded));
WriteLn('Times Lostwalked: '+IntToStr(Lostwalked));
WriteLn('Times Worlds Switched: '+IntToStr(Switched));
WriteLn('Screenshots Made: '+IntToStr(bild));
WriteLn('#############################');
WriteLn('#Setup#######################');
WriteLn('#############################');
WriteLn('Use Autotalker: '+BoolToStr(UseAutotalker));
WriteLn('Use Antiban: '+BoolToStr(UseAntiban));
WriteLn('Use Falador Teleport: '+BoolToStr(UseFalaTele));
WriteLn('Wield Pickaxe: '+BoolToStr(WieldPickaxe));
WriteLn('#############################');

If (Loads = HowManyLoads) then
begin
WriteLN('Load Limit Reached. Were Done.');
TerminateScript;
end;

//Load Done Sound
//PlaySound('item-sw.wav');
ltime := 0;
Loadtime := 0;

end;



Procedure WorldSwitcher;
begin


If(TimeFromMark(Switchtime) >= (Random(2000000)+2000000))then
begin
Logout;
wait(2000);
//WriteLn(Opening WOrld screen..)
Mouse(382,242,20,2,True);
wait(7000);
ChangeWorld(RandomWorld(False,False));
wait(2000);

SwitchTime := 0;
Marktime(Switchtime);
Inc(Switched);
end;


end;





begin

SetupSRL;
Smart_Members := False; //Members-only world?
Smart_Server := RandomWorld(False,False); //World number
Smart_Signed := False; //Signed?
Smart_SuperDetail := False; //HD

SetupReflection;

DefineIds;

Setup;
MiscSetup;

R_FindRandoms;
FindNormalRandoms;

repeat

Mining;
WalktoBank;
Banking;
WalkToGuild;
EnterGuild;

WorldSwitcher;
Proggy;

until(false);
end.


~caused

Griff

2009-08-18 20:54:14

Yes. Great contributor to the community already, and I think that his contributing will only increase with membership.

Pure1993

2009-08-18 23:46:04

Mal sehen…
Gut ist:
  • Das du deutsch sprichst :p
  • Dein Verhalten auf diesem Forum
  • Deine Arbeitseinstellung (insofern ich das mit bekommen habe)

Verbesserungsbedürftig ist:
  • Standards (uff, mir fehlt da das passende deutsche Wort xD)
  • Die Komplexität deiner Scripts

Joa, angesichts der genannten Stichpunkte habe ich deinem Beitritt nichts entgegen zu setzten. Viel Spaß. :(
(Die rote Farbe und das smiley ist nur da um die anderen ein bissle zu verwirren… die Rache dafür, dass viele hier Niederländisch sprechen, und das schahmlos ausnutzen xD)

Naike

2009-08-19 00:22:13

English… english……

However, yes ;)

Gu3st...

2009-08-19 01:09:11

From: EvilChicken!
I know that caused will get a lot better at scripting, and that it's only a matter of time before he does so. His guildminer looks alright - but it is crucial that he learns proper standardization.

What puses my vote to yes is caused's general contribution to the community. He is helpful, nice and posts a lot of useful posts.

I agree :)

caused, you got my vote.

bugger0001

2009-08-19 01:11:17

Well, I like how you've built up the miner, but standards are off and then this little thing about booleans('If Boolean = True then' could be 'If Boolean then').
And now I found something more to nag about:
IF(UseFalaTele = False) AND (WieldPickaxe = True) then
wp := 1;
IF(UseFalaTele = False) AND (WieldPickaxe = False) then
wp := 2;
could be like this:
IF not UseFalaTele then
if WieldPickaxe then wp := 1
else wp :=2;
Looks better, doesn't it?
Tbh, I haven't skimmed through your script too deep, but what I have read from this thread about you makes me vote YES. If there wouldn't be that many good posts about your attitude then based on your not the best REFLECTION script I would've voted NO. If you are a color disliker or a reflection maniac then please, just for my sake, do something COLOR :o
Anyways, good luck getting in!

nielsie95

2009-08-19 01:15:02

From: Pure1993
Mal sehen…
Gut ist:
  • Das du deutsch sprichst :p
  • Dein Verhalten auf diesem Forum
  • Deine Arbeitseinstellung (insofern ich das mit bekommen habe)

Verbesserungsbedürftig ist:
  • Standards (uff, mir fehlt da das passende deutsche Wort xD)
  • Die Komplexität deiner Scripts

Joa, angesichts der genannten Stichpunkte habe ich deinem Beitritt nichts entgegen zu setzten. Viel Spaß. :(
(Die rote Farbe und das smiley ist nur da um die anderen ein bissle zu verwirren… die Rache dafür, dass viele hier Niederländisch sprechen, und das schahmlos ausnutzen xD)


I may understand what you're saying, but the majority here doesn't. So, on the forums, speak English please ;)

Pure1993

2009-08-19 10:21:09

From: nielsie95
I may understand what you're saying, but the majority here doesn't. So, on the forums, speak English please ;)


Lol, I pretty much said the same thing as everyone else here, nothing new. Revenge for some of the Dutch comments and threads. :p ;)

Main point: I voted yes. :)

caused

2009-08-19 20:53:10

Thanks everyone =).

bugger0001, thanks for the suggestions, i know that you can use "not" or just the function to handle the result, but in this case it was more clear for me to write function = STATEMENT.

TRiLeZ

2009-08-20 05:03:32

Dont make a new line for every variable. It gets long and ugly.


if(topic = 'Mining')then
begin
if
(
(inchat('Bergbau lvl'))
OR(inchat('Min lvl'))
OR(inchat('Mining lvl'))
OR(inchat('mining lvl'))
OR(inchat('deine Stufe in Bergbau') )
OR(inchat('Minig lvl'))
OR(inchat('Mini lvl'))
OR(inchat('Bb lvl'))
OR(inchat('Min lv'))
OR(inchat('Min lev'))
OR(inchat('Min level'))
OR(inchat('Mining lv'))
OR(inchat('Mining lev'))
OR(inchat('Mining level ?'))
OR(inchat('Mining level?'))
OR(inchat('Minin lv'))
OR(inchat('Minin level'))
OR(inchat('lv/'))
OR(inchat('Bb Lvl'))
OR(inchat('level in Mining'))
) then
begin

Thats ugly and long.
Heres how to fix it:

if (topic = 'Mining') then
begin
GetLastChatText(s);
case s of
'Bergbau lvl', 'Min lvl', 'Mining lvl': //And all of the other triggers
begin
//Content
end;
end;


Gold[1] := 11183;
Gold[2] := 11184;
Gold[3] := 11185;
Gold[4] := 37700;
Gold[5] := 37701;
Gold[6] := 37702;

Could be:

Gold := [0, 11183, 11184, 11185, 37700, 37701, 37702];

You forgot to set Gold[0] as something. :o All arrays start on 0.


Tiles:=[
// Point(2932, 3289), Clicked on the farm bla..
Point(2933, 3295),
Point(2935, 3299),
Point(2943, 3300),
Point(2948, 3304),
Point(2955, 3306),
Point(2964, 3305),
Point(2973, 3304),
Point(2979, 3305),
Point(2984, 3305),
Point(2989, 3307),
Point(2995, 3309),
Point(3002, 3315),
Point(3006, 3320),
Point(3006, 3327),
Point(3006, 3333),
Point(3006, 3341),
Point(3006, 3346),
Point(3006, 3351),
Point(3006, 3357),
Point(3008, 3360),
Point(3012, 3356)
];

^ Ugly ^
Make each point right after the other and make a new line when you should. (Right before the grey line in SCAR). The same with all of the Tiles arrays.

Im too tired to look over the rest…

If the auto is logged out, its not gonna do anything, its gonna be stuck in an endless loop.

Its not Multiplayer, no TPAs, no DDTMs, not the best AntiBan and not the best standards.
I see DTMs and AntiRandoms.

Your script isnt the best, but you contribute to the community and you have a great attitude.

Im sure your scripting ability is going to improve more and more and since your helpfull and contribute to the society so much, im going to vote after you show me something. :)

Please read up on some tutorials about DDTMs, MultiPlayer, standards, and TPAs.

What to show me: make 3 TPAs to find a normal tree, a scorpion and a tin rock. :)

Edit: Ill just vote yes. You seem a bit busy.

Arr0w

2009-08-20 20:02:31

You have my vote, you seem pretty talented.

Sir R. M8gic1an

2009-08-22 20:24:50

Welcome to Jah People!

~RM