PDA

View Full Version : Need help with my first script! High/Low Alcher



bagofelix
11-29-2006, 05:44 AM
Hey guys. I really need help with my first ever script. It's based on MartinW's HighAlchey.


{.Script Info:
# ScriptName = High and Low Alcher
# Author = Bagofelix Based on MartinW's Alchey
# Description = High and Low Alchs
# Version = Alpha
# Date = 11/29/2006
# Comments = www.villu-reborn.com
/Script Info}

program Alch;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/magic.scar}

Const
TotalNeeded = 831; //0 for infinite
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.
InvNumber = 16; //Inventory number of Item you would like to alch
AlchingOption = True; //If Low Alching, set to False
var
TotalDone : Integer;

Procedure ChangeReport;
begin
cleardebug;
TotalDone:= TotalDone + 1;
writeln('High Alched ' + inttostr(TotalDone) + ' ' + (Item));
Writeln('Made ' + inttostr(totalDone*GoldPer) + '');
writeln(inttostr(TotalNeeded - TotalDone) + ' times left');
end;

procedure NoBan;
begin
//AntiBan;
//FindMod;
BoredHuman;
RandomMovement;
FindNormalRandoms;
end;

procedure HighAlch;
begin
Gametab(7);
fixmage(true);
castspell(31)
MouseItem(InvNumber, true)
Wait(Random(200)+2800);
end;

Procedure LowAlch;
begin
Gametab(7);
fixmage(true);
castspell(14)
MouseItem(InvNumber, true)
Wait(Random(200)+2800);
end;

Procedure HighAlching;
begin
NoBan;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
Until(TotalDone = TotalNeeded);
logout;
end;

Procedure LowAlching;
begin
NoBan;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
Until(TotalDone = TotalNeeded);
logout;
end;

begin
setupsrl;
repeat
If(AlchingOption=True)then HighAlching;
If(AlchingOption=False)then LowAlch;
end.



I know its a newbie script and I probably comitting all 10k cardinal sins of coding, but to be honest, I'm pretty much winging it. I don't understand any of the Tutorial Island tutorials. They're pretty confusing. Anyway, I get this error when I try too run it.


Failed when compiling
Line 90: [Error] (15957:1): Identifier expected in script C:\Program Files\SCAR 2.03\Scripts\My Own Scripts\HighLowAlch.scar

Arr0w
11-29-2006, 04:13 PM
You have this.


Procedure HighAlching;
begin
NoBan;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
Until(TotalDone = TotalNeeded);
logout;
end;
Im guessing this is line 90.


Until(TotalDone = TotalNeeded);

If you have a 'Until" you need a 'Repeat' try making that procedure to this.


Procedure HighAlching;
begin
repeat
NoBan;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
HighAlch;
ChangeReport;
Until(TotalDone = TotalNeeded);
logout;
end;

bagofelix
11-29-2006, 09:21 PM
OH! Thank you SO MUCH! Now I feel stupid =P

Hey321
11-29-2006, 10:55 PM
Also, make this:



Procedure LowAlching;
begin
NoBan;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
LowAlch;
ChangeReport;
Until(TotalDone = TotalNeeded);
logout;
end;

Into this:


Begin
Repeat
LowAlch;
ChangeReport;
Until(TotalDone = TotalNeeded);
logout;
End;

That way the script isnt as long and it does the same thing.

bagofelix
11-30-2006, 10:55 AM
I'd been thinking about that bit of code right there. You are right, it looks awful messy. The reason behind it was I didn't want it to do the anti ban every alch, seeing as it would take FOREVER to alch. So I sort of weaseled around it. What I ended up doing was this.


Procedure HighAlching;
begin
repeat
if(random(15)=1)and(AntiBann=true)then NoBan;
HighAlch;
ChangeReport;
Until(TotalDone = TotalNeeded);
logout;
end;

What do ya think?