NinjaTerrorist
2007-01-28 00:02:44
Simple PowerCutter v0.2a
This is my third script so far and I am still learning but I made this and worked quite well for me and hope it does for you. It will cut a full inventory of logs and drop them for how many loads you have set, you must set the tree color and name but remember so far this only cuts f2p trees as I am not a member.
[LEFT] Instructions:
[/LEFT]
This is my third script so far and I am still learning but I made this and worked quite well for me and hope it does for you. It will cut a full inventory of logs and drop them for how many loads you have set, you must set the tree color and name but remember so far this only cuts f2p trees as I am not a member.
[LEFT] Instructions:
- Setup lines : 37- 41.
- Declare players in DeclarePlayers;.
- Set RuneScape window.
- Start anywhere near trees.
- Antiban.
- SRL antirandoms.
- If no tree is found the script will goto the nearest tree symbol. - Removed
- Progress report. - Removed
- The antirandoms and antiban are used too much and the script lags. - Fixed
- Sometimes only does 5 loads. - Fixed
- No multiplayer support. ( Will add once I know how. xD) - Nearly did, got riddled with Access Violation errors. -.-
- The DropAllLogs dosen't work sometimes but is generally ok. - Fixed
- The antiban is used too much.. - Fixed
So yeah there it is, please post comments or progress reports this is only an earlier version and i am going to try to improve as much so it can work overnight easily. Long way yet… :eek:
V0.12 Changelog:
Removed all uneccisary things to make the script and bit tidier and faster and I have see the list above for the things removed. I removed the Option('Chop'); for the good ol' Mouse(x, y, 1, 1, True), works a hundred time better and as for the multiplayer support I tried but all the access errors stopped me so il get on doing that soon. This was working flawlessly for me earlier and the SRL axehead finding works great so you should have no problems.
Enjoy. ;)
V0.12 Changelog:
Removed all uneccisary things to make the script and bit tidier and faster and I have see the list above for the things removed. I removed the Option('Chop'); for the good ol' Mouse(x, y, 1, 1, True), works a hundred time better and as for the multiplayer support I tried but all the access errors stopped me so il get on doing that soon. This was working flawlessly for me earlier and the SRL axehead finding works great so you should have no problems.
Enjoy. ;)
[/LEFT]
For those who can't be arsed to download:
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
{// \\}
{// Simple PowerCutter v0.3b \\}
{// \\}
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
{// \\}
{// # ScriptName = Simple PowerCutter \\}
{// # Author = NinjaTerrorist \\}
{// # Description = Simple powercutter for all f2p trees. \\}
{// # Version = v0.3b \\}
{// # Date = January 29, 2007 \\}
{// # Comments = Start where trees are. \\}
{// # Contact = [email]NinjaTerrorist@Gmail.com[/email] \\}
{// \\}
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
{// Script by NinjaTerrorist, like it and/or use it? Please leave \\}
{// a comment on my thread. \\}
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
program SimplePowerCutter;
{.include SRL/SRL.scar}
{.include SRL/SRL/SKILL/Woodcutting.scar}
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
var
Choped, Tol, Responded : Integer;
Loads, Loggs : Integer;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
const
TreeColor = 3696736; { - Ctrl+P to pick the color. - }
TreeName = 'Tree'; { - e.g Willow must be a string. - }
UsingAxe = False; { - Is your axe equiped? - }
Load = 100; { - Loads todo. Each player. - }
LogOutT = 5; { - Minutes to stay logged out for. - }
PanicKey = 12; { - 1 = F1, 2 = F2 ect. - }
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
procedure DeclarePlayers;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
HowManyPlayers := 2;
CurrentPlayer:= 0;
NumberOfPlayers(HowManyPlayers);
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
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;
Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Active := True;}
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
procedure Setup;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
if(not(LoggedIn))then
begin
LoginPlayer;
Loggs := Logs+1;
WriteLn('Logged player in.');
end;
if(LoggedIn)then
begin
SetupSRL;
ActivateClient;
MakeCompass('N');
HighestAngle;
FixChat;
Status('Script started at: '+(TheTime));
FindAxeHeadColor;
Tol := 11;
end;
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
function FindRetard : Boolean;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
if(InChatMulti('free stuff', 'noob', 'wanna be my gf?'))then
begin
Status('Found retard!');
Result := True;
end
else
Result := False;
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
procedure AutoRespond;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
var
TalkBack : array [1..5] of string;
begin
OldLine := TheLine;
TheName := Lowercase(Trim(GetTextAtEx(20, 415, 45, SmallChars, False, False, 0, 2, 0, 40, True, tr_NormalChars)));
TheLine := Lowercase(Trim(GetTextAtEx(20, 415, 45, SmallChars, False, False, 0, 2, 16711680, 40, False, tr_NormalChars)));
NewLine := TheLine;
if(OldLine <> NewLine)then
begin
Exit;
end
if(pos('yo', TheName)<>0)or(pos(Players[CurrentPlayer].Nick, TheName) <> 0) then
begin
end
else
begin
repeat
if(InChatMulti('lol', 'lmao', 'rofl'))then
begin
TalkBack[1] := 'lol';
TalkBack[2] := 'lolz';
TalkBack[3] := 'lmao';
TalkBack[4] := 'rofl';
TalkBack[5] := 'rofl!!';
Status('Responding to chat message.');
TypeSend(TalkBack[1+Random(5)]);
Responded := Responded+1;
end;
if(InChatMulti('hi', 'hey', 'sup'))then
begin
TalkBack[1] := 'hi';
TalkBack[2] := 'hey';
TalkBack[3] := 'sup';
TalkBack[4] := 'wassup?';
TalkBack[5] := 'who are you?';
Status('Responding to chat message.');
TypeSend(TalkBack[1+Random(5)]);
Responded := Responded+1;
end;
if(InChatMulti('wc lvl', 'wc lvl?', 'woodcutting lvls?'))then
begin
TalkBack[1] := IntToStr(GetSkillLevel('Woodcutting'));
Status('Responding to chat message.');
TypeSend(TalkBack[1]);
Responded := Responded+1;
end;
if(FindRetard)then
begin
TalkBack[1] := 'please leave..';
TalkBack[2] := 'no now go away';
TalkBack[3] := 'why won''t you die?';
TalkBack[4] := 'no thanks';
TalkBack[5] := '....';
Status('Responding to chat message.');
TypeSend(TalkBack[1+Random(5)]);
Responded := Responded+1;
end;
if(not(LoggedIn))then
Break;
until(false);
end;
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
procedure AntiStuff;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
FindNormalRandoms;
FindHead;
FindEnt(TreeColor);
AntiBan;
AutoRespond;
if(FindFight)then
begin
RunAwayDirection('N');
Wait(4000+Random(2000));
RunBack;
end;
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
procedure DropTheLogs;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
if(UsingAxe)
then
begin
DropAll;
end
else
begin
DropToPosition(2, 28);
end;
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
procedure ChopTree;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
if(FindObj(x, y, TreeName, TreeColor, Tol))then
begin
MMouse(x,y,2,2);
Wait(200+Random(300));
end; // The Scar Noob
if(IsUpTextMulti('Cho', 'op dow', 'p down'))then // helped me with
begin // UpTextMulti :)
Mouse(x, y, 1, 1, True);
AntiStuff; // Madmoon helped me fix this.. :)
Choped := Choped+1;
Wait(2000+Random(2000));
end;
if(not(FindObj(x, y, TreeName, TreeColor, Tol)))then
begin
repeat
if(not(LoggedIn))then
begin
Break;
end;
LowestAngle;
AntiStuff;
Wait(2000+Random(3000));
Status('Tree not found, increasing tolerance.');
Tol := Tol+2;
until(FindObj(x, y, TreeName, TreeColor, Tol))or
(Tol > 25)
end;
if(Tol > 25)then
begin
Status('Maximum tolerance reached.. check your colors.');
NextPlayer(False);
end;
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
procedure Report;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
ClearDebug;
WriteLn(' --------------------------------');
WriteLn(' Simple PowerChopper v0.12a ');
WriteLn(' --------------------------------');
WriteLn(' Logged in: '+IntToStr(Loggs)+' times.');
WriteLn(' Droped: '+IntToStr(Loads)+' loads.');
WriteLn(' Choped: '+IntToStr(Choped)+' logs.');
WriteLn(' Player: '+Players[CurrentPlayer].Name);
WriteLn(' ---------------------------------');
SRLRandomsReport;
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
procedure MainLoop;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
repeat
ChopTree;
if(not(LoggedIn))then
begin
Break;
end;
until(InvFull)
DropTheLogs;
Loads := Loads+1;
Report;
if(LoggedIn)
and(Loads > Load)then
begin
LogOut;
Wait(LogOutT*60000);
NextPlayer(True);
end;
if(not(LoggedIn))
or(FindDead)
or(InBlack)then
begin
NextPlayer(False);
end
end;
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}
begin
DeclarePlayers;
Setup;
repeat
MainLoop;
until(IsFKeyDown(PanicKey))
WriteLn('Panic key pressed ending script..');
WriteLn('Script ended at: '+TheTime);
end.
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\}