Developers Diary - EQMac

eqmule

Developer
Joined
Jul 20, 2006
Messages
342
Reaction score
2
Points
18
Im starting this thread to not clutter the release thread with ongoing development notices.

This will be a thread where I and other devs can inform you guys of work in progress and upcoming features.
 
Last edited:
Sep 13 2013

I made some real progress on getting target buffs to show in the targetwindow.
It looks pretty awesome, if you play on live servers, you know what im talking about.
I just need to add some code to keep track on buffs when offline, and then Ill release.
Expect a release within a week.
 
Sep 17 2013

Everything is finished except tooltips.
Going to add that today, and I'm going to see how buff time left looks on the icons as well, if it fits...
I want to add right click code as well but maybe that will have to wait so I can get this out quicker, I know there are people waiting for this feature.
Yesterday I was pling a noob in field of bones to test this and I can tell you, it's supernice to know when it's time to refresh the thorns :)
 
Sep 18 2013

Discovered a bug with the "only show usable items" while messing with buttons.
I was going to check if my char had some missing spells, so I went to Pok, opened up a merchant, and clicked on the only show usable button.
To my surprise ALL spells became hidden, even though I knew I was missing at least ONE of them...

Anyway The problem was that I searched inventory AND open containers, and the merchant window happens to be one, so it would of course find all spells and return the slots for where they are located on the merchant.

Fixed it, opened merchant again, and now it works as intended.
Unfortunately I can't check in the fix until I'm done with target buffs, but at least now, if you have problems with that "show only usable" feature, you know why...
 
Last edited:
Sep 19 2013

Well, yesterday was patch for live servers, so I got sidetracked with that.
I got a couple things to check related to live, but I'll be back on eqmac work later today.
 
Sep 21 2013

Been quite busy with some stuff related to the live compile, which is why I haven't had much time to work on this for the last couple days, Ill pick up the slack on monday
 
Sep 24 2013

Im just going to document this here so I don't forget this for when its released:

In the next release I have added two new members to the Item TLO

bool Open
and
bool IsInBag

Usage:
/echo ${FindItem[Elder Spiritist's Bracer].InvSlot.Pack.Item.Open}
/echo ${FindItem[Elder Spiritist's Bracer].IsInBag}

this is very useful consider the following macro that makes use of these:

Code:
| - PickupItem.mac (for the eqmac version of MQ2)
| - By EqMule Sep 24 2013
| - This macro will demonstrate how to pick up an item even if bags are closed
| - You can expand on this by checking ${Cursor.WornSlot[1]}
| - after the item is on the cursor, to actually equip it
| - but I leave that exercise for a more experianced macrowriter than myself.

#turbo

Sub Main

/declare ourclicky Opal Encrusted Stein

:recheck
    /echo looking for a ${ourclicky}
    /if (${FindItem[=${ourclicky}].ID}) {
        /if (${FindItem[=${ourclicky}].IsInBag}) {
            /if (${FindItem[=${ourclicky}].InvSlot.Pack.Item.Open}) {
                /echo the ${ourclicky} is in a open bag
                /echo we pick it up
                /call PickupItem "${ourclicky}"
            } else {
                /echo the ${ourclicky} is in a closed bag
                /echo lets open it
                /call OpenBag "${ourclicky}"
                /goto :recheck
            }
        } else {
            /echo ${ourclicky} is not in a bag
            /echo we can click it directly
            /call PickupItem "${ourclicky}"
        }
    } else {
        /echo no such item found
    }
/return

Sub PickupItem(item)
/declare pickuptimer timer
:retrypickup
    /varset pickuptimer 2s
    /itemnotify ${FindItem[=${item}].InvSlot} leftmouseup
    /delay 1s
:waitforcursor
    /if (!${Cursor.ID}) {
        /if (${pickuptimer}==0) {
            /echo timed out waiting for pickup will retry
            /goto :retrypickup
        }
        /goto :waitforcursor
    }
    /echo Item is on cursor
/return 

Sub OpenBag(item)
/declare bagopentimer timer
:retryopenbag
    /varset bagopentimer 2s
    /echo opening ${FindItem[=${item}].InvSlot.Pack.Item}
    /itemnotify ${FindItem[=${item}].InvSlot.Pack} rightmouseup
:waitforbagtoopen
    /if (!${FindItem[=${item}].InvSlot.Pack.Item.Open}) {
        /if (${bagopentimer}==0) {
            /echo timed out waiting for bag to open will retry
            /goto :retryopenbag
        }
        /goto :waitforbagtoopen
    }
/return
 
Last edited by a moderator:
Sep 25 2013

0b13e8de23836c2de7fa872e12388289861df936.jpg
 
Last edited:
Oct 11 2013

I haven't updated you guys for some time now, so ill just post a quick note here to let you know that I haven't abandoned eqmac, with the new expansion going live, I just haven't had enough time in the day to work on eqmac as well, as soon as things slows down alittle on the live side, ill be back to take care of eqmac like a baby again, I promise!