Triane
Apr 20 2004, 01:08 AM
This is a quick-and-dirty utility for getting your character's spells.
If you load up this macro, and run it, then take your toon to each scroll vendor, upon opening the vendor, the macro will analyze the vendor's scroll inventory and compare it to your spellbook. Any spells you don't know it will buy, and then attempt to learn.
If the list of scrolls exceeds your on-hand pyreals, the macro will buy as many scrolls as you can afford with what you do have.
Like I said, it's down-and-dirty, but I've tested it a bit and it works within the parameters I defined. GREAT for getting your re-rolls' libraries stocked, if you have the cash
Update: (April 20/04)Version 1.1:- you can open a new vendor with one already open and the macro should pick up that change.
- you can create a text file containing line-delimited items that will cause matching scrolls to be rejected
The plain-text CR-delimited file defines individual pieces of text. If the name of a scroll contains that text, anywhere in it, the scroll will be rejected. You can be as complete or vague as you want to be, but recognize that less specificity increases the odds of false positives. By default the macro looks for a file named "REJECTSCROLLS.TXT", but this can be renamed in a constant at the top of the macro. If the file isn't found, the macro passes all scrolls. If you take time to create reject lists for specific circumstances or classes, or other purposes, please post them here for others to benefit from!
Update: (April 21/04)Version 1.2:- Broke Reject File into 4: one for each school, this decreases processing time for each school due to not processing reject entries for other schools.
- Optimized the order of the reject scanning: the macro only scans the reject list if the spell isn't already learned. In 1.1 ALL scrolls were scanned, even if the spell was going to be rejected because it was already in the book.
-Triane
Ipa
Apr 20 2004, 01:21 AM
Getting ready for the new server ? LOL
I've got something similar hacked together, I decided to use named profiles for what to buy. Profiles include Macro (for InstaOG), Self, Other, Vuln, WarBolt, WarArc, Portal. Each profile defines a set of spells (sometimes overlapping with other profiles, can define multiple profiles at once) - when this set is intersected with the set available at the current open vendor, that's what to buy.
And hence the reason I was thinking about a dataset for DSSpellBook - bit quicker to load the entire spellbook as a batch, instead of repeated SpellInBook calls for each spell.
However, if NHL playoff games keep going to O.T., I guess I'm never getting to any ACTool coding ...
Triane
Apr 20 2004, 01:28 AM
Hehehe -- I'm watching Calgary/Vancouver too, unbelievable last 10 seconds! Don't really care who wins, but is a good game

-Triane
(PS: I looked at options for limiting spells, but creating all those profiles, each possibly containing literally hundreds of spells was of remarkably little interest to me on a "whim" project

)
PPS: Woop, looks like the OT's over...
Triane
Apr 20 2004, 01:38 AM
Heh -- I was just hanging out in Crag, managed to get ALL of my 2-school archer's 1st, 2nd, 3rd and some 4th level spells in less than half an hour

There's no spells the vendors sell that are self-negative, the only downside here is if you don't want to learn the "other's", or the debuffs. If there weren't thousands of spells to hand-sort, I'd do something about it, but at 1:35am on a worknight, it's much to daunting to address right now

