Welcome, Guest. Please login or register.
Did you miss your activation email?
November 25, 2024, 07:30:39 am *

Login with username, password and session length
Pages: 1 2 3 4 5 [6] 7 8
Print
Author Topic: Loot Macro  (Read 56047 times)
Ginge
Guest
« Reply #75 on: December 19, 2020, 01:52:14 pm »

Heya Dim, firstly I hope you are well, secondly I have a new issue...ToFS, chars won't move the two inches to loot the corpse next to them, just says you are too far away to loot that corpse, so I  have to swap to the char and move them an inch and then they continue...Any ideas or are my chars just being idiots?

Edit:- Fixed this by changing the /if (${Target.Distance}>22) to /if (${Target.Distance}>12)

Tank
« Last Edit: December 21, 2020, 06:05:23 am by Licra » Logged
Rakharth
Full Member
***
Posts: 141


View Profile
« Reply #76 on: December 22, 2020, 12:18:36 pm »

So when i Do a /setto with item on cursor some toons show update on there ini and some dont any idea?
Logged

Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #77 on: December 23, 2020, 03:14:27 pm »

I'll try to take a look.
Logged
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #78 on: December 25, 2020, 11:28:32 pm »

I have not found anything in the code, it should check the directory for the ini file...if found it should update and if not it generate a new one.  I don't see anything that would prevent it from updating an existing ini file.  Are the offending char ini files set to read only?
Logged
Rakharth
Full Member
***
Posts: 141


View Profile
« Reply #79 on: December 26, 2020, 07:28:38 am »

yea was wierd i had to remake a bunch of the ini files cause they wouldnt take the setto command, they work now i redid them /shrug
Logged

Pele
Newbie
*
Posts: 4


View Profile
« Reply #80 on: March 25, 2021, 12:59:33 pm »

Hello!

This is a great macro, but I have been having trouble getting it to work at its potential. The main problem i am having is that it will loot a corpse much too fast and end up skipping over an item it was supposed to loot on that corpse. For example, this happens on average once or twice per wisp clear in jaggedpine to give an idea about frequency. My solution has been to /hidecorpse none and re-EZloot and everything usually gets picked up the 2nd time around.  Additionally, i can not get the Announce function to work properly.

I downloaded the 3 files in the first post, as well as the pre-populated loot ini. Since i discovered these issues, i have deleted and re-downloaded everything from scratch and experience the same problems. Does anyone have any ideas what could be amiss? I attached all the relevant files I am using in case that helps.

Thank you!
Logged
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #81 on: March 28, 2021, 08:22:41 pm »

Hello!

This is a great macro, but I have been having trouble getting it to work at its potential. The main problem i am having is that it will loot a corpse much too fast and end up skipping over an item it was supposed to loot on that corpse. For example, this happens on average once or twice per wisp clear in jaggedpine to give an idea about frequency. My solution has been to /hidecorpse none and re-EZloot and everything usually gets picked up the 2nd time around.  Additionally, i can not get the Announce function to work properly.

I downloaded the 3 files in the first post, as well as the pre-populated loot ini. Since i discovered these issues, i have deleted and re-downloaded everything from scratch and experience the same problems. Does anyone have any ideas what could be amiss? I attached all the relevant files I am using in case that helps.

Thank you!


It's likely the macro is running faster than EQ can keep up with, the default setting for delay is .2 seconds and the macro doesn't know if EQ has completed one step before moving on to the next.  Instead of making the user have to go an modify each delay in the macro, I added the ability for a user to update the standard delay.  There should be a new setting in the updated EZLoot file for Standard Delay.  This will default to 2 (.2 seconds) but is user modifiable up to 50 (5 seconds), once you set the value to what you want it should stay at that value until you change it again.  

You can either change it in game:  /echo ezset 'Standard Delay' to 6 (for .6 second delay)
                   or directly in the ini: [Settings] Standard Delay=6

Give it a shot and let me know if this helps

Additionally, i can not get the Announce function to work properly.

I think the AnnounceString was disabled because people had issues crashing if they exceeded the max character count on a string, IE MQ2 has a limit to how many characters are in a string and if you loot enough items that the list of looted items exceeds it can crash.  I may revisit this and see if I can get a work around, I have a few ideas how to approach it.
« Last Edit: March 28, 2021, 08:29:27 pm by Dimur » Logged
wachna
Full Member
***
Posts: 169


View Profile
« Reply #82 on: April 04, 2021, 03:28:06 am »

