Results 1 to 6 of 6

Thread: Request simple christmas event summoning script

  1. #1
    Join Date
    Dec 2017
    Posts
    3
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Request simple christmas event summoning script

    Just needs sit at g/e, channel rift and click anomalies when they appear.

    Could somebody make this really quick so I can get an untrimmed summoning cape please?

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

    Default

    I'm not sure what the Christmas event entails, but is this what you're looking for?

    https://villavu.com/forum/showthread.php?t=117995
    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

  3. #3
    Join Date
    May 2012
    Location
    Glorious Nippon
    Posts
    1,011
    Mentioned
    50 Post(s)
    Quoted
    505 Post(s)

    Default

    Quote Originally Posted by KeepBotting View Post
    I'm not sure what the Christmas event entails, but is this what you're looking for?

    https://villavu.com/forum/showthread.php?t=117995
    I don't think he has permission to see that

  4. #4
    Join Date
    Dec 2017
    Posts
    3
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Citrus View Post
    I don't think he has permission to see that
    Yeah, I can't see it

    I'm new around here, really only kinda familiar with java and don't have time to learn this before the event ends.
    Figured maybe someone could throw one together really fast as its the most simple task possible lol.
    I could pay ingame gold if anyone can help?
    Would probably only take like 30 min for someone who knows what they are doing.

  5. #5
    Join Date
    Dec 2017
    Posts
    3
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Or if someone can just link me to a basic script that looks for an object and clicks it, I could prob figure out how to edit the rest myself.

  6. #6
    Join Date
    Oct 2007
    Posts
    187
    Mentioned
    7 Post(s)
    Quoted
    61 Post(s)

    Default

    Simba Code:
    program new;
    /////////////////////////////////
    //                             //
    //    Author: Klamor           //
    //    Date: 12/16/17           //
    //    XMAS EVENT AFK           //
    //                             //
    /////////////////////////////////

    {$DEFINE SMART}              // Always have this to load smart
    {$I SRL-6/SRL.simba}         // To load the SRL include files

    /////////////////////////////////
    //                             //
    //        PLAYER SETUP         //
    //                             //
    /////////////////////////////////
    const
      OBJECT_TYPE = 1; // '0' for Energy Rift - '1' for Power Generator
    /////////////////////////////////
    //                             //
    //          END SETUP          //
    //                             //
    /////////////////////////////////

    function findPowerGenerator(hoverNext: Boolean = false): Boolean;
    var
      i, next, x, y: Integer;
      bATPA, gATPA: T2DPointArray;
      bTPA, gTPA: TPointArray;
    begin
      findColorsSpiralTolerance(x, y, gTPA, 11503521, mainScreen.getBounds(), 13, colorSetting(2, 0.60, 0.67));
      if (Length(gTPA) < 1) then
      begin
        writeLn('length(gTPA) < 1');
        exit;
      end;

      findColorsSpiralTolerance(x, y, bTPA, 16772483, mainScreen.getBounds(), 1, colorSetting(2, 0.23, 0.00));
      if (Length(bTPA) < 1) then
      begin
        writeLn('length(bTPA) < 1');
        exit;
      end;

      gATPA := gTPA.toATPA(35, 35);
      gATPA.sortFromMidPoint(Mainscreen.playerPoint); // Sort found colors
      bATPA := bTPA.toATPA(35, 35);
      bATPA.sortFromMidPoint(Mainscreen.playerPoint); // Sort found colors

      for i := 0 to high(gATPA) do                    //run through all purple ring colors tpa
      begin
        if random(100) > 20 then
          for 0 to random(16) do                      //pick a random of the first 16 results to avoid clicking the same spot
            i := random(16);
        if bATPA[0].isPointNear(middleTPA(gATPA[i]), 100) then // Check for gtpa[i] to be within 100px of btpa[0]
        begin
          mouse(gATPA[i].getBounds().getRandomPoint());
          if isMouseOverText(['Power Generator'], (600 + random(200))) then
            if hoverNext then
              exit(true)
            else if (random(4) <> 0) then          // 75% chance of left click
            begin
              getMousePos(x, y);
              if not isMouseOverText(['Power Generator'], (600 + random(200))) then exit(false);   //double check so we don't miss!
              result := multiClick([x, y], 15, 3); // If left click, 15% chance to multi-click
              smallRandomMouse();
              break();
            end else
            begin
              fastClick(MOUSE_RIGHT);
              wait(600 + random(200));
              if chooseOption.select(['inker']) then
              begin
                smallRandomMouse();
                exit(true);
              end;
            end;
        end;
      end;
    end;

    function findEnergyRift(hoverNext: Boolean = false): Boolean;
    var
      i, next, x, y: Integer;
      bATPA, gATPA: T2DPointArray;
      bTPA, gTPA: TPointArray;
    begin
      findColorsSpiralTolerance(x, y, gTPA, 6482933, mainScreen.getBounds(), 10, colorSetting(2, 0.11, 1.28));
      if (Length(gTPA) < 1) then
      begin
        writeLn('length(gTPA) < 1');
        exit;
      end;

      findColorsSpiralTolerance(x, y, bTPA, 16311465, mainScreen.getBounds(), 17, colorSetting(2, 0.26, 0.92));
      if (Length(bTPA) < 1) then
      begin
        writeLn('length(bTPA) < 1');
        exit;
      end;

      gATPA := gTPA.toATPA(75, 75);
      gATPA.sortFromMidPoint(Mainscreen.playerPoint); // Sort found colors
      bATPA := bTPA.toATPA(75, 75);
      bATPA.sortFromMidPoint(Mainscreen.playerPoint); // Sort found colors

      for i := 0 to 2 do                    //run through all blue orb colors tpa
        if gATPA[0].isPointNear(middleTPA(bATPA[i]), 10) then // Check for btpa[i] to be near gtpa[0]
        begin
          mouse(bATPA[i].getBounds().getRandomPoint());

          if isMouseOverText(['Energy rift'], (600 + random(200))) then
            if hoverNext then
              exit(true)
            else if (random(4) <> 0) then          // 75% chance of left click
            begin
              getMousePos(x, y);
              if not isMouseOverText(['Energy rift'], (600 + random(200))) then exit(false);   //double check so we don't miss!
              result := multiClick([x, y], 15, 3); // If left click, 15% chance to multi-click
              smallRandomMouse();
              break();
            end else
            begin
              fastClick(MOUSE_RIGHT);
              wait(600 + random(200));
              if chooseOption.select(['hannel']) then
              begin
                smallRandomMouse();
                exit(true);
              end;
            end;
        end;
    end;

    procedure declarePlayers();
    begin
      setLength(players, 1);
      with players[0] do
      begin
        loginName := 'username';
        password := 'world';
        isActive := true;
        isMember := false;
        world := -1;
      end;
      currentPlayer := 0;
    end;

    procedure loginToGame();
    begin
      if isLoggedIn() then exit;

      players[currentPlayer].login();
      wait(600 + random(300));
      minimap.clickCompass();
      wait(600 + random(300));
      mainScreen.setZoom(true);
      wait(600 + random(300));
      exitTreasure();
    end;


    procedure initPlayer();
    begin
       declarePlayers();
       if not isLoggedIn() then
        loginToGame();
    end;

    procedure antiBanER();
    begin
      case random(100) of
        0..33: sleepAndMoveMouse(15000 + random(10000));
        34..68: mouseMovingObject();
        69..82: mouseOffClient(random(4), randomRange(45000,90000));
        83..89: findEnergyRift(true);
        90..98: hoverSkill(SKILL_RUNECRAFTING);
        99: hoverRandomSkill();
      end;
    end;

    procedure antiBanPG();
    begin
      case random(100) of
        0..33: sleepAndMoveMouse(15000 + random(10000));
        34..68: mouseMovingObject();
        69..82: mouseOffClient(random(4), randomRange(45000,90000));
        83..89: findPowerGenerator(true);
        90..98: hoverSkill(SKILL_CRAFTING);
        99: hoverRandomSkill();
      end;
    end;

    procedure afkER();
    var
      fail, wait: integer;
      clickTimer: TTimeMarker;
    begin
      fail := 0;
      wait := (45000 + random(15000));
      repeat
        clickTimer.start();
        if not isLoggedIn() then
          begin
            writeLn('Were not logged in for some reason. Terninating for safety!');
            terminateScript();
          end;
        if (fail > 100) then
          begin
            writeLn('Havent found the Orb in 100 tries! Terminating for safety!');
            terminateScript();
          end;
        if not findEnergyRift(false) then
          inc(fail)
        else
        begin
          repeat
            antiBanER();
          until (clickTimer.getTime() >  wait);
          clickTimer.reset();
          fail := 0;
        end;
      until (players[currentPlayer].worked.getTime() > round(60000 * 2.75 * 60));
    end;

    procedure afkPG();
    var
      fail, wait: integer;
      clickTimer: TTimeMarker;
    begin
      fail := 0;
      wait := (45000 + random(15000));
      repeat
        clickTimer.start();
        if not isLoggedIn() then
          begin
            writeLn('Were not logged in for some reason. Terninating for safety!');
            terminateScript();
          end;
        if (fail > 100) then
          begin
            writeLn('Havent found the Orb in 100 tries! Terminating for safety!');
            terminateScript();
          end;
        if not findPowerGenerator(false) then
          inc(fail)
        else
        begin
          repeat
            antiBanPG();
          until (clickTimer.getTime() >  wait);
          clickTimer.reset();
          fail := 0;
        end;
      until (players[currentPlayer].worked.getTime() > round(60000 * 2.75 * 60));
    end;

    begin
      ClearDebug();
      disableSRLdebug = true;
      initPlayer();
      players[currentPlayer].worked.start();
      case OBJECT_TYPE of
        0: afkER();
        1: afkPG();
      end;
    end.

    it doesn't click the anomalies, and you may need to update the colors to work with a bigger variety of angles

Thread Information

Users Browsing this Thread

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

Posting Permissions

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