bagofelix
12-05-2006, 08:42 PM
This script suprisingly took me about 3 days to make. I got overly complicated so I finally scratched it all and restarted. Thanks to MartinW for the idea and thanks to ChArMz for helping me sort out a problem with the script. Please test it and let me know of any bugs. I got through about 500 alchs with it. I wouldn't go over 1000 alchs a day. It has antiban and antirandoms.
{.Script Info:
# ScriptName = High Alcher
# Author = Bagofelix. Small snippits of code from ChArMz and MartinW. Credit to hey321 for NoBan name =P
# Description = High Alchs
# Version = Beta
# Date = 12/5/2006
# Comments = villu-reborn. com
/Script Info}
program Alch;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/magic.scar}
Const
GoldPer = 768; //Gold per Alch
Item = 'Yew Longs'; //Item Name(This is only for the report so it aint important)
AntiBann = True; //AntiRandoms? Recommended HIGHLY if alching outside bank. If not, just watch the script. I do NOT recommend alching in a random prone area.
InvNumber = 8; //Inventory number of Item you would like to alch
ModOption = True; //Set to true if you want to look for moderators. If not, set false.
StartPlayer = 0; //Determines which player you start with.
var
TotalNeeded : Integer;
ItemsRemaining : Integer;
Procedure DeclarePlayers;
begin
HowManyPlayers:=6;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;
Players[0].Name :='test';
Players[0].Pass :='test';
Players[0].Nick :='est';
Players[0].Active := True;
Players[1].Name :='test2';
Players[1].Pass :='test2';
Players[1].Nick :='est';
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;
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Active := True;
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Active := True;
end;
Procedure ChangeReport;
begin
cleardebug;
Writeln('You have ' +inttostr(HowManyPlayers)+' players set to run.');
Writeln('The starting player is '+ players[currentplayer].name);
Writeln(' Alched ' + inttostr(TotalNeeded - ItemsRemaining + 1) + ' ' + (Item));
Writeln('Made ' + inttostr((TotalNeeded - ItemsRemaining)*GoldPer + GoldPer) + '');
Writeln(inttostr(ItemsRemaining - 1) + ' times left');
end;
procedure NoBan;
begin
Writeln('Antiban procedure in progress');
AntiBan;
BoredHuman;
RandomMovement;
FindNormalRandoms;
if(ModOption=true)then FindMod;
end;
procedure Alch;
begin
castspell(31);
CountInvSlot(ItemsRemaining,4,4)
Mouse(707, 330, 5, 5, True);
Wait(random(200)+2800);
end;
Procedure Alching;
begin
repeat
if(random(15)=1)and(AntiBann=true)then NoBan;
ChangeReport;
Alch;
until(ItemsRemaining=1)
Writeln('Switching users');
Wait(random(50)+50);
logout;
if(not(Loggedin)) then NextPlayer(false);
end;
Procedure LoggingIn;
begin
DeclarePlayers;
LoginPlayer;
end;
begin
setupsrl;
LoggingIn;
CountInvSlot(TotalNeeded,4,4);
Alching;
end.
Enjoy, and post prog reports!
{.Script Info:
# ScriptName = High Alcher
# Author = Bagofelix. Small snippits of code from ChArMz and MartinW. Credit to hey321 for NoBan name =P
# Description = High Alchs
# Version = Beta
# Date = 12/5/2006
# Comments = villu-reborn. com
/Script Info}
program Alch;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/magic.scar}
Const
GoldPer = 768; //Gold per Alch
Item = 'Yew Longs'; //Item Name(This is only for the report so it aint important)
AntiBann = True; //AntiRandoms? Recommended HIGHLY if alching outside bank. If not, just watch the script. I do NOT recommend alching in a random prone area.
InvNumber = 8; //Inventory number of Item you would like to alch
ModOption = True; //Set to true if you want to look for moderators. If not, set false.
StartPlayer = 0; //Determines which player you start with.
var
TotalNeeded : Integer;
ItemsRemaining : Integer;
Procedure DeclarePlayers;
begin
HowManyPlayers:=6;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;
Players[0].Name :='test';
Players[0].Pass :='test';
Players[0].Nick :='est';
Players[0].Active := True;
Players[1].Name :='test2';
Players[1].Pass :='test2';
Players[1].Nick :='est';
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;
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Active := True;
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Active := True;
end;
Procedure ChangeReport;
begin
cleardebug;
Writeln('You have ' +inttostr(HowManyPlayers)+' players set to run.');
Writeln('The starting player is '+ players[currentplayer].name);
Writeln(' Alched ' + inttostr(TotalNeeded - ItemsRemaining + 1) + ' ' + (Item));
Writeln('Made ' + inttostr((TotalNeeded - ItemsRemaining)*GoldPer + GoldPer) + '');
Writeln(inttostr(ItemsRemaining - 1) + ' times left');
end;
procedure NoBan;
begin
Writeln('Antiban procedure in progress');
AntiBan;
BoredHuman;
RandomMovement;
FindNormalRandoms;
if(ModOption=true)then FindMod;
end;
procedure Alch;
begin
castspell(31);
CountInvSlot(ItemsRemaining,4,4)
Mouse(707, 330, 5, 5, True);
Wait(random(200)+2800);
end;
Procedure Alching;
begin
repeat
if(random(15)=1)and(AntiBann=true)then NoBan;
ChangeReport;
Alch;
until(ItemsRemaining=1)
Writeln('Switching users');
Wait(random(50)+50);
logout;
if(not(Loggedin)) then NextPlayer(false);
end;
Procedure LoggingIn;
begin
DeclarePlayers;
LoginPlayer;
end;
begin
setupsrl;
LoggingIn;
CountInvSlot(TotalNeeded,4,4);
Alching;
end.
Enjoy, and post prog reports!