Hey Dimur.

We talked about that topic in /gu yesterday and did not find a variable called standard delay. Maybe we (Pele aka Warriar and I) have a wrong version of your files or we are too blind to see. Anyway Pele changed all delay variables from 2 to 3 and now he is fine.

Thanks again for this amazing macro... it is really really helpful
Logged
Abuelo
Newbie
*
Posts: 5


View Profile
« Reply #83 on: May 12, 2021, 12:15:34 pm »

Hello!

This is a great macro, but I have been having trouble getting it to work at its potential. The main problem i am having is that it will loot a corpse much too fast and end up skipping over an item it was supposed to loot on that corpse. For example, this happens on average once or twice per wisp clear in jaggedpine to give an idea about frequency. My solution has been to /hidecorpse none and re-EZloot and everything usually gets picked up the 2nd time around.  Additionally, i can not get the Announce function to work properly.

I downloaded the 3 files in the first post, as well as the pre-populated loot ini. Since i discovered these issues, i have deleted and re-downloaded everything from scratch and experience the same problems. Does anyone have any ideas what could be amiss? I attached all the relevant files I am using in case that helps.

Thank you!


It's likely the macro is running faster than EQ can keep up with, the default setting for delay is .2 seconds and the macro doesn't know if EQ has completed one step before moving on to the next.  Instead of making the user have to go an modify each delay in the macro, I added the ability for a user to update the standard delay.  There should be a new setting in the updated EZLoot file for Standard Delay.  This will default to 2 (.2 seconds) but is user modifiable up to 50 (5 seconds), once you set the value to what you want it should stay at that value until you change it again.  

You can either change it in game:  /echo ezset 'Standard Delay' to 6 (for .6 second delay)
                   or directly in the ini: [Settings] Standard Delay=6

Give it a shot and let me know if this helps


So I downloaded and setup EZloot based on this thread and had the same issues as described above. When a loot window contained more than 1 item it would almost always loot one item and skip the others with no particular consistency. I tried changing the settings in the file that was created called ${ezloot (or something) but these settings would never save. Also tried running the command listed above in game and had no luck either. (Unclear on what to type. I tried /echo ezset 'Standard Delay' 6 and other variations of the string)

I got another copy of the ezloot.inc from someone using a much older version? and I could tell the noticeable difference in loot speed, but it was consistently looting all of the items in the loot window so I'm currently using that instead of the the one downloaded from the OP.

Edit: Added a copy of the slower more accurate EZLoot.inc file to my post so if others are having the same issues they can use this version.
« Last Edit: May 12, 2021, 03:18:12 pm by Abuelo » Logged
Rangewind
Newbie
*
Posts: 40


View Profile
« Reply #84 on: July 07, 2021, 02:36:36 pm »

I am by no means a coder but from what I have looked though I found some problems with the current macro.  I have attacked a link to an older one I have been editing myself to fix the problems I see.  If I understand what is causing it and then adjusting the code.  The main thing I use is just the loot function so I have focused on that.  I was getting things sorted out with it during the 4th July 2021 event.  It still needs some cleanup as far as I can tell but since I dont really know what all I am looking at this will take me time lol.

The 2 problems I noticed the most was it would get stuck on corpses with just money on them or it would out right just open the loot window and move onto the next corpse without looting anything.  So far with my testing I have resolved these but I know things dont always work the same for everyone.  Items set to announce with post in raid chat if in a raid and the ID of the corpse they are on.

I wanted to test looting the 20k and 50k AA crystals but I have not gotten a chance to find out why they are not being looted for people.  I am still progressing to be able to farm HoS right now.

I still get a flood of things to the MQ2 window when it goes to find missed corpses.  This is what I am currently wrapping my head around for what its looking at causing.  Will post an edit if I am able to get this sorted out.

This one has set delays and not the variable style that Dimur currently has posted.
https://drive.google.com/file/d/1DD3178HwNwz-s3XOYCmlruxjzM4Lxtnv/view?usp=sharing


Dimur - Thanks for all the work you have put into this and I hope that I am not over stepping trying to help out.  The current one with the variable delay has some broken code lines so the delay is not functioning right.  Line 439/470 are missing } at "${EZLootIni" - I ended up getting a friend to help me look at finding the problem.  The delay on line 85 is also being ignored due to the ${Window[LootWnd].Open} after it and that was a cause to part of the problems I ran into.
Logged
Marcone
Newbie
*
Posts: 14


