Results 1 to 12 of 12

Thread: Eternal Lands scripts

  1. #1
    Join Date
    Aug 2008
    Location
    Serdia, Isla Prima
    Posts
    68
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default Eternal Lands scripts

    Here are a few of the scripts that I wrote for Eternal Lands. Most of them are around 80% done, with mostly fine tuning and failsafes left to implement.

    These are my first scripts and critism is welcome

    This one is to Create Matter Essence.
    SCAR Code:
    program MatterEssies_V3;
    {.include SRL/SRL.scar}
    var
    { Iron,}
      Scrll,                    //Scrollbar selection
      x, y,                     //x,y = Coords
      Width, Hight  : Integer;  //For client dimensions

    const
      FoodBar = 3389367;

    {
    procedure LoadDTMs;
    begin
      Scrll := DTMFromString('78DA639CC6C0C0F08E01051C99980CA619A17' +
           'C46909A6704D44C05123F09A89941849A9944B8672611EE9942A4' +
           '1A0276010029A019F2');
    end;
    }

    function FoodLow:Boolean;
    begin
      Result := False;
      if (GetColor(222, 704) <> FoodBar) then
        begin
          WriteLn('Food Low!')
          Result := True
        end;
    {  else
        begin
          WriteLn('Food still OK!')
          exit
        end}

    end;

    procedure Click20;
    var
      Inv20 : Integer;
    begin
      Inv20 := DTMFromString('78DA63D4656660B8C6C4800C4C23368069462' +
           '89F5103A8E62A116AEE105003B2EB36AA1A5DEFE9A86A0C806A6E' +
           '1130C708D32EEFDA9FA86A4C8930C718A8E60AAA1AE3D055286A0' +
           '0AB0312A6');
      if FindDTM(Inv20, x, y, 780, 720, 845, 735) then
        begin
          MMouse(x, y, 5, 5)    //Move mouse to found coords
          WriteLn('Moved to 20')
          Mouse(x, y, 5, 5, True)
          WriteLn('20 Clicked!')
        end
      else
        begin
          WriteLn('20 DTM not found') //Write if DTM not found
          FreeDTM(Inv20)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(Inv20);
    end;

    procedure GetQuartz;
    var
      Quartz  : Integer;
    begin
      Quartz := DTMFromString('78DA636463606060624001FF7FDF01D38C503' +
           'E233B90904455F3F1F5295435BC986A7EBDDB8EAA460048B0A3AA' +
           'F9FBF72DA61A0134F7FCFB84AA06E45E0954358766E562AAE1435' +
           '5F3F9D1024C3568EEF9FFFF3FA67B84D1D4FCB889A98617CD5FBF' +
           'DFA1A801004F5A1BEF');
      if FindDTM(Quartz, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 5, 5)    //Move mouse to found coords
          Wait(500 + random(200))
          WriteLn('Moved to Quartz')
          Mouse(x, y, 5, 5, True)
          Wait(500 + random(200))
          WriteLn('Quartz Clicked!')
          MMouse(650, 420, 0,0)
          Wait(600 + random(200))
          Mouse(650, 420, 5, 5, True)
          WriteLn('Dropped Quartz in Inventory!');
          Wait(500 + random(200))
        end
      else
        begin
          WriteLn('Quartz DTM not found') //Write if DTM not found
          FreeDTM(Quartz)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(Quartz);
    end;

    procedure GetRQuartz;
    var
      RQuartz  : Integer;
    begin
      RQuartz := DTMFromString('78DA6364676060E06340017FDF2D06D38C503' +
           'E231B90604255F3FFD74B5435424082154DCDBB27A86A40F648A2' +
           'AA591E618EAA86054848A0AA79D3E983AA06E416215435FFFEBCC' +
           '654C38EE69EFFFF51D50802097E34BFFF3E88A2060036A01498');
      if FindDTM(RQuartz, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 5, 5)    //Move mouse to found coords
          Wait(500 + random(200))
          WriteLn('Moved to Rose Quartz')
          Mouse(x, y, 5, 5, True)
          Wait(500 + random(200))
          WriteLn('Rose Quartz clicked!')
          MMouse(650, 420, 0,0)
          Wait(600 + random(200))
          Mouse(650, 420, 5, 5, True)
          WriteLn('Dropped Rose Quartz in Inventory!');
          Wait(500 + random(200))
        end
      else
        begin
          WriteLn('Rose Quartz DTM not found') //Write if DTM not found
          FreeDTM(RQuartz)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(RQuartz);
    end;

    procedure GetBQuartz;
    var
      BQuartz  : Integer;
    begin
      BQuartz := DTMFromString('78DA6364636060E06740017D3B2F836946289' +
           'F11A4860955CDB1D7FF51D588030976543537BEA0A911011242A8' +
           '6A26EEBD81AA46004848A1AA49AA9B80AA86154848A2AA718B6B4' +
           '055036208A0AAA9BCF809550DC84FACA86AEAA6CF425103003782' +
           '110C');
      if FindDTM(BQuartz, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 5, 5)    //Move mouse to found coords
          Wait(500 + random(200))
          WriteLn('Moved to Blue Quartz')
          Mouse(x, y, 5, 5, True)
          Wait(500 + random(200))
          WriteLn('Blue Quartz clicked!')
          MMouse(650, 420, 0,0)
          Wait(600 + random(200))
          Mouse(650, 420, 5, 5, True)
          WriteLn('Dropped Blue Quartz in Inventory!')
          Wait(500 + random(200))
          Mouse(650, 420, 5, 5, False)
        end
      else
        begin
          WriteLn('Blue Quartz DTM not found') //Write if DTM not found
          FreeDTM(BQuartz)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(BQuartz);
    end;

    procedure TransferQuartz;
    begin
          MMouse(55, 513, 0,0)
          Wait(600 + random(200))
          Mouse(55  + random(5), 513 + random(5), 5, 5, True)
          WriteLn('Added Quartz in Manu Window!');
          Wait(500 + random(200))
    end;

    procedure TransferRQuartz;
    begin
         MMouse(85, 513, 0,0)
          Wait(600 + random(200))
          Mouse(85  + random(5), 513 + random(5), 5, 5, True)
          WriteLn('Added Rose Quartz in Manu Window!');
          Wait(500 + random(200))
    end;

    procedure TransferBQuartz;
    begin
          MMouse(115, 513, 0,0)
          Wait(600 + random(200))
          Mouse(115  + random(5), 513 + random(5), 5, 5, True)
          WriteLn('Added Blue Quartz in Manu Window!');
          Wait(500 + random(200))
    end;

    procedure GetIngredients;
    begin
      Click20;
      GetQuartz;
      GetRQuartz;
      GetBQuartz;
    end;

    procedure GetManuIngreds;
    begin
      TransferQuartz;
      TransferRQuartz;
      TransferBQuartz;
    end;

    procedure StartManu;
    var
      ManuAll : Integer;
    begin
      ManuAll := DTMFromString('78DA634C676460E0626640064726268369462' +
           '89F3101C862475563A9258BA98697809A6C22D510B2AB88B09B01' +
           '93580840');
      if FindDTM(ManuAll, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 5, 5)    //Move mouse to found coords
          Wait(500 + random(200))
          WriteLn('Moved to Manu All Button')
          Mouse(x, y, 5, 5, True)
          WriteLn('Manu All Button pressed!');
          Wait(500 + random(200))
        end
      else
        begin
          WriteLn('Manu All Button DTM not found') //Write if DTM not found
          FreeDTM(ManuAll)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(ManuAll);
    end;

    function ManuStopped:Boolean;
    var
      Stopped : Integer;
    begin
      Result := False
      Stopped := DTMFromString('78DA630C61606038CFC4800C363B388069462' +
           '89F3108489C465573D5D717554D04A69AE53636A86A40765D4655' +
           'F32D3212554D38A69A95B6B6A86A6230D57C898840550332F602A' +
           'A9A2C35355435B140E22CAA9A7B0101A86AE231CD99666686AA26' +
           '01D31C1880AB4902129750D5ACB1B34355934A84BF3230D564A0F' +
           'B2B1DD3CD1876A563BA79B685058A1A008B8F22FA');
      if FindDTM(Stopped, x, y, 7, 600, 35, 620) then
        begin
          MMouse(x, y, 5, 5)    //Move mouse to found coords
          Wait(500 + random(200))
          WriteLn('Stopped Manu')
          StartManu;
          Wait(500 + random(200))
          Result := True
        end
      else
        begin
          WriteLn('Stopped DTM not found') //Write if DTM not found
          FreeDTM(Stopped)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(Stopped);
    end;

    begin
      SetupSRL;
      ClearDebug;
      ActivateClient;
      GetClientDimensions(Width, Hight);
      GetIngredients;
      GetManuIngreds;
      StartManu;
      While (FoodLow <> True) do
      begin
        while (ManuStopped <> True) do
          StartManu;
       end;
      WriteLn('Done!');
    end.

    This one is the money maker script. It harvest lilacs and sell them at the flower seller.
    SCAR Code:
    program HarvestLilacs_V3;
    {.include SRL/SRL.scar}

    var
      x, y,                     //x,y = Coords
      Width, Hight  : Integer;  //For client dimensions

    const
      LilacsColor = 8735080;
      FoodBar = 3389367;

    procedure FlowerShop;
    var
      FlowerShopDot  : Integer;
    begin
      FlowerShopDot := DTMFromString('78DA636461646038C38002BEB75D63E002D24' +
           '01986FF40C0C801645D465523C0CB03A619A17C461E20EB14AA1A' +
           '05513E543520BB8EA2AA6161624455F31F489C4555C3C18EAA060' +
           '0BEF20C01');
      if FindDTM(FlowerShopDot, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)    //Move mouse to found coords
          Wait(500 + random(200))
          WriteLn('Moved to FlowerShop Dot')
          Mouse(x + 13, y + 13, 3, 3  , True)
          Wait(500 + random(200))
          WriteLn('FlowerShop Dot Clicked!')
          Wait(500 + random(200))
        end
      else
        begin
          WriteLn('FlowerShop Dot DTM not found') //Write if DTM not found
          FreeDTM(FlowerShopDot)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(FlowerShopDot);
    end;

    procedure LilacsMap;
    var
      Lilacs  : Integer;
    begin
      Lilacs := DTMFromString('78DA63B4626460F0674001E21AFC0C5C401A2' +
           '8C3F01F0818416A2A51D5D467E9826946289FB10CC8F245555363' +
           'C38DAA461AD32EF9D06A5435A940563AAA1A135B0954351298EEC' +
           '9D7F342510300754C0C65');
      if FindDTM(Lilacs, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)    //Move mouse to found coords
          Wait(500 + random(200))
          Mouse(x, y, 5, 5, True)
          Wait(500 + random(200))
        end
      else
        begin
          WriteLn('Lilacs DTM not found') //Write if DTM not found
          FreeDTM(Lilacs)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(Lilacs);
    end;

    function Full:Boolean;
    begin
      Result := False;
      if(GetColor(545, 708) = 5263491) then  //Checl to see if EMU bar full
        Result := True
      else
        Result := False;
    end;

    Procedure HarvestLilacs;
    var
      x, y  : Integer;
    begin
      if(FindColorTolerance(x, y, LilacsColor, 0, 0, Width, Hight, 20)) then
        begin
          MoveMouseSmoothEx(x, y + random(5), 20, 40, 45, 25, 20)
          Wait(500 + random(100))
          Mouse(x, y, 5, 5, True)
        end
      else
        WriteLn('Lilacs not found :(');
      repeat
        Wait(10000 + random(500))
        WriteLn('GetColor = ' + IntToStr(GetColor(546, 708)))
      until (Full = True);
    end;

    procedure EnterFlowerShop;
    var
      x, y  : Integer;
    begin
    //9212562 3179952 if (FindColorTolerance(x, y, 5914628, 370, 220, 555, 318, 10)) then
      if (FindColoredAreaTolerance(x, y, 13159886, 333, 333, 510, 400, 2, 5)) then
        begin
          MoveMouseSmoothEx(x, y, 20, 40, 45, 25, 20)
          Wait(1000 + random(100))
          Mouse(x , y + 10, 5, 2, True)
        end
      else
        WriteLn('Awning not found!');

    end;

    procedure WalkToCounter;
    var
      FlowerShopCntr  : Integer;
    begin
      FlowerShopCntr := DTMFromString('78DA633462626030606440064ADC0C0C5C401' +
           'A24FA1F08184D816AFC51D5F059B2C3D58000A314508D3EAA1A43' +
           '510654352E98766909A1A93104AA514455E32C87A6460EA826005' +
           '58D480A1FAA1A2F4C357CBE9C286A001C2F09AB');
      if FindDTM(FlowerShopCntr, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)    //Move mouse to found coords
          Wait(500 + random(200))
          WriteLn('Moved to FlowerShop Counter')
          Mouse(x + 13, y + 13, 3, 3  , True)
          Wait(500 + random(200))
          WriteLn('FlowerShop Counter Clicked!')
          Wait(500 + random(200))
        end
      else
        begin
          WriteLn('FlowerShop Counter DTM not found') //Write if DTM not found
          FreeDTM(FlowerShopCntr)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(FlowerShopCntr);
    end;

    procedure ExitFlowerShop;
    var
      FlowerShopDoor  : Integer;
    begin
      FlowerShopDoor := DTMFromString('78DA635CC4C8C0D00CC448A0B2AE81811F488' +
           '344FF0301E30C20AB09554D6A560E5C0D0830CE04B24A51D50405' +
           '07A3AA01D95586AA2630201055CD5A20AB1E558DB18A14AA9A894' +
           '0561DAA1A3521765435AB81AC7654359EEECEA86AA66151E3E181' +
           'A206004D41147C');
      if FindDTM(FlowerShopDoor, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)    //Move mouse to found coords
          Wait(500 + random(200))
          WriteLn('Moved to FlowerShopDoor')
          Mouse(x + 13, y + 13, 3, 3  , True)
          Wait(500 + random(200))
          WriteLn('FlowerShopDoor Clicked!')
          Wait(500 + random(200))
        end
      else
        begin
          WriteLn('FlowerShopDoor DTM not found') //Write if DTM not found
          FreeDTM(FlowerShopDoor)
          Exit  //Exit script as item not found
        end;
      Wait(1000+random(500)); //Wait to make it look more natural
      FreeDTM(FlowerShopDoor);
    end;

    begin
      ClearDebug;
      SetupSRL;
      ActivateClient;
      GetClientDimensions(Width, Hight);
      SendKeys(chr(9));
      Wait(2000 + random(500));
      LilacsMap;
      SendKeys(chr(9));
      Wait(25000 + random(2000));
      HarvestLilacs
      Wait(1000 + random(500));
      ActivateClient;
      SendKeys(chr(9));
      Wait(2000 + random(500));
      FlowerShop;
      SendKeys(chr(9));
      Wait(25000 + random(2000));
      ActivateClient;
      EnterFlowerShop;
      Wait(4000 + random(500));
      WalkToCounter;
      WriteLn('Done!');
      WriteLn('Worked for : ' + TimeRunning);
    end.

    This one is a magic trainer. Uses Matter Essence to cast the shield spell
    SCAR Code:
    program MagicTrainerIP;
    {.include SRL/SRL.scar}
    var
      Width,Hight,
      x, y, Cast     : Integer;

    procedure OpenInv;
    var
      InvButton      : integer;

    begin
      InvButton := DTMFromString('78DA63FCC2C0C0708F890119246B708069462' +
           '89F11A4E612AA9AA38B2250D580587751D564B8C8A1AA7906241E' +
           'A2AAB19747B3EB33907883AAC64D851755CD7F20F11C55CDC4546' +
           'D143500F1350F35');
      if FindDTM(InvButton, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
          Exit
        end
      else
        WriteLn('InvButton not found!');
      FreeDTM(InvButton);
    end;

    procedure CloseInv;
    var
      InvButton2      : integer;

    begin
      InvButton2 := DTMFromString('78DA63FCCAC0C0708789011944E93030F0036' +
           '94620FE0F048C8C40D63D54354E2A1C609A11CA67FC02245EA3AA' +
           '6971634255F38C01C31C4B053473DE00898BA86A1AA2D451D5FCC' +
           '654F37296138A1A00FD5812E8');
      if FindDTM(InvButton2, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
          Exit
        end
      else
        WriteLn('InvButton not found!');
      FreeDTM(InvButton2);
    end;

    procedure CheckFastRegen;
    var
      FastRegenCloak : Integer;
    begin
      FastRegenCloak := DTMFromString('78DA639CC2CCC07090910119DCBC7593811F4' +
           '88344FF0301E33CA09AF3A86AE6CF9F0F5703028C1D4035E750D5' +
           '64E767A3AAE906AAD986AAA6ACA20C55CD6C4C35354D35986AD0D' +
           'C0C7426AA9A4EA09AFDA86A6000260A001D501958');
      if FindDTM(FastRegenCloak, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)
    //      Mouse(x, y, 5, 5, True)
          Exit
        end
      else
        WriteLn('FastRegen Cloak not equipt!');
      FreeDTM(FastRegenCloak);
    end;

    procedure Select20;
    var
      Inv20   : Integer;
    begin
      Inv20 := DTMFromString('78DA63D467666078C0C4800CECD2CF31F0036' +
           '94620FE0F048CC64035F751D598466C00D38C503E23C89C27A86A' +
           'BC6B7FA1AA31C5A6E627AA1A6DA09ABB04ECB2C054A3E9D289A20' +
           '6009E461306');
      if FindDTM(Inv20, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
          Exit
        end
      else
        WriteLn('20 not found!');
      FreeDTM(Inv20);
    end;

    procedure FindFood;
    var
      Word_Food   : Integer;
    begin
      Word_Food := BitmapFromString(31, 12, 'beNpTkGKgJYhyt6pM8EN' +
           'GDsaalBiY7OcANCTawwrILovz+Xhg9tLmLAg6Mb8xM9iZEsNbMkNX' +
           'teeuas8DsvVV5d7snmGpqwpkS4sJTSlLgBuupyILlAUiPRU5ZO14x' +
           'E00FV3NdIKdTCGGayhIAQ03VFcAsm0N1eGGm2opXVrWfmddLxBdWt' +
           '4O5EJMIEYczXBfWyMgAjLcLfSATgLaBZQNdDBxNdcFoiBH05VtuUY' +
           'aCsSIu1noAsMZ2fCLy9qACMgAcoGCQMcDvaAiIw5xFZAB8RGR4mgu' +
           'tzfSMNNWXtGaoyQtBjccOTyRDSEojjXMZcSEILIQxXCuDCyiiRSHG' +
           '26uoww03NlUGxIgEGBroA5Mlt7WBhY6KkDkZW2wrCXbxkCdGHE7I4' +
           '3LKzqAhgMNBMp+PzIfGAU1yQHI/gUG1PPtU4DiQPRix1Q7Qw3ixcN' +
           'dLb4cmpse5GSkrgC0Goh0lGXQsoO1vhpECsggSVxNTgJIagAA+/nx' +
           'Sw==');
      if FindBitMap(Word_Food, x, y) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
        end
      else
        WriteLn('Food not found!');
      FreeBitmap(Word_Food);
    end;

    procedure GetVeggies;
    var
      Veggies   : Integer;
    begin
      Veggies := DTMFromString('78DA63FCC2C0C0F08201057C9FA7C8C00FA41' +
           '981F83F10307E06323EA3AAB99F2A015703028CAF80C433543539' +
           '5AECA86A9880ACC7A86A1AF79BA3AA01D9730F558DB9353FAA9AF' +
           'F40E203AA9A092A0AA86A5E038937A86A3A6D0450D4000052F917' +
           'D3');
      if FindDTM(Veggies, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
          MoveMouseSmoothEx(686 + random(20), 418 + random(20), 1, 3, 45, 20, 10)
          GetMousePos(x, y)
          Mouse(x, y, 15, 15, True)
        end
      else
        WriteLn('Veggies not found!');
      FreeDTM(Veggies);
    end;

    procedure FindEssence;
    var
      Word_Essence  : Integer;
    begin
      Word_Essence := BitmapFromString(64, 11, 'beNrVVEtrE1EYzU/Q' +
           '2ibmHZNJMmmS6WRs8yCZmEabaOzDtIuqtFoMKAqN+ECIkIWITaAKI' +
           'i2+daONdiHuFHFRsnInttvuK7hSdO+pH1yGYebWbYeP4X5nzpzv3H' +
           'u/ey2WghJpzI3ronAwYtklz3he2ei0V1v117cvUXx5eevi1OHd4t/' +
           'euwfmp4pDlDqtPUs35ph/SXAPBD0UYa+d/bUjLgkeQrz2XqRu2z4d' +
           'ruODwNfh1GX+h/r9IY+d+Ue6vtLafHeP4vHNGvH/B1/vtJACPDuqI' +
           'h1TEzpcxx9VE3wdTl34nx5Jj6lK90mzlIono37Mjs3raEYqpyUMkG' +
           'rnq8MTYR8Gk8PbOAL424V5RfRBCvivtWeldHwkFdfxq4VBgPj0c+0' +
           'pX4fvZ+NN+9vKwo9PD48kY2yzHlw/c22mUp8uA0QhpBwcW7bamgfI' +
           'ArK0j9r+ZHXxCRstuGyEH8/KO+qY+SF9OeS9e/l0diA0W8mVMxJwj' +
           'CH1fvHKo8a5xfoppMQ3xFHi66s7ALWBKnz/bK0cfXsDLitfx8wP08' +
           'dZxpv1f7N2YiKvJKMBzPr+1dlmrUp8Q5z8YHPpMKZiAsZYE75/l7W' +
           'H8KjfGfi3Fxwdw7oRn4P00zEBkYkHmf/tvuq0hwf7S5q+NcNVOYy7' +
           'F02YT4jQqWRljGeO5Zg+GvuAo4/4os9BfLQNyHlFBJn6wUzHrO75a' +
           'vFP9wWOD4vf3efM/8lShsDvH5chyPwb4ocUEZcAwzGGZ6b/ebmBc4' +
           'eDDP0Lk0Xib31YIj7IfB2zulifnBzWBdYHn5SwL+jZTwhrNg6Ox++' +
           '06nCmj9tPcNu0+tTShOBHvo5x3b/0nfBl');
      if FindBitMap(Word_Essence, x, y) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
        end
      else
        WriteLn('Essence not found!');
      FreeBitmap(Word_Essence);
    end;

    procedure GetMatterEssies;
    var
      MatterEssies   : Integer;
    begin
      MatterEssies := DTMFromString('78DA63BCCAC0C0F0980105B0B2F233F003694' +
           '620FE0F048CB7808CB7A86AD6AC580EA619A17CC68740E225AA1A' +
           'F3A7CB50D580CCB98BAAE61CC71C5435E780C42D5435D23DAEA86' +
           'ACE0089A7A86A3A7B3A51D40000D6491643');
      if FindDTM(MatterEssies, x, y, 0, 0, Width, Hight) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
          MoveMouseSmoothEx(686 + random(20), 418 + random(20), 1, 3, 45, 20, 10)
          GetMousePos(x, y)
          Mouse(x, y, 15, 15, True)
        end
      else
        WriteLn('Matter Essies not found!');
      FreeDTM(MatterEssies);
    end;

    procedure GoToFastHeal;
    var
      FastHeal    : Integer;
    begin
      FastHeal := DTMFromString('78DA63BCCDC0C0F0910105CC6FB166E007D28' +
           'C40FC1F08181F00197F50D518450A806946289FF10A90F882AA26' +
           '3F5A1D55CD1320F101554D76A42AAA9A5B40E215AA9A804809543' +
           '57F81C4775435A58BF550D400008E7914EE');
      if FindDTM(FastHeal, x, y, 0, 0, Width, hight) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
          FreeDTM(FastHeal)
          Exit
        end
      else
        WriteLn('Fast Heal Spot not found!');
      FreeDTM(FastHeal);
    end;

    procedure QS_Shield;
    var
      Shield    : Integer;
    begin
      Shield := DTMFromString('78DA635CCFCCC0B08C01055C5C58CFC00FA41' +
           '981F83F103082D46C405533B934124C3342F98CDB806A16A0AA99' +
           'DB9C8DAA6605A69A4B6B7A50D56C05AA5983AA26DB5519D39CD5A' +
           '86A222C1451D40000C936149B');
      if FindDTM(Shield, x, y, 0, 0, Width, hight) then
        begin
          MMouse(x, y, 0, 0)
          Mouse(x, y, 5, 5, True)
          FreeDTM(Shield)
          Exit
        end
      else
        WriteLn('Quick Spell - Shield not found!');
      FreeDTM(Shield);
    end;

    procedure PressTab;
    begin
      SendKeys(chr(9));
      Wait(2000 + random(500));
      WriteLn('Tab button pressed');
    end;

    procedure BeamMe;
    begin
      SendKeysWait('#beam me', 20, 500);
      SendKeys(chr(13));
      WriteLn('Just Beamed');
    end;

    procedure SitDown;
    begin
      KeyDown(18);          //Press Alt
      sendkeys(chr(115));   //Press S
      KeyUp(18);            //Let go Alt
      WriteLn('Sit Down');
    end;

    procedure GoToIP;
    begin
      BeamMe;
      Wait(4000 + random(1000));
      PressTab;
      GoTofastHeal;
      PressTab;
      Wait(35000 + random(5000));
      SitDown;
    end;

    procedure CastShield;
    begin
      Cast := 0;
      repeat
        QS_Shield;
        Wait(1000 + random(200));
        Cast := Cast + 1;
        WriteLn(IntToStr(GetColor(42, 709)));
        MMouse(x, y, 20, 20)
      until (GetColor(42, 709) <> 12006195) or (Cast > 15);
    end;

    procedure RestoreMana;
    begin
      Cast := 0;
      repeat
        Wait(30000 + random(200));
        Cast := Cast + 1;
        WriteLn(IntToStr(GetColor(42, 709)));
        MMouse(x, y, 20, 20)
      until (GetColor(125, 709) = 12006195) or (Cast > 15);
    end;

    begin
      SetupSRL;
      ActivateClient;
      GetClientDimensions(Width, Hight);
      Cast := 0;
      Wait(1000 + random(500));
      OpenInv;
      Wait(1000 + random(500));
      CheckFastRegen;
      Wait(1000 + random(500));
      Select20;
      Wait(1000 + random(500));
      FindFood;
      Wait(1000 + random(500));
      GetVeggies;
      Wait(1000 + random(500));
      FindEssence;
      Wait(1000 + random(500));
      GetMatterEssies;
      MMouse(x, y, 50, 50);
      Wait(1000 + random(500));
      CloseInv;
      Wait(1000 + random(500));
      GoToIP;
      CastShield;
      RestoreMana;
      WriteLn('Restored');
    end.

  2. #2
    Join Date
    Jan 2007
    Posts
    8,876
    Mentioned
    123 Post(s)
    Quoted
    327 Post(s)

    Default

    What is Eternal Lands?

  3. #3
    Join Date
    Oct 2007
    Location
    The deep web
    Posts
    2,496
    Mentioned
    1 Post(s)
    Quoted
    3 Post(s)

    Default

    can u give info were they are to be used? ill test them if u can tell me.
    Did someone say GDK?

  4. #4
    Join Date
    Aug 2008
    Location
    Serdia, Isla Prima
    Posts
    68
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Eternal Lands is an online MMORGP URL

    As to where to use these scripts:
    Matter Essence maker can be used at/in any storage
    Money maker is a Lilacs harvester script for Valey of the Dwarves
    Magic trainer starts at any storage in Serdia(1st Continent) and then beams you to Isla Prima where the fast heal/restoration spot is.

  5. #5
    Join Date
    Jan 2008
    Location
    NC, USA.
    Posts
    4,429
    Mentioned
    0 Post(s)
    Quoted
    4 Post(s)

    Default

    I see alot of

    SCAR Code:
    MMouse(x, y, 2, 2)
    writeln('Blah,blah,blh')            
    mouse(x,y,0,0,true)

    Instead of that MMouse(), all's you need is mouse(). Mouse() moves the mouse andclick the co-ords.

    Also never use any kind of SendKeys() at all! use typesend() which is in SRL. IT is much less detectable. And for Cast := Cast + 1; you could do
    inc(Cast). That is for adding one to the variable. To add more than one do, incex(Cast, 5) (Five is the number geing added to the variable.) Refer to this for Inc() and IncEx

    ITs very good. I see DTM's ect.
    Good Job.
    Quote Originally Posted by irc
    [00:55:29] < Guest3097> I lol at how BenLand100 has become noidea
    [01:07:40] <@BenLand100> i'm not noidea i'm
    [01:07:44] -!- BenLand100 is now known as BenLand42-
    [01:07:46] <@BenLand42-> shit
    [01:07:49] -!- BenLand42- is now known as BenLand420
    [01:07:50] <@BenLand420> YEA

  6. #6
    Join Date
    Aug 2008
    Location
    Serdia, Isla Prima
    Posts
    68
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Thanx for the advice on the typesend and Inc() noidea. Will be modifying the scripts to incorporate these.

    Most of the MMouse and WriteLn statements are at the moment for information purposes only so I can track what it's doing. Once I'm happy the scripts are what they should be, I'll be removing these.

  7. #7
    Join Date
    Feb 2016
    Posts
    4
    Mentioned
    0 Post(s)
    Quoted
    4 Post(s)

    Default

    any more scripts on this will be highly appriciated. like harvesting scripts or mixing essence (more) scripts

  8. #8
    Join Date
    Jun 2014
    Posts
    463
    Mentioned
    27 Post(s)
    Quoted
    229 Post(s)

    Default

    Quote Originally Posted by surendra View Post
    any more scripts on this will be highly appriciated. like harvesting scripts or mixing essence (more) scripts
    It's very unlikely, this thread is from 8 years ago.. please look at the posts before grave digging
    Tsunami

  9. #9
    Join Date
    Dec 2011
    Location
    East Coast, USA
    Posts
    4,231
    Mentioned
    112 Post(s)
    Quoted
    1869 Post(s)

    Default

    Quote Originally Posted by surendra View Post
    any more scripts on this will be highly appriciated. like harvesting scripts or mixing essence (more) scripts
    And the award for the longest gravedig goes to...

    GitLab projects | Simba 1.4 | Find me on IRC or Discord | ScapeRune scripts | Come play bot ScapeRune!

    <BenLand100> we're just in the transitional phase where society reclassifies guns as Badâ„¢ before everyone gets laser pistols

  10. #10
    Join Date
    Feb 2016
    Posts
    4
    Mentioned
    0 Post(s)
    Quoted
    4 Post(s)

    Default

    lol

  11. #11
    Join Date
    Mar 2015
    Posts
    438
    Mentioned
    21 Post(s)
    Quoted
    211 Post(s)

    Default

    @Kasi; Now this would be gravedigging.

  12. #12
    Join Date
    Dec 2007
    Posts
    2,112
    Mentioned
    71 Post(s)
    Quoted
    580 Post(s)

    Default

    @Clutch; idek why you mentioned me, am i missing something?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 0
    Last Post: 02-18-2008, 10:01 AM
  2. Add ranging to chicken killing scripts, or the cow killing scripts
    By canu44 in forum RS3 Outdated / Broken Scripts
    Replies: 0
    Last Post: 12-18-2007, 07:37 AM

Posting Permissions

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