PDA

View Full Version : Advanced High Alchemy Script V1.5



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!

Boreas
12-05-2006, 08:53 PM
Good job.

Gametab automatically checks if its already the correct tab.


function GameTab(tabnumber: Integer): Boolean;
var
C: Integer;
begin
if GetCurrentTab = tabnumber then
begin
result := true;
exit;
end;

Also, castspell automatically does gametab(7), so you can cut out first 6 lines in alch, and cut out the whole onmagictab function because its basically the first part of gametab.

Also, make Mouse(707, 330, 0, 0, True); have some randomness. The 0,0 is the randomness on the first 2 numbers.

bagofelix
12-06-2006, 05:35 AM
Oh!!! Okay, thank you so much. That really clears up some things about those dang 0's.

bagofelix
12-11-2006, 05:47 PM
No one tried this? >_<

Xorg
12-11-2006, 08:23 PM
z0mg its bago :D:D:D Hai lol *hugs* This looks awesome, I never knew you could scar script lol?

Hey321
12-11-2006, 09:02 PM
Bag, good job but one thing, you have this:

procedure NoBan;
begin
Writeln('Antiban procedure in progress');
AntiBan;
if(ModOption=true)then FindMod;
BoredHuman;
RandomMovement;
FindNormalRandoms;
end;

A few problems with that;

1. You took my anti-ban name :).
2. The If (ModOption=True) Then FindMod; tell it to check if mod option is true and if it is do the rest (i think?).

Other then that, great job ;). Keep it up.

bagofelix
12-11-2006, 09:14 PM
ooooh I see. Thanks for the tip m8. And yeah Xorg, I scar script =P Nubly, but yes. And sorry for stealing your NoBan name =P I'll fix it.

Hey321
12-11-2006, 09:53 PM
Lol, np i dont care was just bored ;). Anyways no prob again and as i said keep it up!

bagofelix
12-12-2006, 12:54 AM
Absolutely. Thanks for the pointers.

Desert Storm
12-16-2006, 01:28 PM
nice job :P

Rambozin
02-10-2007, 10:47 AM
it checks magic tab , then goes to inv tab , clicks my yew longs, again checks the mage tab etc .. huh?