View Profile
« Reply #85 on: July 20, 2021, 07:32:53 am »

Wish I could get this to work properly as I've just started trying to break into T9, but so far have been unsuccessful.  Added the missing "}" which then started populating the standard delay in the ini properly.  Slowing it down helped and it started looting most things.  Setting things manually appears to work in game and write to the ini, but the looting logic appears to ignore the settings in the ini for certain items and I'm not really sure why.  Do the items listed under every letter need to be in alphabetical order to function? 

Also the number list with the 50,000 and 20,000 entries appeared to break the script entirely so I had to remove all the numbered entries from the ini to get it to run again at all.
Logged
Raygan
Legend
*******
Posts: 1156



View Profile
« Reply #86 on: July 20, 2021, 05:03:03 pm »



I wanted to test looting the 20k and 50k AA crystals but I have not gotten a chance to find out why they are not being looted for people.  I am still progressing to be able to farm HoS right now.

https://drive.google.com/file/d/1DD3178HwNwz-s3XOYCmlruxjzM4Lxtnv/view?usp=sharing


The comma (,) in the 50,000 and 20,000 is what  is causing the issue in those items....
Logged

Hate's Most Hateful Hater
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #87 on: July 20, 2021, 09:13:47 pm »

I can look at refactoring this soon, I may have the link set to the wrong file.  The comma is the default delineator so you can't use the string to compare, an easy fix would just add an or check for both, I have just been lazy.
Logged
Dimur
Hero Member
Hero Member
*****
Posts: 699


View Profile
« Reply #88 on: July 25, 2021, 03:30:57 pm »

Dimur - Thanks for all the work you have put into this and I hope that I am not over stepping trying to help out.  The current one with the variable delay has some broken code lines so the delay is not functioning right.  Line 439/470 are missing } at "${EZLootIni" - I ended up getting a friend to help me look at finding the problem.  The delay on line 85 is also being ignored due to the ${Window[LootWnd].Open} after it and that was a cause to part of the problems I ran into.

Thanks Rangewind for isolating the curly brackets issues, I've updated the linked file to correct this. 

Regarding line 85, the $(Window[LootWnd].Open} after the delay is a condition check, it tells MQ2 /delay for 2 seconds UNLESS loot window is open, basically says wait up to 2 seconds for the loot window to be open to proceed, if loot window is open before the delay it just moves on.

The macro evaluates the item on the corpse as a string, if it finds a matching string in the INI it checks the setting for the item and does the appropriate action, Keep means it gets looted etc.  MQ2 has limited options by default for collection objects, you can do an array or a string with a delineator between items on the string.  The macro tallies up the corpses in range, for each corpse it finds it adds it to the end of the current string by adding a comma and the corpse ID.  When it starts looting it reads the string by evaluating each corpse id, by default when MQ2 reads a string the comma is the delineator.  When MQ2 sees the 20,000 or 50,000 as the item name, it reads 20 then stops or 50 then stops because it assumes the comma means end of line (delineator).

There are a few ways around this, you can hardcode the item ID into line 95 as an additional check using an OR condition with the || which would probably be the easiest or your could write a small sub routine to check for 2 strings with the second string being 000 to identify the AA crystals, this would work until another item ends up having ,000 in it's listed name.  If someone wants to inspect the items and give the ID numbers for them, I can add that line of code as a quick fix for now.
Logged
Draca
Administrator
Sr. Member
*****
Posts: 459


View Profile
« Reply #89 on: July 25, 2021, 03:42:18 pm »

There are a few ways around this, you can hardcode the item ID into line 95 as an additional check using an OR condition with the || which would probably be the easiest or your could write a small sub routine to check for 2 strings with the second string being 000 to identify the AA crystals, this would work until another item ends up having ,000 in it's listed name.  If someone wants to inspect the items and give the ID numbers for them, I can add that line of code as a quick fix for now.

Dim, expect those to be renamed before the next HW event, I wouldn't spend any time on that.

Draca
« Last Edit: July 25, 2021, 08:14:28 pm by Draca » Logged

Pages: 1 2 3 4 5 [6] 7 8
Print
Jump to:  

Recent

Stats

Members
  • Total Members: 6156
  • Latest: Rin1
Stats
  • Total Posts: 65127
  • Total Topics: 5066
  • Online Today: 331
  • Online Ever: 8678
  • (December 19, 2022, 02:32:09 pm)
Users Online
Users: 1
Guests: 306
Total: 307
TinyPortal v1.0 beta 4 © Bloc