-Triane
DaMOB
Apr 20 2004, 09:09 AM
US is about to abolish the NHL and it is real close to doing it too (lack of funds). Seems the US never went to Hockey nor that other canuk game of Curling.
goodfela26
Apr 20 2004, 10:42 AM
The US isn't about to abolish hockey. If anything, it's the owners and the players that may ruin the NHL if it goes through an extended lockout after this season.
I'd have to say that hockey is as popular as ever in the US as there are more people playing hockey in places where it was never played before. Tampa Bay doing as well as they are now is a great thing for hockey in the southern states.
Anyway, if I get back into AC after the expansion is released, this would be something I would probably need at that point for my secondary characters. It would probably be optimized by that point as well.
DaMOB
Apr 20 2004, 11:36 AM
Well, the owners not the people (heck we have the Predators here) are what is saying lack of funds. Plus the players are demanding salaries along the lines of football players and thats nutso.
When I said US I meant the owners and we will not have the NHL so no National Hockey League for US. Best would be to find a bush league then.
stabaho
Apr 20 2004, 07:29 PM
Well Iam from Minnesota, and EVERY GAME the MINNESOTA WILD has played at home since they started, has been sold out. It is hard as hell to even get a ticket here. Also at the bar I work at, we keep the TV on the hockey games. (One of them is on the NBA though). So I dont know how they are not making enough money with like 4 years of sold out stadium seats.
stabaho
Apr 20 2004, 07:31 PM
Ive been waiting for something like this to come out. Will make filling out your spell book easier. Although I like Ipa's idea for having catagories to tell the bot what to get, beggars cant be choosers though, and I wont complain. I will be using this to fill out my mages spells on the new server.
DaMOB
Apr 20 2004, 07:43 PM
Well, the owners say because the players are now demanding in exceess of 100 million dollar a year contracts or 50 mill a year with profits. Thats just insane when numbers for numbers NHL is no where as big as NFL. Anyways we will see how it goes but left up to the players and the owners no more NHL for us in the US.
Now back to your regualrly scheduled thread.
Triane
Apr 20 2004, 07:47 PM
I'm waiting on an answer from Ipa, if he'll send me the profiles he's already worked out, I'll try to implement them.
He must have put a tonne of time into that, considering that even a meagre definition of classes would entail hundreds of spells. (For instance: Creature Selves, Life Selves and Item Selves alone entails about 450 spells! [41*6, 16*6, 19*6])... Defining half a dozen of those would be serious work!
-Triane
Ipa
Apr 20 2004, 08:34 PM
I took a slightly different approach, being the lazy bastich I am.
VendorID - get the GUID of current vendor, error out if no vendor open.
| CODE |
VendorID If {PluginResult} = 0 SendText 13, Doh - open a Scrivener and try again Stop Else SelectGUID {PluginResult} SetConst $ScrivenerName = _selected End
|
SelectGUID on the VendorID, get the vendor name. Name of the Scrivener resolves into the spell level (exception: level 1 & 2 scriveners are both called "Apprentice")
For laziness, I stuffed the profile names into a delimited string
eg:
| CODE |
Constants CurrProfile = Macro,Self,Other,Vuln //others include WarBolt, WarArc etc End
|
Might be more flexible as a list.
Then setup the scrolls to buy, based on Scrivener name and profile:
| CODE |
If $ScrivenerName Contains Creature If $ScrivenerName Contains Apprentice SendText 13, Apprentice - adding levels 1 and 2 Critter to buy list // Have to add level 1 & 2 - the BuyScroll will resolve which the vendor has Call CritterScrolls $CurrProfile, II Call CritterScrolls $CurrProfile, I End If $ScrivenerName Contains Journeyman SendText 13, Journeyman - adding level 3 Critter to buy list Call CritterScrolls $CurrProfile, III End
// ... etc for other Scrivener names and their associated spell level End
|
And then the procedure for each spell school ...
| CODE |
Procedure CritterScrolls Using Profile, Level If $Profile Contains Macro Call BuyScroll Scroll of Creature Enchantment Mastery Self $Level Call BuyScroll Scroll of Life Magic Mastery Self $Level Call BuyScroll Scroll of Item Enchantment Mastery Self $Level Call BuyScroll Scroll of Mana Mastery Self $Level Call BuyScroll Scroll of Willpower Self $Level Call BuyScroll Scroll of Focus Self $Level Call BuyScroll Scroll of Endurance Self $Level Call BuyScroll Scroll of Leadership Mastery Self $Level End
// Repeat for other Profiles
|
Beyond that, BuyScroll puts scroll name into a dataset if a) not already in it

vendor selectable and c) not already in the character's spellbook.
The dataset then drives the buying process.
Sorry, don't have the complete lists here - working off an early version I have at work. Just posting that to give the concept and assure you that I'm way too lazy to code up several hundred spell names
Triane
Apr 20 2004, 09:45 PM
I was thinking it might not be too hard to create a file of CR-separated-values that could be compared to the name of each scroll and have the scroll unselected if it matches. That might make it a bit easier to weed oout large numbers of spells without having to enter
too many things, I'll give it a try and see how it goes

