|
01-24-2008, 09:39 PM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Beta: ProfitUI Quick Macro Button Configurator
-- This is now available from the download area --.
So I'm sitting in a hotel room on a business trip, can't sleep and felt like doing some coding.
Attached is a modified version of Ornathian's great All Spell Guide table that can be used to automatically configure your ProfitUI quick macro buttons with level detecting code for entire spell lines.
Operation is very simple (I hope): - You must have Microsoft Excel running on Windows. Should be compatible with most if not all Excel versions out there as far as I can tell. Might convert this to something more portable one day, but for now that's all you get. Also, you must enable macros to run in this table.
- You will see a huge table listing all spells/abilities in the game (or so Ornathian claims, but I haven't found anything missing so far). Select any one of them (click anywhere on the line containing it).
- Now click the huge red button, select your eq2 path and the macro button you want to configure (1 to 5).
- When you hit "Save", level detecting macro code for the entire spell line will automatically be written to _ProfitUI_QuickRaidButtons.txt in your ProfitUI folder. Do me a favor and make a backup of that file first!
- Rinse and repeat for any other spell for any other subclass you want to configure
- The eq2 path will be stored if you save the worksheet when you close it.
Feedback and bug reports are appreciated. It seems to work fine, but then again it's past 3 a.m. in the morning here, who know's how reliable I'm coding at this time. Error handling is pretty minimal at this point.
Should be a very useful tool if it's working though I hope. Thanks for testing.
Version history:
beta 8 - hopefully works with Excel 2000 now
beta 7 - uses ProfitUI 4.5 level detection code based on non-mentored level. Also tooltips now comprise the entire spell line including the level for each spell.
beta 6 - added possibility to add /raidsay, /groupsay, /say and /tell text
beta 5 - colors for calain80
beta 4 - - Fixed a bug where a spell line would always be saved to button 1 regardless of your selection in certain circumstances
- Added complete error handling for eq2 path selection and detecting of an existing ProfitUI installation.
- Your settings of the table (filters, selected cell) will now be restored after saving a spell line
- Spell lines with only 1 spell no longer have "line" in the tooltip and the spell name is no longer enclosed in apostrophs
beta 3 - fix for level detection that always tried to use the next higher instead of the current spell (bug introduced with beta 2 I think)
beta 2 - fix for spells with apostrophs
beta 1 - initial release
Last edited by gm9 : 02-10-2008 at 08:41 AM.
Reason: removed attachment
|
01-25-2008, 09:20 AM
|
|
A Griffon
|
|
Join Date: Nov 2004
Server: Permafrost
Posts: 660
|
|
Quote:
Originally Posted by gm9
So I'm sitting in a hotel room on a business trip, can't sleep and felt like doing some coding.
|
Man, I'm not sure if you should be commended (for possibly trying to use code-writing as a sleep agent) or committed for this (I can just picture you sitting in your dark hotel room with only the light source coming from your laptop )!!
__________________
"Certainty of death! Small chance of success! What are we waiting for?!"
|
01-26-2008, 06:57 AM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by ShadowProwler420
(I can just picture you sitting in your dark hotel room with only the light source coming from your laptop )!!
|
lol, you are right, that was pretty much it.
|
01-26-2008, 09:55 AM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
OP updated with Beta 2 download, fixing a bug with the eq2 macros for spell lines containing apostrophs.
(it would write '"spell'name"' but the outer apostrophs don't work apparently)
Also fixing a bug happening when the save window was closed via the [x].
Any feedback is appreciated, even if you just tell me that it works and is the greatest thing since sliced bread.
|
01-27-2008, 07:55 AM
|
A Griffon
|
|
Join Date: Jun 2006
Server: Najena
Posts: 160
|
|
While you are in tinker mode, you may want to think about implementing the ability to add chat to the button. For raid wide info on rezzes and such. However, you dont need to make the text, just give us the ability to add it (without having to edit multiple files multiple times). If it can be done through the configurator, that would be great. also, not sure if there would be a common point in each button casting tree to add this or if it would need to appear multiple times in the tree. Just a thought and thanx for the excellent work!
|
01-28-2008, 09:41 AM
|
A Young Mystail Rat
|
|
Join Date: Jan 2006
Server: Antonia Bayle
Posts: 3
|
|
This unfortunately is not working for me, all the macros that it is assigning to the buttons state that 'I no longer have this ability' or some error to that sorts when I click Buttons 1-4, the only one that does work is the 5th button, which is my REZ button. This is my code that it spit out.
Code:
<Page Name="Inquisitor">
<Data Name="Button1" Macro="SpellForMyLevel='Ministration'
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 57)
SpellForMyLevel=COND ? 'Devoted Ministration' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 43)
SpellForMyLevel=COND ? 'Faithful Ministration' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 29)
SpellForMyLevel=COND ? 'Minister Wounds' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 22)
SpellForMyLevel=COND ? 'Treat Wounds' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 15)
SpellForMyLevel=COND ? 'Combat Healing' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 7)
SpellForMyLevel=COND ? 'Combat Treatment' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 1)
SpellForMyLevel=COND ? 'Treatment' : SpellForMyLevel
useabilityonplayer Parent.Target SpellForMyLevel" Tooltip="Treatment Line"/>
<Data Name="Button2" Macro="SpellForMyLevel='Arch Recovery'
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 60)
SpellForMyLevel=COND ? 'Fanatical Healing' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 46)
SpellForMyLevel=COND ? 'Intolerant Healing' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 32)
SpellForMyLevel=COND ? 'Dogmatic Healing' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 18)
SpellForMyLevel=COND ? 'Greater Recovery' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 10)
SpellForMyLevel=COND ? 'Recovery' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 3)
SpellForMyLevel=COND ? 'Minor Recovery' : SpellForMyLevel
useabilityonplayer Parent.Target SpellForMyLevel" Tooltip="Minor Recovery Line"/>
<Data Name="Button3" Macro="SpellForMyLevel='Penance'
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 68)
SpellForMyLevel=COND ? 'Suffering Penance' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 54)
SpellForMyLevel=COND ? 'Woeful Penance' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 40)
SpellForMyLevel=COND ? 'Stinging Penance' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 26)
SpellForMyLevel=COND ? 'Favor of the Repentant' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 19)
SpellForMyLevel=COND ? 'Bestowal of Vitality' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 12)
SpellForMyLevel=COND ? 'Bestowal of Vitae' : SpellForMyLevel
useabilityonplayer Parent.Target SpellForMyLevel" Tooltip="Bestowal of Vitae Line"/>
<Data Name="Button4" Macro="SpellForMyLevel='Alleviation'
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 70)
SpellForMyLevel=COND ? 'Reproachful Alleviation' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 56)
SpellForMyLevel=COND ? 'Derisive Alleviation' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 42)
SpellForMyLevel=COND ? 'Scolding Alleviation' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 28)
SpellForMyLevel=COND ? '"Penitent's Sermon"' : SpellForMyLevel
COND=(Parent.Parent.Parent.GroupMembers.GroupMember0.MemberInfoPage.Level.Text < 14)
SpellForMyLevel=COND ? '"Penitent's Alleviation"' : SpellForMyLevel
useabilityonplayer Parent.Target SpellForMyLevel" Tooltip=""Penitent's Alleviation" Line"/>
<Data Name="Button5" Macro="useabilityonplayer Parent.Target Conversion of the Soul" Tooltip="Conversion of the Soul Line"/>
</Page>
Not sure if it matters, but I set it up to spit out for all 80 levels (don't want to have to do this every time I get a new spell) even though by toon is max at 67? I guess what I'm not understanding how it's looking for the spells. Like For my 'Penance' spell for button 3. If I'm reading that correctly, If I'm lower than 68 it's trying to cast 'Suffering Penance', which wouldn't be correct cause I haven't obtained that spell yet. It should be trying to cast 'Woeful Penance' being I don't get 'Suffering Penance' till 68?
Last edited by Fritos : 01-28-2008 at 09:50 AM.
|
01-28-2008, 09:53 AM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Thanks for testing this. Looking at what it did for you it seems like it set the wrong levels for the spells. I'll take a look and get you a version that addresses this soon.
EDIT: Fix added to first post now, typo in the code...
Quote:
Not sure if it matters, but I set it up to spit out for all 80 levels (don't want to have to do this every time I get a new spell) even though by toon is max at 67?
|
No that's fine, it's supposed to write the entire spell line up to max level, that works.
Last edited by gm9 : 01-28-2008 at 09:58 AM.
|
01-28-2008, 10:35 AM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by sorinth
While you are in tinker mode, you may want to think about implementing the ability to add chat to the button.
|
Yes, I already thought about that, but I'll actually have to do some tests first with respect to all the special characters people may want to put in there and how I can encode them such that it works in game, in particular if people start inputing encoded characters (never mind the details, but whatever can go wrong, someone will find it. ).
Apart from that it's easy to add.
|
01-29-2008, 02:59 PM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Hmm, and I thought this would be popular...
|
01-30-2008, 04:11 AM
|
|
A Dragoon Sith
|
|
Join Date: Dec 2004
Posts: 99
|
|
Quote:
Originally Posted by gm9
Hmm, and I thought this would be popular...
|
I think it will be popular. But most people don't know it exists by now (most only visit the forum if they have a problem) or are waiting to see the first final version.
I think you will only see a rising number of downloads, if you add it as a tool to the normal download area.
I'll try to test it out a bit. But I don't know if I will be able to try it out before the weekend.
|
01-30-2008, 02:14 PM
|
|
A Griffon
|
|
Join Date: Nov 2004
Server: Permafrost
Posts: 660
|
|
Quote:
Originally Posted by gm9
Hmm, and I thought this would be popular...
|
If I could be playing the game, I'd be more than happy to be testing this out for you. But being a full-time (16 credit load) unemployed student doesn't really give me much of an opportunity to do anything fun.
__________________
"Certainty of death! Small chance of success! What are we waiting for?!"
|
01-30-2008, 02:41 PM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by Calain80
I think you will only see a rising number of downloads, if you add it as a tool to the normal download area.
|
Yes, I will do that along with the next release of the interface after GU42 which will change the level detection code slightly (using the new Self.ActualLevel data to grab your unmentored level, which currently is impossible).
Quote:
Originally Posted by ShadowProwler420
But being a full-time (16 credit load) unemployed student doesn't really give me much of an opportunity to do anything fun.
|
Doesn't get better once you are working full time, 12+ hours days are bad for free time as well.
|
01-31-2008, 06:52 AM
|
A Griffon
|
|
Join Date: Jun 2006
Server: Najena
Posts: 160
|
|
When trying to populate the spell list for my baby warden (only character I have tried this for), I get the following error box appearing in excel
run time error 448
named argument not found.
Then, after I click ok on the error box, the entire spell name column is selected (not just the one that I picked). I am using beta 3 of the program.
|
01-31-2008, 12:55 PM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by sorinth
When trying to populate the spell list for my baby warden (only character I have tried this for), I get the following error box appearing in excel
|
I need some more info please.
- What spell did you select?
- What did you do right before you got the error message (eg. did you click on the button to change the EQ2 folder?)
- Which version of Excel do you have?
- Oh, and which Windows version?
Thanks.
|
01-31-2008, 03:11 PM
|
A Young Mystail Rat
|
|
Join Date: Jan 2008
Server: Antonia Bayle
Posts: 2
|
|
Run-time Error '76'
Trying to run the configurator and get this error when trying to save:
Run-time Error '76'
Path not found
Using:
WinXP
Office 2003
At first I tried it in a directory named with spaces (c:\Stuff Here\test) and then with no spaces (c:\stuff) and both failed.
I also tried it with many random line numbers and they all failed so it's not related to any one line in the spreadsheet.
|
01-31-2008, 03:20 PM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by chemical
At first I tried it in a directory named with spaces (c:\Stuff Here\test) and then with no spaces (c:\stuff) and both failed.
|
That's because you are supposed to select your EQ2 directory. In addition, ProfitUI must be installed in it. As I said there's not much error handling going on yet, I'll have to add better error messages I guess.
If you want to test it in a test folder, you can do it like this:
- Create c:\Stuff Here\test\UI\ProfitUI
- Copy your existing _ProfitUI_QuickRaidButtons.txt into that folder.
- Point the configurator to c:\Stuff Here\test as you did before
That's all it should need.
Last edited by gm9 : 01-31-2008 at 03:22 PM.
|
01-31-2008, 04:26 PM
|
A Young Mystail Rat
|
|
Join Date: Jan 2008
Server: Antonia Bayle
Posts: 2
|
|
Actually I assumed since there isn't much error handling that it wasn't checking for the ProfitUI but rather just writing out to whatever dir I provided.
My bad!
I don't need to get all crazy so I'll just wait and run it as intended, with a usable EQ2 and ProfitUI dir in place
Thanks man
|
01-31-2008, 06:22 PM
|
A Griffon
|
|
Join Date: Jun 2006
Server: Najena
Posts: 160
|
|
Quote:
Originally Posted by gm9
I need some more info please.
- What spell did you select?
- What did you do right before you got the error message (eg. did you click on the button to change the EQ2 folder?)
- Which version of Excel do you have?
- Oh, and which Windows version?
Thanks.
|
1) this happens with most spells, not just warden (I just tried it again randomly selecting files).
2) the option to enter the directory does not come up. That only comes up once I find a spell that it will accept (on the same window that prompts me for slot location)
3) excel from office 2000
4) win2k pro
Okay, I just ran through it again. In the window that asks for current level, I enter 28
In the column for class, I select warden (first time I did this, previously I just scrolled to the bottom of the list)
Then I select the spell line I would like to modify. I selected Blessing of Earth (heal over time)
Then I click "click to save spell line...."
Error box appears,
"Runtime Error 448" Named argument not found (the window to ask for slot number and UI file path were not asked)
Hope this helps, but I bet I am doing something wrong
|
02-01-2008, 04:16 AM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by sorinth
Hope this helps, but I bet I am doing something wrong
|
Thanks for the info, the steps you list sound ok, I don't think you are doing something wrong.
I'll have to get a hold of Excel 2000 and test it with that, I only checked it on Excel 2002 and 2003 so far on Windows 2000, XP and 2003 and had no problems on any combination of those. There is probably some incompatibility in the code with older versions although I don't really see what that would be right now.
|
02-01-2008, 07:58 AM
|
A Griffon
|
|
Join Date: Jun 2006
Server: Najena
Posts: 160
|
|
I can d/l the latest version of open office (openoffice.org) that is supposed to have full excel 2003 compatibility and see if that makes any difference.
|
02-01-2008, 08:24 AM
|
A Griffon
|
|
Join Date: Jun 2006
Server: Najena
Posts: 160
|
|
well strike that. It does not work in open office 2.3.1 at all. I enabled macros, and clicking the save button does nothing. I am late for work, so I will have to tinker with it more later.
|
02-02-2008, 09:16 AM
|
A Darkpaw Brute
|
|
Join Date: May 2007
Server: Antonia Bayle
Posts: 44
|
|
Will try it this weekend and report
Ive got toons of all classes, spell casters and potion users, and nary a one is over 40. I haven't had a ton of luck with the auto-drink or auto-cure-spell buttons, so this will give me a chance to test out what I'm doing wrong. Love the idea!
|
02-02-2008, 01:53 PM
|
A Coastal Crab
|
|
Join Date: Feb 2008
Server: Antonia Bayle
Posts: 1
|
|
Don't know if it helps at all, but I was going through this thread and thought of something which I encountered with another application....
If the code is written in XML or uses any XML at all, be aware that versions of Excel (prior to, I believe 2002) do not have XML handling enabled. Also, when using the "standard" version of Office (2003 and up) it is nice to know that it will ship with an Excel version which has (very) limited XML handling capabilities.....
As for general interest: Just another 40 minute wait to get my Lvl 53 Necromancer out of bed, after a 2 year and 4 months sleep.... Be happy to test this out, once I've gotten into the game again!
Greetz!
|
02-02-2008, 02:28 PM
|
|
A Brown Bear
|
|
Join Date: Feb 2005
Server: Antonia Bayle
Posts: 10
|
|
Quote:
Originally Posted by gm9
Hmm, and I thought this would be popular...
|
Well I play on Linux...so I can't try it, although I was excited til I read it needed Windows
Nonetheless, awesome job.
|
02-02-2008, 07:55 PM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
I guess this could eventually be converted into Java or something so it runs under Linux, but since the table from Ornathian was in Excel it was convenient to use that
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 12:19 PM.
|
|