SRL Archive - Senior News and General

DaWu's antirandom thingy


Markus

2008-09-21 03:21:00

Got this PM from him to post it here:

So, here it comes.

Procedure Breaktaking;
begin
If (timefrommark(BreakTimer) > TakeBreakeveryTimeInMinutes*60000 +random(300000))
Then
Begin
writeln('having a break')
Logout;
MarkTime(BreakLenghtTimer);
repeat
Sleepandmovemouse(3000)
until (timefrommark(breaklenghttimer) > breaklenghtinminutes * 60000 +random(420000))
loginplayer;
MarkTime(breaktimer);
g:=g+1;
end;
end;

Basicaly this is what you need to not get banned.
for every 5 hours you auto, you need to break 3 or more hours, on lower break lenghts I kept getting banned, but when I gave 3+ hours a try, I got my main to 90 att, def and str, and my runepure to 92 str.

So you must be offline for 9 or more hours a day (24hrs) to avoid flagging, and that doesn't mean that you can do 15 hours a row and then sleep the 9, 3-5 hours a row then make it sleep for 3-4 hours, slowers your progress, but won't get you banned, I did get banned alot before I found the correct values, after I hit the magical values, I haven't had a single ban.

So technicaly whats it gonna be like is 5 hours of botting, 3 hours sleep -> repeat until false.


and what most of you prob know ->

Procedure PlayerSwitch;
begin
If (Playerswitching=true) then
begin
If (timefrommark(PlayerTimer) > PlayTimeInMinutes *60000 +random(300000) )
Then
begin
logout;
NextPlayer(True)
SetFight;
SetRun(true);
Highestangle;
e:= e + 1;
MarkTime(PlayerTimer);
End;
end;
end;

As far as you keep logging out and back in every 7- 10 mins you won't trigger randoms, as long as you won't use food or pickup anything (pickup wont trigger if your inventory is full, ex. feathers on one slot and bones on rest, you can pick the feathers without triggering random events) so If you use a script to pick up something that stacks, make it start with one of the stackables at invy and fill the rest of invy.



Ran my autofighter on my runepure for 224 hours, 0 randoms, no ban, stopped because runescape update.


Using these two procedures for fighting, will make your lifes alot easier, now you can level your bots to 100 cmbts, easily.

Yes, they are probably crappy scripted features, but hell yes do they work, they do.

Some of you probably knew this formula of fighting.
Atleast the part of avoiding randoms, but the break taking is pure fact, I think 4x 90+ combat stat already proves it.

Narcle

2008-09-21 03:30:15

5 hours long and 3 hours break? Mmm, I shall try this, I never tried 3 hours I did 2 hours. Gonna try this to confirm.

EvilChicken!

2008-09-21 04:08:56

Thanks a lot for this info, Markus.

I hope you make your autofighter(s) comactible with these features, Narcle. :)

WT-Fakawi

2008-09-21 04:14:26

Its Mutant Squirrle 's theory. He invented this. I never adapted it to SRL, since an army makes this obsolete. But for one player, yes, logging out after a certain amount of time does make sense. Also, playing in specific timezones (during specific times of the day) seems to lower banthreshold.

The Claw

2008-09-21 06:19:19

Old concept true, but this is the first time I've seen such conclusive evidence for a specific length of time avoiding a ban…makes me want to get members on one of my higher combat bots and run it through fight caves non stop with these break times, lol.

Bobarkinator

2008-09-21 14:09:34

Most Java bots have already implemented a break handler. But as Fakawi said, if you're using more than 1 player it doesn't really matter.

HyperSecret

2008-09-21 14:40:11


function PlayerSleepTime: Integer;
var
H, M, S, Time, PA, ActivePlayerCount, PlayerCount: Integer;
begin
ActivePlayerCount := 0;
PlayerCount := High(Players);

for PA := 0 to PlayerCount do
if Players[PA].Active then
Inc(ActivePlayerCount);

if ActivePlayerCount = 1 then
Time := random(10);
if ActivePlayerCount = 2 then
Time := random(15);
if ActivePlayerCount > 2 then
Time := 0;
case Time of

0,2,4,7,9,10,11,12,13: Result := 60000 + random(60000);

1,3,6,8,14: Result := 360000 + random(36000);

5: Result := 2400000 + randomrange(1200000, 2400000);

end;
ConvertTime(Result, H, M, S);
WriteLn(IntToStr(ActivePlayerCount) +'/'+ IntToStr(PlayerCount + 1) +
' Players Are Active, Going To Sleep, '
+ IntToStr(H) +' Hours, '+ IntToStr(M) +' Minutes, '+ IntToStr(S) +' Seconds.');
Status('Going To Sleep, '+ IntToStr(H) +' Hours, '+ IntToStr(M) +' Minutes, '+ IntToStr(S) +' Seconds.');
end;

I have been doing this for awhile also, I just started doing it with a single player but I use it for my army also, the max it will sleep is and 1 hr and 30 minutes (I believe) but my function adapts sleep time options according to the amount of players you are using. It sleep for atleast 1-6 minutes everytime it logs out, before logging into the next player.

I use this in my autofighter and it seems to work great also. I have implemented it into my miner also and it takes an hour break or so after every hr or so of autoing, I haven't gotten any non-solvable (mordaut) randoms in the past 2 days of testing with my sleeping. I have gotten other randoms but they are solved.

Hobbit

2008-09-23 11:33:26

I built that same idea into my firemaking script. Expect i made it do 3 on, 3-5 hours off. and repeat… it ran for 5 days once.
/HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\
|HHHHHHHH H.H.S. Varrock Firemaker HHHHHHHHH|
\HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH/
Time Running: 47 Hours, 40 Minutes and 37 Seconds
Log Type: Willow logs
Logs Burned this set: 189
Logs Burned in total: 21670
Logs Per Minute: 13
Starting XP this set: 3597545
Gained XP this set: 17010
Current Level: 86
Gained Levels: 1
/HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\
|HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH|
\HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH/

That version didn't time the breaks in the time running. So that is purely the time the script was doing the main action… so add around 80 hrs to that for all the breaks.