-Triane
PS: Ipa, this macro is designed to be running all the time, but only makes itself known when you open a vendor who sells scrolls. I gather that yours is run after you open the vendor?
Triane
Apr 20 2004, 10:13 PM
Okay, I posted an update to the macro, details at the top of the thread. One additional note: the more entires you add to the reject list, the EXPONENTIALLY slower you will cause the macro to be. This is because every entry on the reject list has to be compared against every scroll that the macro is considering buying, so don't get carried away without good reason!
Also, don't include the "Scroll of" part in the reject list. The macro only compares the name of the spell itself against the list, thus "Scroll of" will never occur in this comparison and so will never invalidate a scroll.
-Triane
Triane
Apr 21 2004, 08:07 PM
Okay, I've done another update. Details at the top of the thread. I converted the single reject list into 4: one for each school. This will speed processing by allowing the macro to only use reject tags specific to the applicable school (instead of using ALL reject entries for all scrolls). I also changed the order of the reject scanning, so that scrolls that would be rejected based on other criteria aren't also passed through the reject list.
-Triane
Eldin
Apr 28 2004, 12:35 AM
ok...I downloaded the file and put it in the macros folder for ACTools...and created the 4 different reject text files in the same location. After starting AC and launching actool from within AC (with the macro) how long does it take before it will start making purchases? (I just want to make sure I have this setup correctly)
Thank you for any help that is provided.
(the following is what is loaded)
Plugins, 0, ELTank Plugin, 2.6.0.8
Plugins, 0, MuleShopper, 1.1.0.2
Plugins, 0, Magellan 2, 2.2.0.0
Plugins, 0, AC Trade, 1.7.0.9
Plugins, 0, Universal Salvaging Tool, 1.0.0.10
Plugins, 0, Orienteer II, 0.3.0.0
Plugins, 1, AC Tool Companion, 4.5.6.0
Plugins, 1, Meginjarder, 2.2.0.6
Network Filters, 1, Echo Filter 2, 2.6.1.2
Network Filters, 1, Character Stats Filter, 2.6.1.2
Network Filters, 1, World Object Filter, 2.6.1.2
Network Filters, 1, Identify Queue Filter, 2.6.1.2
Network Filters, 1, SpellFilter, 1.4.0.2
Network Filters, 1, Imp Filter v2, 2.8.0.12
Network Filters, 1, Orienteer Filter, 0.2.0.25
Services, 1, Decal Dat Service, 2.6.1.2
Services, 1, Decal Input Service, 2.6.1.2
Services, 1, Decal Networking Service, 2.6.1.2
Services, 1, Decal Inject Gateway Service, 2.6.1.2
Surrogates, 1, Version 1 Plugin Surrogate, 2.6.1.2
Surrogates, 1, Prefilter Network Filter Surrogate, 2.6.1.2
Surrogates, 1, ActiveX Plugin Surrogate, 2.6.1.2
Surrogates, 1, VBScript Plugin Surrogate, 2.6.1.2
Input Actions, 1, Delay Input Action, 2.6.1.2
Input Actions, 1, Mouse Move Input Action, 2.6.1.2
Input Actions, 1, Restore Input Action, 2.6.1.2
Input Actions, 1, Polled Delay Input Action, 2.6.1.2
Input Actions, 1, Typing Input Action, 2.6.1.2
Input Actions, 1, Event Input Action, 2.6.1.2
Operating System:
Microsoft Windows XP Professional Service Pack 1 (Build 2600)
[Protected Storage Service] : Automatic
[Injection Method] : NEW
Runtime Libraries
[msvbvm60.dll] : Installed (6.0.92.37)
[msvcr70.dll] : Not Installed
[msvcp70.dll] : Not Installed
[msvcr71.dll] : Installed (7.10.3052.4)
[msvcp71.dll] : Not Installed
[mfc70.dll] : Not Installed
[mfc71.dll] : Not Installed
[atl70.dll] : Installed (7.0.8981.0)
[atl71.dll] : Not Installed
Microsoft XML Libraries
[msxml3.dll] : Installed (8.30.9926.0)
[msxml4.dll] : Installed (4.20.9818.0)
Triane
Apr 28 2004, 08:06 AM
It shouldn't do anything until you open a scroll vendor, at which point it should immediately begin processing. It may need to be debugged some more, however, the 4.5.6 release messed it up and I haven't had the chance to see if the 4.5.7 update fixed the problem yet. I will try to look at it tonight if I get the chance.
-Triane
Eldin
May 19 2004, 11:26 AM
any luck on this?
Triane
May 19 2004, 01:52 PM
I haven't had a chance to play with it s'more, and Ipa's a new dad, so he probably doesn't have a lot either... I don't know what about the spell checking code is broken, so to answer your question, no, there's been no progress on it (yet).

-Triane
Ipa
May 19 2004, 02:27 PM
I haven't been able to replicate the issue.
SpellInBook has functioned correctly in my limited testing.
That was the issue, right ? SpellInBook was returning 'Unknown Error' ?
Triane
May 26 2004, 05:03 PM
As it turns out, it's StrTrim that's causing this program to crap out. I'm currently investigating alternative solutions.
-Triane
Bolo Grubb
May 28 2004, 05:22 PM
one question with this macro, does it use notes or do I need to convert notes to cash for it to buy scrolls?
I do not have winzip at work so I am not able to look at the code here
Triane
May 28 2004, 09:13 PM
It uses pyreals (cash).
Handling notes involves making sure you have enough packspace, selling, buying scrolls, checking packspace and it's all a hassle.
This will buy as many scrolls as it can with the pyreals you have. Then you can sell the notes (or plat scarabs, or pyreal peas or what have you), and as soon as you re-open the vendor, it will pick up where it left off and buy as many more scrolls as it can afford.
Not sure how well this is working with the borked StrTrim problem, which I'm still waiting to hear about a possible upcoming fix for.
-Triane
Bolo Grubb
May 29 2004, 01:49 PM
ok thanks for the clarification, I will give it a try as is and see what happens.
Triane
May 29 2004, 02:05 PM
Ipa indicated that a fix for StrTrim is on the way, so hopefully things will be back to "normal" again soon and I can finish debugging it.
-Triane
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.