How to use SCAR?

Discussion in 'Scar/Simba General Discussion' started by Asianboii, Apr 16, 2007.

Thread Status:
Not open for further replies.
How to use SCAR?
  1. Unread #1 - Apr 16, 2007 at 3:51 PM
  2. Asianboii
    Joined:
    Mar 28, 2007
    Posts:
    222
    Referrals:
    0
    Sythe Gold:
    0

    Asianboii Active Member

    How to use SCAR?

    I heard of the program SCAR, but I don't know how to use the program. I have it on my computer. I was wondering if someone could tell me how to put the scripts in SCAR and how to use it. Thanks! :)
     
  3. Unread #2 - Apr 16, 2007 at 4:19 PM
  4. Town
    Joined:
    Jan 21, 2007
    Posts:
    3,776
    Referrals:
    3
    Sythe Gold:
    5

    Town Grand Master
    Scar Programmers

    How to use SCAR?

    Copy + Paste.
     
  5. Unread #3 - Apr 17, 2007 at 9:29 PM
  6. Asianboii
    Joined:
    Mar 28, 2007
    Posts:
    222
    Referrals:
    0
    Sythe Gold:
    0

    Asianboii Active Member

    How to use SCAR?

    { //-------------------------------------------------------------\\
    || INSTRUCTIONS ||
    ||-------------------------------------------------------------||
    || ||
    || 1. Declare Players lines 37-61. ||
    || 2. Axe in first INV slot... ||
    || 3. Drag Crosshair into RS window. ||
    || 4. Hit play and fill out forms. ||
    || 5. AXE HEAD FINDER WILL WORK!!! ||
    ||-------------------------------------------------------------||
    || INSTRUCTIONS ||
    \\-------------------------------------------------------------//
    }

    {.include SRL\SRL.SCAR}
    {.include SRL\SRL\Skill\Woodcutting.SCAR}

    Var
    LoadNumber : Integer;
    LogDTM, BrokenAxeDTM, AxeHandleDTM, RegularAxeDTM : Integer;
    StartXP, EndXP, TotalXP, TotalLogs : Integer;
    frmDesign : TForm;
    Label1 : TLabel;
    Label2 : TLabel;
    Label3 : TLabel;
    Edit1 : TEdit;
    Edit2 : TEdit;
    Edit3 : TEdit;
    Button1 : TButton;
    TheTreeName : String;
    AmmountOfLoads : Integer;
    TreeColor : Integer;

    //->Declare Players<-//
    Procedure DeclarePlayers;
    begin
    Status('Loading Players')

    HowManyPlayers := 5;
    NumberOfPlayers( HowManyPlayers );
    CurrentPlayer := 0;

    Players[0].Name := 'Username';
    Players[0].Pass := 'Password';
    Players[0].Nick := 'Nickname'; // 2-4 letters of username
    Players[0].Active := True;

    Players[1].Name := 'Username';
    Players[1].Pass := 'Password';
    Players[1].Nick := 'Nickname'; // 2-4 letters of username
    Players[1].Active := True;

    Players[2].Name := 'Username';
    Players[2].Pass := 'Password';
    Players[2].Nick := 'Nickname'; // 2-4 letters of username
    Players[2].Active := True;

    Players[3].Name := 'Username';
    Players[3].Pass := 'Password';
    Players[3].Nick := 'Nickname'; // 2-4 letters of username
    Players[3].Active := True;
    end;


    procedure SafeInitForm;
    var
    v: TVariantArray;
    begin
    setarraylength(V, 0);
    ThreadSafeCall('InitForm', v);
    end;

    procedure ShowFormModal;
    begin
    frmDesign.ShowModal;
    end;

    procedure SafeShowFormModal;
    var
    v: TVariantArray;
    begin
    setarraylength(V, 0);
    ThreadSafeCall('ShowFormModal', v);
    end;

    Procedure InitForm;
    Begin
    Status('Form Is Up')
    frmDesign := CreateForm;
    frmDesign.Left := 306;
    frmDesign.Top := 367;
    frmDesign.Width := 428;
    frmDesign.Height := 207;
    frmDesign.Caption := 'Setup';
    frmDesign.Color := clBtnFace;
    frmDesign.Font.Color := clWindowText;
    frmDesign.Font.Height := -11;
    frmDesign.Font.Name := 'MS Sans Serif';
    frmDesign.Font.Style := [];
    frmDesign.Visible := False;;
    frmDesign.PixelsPerInch := 96;
    Label1 := TLabel.Create(frmDesign);
    Label1.Parent := frmDesign;
    Label1.Left := 3;
    Label1.Top := 20;
    Label1.Width := 258;
    Label1.Height := 20;
    Label1.Caption := 'Loads For Player Before Logging Off';
    Label1.Font.Color := clWindowText;
    Label1.Font.Height := -17;
    Label1.Font.Name := 'MS Sans Serif';
    Label1.Font.Style := [];
    Label1.ParentFont := False;
    Label2 := TLabel.Create(frmDesign);
    Label2.Parent := frmDesign;
    Label2.Left := 3;
    Label2.Top := 50;
    Label2.Width := 78;
    Label2.Height := 20;
    Label2.Caption := 'Tree Name';
    Label2.Font.Color := clWindowText;
    Label2.Font.Height := -17;
    Label2.Font.Name := 'MS Sans Serif';
    Label2.Font.Style := [];
    Label2.ParentFont := False;
    Label3 := TLabel.Create(frmDesign);
    Label3.Parent := frmDesign;
    Label3.Left := 3;
    Label3.Top := 80;
    Label3.Width := 73;
    Label3.Height := 20;
    Label3.Caption := 'Tree Color';
    Label3.Font.Color := clWindowText;
    Label3.Font.Height := -17;
    Label3.Font.Name := 'MS Sans Serif';
    Label3.Font.Style := [];
    Label3.ParentFont := False;
    Edit1 := TEdit.Create(frmDesign);
    Edit1.Parent := frmDesign;
    Edit1.Left := 269;
    Edit1.Top := 20;
    Edit1.Width := 24;
    Edit1.Height := 21;
    Edit1.TabOrder := 8;
    Edit1.Text := '3';
    Edit2 := TEdit.Create(frmDesign);
    Edit2.Parent := frmDesign;
    Edit2.Left := 87;
    Edit2.Top := 50;
    Edit2.Width := 58;
    Edit2.Height := 21;
    Edit2.TabOrder := 9;
    Edit2.Text := 'Oak';
    Edit3 := TEdit.Create(frmDesign);
    Edit3.Parent := frmDesign;
    Edit3.Left := 87;
    Edit3.Top := 79;
    Edit3.Width := 69;
    Edit3.Height := 21;
    Edit3.TabOrder := 10;
    Edit3.Text := '876624';
    Button1 := TButton.Create(frmDesign);
    Button1.Parent := frmDesign;
    Button1.Left := 172;
    Button1.Top := 133;
    Button1.Width := 75;
    Button1.Height := 25;
    Button1.Caption := 'OK GO';
    Button1.ModalResult := 1;
    Button1.TabOrder := 11;
    end;

    Procedure Convert2;
    Begin
    TheTreeName := Edit2.text
    AmmountOfLoads := StrToInt(Edit1.text)
    TreeColor := StrToInt(Edit3.text)
    end;



    //->Load Dtm's<-//
    Procedure LoadDTMs;

    begin
    Status('Loading DTM''s')

    LogDTM := DTMFromString('78DA632C666260E0646440067921460CFF813' +
    '448F43F103066314179C880118904D2354035FF19F0AB2905AA11' +
    '22604E23500D0F0135C94035DCF8D50000507909F5');

    BrokenAxeDTM := DTMFromString('78DA633CCAC4C090C1C8800C9A127919FE036' +
    '990E87F2060BC0C54938CAA06220B2381F445A09A04026A8E01D5' +
    'C41050B31FA8A698809AB384CD0100CBBD0D20');

    AxeHandleDTM := DTMFromString('78DA637CCFC4C0E0C6C8800CCA227819FE036' +
    '990E87F2060FC06546389AA06220B2381F473A09A00026ADE00D5' +
    'F81350F316A8C685809A97403541F8D50000D0090D3C');

    RegularAxeDTM := DTMFromString('78DA637461626060676440060DF1BC0CFF813' +
    '448F43F10300601D5FC6740038C482490F604AAF94D408D13500D' +
    '2B237E35F640358204D4F813618E1F50CD1F02EE0906AA61C26F0' +
    'E0099720B7E');

    end;


    //->Setup<-//
    Procedure MySetupScript;
    Begin
    Status('Set-Up')
    SetupSRL;
    DeclarePlayers;
    LoadDTMs;
    end;


    //->GetRandomLoad-//
    Var
    RandomLoad : Integer;

    Procedure GetRandomLoad;
    Begin
    RandomLoad := (AmmountOfLoads + Random (5))
    end;


    //->Anti Randoms<-//
    Procedure TheAntiRandoms;
    Begin
    Status('Random Check')
    FindNormalRandoms;
    wait(10)
    FindTalk;
    wait(10)
    if (FindFight) then
    begin
    Status('Running From a fight.')
    RunAwayDirection('E');
    Wait(8500 + random(3500));
    RunBack;
    end;
    Wait(10);
    FindTalk;
    end;


    //->Anti Ban<-//
    Var
    WCLEVEL, DONTBAN : Integer;

    Procedure TheAntiBan;
    begin
    TheAntiRandoms;
    Status('Preforming Antiban')
    if ( not ( LoggedIn )) then Exit;
    DONTBAN:= 1 + Random(140)
    case DONTBAN of
    1: RandomRClickEvery(2 + Random(10));
    2: HoverSkill('woodcutting', false);
    3: HoverSkill('random', false);
    4: DoEmote(1 + Random(20));
    6: PickUpMouse;
    9: MMouse(MSX1,MSX2,10,10)
    12: GameTab(1+random(7))
    13: HighestAngle;
    14: TypeSend('Lol my wc lvl is ' +IntToStr (WClevel) + '.')
    15: TypeSend('Wc lvl ' +IntToStr (WClevel) + '! Sweet!')
    16: TypeSend('Grr, my wc lvl is only ' +IntToStr (WClevel) + '')
    17: GetSkillLevel('WoodCutting')
    18: GameTab(1+Random(7))
    21: TypeSend('I''m lvl ' +IntToStr (WClevel) + ', but I want ' +IntToStr (WClevel + 3 + Random(8)) + '')
    22: TypeSend('' +IntToStr (WClevel) + ' woodcuting.../')
    23: TypeSend('I can''t wait till im lvl ' +IntToStr (WClevel + 4 + Random(7)) + '')
    24: TypeSend('Hmm... im only lvl ' +IntToStr (WClevel) + ' woodcutting... i should go for ' +IntToStr (WClevel + 6 + Random(8))+'')
    25: TypeSend('yay... lvl ' +IntToStr (WClevel) + 'wc... still...')
    26: TypeSend('cool! only ' + IntToStr (10+random(8)) + 'k xp till lvl ' +IntToStr (WClevel + 1 + random(4)) + ' wc')
    27: TypeSend('WC lvl ' +IntToStr (WClevel) + '')
    28: TypeSend('hmph... only ' +IntToStr (WClevel) + '')
    end;
    TheAntiRandoms;
    end;


    //->Get Axe Colors<-//
    Procedure GetAxeColors;
    Begin
    Wait(100)
    MakeCompass('S');
    GameTab(4)
    FindAxeHeadColor;
    MakeCompass('N')
    end;


    //->Ent Checker<-//
    Var
    EX, EY : integer;
    FX, FY : integer;
    Procedure EntChecker;
    Begin
    Status('Checking For Ent')
    Flag;
    If (FindObjMultiText(EX, EY, TheTreeName, TheTreeName, TheTreeName, Treecolor, 4)) then
    Begin
    MMouse(Ex, EY, 0, 0)
    If FindColorTolerance( FX, FY, 55769, 85, 15, 115, 15, 20) then
    Begin
    Status('Ent Found');
    MouseFindFlag(648,83,5,5);
    Wait(15000+Random(5000));
    EntsAvoided := EntsAvoided + 1
    end;
    end;
    end;


    //->Check for Broken Axe<-//
    Var
    BX, BY, NX, NY : integer;

    Procedure IsAxeBroken;
    Begin
    Status('Checking for broken axe')
    GameTab(4)
    Wait(400 + Random (100))
    If (Not(FindDTM(BrokenAxeDTM, BX, BY, MIX1, MIY1, MIX2, MIY2 ))) then
    Begin
    Status('Axe Not Broken')
    Exit;
    end;
    Begin
    If (FindDTM(BrokenAxeDTM, BX, BY, MIX1, MIY1, MIX2, MIY2 )) and
    (Not(FindDTM(RegularAxeDTM, NX, NY, MIX1, MIY1, MIX2, MIY2))) then
    Begin
    Status('Broke an Axe, and you have no more.')
    NextPlayer(False)
    end;
    end;
    end;


    //->Axe Head Finder<-//
    Procedure TheFindAxe;
    Begin
    Status ('Looking For Axe')
    FindHead;
    end;


    //->Start Chopping<-//
    Var
    TX, TY : Integer;

    Procedure StartChopping;
    Begin
    Repeat
    Begin
    IsAxeBroken;
    Status('Looking For Oak')
    If (InvFull) then
    Begin
    Exit;
    end;
    If ( Not (LoggedIn) ) Then NextPlayer (False)
    EntChecker;
    If ( Not (LoggedIn) ) Then NextPlayer (False)
    If (FindObjMultiText(TX, TY, TheTreeName, TheTreeName, TheTreeName, Treecolor, 4)) then
    Begin
    Mouse(TX, TY, 3, 3, True)
    Wait( 100 + Random (200) )
    TheAntiRandoms;
    Wait(10)
    TheAntiBan;
    Wait(10)
    If ( Not (LoggedIn) ) Then NextPlayer (False)
    Wait(10)
    EntChecker;
    Wait(10)
    TheFindAxe;
    Wait(4000+Random(1000))
    end;
    end;
    Until (InvFull)
    end;


    //->Start Dropping<-//
    Var
    LX, LY, DroppedLogsCount : Integer;

    Procedure StartDropping;
    Begin
    If (InvFull) then
    Begin
    GameTab(4)
    DroppedLogsCount := CountItemDtm(LogDTM) + 6
    Repeat
    GameTab(4)
    If (FindDTM(LogDTM, LX, LY, MIX1, MIY1, MIX2, MIY2)) then
    begin
    Mouse(LX, LY, 8, 8, false)
    ChooseOption(x,y,'Drop')
    If ( Not (LoggedIn) ) Then NextPlayer (False)
    TheAntiRandoms;
    wait(400+random(100))
    end;
    Until (Not(FindDTM(LogDTM, LX, LY, MIX1, MIY1, MIX2, MIY2)))
    LoadNumber := LoadNumber + 1
    end;
    end;

    //->Progress Report<-//
    Procedure ReportIt;
    Begin
    SRLRandomsReport;
    WriteLn('[>-----------------------FOURS-REPORT-----------------------<]')
    WriteLn('[>Script Time: ' + (TimeRunning) + '')
    WriteLn('[>Logs Chopped: ' + IntToStr (TotalLogs) + '')
    WriteLn('[>XP Gained: ' + IntToStr (TotalXP) + '')
    WriteLn('[>----------------------------------------------------------<]')
    end;


    //->Main Stuff<-//
    begin
    wait(1200)
    MySetupScript;
    SafeInitForm;
    SafeShowFormModal;
    Convert2;
    Begin
    If (Not(LoggedIn)) then
    Begin
    Status('Logging In')
    Loginplayer;
    end;
    end;
    GetRandomLoad;
    HighestAngle;
    MakeCompass('N')
    WCLEVEL := GetSkillLevel('WoodCutting')
    Repeat
    StartXP := GetXp('Woodcutting')
    GetAxeColors;
    Repeat
    DisguiseScar('[' + IntToStr(LoadNumber) + '/' +IntToStr(RandomLoad) + '] ' +(Players[CurrentPlayer].name) + '')
    StartChopping;
    If ( Not (LoggedIn) ) Then NextPlayer (False)
    StartDropping;
    EndXP := GetXp('Woodcutting')
    TotalLogs := TotalLogs + DroppedLogsCount
    TotalXP := (EndXP - StartXP) + (TotalXP)
    ReportIt;
    GetAxeColors;
    Until (LoadNumber >= RandomLoad)
    LogOut;
    NextPlayer(True);
    LoadNumber := 0
    GetRandomLoad;
    HighestAngle;
    MakeCompass('S')
    WCLEVEL := GetSkillLevel('WoodCutting')
    If ( Not (LoggedIn) ) Then NextPlayer (False)
    Until False;
    end.

    So if this is the script where should I start to copy
     
  7. Unread #4 - Apr 17, 2007 at 9:58 PM
  8. Town
    Joined:
    Jan 21, 2007
    Posts:
    3,776
    Referrals:
    3
    Sythe Gold:
    5

    Town Grand Master
    Scar Programmers

    How to use SCAR?

    Copy the entire thing into Scar.
     
  9. Unread #5 - Dec 27, 2007 at 8:32 AM
  10. skullkid
    Referrals:
    0

    skullkid Guest

    How to use SCAR?

    it always says failed when compiling ffs!!
     
< Have ever autoalched to 82+ mage? | Has anyone ever seen this error before? >

Users viewing this thread
1 guest
Thread Status:
Not open for further replies.


 
 
Adblock breaks this site