i need help editing a script it is supposed to drop the logs but all it does is glitches up when i try to get it to drop the logs can someone please edit this Code: program WillowKiller; {.include SRL/SRL/Misc/SMART.Scar} {.include SRL/SRL.Scar} {.include srl/srl/skill/woodcutting.scar} {.Include SRL\SRL\Reflection\Reflection.Scar} var x, y, i, Logs, Loads, nap, wclvl, BrokenAxe, BrokenAxes, cblvl, Responds, logsdropped, OriginalWcLvl, CurrentWcLvl, LevelUps, ExpGained :Integer; ExpGain :Extended; const World = 35; SRLStatsID = '5774'; SRLStatsPass = 'leechme'; HowLongToSleep = 15; Smart = True; Signed= True; Responder = True; Skill = 'Woodcutting'; procedure DeclarePlayers; begin HowManyPlayers := 1; //Change this to number players you got NumberOfPlayers(HowManyPlayers); CurrentPlayer := 0; Players[0].Name := ''; // Enter your Username here Players[0].Pass := ''; // Enter your password here Players[0].Nick := ''; // Enter 3 - 4 letters from your username here Players[0].Active := True; { Players[1].Name := ''; Players[1].Pass := ''; Players[1].Nick := ''; Players[1].Active := True; Players[2].Name := ''; Players[2].Pass := ''; Players[2].Nick := ''; Players[2].Active := True; } end; //-------------------------------DO NOT TOUCH ANYTHING BELOW THIS!----------------------------\\ procedure AntiBannage; begin case Random(30) of 0 : MMouse(0, 0, 700, 500); 1 : begin Hoverskill('Woodcutting', false); wait(3500 + Random(1000)); Hoverskill('Mining', false); end; 2 : BoredHuman; 3 : RandomMovement; 4 : PickupMouse; 5 : begin GameTab(random(10)); wait(3500 + Random(1000)); GameTab(4); end; end; end; procedure BrokenAxeDTM; begin BrokenAxe := DTMFromString('78DA636C616260E0636440061D697C601A26C' + 'AD80354C38FAA06260B57D30754C34D404D2F508D080135CD4035' + '5C04D4D400D5A8E05703008C0604B4'); end; //Very Important Do Not Touch-Script Wont Cut Trees\\ function FindObjTPAKing(var x, y: integer; colors : array of integer; tol, cts, ObjWidth, ObjHeight, minCount :Integer; UpText: tstringarray): Boolean; var I, j, tcts: Integer; myPoint: TPoint; Points, TempPoints: TPointArray; aPoints: T2DPointArray; s: string; begin tcts := GetColorToleranceSpeed; SetLength(Points, 0); if CTS * 9 mod 3 <> 0 then CTS := 1; ColorToleranceSpeed(cts); For I := 0 to High(colors) do //Loop through the colors array begin FindColorsSpiralTolerance(x, y, TempPoints, Colors[i], MSX1, MSY1, MSX2, MSY2, Tol);//Check for the current color Points := CombineTPA(Points, TempPoints); //Add the different results together end; aPoints := TPAtoATPAEx(Points, ObjWidth, ObjHeight); SetLength(Points, 0); for I := 0 to Length(aPoints) - 1 do begin if Length(aPoints[i]) < minCount then Continue; myPoint := MiddleTPA(aPoints[i]); MMouse(myPoint.X, myPoint.Y, 0, 0); Wait(100 + Random(50)); ColorToleranceSpeed(1); s := rs_getuptext; for j := 0 to high(uptext) do if pos(uptext[j], s) <> 0 then begin x := myPoint.X; y := myPoint.Y; Result := True; ColorToleranceSpeed(tcts); Exit; end; ColorToleranceSpeed(cts); end; ColorToleranceSpeed(tcts); end; //DeathWalk- Using Reflection\\ function LoadPath: TPointArray; begin SetLength(Result, 15); Result[0] := Point(3222, 3219); Result[1] := Point(3236, 3225); Result[2] := Point(3228, 3231); Result[3] := Point(3224, 3238); Result[4] := Point(3221, 3246); Result[5] := Point(3213, 3247); Result[6] := Point(3207, 3247); Result[7] := Point(3200, 3247); Result[8] := Point(3195, 3251); Result[9] := Point(3191, 3255); Result[10] := Point(3188, 3258); Result[11] := Point(3181, 3264); Result[12] := Point(3172, 3264); Result[13] := Point(3164, 3267); Result[14] := Point(3163, 3270); end; procedure DeathWalk; var I: Integer; Path: TPointArray; begin if(FindBlackChatMessage('Oh Dear,You are dead!')) then begin Path := LoadPath; for i := 0 to High(Path) do begin WalkToTile(Path[i], 3, 0); Wait(7000+Random(3000)); end; end; end; {******************************************************************************* procedure NextPlayer2(Active: Boolean); By: Dankness and modified by Ron and by Raymond and Tootoot222 Description: Logs in the next player. Boolean: True - Current player is ok. False - Current player is false. Doesn't go into an infinate loop when all players are false *******************************************************************************} procedure NextPlayer2(Active: Boolean); begin if RandomPlayer then RandomNextPlayer(Active) else begin WriteLn('NextPlayer2(Active: ' + BoolToStr(Active)+ ');'); Players[CurrentPlayer].Active := Active; Logout; PlayerCurTime := (GetSystemTime div 1000); Players[CurrentPlayer].Worked := Players[CurrentPlayer].Worked + ((PlayerCurTime - PlayerStartTime) / 60); if(AllPlayersInactive) then Exit; CurrentPlayer := (CurrentPlayer + 1) mod Length(Players); while Players[CurrentPlayer].Active = False do CurrentPlayer := (CurrentPlayer + 1) mod Length(Players); SRL_Logs := SRL_Logs + 1; LoginPlayer; end; end; //Anti-Random\\ procedure AntiRandoms; begin FindNormalRandoms; If(FindFight) Then begin SetRun(True); RunAway('N', True, 1, 15000 + random(5000)); end; if (FindEnt(x, y, True)) then begin Mouse(MMCX + 3, MMCY - 4, 3, 3, true); wait(1000); repeat wait(100+random(100)); FindNormalRandoms; until not (FindEnt(x, y, True)) end; LampSkill := skill; end; //Auto-Responder (Pixelate)\\ procedure Responses; var text: string; begin if not LoggedIn then Exit; if(Responder)then begin if(not GetLastChatText(text))then begin //Writeln('Error while getting chat text. No-one is talking?'); end else begin //Writeln('Chat text: ' + text); if(InChat('bot') and InChat(Players[CurrentPlayer].Nick))then begin case Random(4) of 0: TypeSend('Me?'); 1: TypeSend('I''m not a bot!'); 2: TypeSend('Your a newb'); 3: TypeSend('Huh?'); end; Responds := Responds +1; end; if(text = 'wc lvls?') or (text = 'woodcut lvls?') or (text = 'wc?') or (text = 'woocutting levels?')then begin SayCurrentLevels('Woodcutting'); end; end; end; if(Responder)then begin case Random(40) of 0: TypeSend('Runescape rox'); 1: TypeSend('Im watching tv and playing rs at the same time'); 2: Typesend('woodcut lvls?'); 3: Typesend('I got my wc lvl to' + IntToStr(CurrentWcLvl) + '.'); 4: Typesend('Hi!'); 5: Typesend('attck,str,def lvls?'); 6: Typesend('Old runescape was better than this.....'); 7: Typesend('Wcing is boring') end; end; end; //BrokenAxe Finder\\ Procedure IsAxeBroken; begin if FindDTM(BrokenAxe, x, y, MIX1, MIY1, MIX2, MIY2) then begin BrokenAxes := BrokenAxes +1; Writeln('The axe was broken.The script will change players!'); LogOut; NextPlayer2(False); Exit; FreeDTM(BrokenAxe); end; end; ///Tree Finder\\ procedure WillowCutter; //Credit goes to ToF for his tree finding (chnaged the colours and wait times for less ban %) var Failed: integer; TreeColors: array [0..3] of integer; begin if(not(LoggedIn)) or (InvFull) then Exit; TreeColors[0] := 2504497; TreeColors[1] := 7309951; TreeColors[2] := 2702134; TreeColors[3] := 2242606; for i := 0 to 4 do AntiRandoms; AntiBannage; if FindObjTPAKing(x, y, TreeColors, 20, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']) then begin repeat if(InvFull) then Exit; FindEnt(x, y, True); Responses; FindObjTPAKing(x, y, TreeColors, 20, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']) Wait(100 + Random(300)); MMouse(x, y, 2, 2); begin Wait(100 + Random(200)); Wait(100 + Random(200)); case Random(10) of 0: begin Mouse(x, y, 4, 4, False); Wait(400 + Random(200)); ChooseOption('hop'); WriteLn('R Chopping Tree');; end; 1: begin Mouse(x, y, 4, 4, True); WriteLn('L Chopping Tree'); end; end; Wait(900 + Random(100)); FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']) MMouse(x, y, 2, 2); FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']) Wait(800 + Random(100)); end; until Invfull or not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']); while (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) do repeat if(InvFull) then Exit; if (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) then MakeCompass('N'); Wait(100 + Random(300)); if (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) then MakeCompass('E'); Wait(100 + Random(300)); if (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) then MakeCompass('W'); Wait(100 + Random(300)); if (not FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow'])) then Inc(Failed); until FindObjTPAKing(x, y, TreeColors, 30, 2, 15, 25, 10, ['Willow', 'Will', 'illo', 'llow']) or (Failed = 5); if (Failed = 5) then begin WriteLn('Tree Finding Failed :('); end; end; end; //DTMS\\ procedure LoadTheDTM; //Custom made with the help of tootoot222 begin AntiRandoms; AntiBannage; Logs := DTMFromString('78DA63E4636460D8C68001FE0331238806024' + '61E206B2DBA0A462412484B00595B09A8E105B2F61350C30464ED' + '23A006C4DA825F0D00CBD5099D'); BrokenAxe := DTMFromString('78DA636C616260E0636440061D697C601A26C' + 'AD80354C38FAA06260B57D30754C34D404D2F508D080135CD4035' + '5C04D4D400D5A8E05703008C0604B4'); end; //Log Dropper\\ procedure WillowDropper; begin if(not(LoggedIn)) or (InvEmpty) then Exit; if(InvFull) then begin LoadTheDtm; repeat if(InvEmpty) then Exit; if(FindDtm(Logs, X, Y, MIX1, MIY1, MIX2, MIY2)) then begin MMouse(X, Y, 2, 2); wait(300 + random(300)); Mouse(X, Y, 2, 2, False); ChooseOption('rop'); LogsDropped := LogsDropped + 1 wait(200 + random(300)); AntiRandoms; AntiBannage; end; until(not(FindDtm(Logs, X, Y, MIX1, MIY1, MIX2, MIY2)) or (not(LoggedIn))) FreeDTM(logs); end; end; procedure sleepp; begin if(not(LoggedIn)) then Exit; if(TimeFromMark(nap) > HowLongToSleep * 60000) then begin logout; sleep(15 * 60000 + random(15 * 60000)); loginplayer; Marktime(nap); end; end; procedure GetCBLevel; begin GameTab(1); cblvl := GetCombatLevel; if(cblvl<19) then begin writeln('Your combat level is less than 20!Please get your combat to 20+ before you use this script!'); Logout; NextPlayer2(False); Exit; end; end; procedure GetOriginalWcLevel; begin GameTab(2); OriginalWcLvl := GetSkillLevel('Woodcutting'); if(wclvl<29) then begin writeln('Your woodcutting level is not high enough to chop willows. Get it up to 30 then you can use this script.'); Logout; NextPlayer2(False); Exit; end; end; procedure GetCurrentWcLevel; begin GameTab(2); CurrentWcLvl := GetSkillLevel('Woodcutting'); end; Procedure HowManyLevelsGained; begin GetCurrentWcLevel; LevelUps := CurrentWcLvl - OriginalWcLvl; end; procedure Intro; begin Writeln(' .__.____ .____ '); Writeln('__ _ _|__| | | | ______ _ __ '); Writeln('\ \/ \/ / | | | | / _ \ \/ \/ / '); Writeln(' \ /| | |___| |__( <_> ) / '); Writeln(' \/\_/ |__|_______ \_______ \____/ \/\_/ '); Writeln(' \/ \/ '); Writeln(' __ .__.____ .____ '); Writeln('| | _|__| | | | ___________ ____ '); Writeln('| |/ / | | | | _/ __ \_ __ \ / \ '); Writeln('| <| | |___| |__\ ___/| | \/ | | \ '); Writeln('|__|_ \__|_______ \_______ \___ >__| |___| / '); Writeln(' \/ \/ \/ \/ \/ '); Writeln('___. __ ._. '); Writeln('\_ |__ _____ ____ | | __ ___________| | '); Writeln(' | __ \\__ \ / \| |/ // __ \_ __ \ | '); Writeln(' | \_\ \/ __ \| | \ <\ ___/| | \/\| '); Writeln(' |___ (____ /___| /__|_ \\___ >__| __ '); Writeln(' \/ \/ \/ \/ \/ \/ '); Writeln(' By !Pain '); end; procedure proggy; begin ClearDebug; Writeln('***************Willow kiLLer***************') Writeln('|The script has been running for ' + TimeRunning + '. '); Writeln('|Logs dropped: ' + IntToStr(LogsDropped) + ''); Writeln('|Starting Wc Lvl: ' + InttoStr(OriginalWcLvl) +''); Writeln('|Current Wc Lvl: ' + IntToStr(CurrentWcLvl) + ''); Writeln('|Axes Broken:' + InttoStr(BrokenAxes) + ''); Writeln('|' + IntToStr(Loads) + ' loads done so far!'); Writeln('*************************************************'); end; procedure FinalProggy; begin proggy; Writeln('|You have leveled up ' + IntToStr(LevelUps) + ' |'); end; procedure SmartStart; begin SmartSetupEx(World, false, Signed, false); SetTargetDC(SMARTGetDC); repeat wait(300); until(SmartGetColor(253, 233)<>1118604); end; begin ClearDebug; Intro; SetupSRL; MouseSpeed := 17; Writeln('Openning SMART') SmartStart; ScriptID := '499'; SRLID := SRLStatsID; SRLPassword := SRLStatsPass; ActivateClient; DeclarePlayers; repeat if not loggedin then Loginplayer; SetAngle(True); MarkTime(nap); AntiRandoms; GetCBLevel; GetCurrentWcLevel; Loads := 0; repeat WillowCutter; Inc(Loads); Responses; sleepp; GetCurrentWcLevel; proggy; DeathWalk; until Loads > 39; NextPlayer2(True); until(AllPlayersinactive) FinalProggy; ExpGain := LogsDropped * 67.5; ExpGained := Round(ExpGain); ReportVars[0] := LogsDropped; ReportVars[1] := ExpGained; ReportVars[2] := Loads; ReportVars[3] := LevelUps; SRLRandomsReport; Writeln('##################################'); Writeln('Thank you for using Willow Killer.'); Writeln('##################################'); end.