When I was doing some optimization of my XML under 2.22, I noticed that modifying sets was surprisingly slow, so you pay a penalty for changing what goes in a slot multiple times with different rules. Is it faster to use variables for this?
Also if you have when="aftercast|idle|engaged|resting", don't; that doubles the time spent on modifying sets, as it modifies both the aftercast and the autoset sets even though only one of them is going to get used.
SpellCast is reactive. It will only go through the rules when you perform an action, such as a spell, or a JA, or engaging, etc. Some people use a macro likethat triggers the rules, but will never actually perform the action.Code:/ma "Holy II" <t>
Your specific case is like mine, but I added a when="engaged" so pulling out my weapon to fight would trigger it automatically. I had a when="idle" rule to put my Myochin Kote +1 back on when not engaged so I wouldn't incur the movement speed penalty. This will always process the variable change, even if you have a menu open, disallowing equip swaps to actually succeed. I get around this with a bind to ctrl+f1 that runs ".sc s idle;" and swaps my set in after I'm out of the prohibitive menu.
You could build that into your rule as well, but this still will not automatically change the hands variable until you force the rules to process as I described above.
I don't think that's the issue. I have "/sc set Haste" (which contains the $hasteHands variable for the handslot) in my utsusemi macros for example, and the gear swap works, it just never loads koga tekko. My ni shadow cancel for casting ichi rules work fine when using the same macros.
Why not just use a rule to handle that too, rather than putting it in your macro?
can be reduced toCode:/ma "Utsusemi: Ni" <stpc> /sc set Haste /wait 2 /sc set idle
if you have the ruleCode:/ma "Utsusemi: Ni" <stpc>
This ensures your rules get processed in the correct order, and keeps your macros simple. It also accommodates command-line casting such as "//utsusemini".Code:<if spell="Utsusemi*"> <equip when="midcast" set="Haste" /> <equip when="aftercast" set="idle" /> </if>
EDIT: Try adding a <command>input /echo $HasteHands</command> right before and after your rule that is supposed to be setting the $HasteHands variable based on time. This way you can see what the value of the variable is before and after it processes for debug purposes. Perhaps something is misspelled?
Ok I decided to make a little text xml to see why you said that code didnt work. First thing I noticed is you have two different quotation marks being used, the wrong ones being in the variables section (opening the xml in firefox showed this error). Also you must have a "set" inside a "group" and sets of groups are inside "sets" (Firefox doesnt report this as an error but Spellcast info when loading the xml reported 0 sets). Posting the xml I tested with so you can see:
I loaded this .xml. Checked and saw it was nighttime, checked that the variable was initially set to "Dusk Gloves" (sc var list), casted Utsusemi just to get the rules to proc ,and checked the var again (sc var list) and noticed it was changed to "Koga Tekko". So this code does work.Code:<?xml version="1.0" ?> <spellcast> <config HideErrors="false" ShowGearSwaps="false" Debug="false" ShowSpellInfo="false" /> <sets> <group default="yes" name="Haste"> <set name="Handtest"> <hands>$hasteHands</hands> </set> </group> </sets> <variables> <var name="hasteHands">Dusk Gloves</var> </variables> <rules> <if mode="OR" TimeLT="6.00" TimeGT="17.59"> <action type="Var" cmd="set hasteHands Koga Tekko" /> </if> <else> <action type="Var" cmd="set hasteHands Dusk Gloves" /> </else> </rules> </spellcast>
Edit: BTW this was tested on Spellcast 2.22
Thanks, that did it.
Because I have multiple sets to idle in as nin depending on the situation/macro palette. I'm sure there are ways to handle all that with spellcast commands, but I don't see why I would want to bother when what I have now is working fine.
Interesting find on the double quotes. I had copied some of them straight off the windower.net SpellCast page, but typed some of them myself. I'm guessing this had everything to do with why the rule was failing.
The <set>...</set> was part of the content skipped by ellipses under <group>, so I apologize that was unclear.
Fair enough. No need to fix what isn't broken (I personally think there are exceptions to this sentiment, but this may not be one). One nice feature of SpellCast 2.30 is the fact that it knows what you currently have equipped, and consequently won't try to equip something you are already wearing when it swaps in a set based on rules. Normal windower scripts don't allow you to take advantage of this. I'm sure if you wanted some feedback on how to set up your rules to handle your specific cases, there would be people here and plenty over on the windower forums willing to help you figure out something workable.Originally Posted by fantasticdan
After all, I didn't major in computer science because I like to type. I majored in computer science because I like to find solutions. :D
Ever since I started using spellcast (like 2 weeks ago), sometimes when I would view my chatlog, all the text would dissapear and it really fucking bothers me. HLAP
That isn't due to Spellcast, it happens to the best of us. Just a gay glitch I suppose.
It only started after I installed spellcast <_<, never ever happened before that.
I have also seen the blank chatlog start happingin since upgrading SpellCast. I have seen that happen before, but that was a year or so ago. It may be a coincidence, no conclusive evidence yet.
Well I personally don't use spellcast right now and I still get it from time to time.
It never used to happen to me back in the old days, but since using windower its happened more often.
It's never happened at all ever before I got spellcast (2 weeks ago). I have windower 3.3 I think