Results 1 to 14 of 14

Thread: clicking stuff in inventory slot

  1. #1
    Join Date
    Feb 2007
    Location
    Colorado, USA
    Posts
    3,716
    Mentioned
    51 Post(s)
    Quoted
    624 Post(s)

    Default clicking stuff in inventory slot

    Well I wanted to create a script to enchant rings, I wasn't sure what I should use for it? I was thinking bitmap because inventory stuff doesn't change?

    I know how to do the stuff with TPA's for like MSCX, MSCY is it MICX for main inventory? main screen C = MSC (not sure what the C stands for)
    does MIC = main inventory C or is it something different?


    here are some bitmaps (hosting sites change them to png..)






    I should be getting my new motherboard today so I'll be able to get on at home again..

    thanks for any help on which I should use / how I should do it, this will probably be my first script I put in the public scripts.. because I don't think we have anything to enchant rings right now.. (will add other colors)





    whoops sorry meant to put this in scripting help if someone can move this, hard to figure stuff out on a small ipod screen lol
    Last edited by grats; 03-24-2011 at 05:39 PM.
    The only true authority stems from knowledge, not from position.

    You can contact me via matrix protocol: @grats:grats.win or you can email me at the same domain, any user/email address.

  2. #2
    Join Date
    Feb 2007
    Location
    Access Violation at 0x00000000
    Posts
    2,865
    Mentioned
    3 Post(s)
    Quoted
    18 Post(s)

    Default

    Use DTMs/Bitmaps. I don't see why/how you'd use TPA's for this :P
    Ce ne sont que des gueux


  3. #3
    Join Date
    Feb 2011
    Location
    Earth
    Posts
    1,784
    Mentioned
    1 Post(s)
    Quoted
    0 Post(s)

    Default

    I would use a universal ring dtm, so that later when you added other rings you wouldn't need more bitmaps. For finding the dtm the foods would be MIX1,MIY1,MIX2, MIY2. The C in the other coords stands for Center, and is used when searching outwards from the center, which shouldn't be needed for the inventory.

    As for spell selection bitmaps will work fine, and you could easily use a case of statement to determine which rings to enchant, then create a function to find the universal ring bitmap I mentioned.

    Typing this from my Android so if you still need help I could offer better advice in a few hours when I get home.

    Currently: Working on Defending&Attacking in my Castle-Wars Script
    Project Rebuild: 90M/170M

  4. #4
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Actually what I don't like about using dtm's and bitmaps for this is that u would also have to use uptext because after a ring is enchanted, it will look exactly the same and will be clicked again unless u make an array of the invent and cluck every slot once..

    I say do something like R_ClickItemBy(2552, true, '') where 2552 would be the emerald ring ID.. That way it will never click a ring that Is already enchanted.. True is left click, false is right click.. '' means use.. Or whatever option you want.. Maybe u can do 'cast spell'

  5. #5
    Join Date
    Oct 2006
    Location
    Netherlands
    Posts
    3,285
    Mentioned
    105 Post(s)
    Quoted
    494 Post(s)

    Default

    From the SRL-include
    Simba Code:
    { const MIX1, MIY1, MIX2, MIY2;
      Description: Inventory EdgePoints. }

    const
      MIX1 = 547;
      MIY1 = 202;
      MIX2 = 737;
      MIY2 = 466;

    { const MICX, MICY;
      Description: Inventory Centre Points. }

    const
      MICX = 642;
      MICY = 334;

    I also suggest DTM over Bitmap. DTM's work pretty good with invs.

  6. #6
    Join Date
    Dec 2010
    Posts
    808
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Check out how SRL's DropItem works?
    Then just modify it

  7. #7
    Join Date
    Feb 2011
    Location
    Earth
    Posts
    1,784
    Mentioned
    1 Post(s)
    Quoted
    0 Post(s)

    Default

    Thanks ggzz, I didn't even think of that when I offered my suggestion. So then you could still use a bitmap for the spell, then do a type of click inv by position and cycle through the positions.

    Of course that is a non reflection alternative.

    Currently: Working on Defending&Attacking in my Castle-Wars Script
    Project Rebuild: 90M/170M

  8. #8
    Join Date
    Feb 2007
    Location
    Colorado, USA
    Posts
    3,716
    Mentioned
    51 Post(s)
    Quoted
    624 Post(s)

    Default

    Quote Originally Posted by PatDuffy View Post
    I would use a universal ring dtm, so that later when you added other rings you wouldn't need more bitmaps. For finding the dtm the foods would be MIX1,MIY1,MIX2, MIY2. The C in the other coords stands for Center, and is used when searching outwards from the center, which shouldn't be needed for the inventory.

    As for spell selection bitmaps will work fine, and you could easily use a case of statement to determine which rings to enchant, then create a function to find the universal ring bitmap I mentioned.

    Typing this from my Android so if you still need help I could offer better advice in a few hours when I get home.
    Alright yea, so dtms are kind of like tpa's with the coords etc? and from what ggzz said, I'd have to have some type of uptext line to make sure it isn't enchanting a ring that's already enchanted

    if you could help me later with that, thanks a bunch.



    Quote Originally Posted by ggzz View Post
    Actually what I don't like about using dtm's and bitmaps for this is that u would also have to use uptext because after a ring is enchanted, it will look exactly the same and will be clicked again unless u make an array of the invent and cluck every slot once..

    I say do something like R_ClickItemBy(2552, true, '') where 2552 would be the emerald ring ID.. That way it will never click a ring that Is already enchanted.. True is left click, false is right click.. '' means use.. Or whatever option you want.. Maybe u can do 'cast spell'
    So it would be really easy to do the R_ClickItemBy(EmeraldRingID, true, '')
    and then runescape auto switches from your magic tab to your bag each time you enchant/click the magic spell




    Quote Originally Posted by PatDuffy View Post
    Thanks ggzz, I didn't even think of that when I offered my suggestion. So then you could still use a bitmap for the spell, then do a type of click inv by position and cycle through the positions.

    Of course that is a non reflection alternative.
    I don't like to use smart & reflection if I don't have to.. but if it's way easier to do that then I guess I could, I don't really know where to start with reflection though.




    Quote Originally Posted by Floor66 View Post
    Use DTMs/Bitmaps. I don't see why/how you'd use TPA's for this :P
    Yea, I don't even know what I'm doing lol
    The only true authority stems from knowledge, not from position.

    You can contact me via matrix protocol: @grats:grats.win or you can email me at the same domain, any user/email address.

  9. #9
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Guessing If ur gunna use pure colour and no reflection at all, then you need U may want to look at ClickAllItemsExcept and make it click only 1 item... so you click enchant then ClickItemExcept enchanted ring, click spell again and repeat.. until Emerald rings no longer exist in the invent..

    So basically While (FindItem(Emerald Rings....) = true) do ClickItemExcept wait(random(100)) Click spell

  10. #10
    Join Date
    Feb 2007
    Location
    Colorado, USA
    Posts
    3,716
    Mentioned
    51 Post(s)
    Quoted
    624 Post(s)

    Default

    Quote Originally Posted by ggzz View Post
    Guessing If ur gunna use pure colour and no reflection at all, then you need U may want to look at ClickAllItemsExcept and make it click only 1 item... so you click enchant then ClickItemExcept enchanted ring, click spell again and repeat.. until Emerald rings no longer exist in the invent..

    So basically While (FindItem(Emerald Rings....) = true) do ClickItemExcept wait(random(100)) Click spell
    Alright seems too complex for me, I'll probably go with reflection then lol
    The only true authority stems from knowledge, not from position.

    You can contact me via matrix protocol: @grats:grats.win or you can email me at the same domain, any user/email address.

  11. #11
    Join Date
    Jan 2011
    Location
    Denver, CO
    Posts
    1,351
    Mentioned
    2 Post(s)
    Quoted
    72 Post(s)

    Default

    You should take a peek at Inventory.scar in the SRL core, it has some great functions for reading the locations of items and interacting with them (even if the items are all similar in appearance, which seems to be your dilemma).

  12. #12
    Join Date
    Nov 2009
    Posts
    471
    Mentioned
    0 Post(s)
    Quoted
    4 Post(s)

    Default

    Here is a procedure i made with the information you gave,hopefully works.
    Code:
    var ryggsekk,ringamount,magibok,ring,loopconf,x,y:integer;
    
    procedure ringenchantinginprogress;
    begin
    ringamount:=26;//Change this to your amounts of rings -1
    Writeln('Commiting magic training');
      Ryggsekk := BitmapFromString(22, 22, 'beNolVGtTGlcYfg0a5SIg' +
        'oKLcWe4XFRaWOyogKwKroC4ICiyygMpdTWJtnbb50E5t0sw0004/JW3T' +
        'NplO+ws67df+rB7pzJkz58N5n/Pc5lQSw3p2yO72GKrD7J4ze+dMnj1K' +
        'n5Wps+PMqJ4XAQgB5gAWARbG61mzxJT2GrWDViXL0InaUWpYy1w2clet' +
        'A7ZItss77XK6X6FMMpABKDjQzXvOMrabI/fX9eB91T9KO+QACPaimutU' +
        'M+3yNkK4Pt3tVzKdcuqitN0/SVkkYJmFPuX8gvV/VV95WTf+dO36eeT8' +
        'pef888rz9tz27mm0R1nmx6zO9sPVQmxQTT9rHaLxUXXPIIKQlm/lAe0W' +
        'fl6w/Tggfhut/HFtez8wfrjE3488H0arv46I+xrxTZvsb5sVACy9jkzo' +
        '1qlhY38WwDQ/FTLIwlq+7THQdu6XBce7fuj3AXG7PecSwroatlXwWc5K' +
        'KuC+Gn5RcVd8YglAr7l/0ch12TxyLGheyIes63pxSDHpEsAlabglNd+f' +
        'OF/XXN2M3SmBlInHeJfvcmsZJXzLrN0zPoTwZFBvnua5E0CFTT7NdMIi' +
        'PiCUMbMAaTlyzz8lsR8Y93cV+4tT1+nGAi6EtF7AeCW7GGR1MMgaxQCj' +
        '9nG3ecAD2AuZglousfwIgewHtJsmvoMHZbfkyZbydX31FWPtJKQnfrV1' +
        'CnYw+PdtF61qbFkhgNtzGvGnt1xJXI9y96qFIZ04igkPA7qI6rF1+sHV' +
        'u4LjFYs4r/bSzpAS/nkzUAL8/aZNETw+wN3ZAeoJko9wYm4jyprQSmKm' +
        'uWJQH1BwElYhCpcldZ3kUj0iLYX1Ac3kX++evXy6lXVzZBMQ8+k+PqdR' +
        'eXI+E5odskcI06MWbxnmSIMwpJraNAsNAsjg8wdeOe1Xp3Cjfm4i6VVs' +
        'OEULExC0iqYnHkrr10kPIqvIimZlfwYJMcgSmHjbIEQqihF9wiowC8A0' +
        'A9g0qKZBOi65YgriNpnfJEH30WDArKIi+GOAem0f7WuYBAW6Y5SE5I/Y' +
        'uLlLYmkM0sYJEuOm7VobF2hC55FAZ2c1bpEKAAQTgOsViHzU72ix9AwH' +
        '7OrZpHWRNMxFFVP1dawfV1+Rqv6WYkQ5OqTPI54sEVoXan7aFTdLUA8R' +
        'DcKoRoeLeq7TelCB64UxoxQhRNTckl95SeqfFyy3tP6maO9l8DURIJds' +
        'PCiEjFHzPJLABXBp5QjhslVo17KIjBcTIRVJpEI5TXvkn+Rsn+Z1z4vY' +
        'R3ldb8dieQx2PtBBIx0xI0OiXtOYg8prUCK02UlAUAQm2cBQFuKoeqrs' +
        'l7ci0jtKfZdcvInPX20ttTeXj0PLdEi7YZOiFBg6FsHN/Af3FG6r3q5X' +
        '4CbVilIcNy/FMFFUyakE5aOU6klSfhtX38Q1zYCkFpYfBlWbdhlKf4vA' +
        'Toux2z4T9dh4HOAAcB7BJEIzavzGxTDSopk58s6f4Nx+YrkZ1BwTulLI' +
        'tGFdRE+jR9dxY7tKNSupq3Zx2D6K+OwBz0rQ644S+PT4gkst8qj4qNvl' +
        '4FIpsJywymTjHw/JDLut615Hr1HsNHLtWrrH7I1a++iLuG4XepXd7sle' +
        '0KGJug3/V4U3RuOPIwt59BsBc9iLXTCHQ7YwYKjLRrZTS54dpzonyT5D' +
        '9o6TnVKyW0r1q7tD9jDitUWItbDHFcSdUZ8z6DOx9d1Wneqw+VGT7lSp' +
        'q0b2o/Nc7z/RlDvn');
        magibok := BitmapFromString(21, 22, 'beNolVGlPG1cUfSwNKFtDH' +
        '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' +
        '168pg==');
          ring := BitmapFromString(19, 22, 'beNodlOtvFFUYxt/uVrrQbbfd' +
        'dnuh7XYvM7Odnd3udq7b2bnPznVLkWpAQVEgRqEIsaXWWoFCIW0h1LKx' +
        'MV4AIdzCxUgigYAGDFYT4weCifGD8W/xlORkMpmc35n3fZ/nORrjaEVb' +
        'Kzoq7aisq5ZcVXTksj7MW7JoSnxF5owKDyGAjetLcxndYC2F9TWhotNo' +
        '2RrrKJwrCltUyZIEU+csrwSbAMIAzdDn9vT7/WkjgU6QtAICt2jiOviS' +
        '8mVhVCo5w0W/wooOCRGQp3h+jus9nOw9iLe83t3t9zTnGxHr26I9zNgq' +
        'Z6vCS5AblfkRhTMVSvQJiAF3spheJjbNtrZN98XGE/j7WaAAgRje6am8' +
        'ryi2KFoq45mcI7MIdzVGcfPQDsYXKnkxB3MN4dlodKIrtL2xc7QTGgEn' +
        'uyy14EtSVVU9o2TKBUdmfIW2y6Rhp6EFti6xYg2jan3UMpY7kw2+8Urr' +
        'tnbCxCAI63+ReFvmUbWWxIxobCNAdAM01UN4IxyeTu061C7uqWeneopz' +
        'JHFsoGE0HBmMQACYgZSncqaUG6nkw0FoAjj1sbcwU1o9xV9b4b49jZ+b' +
        '7Z6cbNtxZDO3vyN3iGAOCkgUgoiT8S5bQvPBmxrg/GJ5fiq7OI3XTiau' +
        'nEs8upT9+TL26HLq4bXc/PG2sV0hpAuaDEHGqUzcNzhPZZqCUDujLhxL' +
        'Tu1v++zDrpUTxO1vpCc3rD/vuX//ZP37zLp/aWBxuqcxAAOp9jzW46p8' +
        'RRmsqmQkAPMz7MF9XQf2xOc/NVtDsCkAkTpoqYM/Hoz/88ubz38cvrWc' +
        'OP4BHgWoKpQlF01tCPX18NbM3BFx92s9jajNBiBTUQqLUzhOpTsQ3lkP' +
        '/z17a+2mdvE0d2gnjvZ7mmDpPKrzwd2Jw+/RqJIi1pxPxmi8zxJZR+e8' +
        'ypCjYUwGogF48fST2nxx744YsuEgTrim2lwPP1zfvXdHdwSAwVqrklBV' +
        'SkhQSxm0tDx6eiqx1Yi1BuHEDPH29ijyO97b7+lKRwieP91/92vpo93R' +
        'GIBfQjsZ12BtZaiqMttMccwkokH48qwwM5EascPhOqAzuKuwzUF4/uzI' +
        '0++Nq8vkxM74evuVjGNmtVJ6q0ZtU0n05cp5/fR0//i+lKN2oVJpLGkK' +
        'lGVmww3w12/vPrnD36zllqbTyDYh5JwgNNdBex1cWKp8PosdHe/fNUah' +
        'OvOp+GCi71VD0HXBtYjIBnix9s7v973Ht4yrq9rxSXJ1Sf+u5l08V145' +
        'lj01iU/szTStU4kCjqHAWuWhakWqmryr42i8a/cPrN0b+/WO8uQ6fXsV' +
        'v7FKri4mFo4OzE6UEcWl2ujkZuRqpUy7KJLI4XLJ0URXyyMnxALw+Ir9' +
        '6FLp3lfchTO5hVl8cjwbCkCBiLGpjpEyEog3TUFRaBRhRxHQbYPunBG9' +
        'kEtsQIZB0iDpUY8oLKE6GEi2MlTCKhV8mfV05DcaqWzL7Et2Ha+U2apR' +
        'rpT5YiaViXfnsX70kk32Mtm0Jgwii6LDbYlGgXL/B54zLWA=');
        ringamount:=loopconf;
    
    
        begin ringamount:=loopconf;
    repeat
    repeat
    if findbitmaptolerancein(magibok,x,y,0, 0,1200,800,50) then break;
    until(false)
    wait(80);
    clickmouse(x+8,y+15,true);
    repeat
    if(findcolorspiraltolerance(x,y,6082161,0, 0,1200,800,150)) then break;
    until(false)
    wait(240);
    clickmouse(x,y,true);
    wait(2500);
    
    repeat
    if findbitmaptolerancein(ryggsekk,x,y,0, 0,1200,800,50) then break;
    until(false)
    wait(80);
    clickmouse(x+8,y+15,true);
    wait(2500);
    
    repeat
     if findbitmaptolerancein(ring,x,y,0, 0,1200,800,50) then break;
     until(false)
     clickmouse(x+5,y+3,true);
    loopconf:=loopconf-1;
    until(loopconf=0)
      end;
      end;
    
        procedure freeinvimg;
    begin
        freebitmap(ryggsekk);
        freebitmap(ringamount);
        freebitmap(magibok);
    end;
    
      begin
    ringenchantinginprogress;
    freeinvimg;
    end.

  13. #13
    Join Date
    Feb 2007
    Location
    Colorado, USA
    Posts
    3,716
    Mentioned
    51 Post(s)
    Quoted
    624 Post(s)

    Default

    All the ClickMouse 's were having problems compiling

    I don't have any machine to run simba on right now, in a few days hopefully I can get my stuff up and running.

    Thanks for the procedure though, I definitely learned from it, I'll check it out more tomorrow at my bros where I can run simba
    The only true authority stems from knowledge, not from position.

    You can contact me via matrix protocol: @grats:grats.win or you can email me at the same domain, any user/email address.

  14. #14
    Join Date
    Nov 2008
    Location
    Melbourne, Australia
    Posts
    2,240
    Mentioned
    3 Post(s)
    Quoted
    11 Post(s)

    Default

    MouseInv I believe the function is.

    Use bitmaps if you want to find something in particular. Check my signiture for the link for my Ultimate Bitmap Tutorial
    Click here to find out how to get full screen without members! | Click here to check out my Ultimate Bitmap Tutorial! Edited to work with Simba! |

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
  •