• Lucid Dreaming - Dream Views




    Results 1 to 3 of 3

    Hybrid View

    1. #1
      Battlemage Eldritch_of_Fire's Avatar
      Join Date
      Apr 2007
      Gender
      Location
      Ohio
      Posts
      67
      Likes
      0

      Thumbs up

      Trying to get scar to work...but getting an error saying this

      Failed when compiling
      Line 2: [Error] (2:7) : Identifier expected in script C: \Program Files\Scar 3.01\Scripts\autominer.scar

      Working with this
      Code:
      program New;
      begin program SRLGuildMiner;
      
      {.include SRL/SRL.scar}
      {.include SRL/SRL/skill/Mining.scar}
      {.include SRL/SRL/misc/FaladorColorFinder.scar}
      {.include SRL/SRL/extended/xMapWalk.scar}
      
      Const
      **Loads****************= 9999;**** // Number of loads before switching user.
      **OreTol************** = 4999;
      **StartPlayer**********= 0;
      
      Const
      **CoalColor**************= 2438711;** // CoalColor is a constant
      **MithrilColor********** = 7425100;** // MithrilColor is a constant
      
      //----------------------------------------------------------------------------//
      Const VersionNumber********= '0.39';
      //----------------------------------------------------------------------------//
      
      Var MapPickColor,MapOreColor,LadderColor,
      ****TotalOres,SecondsToWait,H,G:integer;
      
      Var FB1,FB2,FB3: Integer; // BankerDTMs (Yellow dots at three angles: -10,0,+10 degrees)
      // For use with DTM3Flag that plants a flag when any of 3 DTM's is found
      
      
      //----------------------------------------------------------------------------//
      
      Procedure DeclarePlayers;
      begin
      **** HowManyPlayers:=1;
      **** NumberOfPlayers(HowManyPlayers);
      **** Players[0].Name**** :='myusername';
      **** Players[0].Pass**** :='mypassword';
      **** Players[0].Nick**** :='snatch';
      **** Players[0].Loc******:='Falador';
      **** Players[0].Boolean1 := True;** // EquipPick.
      **** Players[0].String1**:= 'Coal'; // Coal = coal only. Mithril = both.
      **** Players[0].Active** := True;
      end;
      
      //----------------------------------------------------------------------------//
      
      Procedure FillMem;** // 3 yellow dot bankers @ different angle
      begin
      
      **FB1 := DTMFromString('78DA636C66626008634001972E5E66F80FA41' +
      ****** '981F83F1030B601D5C4A0AAF9F38789810BAA0604189B8850D345' +
      ****** '580D00CA7B110D');
      **FB2 := DTMFromString('78DA63EC61626008614001478F1E65F80FA41' +
      ****** '981F83F1030F602D544A1AAF9F38789810BAA0604182712A1662A' +
      ****** '504D247E3500C2961107');
      **FB3 := DTMFromString('78DA636C646260086140038C0CFFC12403C37' +
      ****** 'F206004A9894255F1E70F130317540D58472B504D3401359D4035' +
      ****** '31F8D50000978B0E8E');
      end;
      
      //----------------------------------------------------------------------------//
      
      Procedure SetOres;
      
      Begin
      **Case Lowercase(Players[CurrentPlayer].String1) Of
      ****'coal'** : Begin OreColor1 := CoalColor OreColor2 := OreColor1 End;
      ****'mithril': Begin OreColor1 := MithrilColor&#59; OreColor2 :=CoalColor&#59; End;
      **End;
      End;
      
      //----------------------------------------------------------------------------//
      
      Function FindOre(MaxTol:Integer):Boolean;
      
      Var Tol,Ex,Ey:Integer;
      
      Begin
      
      H:=H+1;
      **For G := 1 to H do
      ** Begin
      ****Case G Of
      
      ******1: Begin OreColor:= OreColor1; SecondsToWait := 5; End;
      ******2: Begin OreColor:= OreColor2; SecondsToWait := 10; End;
      
      ****End;
      ** End;
      
      **While (Not (FindColorTolerance(Ex, Ey, OreColor, MSX1, MSY1, MSX2, MSY2, Tol))
      **And Not (Tol > MaxTol)) Do
      ****Begin
      ******Tol:=Tol+1;
      ****End;
      **If ((FindColorTolerance(Ex, Ey, OreColor, MSX1,MSY1 ,MSX2, MSY2, Tol))
      **And Not (Tol > MaxTol)) Then Result:=True;
      **Tol:=1;
      **Wait(10);
      
      End;
      
      //----------------------------------------------------------------------------//
      
      procedure PlayerStats;
      
      var PSActive: string;
      var i: Integer;
      begin
      **WriteLn(' ');
      **WriteLn(' ');
      **WriteLn(' ');
      **writeln('**********************************************');
      **writeln('Name******** : '+ Players[CurrentPlayer].Name);
      **writeln('Number****** : '+inttostr(CurrentPlayer));
      **writeln('Mining Level : '+ inttostr(Players[CurrentPlayer].level[15]));
      **writeln('Worked for** : '+IntToStr(Players[CurrentPlayer].Worked)+' minutes.');
      **writeln('Banked****** : '+ inttostr(Players[CurrentPlayer].Banked) + ' times.');
      **if Players[CurrentPlayer].Active=True then PSActive:='True' else PSActive:='False';
      **writeln('Active****** : '+ PSActive);
      **writeln('Location**** : '+ Players[CurrentPlayer].loc);
      **writeln('**********************************************');
      
      for i := 0 to HowManyPlayers-1 do
      ** begin
      ** if Players[i].Active=True then PSActive:='True' else PSActive:='False';
      ******writeln( (inttostr(i))+' : '+Players[i].name+ ' = '+PSActive+
      ******'.- Lvl : '+inttostr(Players[i].level[15])+
      ******'.- B :'+inttostr(Players[i].Banked)+' Times.'+
      ******'.- A: '+IntToStr(Players[i].Worked)+' mins.'+
      ******'.- Loc: '+Players[i].loc);
      ****end
      ** writeln('**********************************************');
      end;
      
      //----------------------------------------------------------------------------//
      
      procedure ProgressReport;
      begin
      **WriteLn(' ');
      **WriteLn(' ');
      **WriteLn(' ');
      **WriteLn('<============== -'+VersionNumber+'- Progress Report ===============>');
      **writeln('Worked for '+ TimeRunning);
      **WriteLn('Banked '+IntToStr(banks)+' loads[s].');
      **WriteLn('Banked '+IntToStr(TotalOres)+' Ores.');
      **WriteLn('<=====================================================>');
      **PlayerStats;
      **SRLRandomsReport;
      end;
      
      //----------------------------------------------------------------------------//
      
      function FindMapOreColor:integer;
      var
      **MapOre,MapOre2:integer;
      begin
      **MapOre := BitmapFromString(3, 3,
      ******** '3D2C345948546D5D624A39416D5D626D5D625948546D5D626D5D62' +
      ******** '');
      **MapOre2 := BitmapFromString(3, 3,
      ******** '061115222D35364243131E22364243364243222D35364243364243' +
      ******** '');
      **if(FindBitmapsProgressiveTol(MapOre,MapOre2,0,0,0,65,5,587,41,***,118))then
      ****Result:=GetColor(x+1,y+1);
      **Freebitmap(MapOre);
      **Freebitmap(MapOre2);
      end;
      
      //----------------------------------------------------------------------------//
      
      Function FindFaladorLadderColor: Integer;
      var**C,TX,TY,FaladorLadder:integer;
      
      begin
      FaladorLadder:= BitmapFromString(2, 2, '4F1F004F1F004F1F00' +
      ****** 'A4A298');
      
       while (C<100) do
      ** begin
      ** C:=C+5;
      ** If FindBitMapToleranceIn(FaladorLadder,TX,TY,650,144,664,156,C) then
      ******begin
      ************LadderColor:=GetColor(TX,TY);
      ************Players[CurrentPlayer].Loc:='Falador';
      ************Result:=LadderColor;
      ************writeln('LadderColor = '+IntToStr(LadderColor));
      ************break;
      ******end
      ** end
      FreeBitMap(FaladorLadder);
      if Result = 0 then begin writeln('ERROR: LadderColor NOT Found'); TerminateScript end;
      end;
      
      //----------------------------------------------------------------------------//
      
      function Underground:boolean;
      begin
      **if((FindColoredAreaTolerance(x,y,256,570,5,725,162,50,1)))then
      **begin
      ****Result:=true;
      **end;
      end;
      
      //----------------------------------------------------------------------------//
      
      procedure ToCenter;
      begin
      **if(FindColorSpiral(x,y,MapPickColor,570,63,725,160))then
      **begin
      ****Mouse(x-10,y-10,20,20,true);
      ****FFlag(20);
      ****Wait(1000+Random(100));
      **end else
      **begin
      ****RoadWalk(MapOreColor,'S');
      ****if(FindColorSpiral(x,y,MapPickColor,570,63,725,160))then
      ****begin
      ******Mouse(x-10,y-10,20,20,true);
      ******FFlag(20);
      ******Wait(1000+Random(100));
      ****end;
      **end;
      end;
      
      //----------------------------------------------------------------------------//
      
      procedure RunAway;
      begin
      **if(UnderGround)then
      **begin
      ****RoadWalk(MapOreColor,'W');
      ****ClickMMColor(LadderColor);
      ****FFlag(10);
      ****RoadWalk(MapOreColor,'E');
      **end else
      **RunTo('N',False);
      end;
      
      //----------------------------------------------------------------------------//
      
      function HandleGas(Gx,Gy:Integer):Boolean;
      begin
      ******if FindGas(gx,gy) then
      ******begin
      ******** ToCenter;
      ******** Result:=True;
      ******end;
      end;
      
      //----------------------------------------------------------------------------//
      
      Function ClimbLadderDown:Boolean;
      var
      **c:integer;
      begin
      **for c:=1 to 50 do
      **begin
      ****If FindColor(x,y,0,MSX1+10,MSY1+10,MSX2-10,MSY2-10) then
      ****begin
      ******Wait(100);
      ******Mouse(x,y,0,0,false);
      ******if ChooseOption(x,y,'Climb') then
      ******begin
      ******** MarkTime(Mark);
      ******** repeat
      ********** Wait((1000)+Random(1000));
      ********** If TimeFromMark(Mark)>30000 then begin Logout; Exit; end;
      ******** until ((GetColor(580,80)=0) and (GetColor(648,142)=0));
      ******Result:=True;
      ******Exit;
      ******end;
      ****end;
      **c:=C+1;
      **SendArrowSilentWait((Random(2)*2)+1, 20 + Random(10));
      **if C=50 then begin Logout; exit end;
      **end;
      end;
      
      //----------------------------------------------------------------------------//
      
      Function ClimbLadderUp:Boolean;
      var
      **c:integer;
      begin
      **for c:=1 to 50 do
      **begin
      ****Wait(100);
      ****if FindObj(x,y,'adder',2775161,21) then
      ******begin
      ********Wait(100);
      ********Mouse(x,y,0,0,false);
      ********if ChooseOption(x,y,'Climb') then
      ********begin
      **********MarkTime(Mark);
      **********repeat
      ************Wait((1000)+Random(1000));
      ************If TimeFromMark(Mark)>30000 then begin Logout; Exit; end;
      **********until FindColor(x,y,WaterColor,MMX1,MMY1,MMX2,MMY2);
      **********Result:=True;
      **********Exit;
      ********end;
      ******end;
      **c:=C+1;
      **if C=50 then begin Logout; exit end;
      **SendArrowSilentWait((Random(2)*2)+1, 20 + Random(10));
      **end;
      end;
      
      //----------------------------------------------------------------------------//
      // --****************To the Guild in Three Clicks!**************************--//
      //----------------------------------------------------------------------------//
      
      procedure BankToGuild;
      var xblack,yblack:Integer;
      begin
      **PerfectNorth;
      **MouseFindFlag(690,110,1,-1);
      **Flag;
      **FindColor(xblack,yblack,0,MMX1,MMCY,MMX2,MMY2);
      **Mouse(xblack-5,yblack+10,0,0,true);
      **Flag;
      **ClimbLadderDown;
      **Players[CurrentPlayer].loc:='Guild';
      end;
      
      
      //----------------------------------------------------------------------------//
      
      procedure GuildToBank;
      var
      **c:integer;
      begin
      
      ****repeat
      ******c:=c+1;
      ******RadialWalk(MapOreColor,210,270,50,-1,0);
      ******if FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) then break;
      ******if c=10 then begin Logout; exit; end;
      ****until( FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) or(c>10) )
      ****IdleTime(3000, 1000, 1.0);
      ****If FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) Then Mouse(x,y,2,2,True);
      ****Wait(1500+Random(500));
      ****FFlag(0);
      ****ClimbLadderUp;
      
      ****MouseFindFlag(666,45,-1,-1);
      ****Flag;
      ****MakeCompass('N');
      ****If FindColor(x,y,BankColor,MMX1,MMY1,MMX2,MMY2) then
      ****begin
      ******Mouse(x,y,0,0,True);
      ******FFlag(10);
      ******DTM3Flag(FB1,FB2,FB3,True);
      ******FFlag(3);
      ****end
      ****else
      ****begin
      ******DTM3Flag(FB1,FB2,FB3,True);
      ******FFlag(3);
      ****end;
      ****Players[CurrentPlayer].loc:='Falador';
      end;
      //----------------------------------------------------------------------------//
      
      Function SimpleBank:Boolean;
      var sx,sy,dx,dy,Mark2,Tries:integer;
      begin
      **SX:=MSCX; SY:=MSCY;
      **repeat
      ****sx:=Sx+1;
      ****sy:=sy+3;
      ****MMouse(sx, sy, 0, 0);
      ****if IsUpTextMulti('e Bank','Booth','ooth') then
      ****begin
      ******GetMousePos(Dx, Dy);
      ******Mouse(Dx, Dy, 0, 0, False);
      ******if ChooseOption(Dx, Dy, 'uickly')**then
      ******begin
      ********MarkTime(Mark2);
      ********repeat
      **********Wait(10);
      **********if TimeFromMark(Mark2) > 20000 then
      ********** begin
      ************ Result:=False;
      ************ Exit;
      ********** end;
      ********until BankScreen;
      ********if BankScreen then
      ********begin
      **********Result := True;
      **********Exit;
      ********end;
      ******end;
      ****end
      ****else
      ****begin
      ******wait(1);
      ******Tries:=Tries+1;
      ****end;
      **until(tries >9);
      end;
      
      //----------------------------------------------------------------------------//
      
      procedure Bank;
      
      var LocalOres:integer;
      begin
      ****if (NoPick and EquipPick) then
      ****begin
      ****** if InventoryFull then
      ****** begin
      ******** if(FindBitmapSpiralTolerance(Ore,x,y,559,210,735,460,25))then
      **************begin
      ****************Mouse(x,y,5,5,false);
      ****************ChooseOption(x,y,'Drop');
      **************end;
      ****** end;
      ****** GameTab(5);
      ****** Mouse(593,303,0,0,true);
      ****** Wait(Random(1000)+2000);
      ****** GameTab(4);
      ****end;
      
      ****LocalOres:=CountItemBmpTol(Ore,50);
      ****MarkTime(Mark);
      
      ****if not BankScreen then
      ****begin
      ******repeat
      ******** if (not(Loggedin)) then**Exit;
      ******** if not SimpleBank then OpenBankQuiet('feb');
      ******until(BankScreen or (TimeFromMark(Mark)>60000));
      ****end;
      ****if(BankScreen)then
      ****begin
      ******Wait(Random(2000)+200);
      ******FixBank;
      ******if(NoPick=true)then
      ******begin
      ********ClickAllItemsColorWait('All',65536,1000+Random(100));
      ********Wait(Random(2000)+200);
      ********Withdraw(1,1,1);
      ********Wait(Random(2000)+200);
      ******end else
      ******begin
      ********if(EquipPick=false)then Deposit(2,28,2);
      ********Wait(Random(2000)+200);
      ********if(EquipPick=true)then
      ********** begin
      ************ ClickAllItemsColorWait('All',65536,1000+Random(100));
      ************ Wait(Random(2000)+200);
      ********** end;
      ******end;
      ******CloseBank;
      ******if(NoPick=true)and(EquipPick=true)then
      ******begin
      ********FindPickHeadColor;
      ********Wait(Random(1000)+200);
      ********ClickItemColor(hc1,true);
      ******end;
      ******Banks:=Banks+1;
      ******TotalOres:=TotalOres+LocalOres;
      ******Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked+1;
      ******NoPick:=false
      ****end;
      end;
      
      //----------------------------------------------------------------------------//
      
      Procedure ChangeGasPixels(Var Gasx,GasY:Integer);
      
      Var
      ** TempX, TempY: Integer;
      
      Begin
      **Wait(100);
      **If FlagPresent Then
      ****Begin
      ******FFlag(0);
      ******If FindColorSpiralTolerance(x,y,OreColor,MSX1,MSY1,MSX2,MSY2,4) Then
      ********Begin
      ********x := TempX;
      ********y := TempY;
      ********If CheckOre(x,y,OreColor,4) > 2 Then
      **********Begin
      ************If Distance(MSCX,MSCY,TempX,Tempy) < 40 Then
      **************Begin
      ****************GasX := x;
      ****************GasY := y;
      **************End;
      **********End;
      ********End;
      **End;
      End;
      
      //----------------------------------------------------------------------------//
      
      Procedure WizzupMine;
      
      Var Dx,Dy,Ex,Ey:Integer;
      
      Begin
      
      **If FindOre(OreTol) Then
      **Begin
      ****If FindObjOre(Dx, Dy, 'Mine', OreColor, 10, 4) Then
      ****Begin
      ******H:=0;
      ******If Not HandleGas(Dx, Dy) Then
      ******Begin
      **********If Random (9) < 7 Then Mouse(Dx, Dy, 0, 0, True)
      **********Else
      **********Begin
      ************Mouse(Dx, Dy, 0, 0, False);
      ************ChooseOption(Ex, Ey, 'ine');
      **********End;
      ******ChangeGasPixels(Dx,Dy);
      ******MarkTime(Mark);
      ******Repeat
      ********HandleGas(Dx, Dy);
      ********Wait(100);
      ********FindTalk;
      ********FindPick;
      ********If NoPick Then Break;
      ********If FindFight Then RunAway;
      ******Until ((TimeFromMark(Mark) > (1000 * SecondsToWait))
      ******Or (FindColor(X, Y, 0,51, 421, 51, 421)))
      ******End;
      ****End;
      **End
      **Else
      **Begin
      ****If H>1 Then H:=0;
      ****If Random(9) < 7 Then if not FindColorTolerance(x,y,CoalColor, MSX1,MSY1,MSX2,MSY2,OreTol) then ToCenter;
      ****FindNormalRandoms;
      ****If FindFight Then RunAway;
      ****Wait(500+Random(500));
      **End;
      End;
      
      //----------------------------------------------------------------------------//
      
      Procedure DoChats;
      
      Begin
      **SetChat('On', 1);
      **SetChat('On', 1);
      **SetChat('Off', 2);
      **SetChat('Off', 2);
      **SetChat('On', 3);
      **SetChat('On', 3);
      End;
      
      //----------------------------------------------------------------------------//
      
      procedure Setup;
      begin
      **** SetupSRL;
      **** SetUpSRLMining;
      **** FillMem;
      **** DeclarePlayers;
      **** CurrentPlayer:=StartPlayer;
      **** EquipPick:= Players[CurrentPlayer].Boolean1;**// Wielding.
      **** PickUpItems:=True; // to pick up random items when pickhead is gone.
      **** BenMouse:=False;
      **** MouseSpeed:=10;
      **** LoginPlayer;****** // logs in the first player.
      **** SetOres;
      end;
      
      //----------------------------------------------------------------------------//
      //*************************** Main Loop***************************************//
      //----------------------------------------------------------------------------//
      
      begin
      **Setup;
      **FindFaladorLadderColor;
      **SymbolAccuracy:=0.4;** // temporarily reduce symbolaccuracy for better symbol spotting
      **FindFaladorBasicColors;
      **SymbolAccuracy:=0.8; // set symbolacc. to default
      **NickNameBMP:=CreateBitmapMaskFromText(Players[CurrentPlayer].Nick,UpChars) // in case we started logged in aot logged out
      
      **repeat
      ******GetAllLevels;
      ******if not FindPickHeadColor then Logout;
      
      ******Dochats;
      ******if Players[CurrentPlayer].loc='Falador' then
      ********begin
      ******** SetRun(true);
      ******** BankToGuild;
      ********end
      
      ******if Players[CurrentPlayer].loc='Guild' then
      ********begin
      **********if(MapOreColor=0) then MapOreColor:=FindMapOreColor;
      
      **********if FindMMColor(x, y, LadderColor) then RoadWalk(MapOreColor,'E');
      **********FFlag(10);
      
      **********MarkTime(Mark);
      **************if(MapPickColor=0) then MapPickColor:=GetSymbolColor(x,y,'mining spot');
      **********repeat
      ************WizzupMine;
      ************Wait(100);
      ************if (not(Loggedin)) then**break;
      **********until(InventoryFull)or(NoPick=true)or(TimeFromMark(Mark)>1800000)
      
      **********SetRun(False);
      **********GuildToBank;
      **********Bank;
      **********ProgressReport;
      ********end;
      ******if ((LoggedIn) and (Players[CurrentPlayer].Banked mod Loads = 0) ) then
      ********Begin
      **********MarkTime(Mark);
      **********SetChat('off',1);
      **********repeat
      ************ Wait(1000);
      ************ FindNormalRandoms;
      ************ if(TimeFromMark(Mark)>120000) then begin Logout; Break; end;
      **********until(not(LoggedIn));
      **********writeln('dead and logging back in');
      **********writeln(InttoStr(CurrentPlayer));
      **********Wait(500+Random(501));
      **********NextPlayer(True);
      **********writeln(InttoStr(CurrentPlayer));
      **********NoPick:=False;
      **********SetOres;
      **********EquipPick := Players[CurrentPlayer].Boolean1;
      **********FindPickHeadColor;
      **********DoChats;
      ********end;
      
      ******if (not (Loggedin)) then
      ********Begin
      **********NextPlayer(False);
      **********NoPick:=False;
      **********SetOres;
      **********EquipPick := Players[CurrentPlayer].Boolean1;
      **********FindPickHeadColor;
      **********DoChats;
      ******End;
      **Until(False)
      end.
      end.
      Anyone know what i am supposed to do to stop gettin the error? lol im a newb to SCAR

    2. #2
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      wikipedia'd scar, as I have no idea what it is
      but I got this simple hello world

      Code:
      program HelloWorld;
      begin
      **WriteLn('Hello World!');
      end.
      so, I'd try changing the top of yours to read

      Code:
      program SRLGuildMiner;
      
      {.include SRL/SRL.scar}
      {.include SRL/SRL/skill/Mining.scar}
      {.include SRL/SRL/misc/FaladorColorFinder.scar}
      {.include SRL/SRL/extended/xMapWalk.scar}
      As I think the
      Code:
      program New;
      begin
      shouldn't be there
      (added automatically when you create a new project, then you pasted in some code, possibly - dunno)
      (\_ _/)
      (='.'=)
      (")_(")

    3. #3
      Truth Seeker Achievements:
      Referrer Bronze 1 year registered Veteran First Class Created Dream Journal 10000 Hall Points Made Friends on DV
      <span class='glow_9400D3'>LucidDreamGod</span>'s Avatar
      Join Date
      Jun 2004
      Gender
      Location
      US
      Posts
      2,258
      Likes
      50
      DJ Entries
      4
      Don&#39;t mess with the OreTol number just leave it at the number it was when you opened the script.

      May be something else I don&#39;t know.



      I wanna be the very best
      Like no one ever was
      To lucid dream is my real test
      To control them is my cause


    Bookmarks

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •