Results 1 to 16 of 16

Thread: Looting items

  1. #1
    Join Date
    Nov 2011
    Location
    Norway
    Posts
    203
    Mentioned
    4 Post(s)
    Quoted
    100 Post(s)

    Default Looting items

    Hey

    Atm I'm trying to write a procedure to loot items from a boss, but I'm not sure how I should go about getting the models for items that are extremely rare, say its pet.

    If any of you have made a script for a boss in the game, would you care to share a snippet/partial snippet to give some ideas?

    Tyvm

  2. #2
    Join Date
    Sep 2014
    Location
    C:\Simba\
    Posts
    565
    Mentioned
    9 Post(s)
    Quoted
    71 Post(s)

    Default

    There's really no way of finding out other than seeing them afaik. Unless ofcourse the ID's assigned to the models follow some sort of system.
    Feel free to ask me any questions, I will do my best to answer them!

    Previously known as YouPee.

  3. #3
    Join Date
    Nov 2011
    Location
    Norway
    Posts
    203
    Mentioned
    4 Post(s)
    Quoted
    100 Post(s)

    Default

    I was afraid that's how it worked.

    Do you know how I should go about getting the script to click the closest item model on the ground, so I can just use area loot?

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

    Default

    I always select a 100% drop with area loot and loot everything (fine tuning your custom loot also helps). Obviously depending on the boss this might not be ideal.

    For your other question I'm not sure if this is what your wanting but here it is anyways.
    Simba Code:
    function glModel.closest(funcPointArray:tPointArray):tPointArray;
    begin exit(funcPointArray.closestTo(self));end;

    function glModel.closest(funcModelArray:glModelArray):glModelArray;overload;
    begin exit(funcModelArray.closestTo(self));end;

    function glModel.closest(funcTextureArray:glTextureArray):glTextureArray;overload;
    begin exit(funcTextureArray.closestTo(self));end;

    //couple of examples
    mouse.click(clientCenter.closest(rock)[0].randomizePointEllipse(10));

    begin
        gladiiTPA:= ogl.getClientMidPoint().closest(modelsGladii).toPointArray;
        if not gladiiTPA[0].adjustPosition(0, -30).isVisible() then
        begin
          rotateCamera;
          wait(normalRandom(600,1800));
        end;
        if (random(rightClick) = 0) then
          mouse.rightClickOption(gladiiTPA[0].adjustPosition(0, -30).randomizePointEllipse(30), ['Attack Gladius'],600)
        else
          mouse.click(gladiiTPA[0].adjustPosition(0, -10).randomizePointEllipse(30));
      end;
    Last edited by Clutch; 07-01-2016 at 02:20 AM.

  5. #5
    Join Date
    Oct 2012
    Posts
    1,258
    Mentioned
    40 Post(s)
    Quoted
    588 Post(s)

    Default

    Haven't used opengl in a while but as it's a rare loot it probably gets the loot beam on it, which you could more easily grab the model id of.
    Last edited by acow; 07-25-2016 at 03:37 PM.

  6. #6
    Join Date
    Nov 2011
    Location
    Norway
    Posts
    203
    Mentioned
    4 Post(s)
    Quoted
    100 Post(s)

    Default

    Yeah this particular NPC doesn't have an item with 100% droprate, sadly @Clutch;

    Thanks for the snippet though, I'm sure I can find use for that

    @acow; That's a great idea! I don't know how I didn't think of that. Could even just adjust it to show when the drop is worth 1k, to easily snab the model. Thanks

  7. #7
    Join Date
    Mar 2007
    Posts
    5,125
    Mentioned
    275 Post(s)
    Quoted
    901 Post(s)

    Default

    [225947753, 1507812858, 1162615610, 640785656]

    Not sure what is what, but I believe 1162615610 is the Corporeal Beast pet drop, and 640785656 is the loot beam for the pet. (or they are the other way around)

    edit:

    Here is my choppy snippit for logging models (drops, loot beams etc)

    Simba Code:
    var
      knownIDS, unknownIDs, finalIDs: TIntegerArray;

    procedure logModels();
    var
      glModels: glModelArray;
      index: Integer;
    begin
      glModels := ogl.getModels();
      for index to high(glModels) do
        if (glModels[index].ID > 0) then
          knownIDS.append(glModels[index].ID);
      didRun := true;
    end;

    procedure compareModels();
    var
      secondRound: TIntegerArray;
      glModels: glModelArray;
      index: Integer;
    begin
      glModels := ogl.getModels();
      for index to high(glModels) do
        if (glModels[index].ID > 0) then
          secondRound.append(glModels[index].ID);
      index := 0;
      secondRound.exclude(unknownIDs);
      unknownIDs := knownIDs.exclude(secondRound);
      for index to high(unknownIDs) do
        if (unknownIDs[index] > 0) then
          finalIDs.append(unknownIDs[index]);
      writeln('----------------------------');
      writeln('New IDS: ' + ToStr(finalIDs));
    end;

    and then before the script starts, I insert all already known models into the array;
    Simba Code:
    insert([91598109, 1107144474, 350844594, 418741106, 4390934, 1388533064, 2105445770, 1164146237, 1271196679, 1897832780, 1614635750, 204225182, 1070096009, 1564574540, 1181795990, 1919751179, 1686495271, 1583109556, 65536, 65538, 1312329147, 1814106102, 1128514510, 470416842, 872798040, 1858910649, 829735681, 1501471408, 1897425047, 175614302, 1058937020, 321773979, 1318222655, 2146757797, 697871110, 454715655, 1358220866, 19997998, 864077842, 813092069, 1394112484, 2129690009, 130281243, 1469690286, 152889813, 1085964691, 126352724, 585563216, 335581844, 1455863200, 296283902, 1433497807, 454204788, 70978741, 28811823, 1653045685, 1485068412, 634839294, 2105201464, 1861579508, 1173701567, 607472272, 1776389411, 1495517037, 807376002, 225947753, 1507812858], knownIDs);
    Last edited by Justin; 07-01-2016 at 11:28 AM. Reason: formnatting simba script

    Forum account issues? Please send me a PM

  8. #8
    Join Date
    Nov 2011
    Location
    Norway
    Posts
    203
    Mentioned
    4 Post(s)
    Quoted
    100 Post(s)

    Default

    So you basically just insert all the IDs from the area your boss is in, then let the procedure pick up all the other IDs which will be loot items? I can make use of this - awesome.

    Appreciate the help everyone.

  9. #9
    Join Date
    Mar 2007
    Posts
    5,125
    Mentioned
    275 Post(s)
    Quoted
    901 Post(s)

    Default

    Quote Originally Posted by Aufi View Post
    So you basically just insert all the IDs from the area your boss is in, then let the procedure pick up all the other IDs which will be loot items? I can make use of this - awesome.

    Appreciate the help everyone.
    You can do that if you wanted to, I'd add some boundary restrictions to the looting function as a failsafe...

    Corporeal Beast drops charms 100% of the time so I just right clicked on the charms and selected the 'Take' options

    Forum account issues? Please send me a PM

  10. #10
    Join Date
    Jun 2012
    Posts
    586
    Mentioned
    112 Post(s)
    Quoted
    296 Post(s)

    Default

    Apart from pet - I'd suggest bringing those items to the area, dropping them, and getting the IDs. It's how we got the BCP, hilt, etc.

    Or, as suggested: Loot beams. Ascension dungeon is a fast way of getting loot beams. Though, there are a few different beams depending on the drop rarity - BCP having a different beam than a pet. Maybe beam overrides like he rainbow/present?
    Last edited by Obscurity; 07-02-2016 at 04:07 AM.




    Skype: obscuritySRL@outlook.com

  11. #11
    Join Date
    Jan 2012
    Posts
    1,596
    Mentioned
    78 Post(s)
    Quoted
    826 Post(s)

    Default

    what about implementing a system that checked any new/unknown ids by right clicking the pile, and then checking text? If the pile contains the text, add it to the 'pickup' list, if it doesnt, add it to the 'ignore' list.

  12. #12
    Join Date
    Nov 2011
    Location
    Norway
    Posts
    203
    Mentioned
    4 Post(s)
    Quoted
    100 Post(s)

    Default

    Ah so there's multiple models for the lootbeams. I added Justin's models to my lootarray though, and when a beam appeared (I adjusted the beam to appear everytime 50k+ is on the ground), the script would pick it up. So it seems like those models are good to go at least.

    Another thing I'm curious about.. Do noted items have different IDs with a higher quantity? Because I bought one of each item and dropped them in noted form at the G.E, but it seems like the models are either different with a higher quantity or is something else going on?

    @Turpinator;

    Maybe that's something that could be done with the help from Justin's logModel procedure? Sounds like a solid idea tbh.

  13. #13
    Join Date
    Jun 2012
    Posts
    586
    Mentioned
    112 Post(s)
    Quoted
    296 Post(s)

    Default

    From my experience all notes had the same ID.




    Skype: obscuritySRL@outlook.com

  14. #14
    Join Date
    Nov 2011
    Location
    Norway
    Posts
    203
    Mentioned
    4 Post(s)
    Quoted
    100 Post(s)

    Default

    Seems to be correct Obscurity. I hope the same goes for lootbeams. I will find out soon enough, added a lootbeam tracker to the progress paint using Justin's ids. I'll let you guys know

  15. #15
    Join Date
    Nov 2011
    Location
    Norway
    Posts
    203
    Mentioned
    4 Post(s)
    Quoted
    100 Post(s)

    Default

    Sorry for the double post, but update to the post above: those ids did not trigger the lootbeam tracker. This model though, 1653045685, seems to trigger it in two different areas I've tried so far.


  16. #16
    Join Date
    Sep 2014
    Location
    C:\Simba\
    Posts
    565
    Mentioned
    9 Post(s)
    Quoted
    71 Post(s)

    Default

    model IDs can differ depending on camera angle. If that's even relevant to whatever you're trying to achieve here :P
    Feel free to ask me any questions, I will do my best to answer them!

    Previously known as YouPee.

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
  •