That's roughly what I thought, just wasnt quite sure of the exact coding for it. Thanks!
That's roughly what I thought, just wasnt quite sure of the exact coding for it. Thanks!
In my cor xml, I have a few conditions when making /ranged shots and weaponskills for picking the bullet, and then that bullet it set during precast to ensure that you're never using your Quick Draw bullet(s) for that. That should work as long as you have bullets of the given type to properly replace Omphalos, but if you run out it could be a problem.
The above code Yugl provided would work as long as you have that condition in the "always run" area of the xml (ie: not just in the /ranged section). I'll tweak my own, though, to put the check just in the /ranged and weaponskill sections. It should still equip the precast gear, and thus equip the appropriate non-Omphalos ammo if available, but if you get multiple warnings then you know there's an issue. New version on pastebin.
Hey guys/gals,
So Xilk has been trying to help me get back into the feel of things with spellcast and i've been using his BST xml (with mote's include, and alias)
When I rest, and then raise back up to standing, I get an error message:
Spellcast: Var: missing additional parameters for set. Type /sc var help for help
http://pastebin.com/ph3sih6R
that's the spellcast i'm using. I haven't touched mote's include. any help would be greatly appreciated. thanks guys
Post "Mote-Rules-Include.xml"
http://pastebin.com/JqU1T6kv
My bad
Do you have that set?Code:<if status="resting"> <equip when="all" set="Resting-$RestMode" /> </if>
hmmm, i don't know if this will satisfy the rule requirement but i changed this:
<code>
<set name="Regen">
<head>Twilight helm</head>
<neck>Wiglen Gorget</neck>
<body>Twilight mail</body>
<lring>Sheltered Ring</lring>
<rring>Paguroidea Ring</rring>
</set>
</code>
into this:
<code>
<set name="Regen|Resting">
<head>Twilight helm</head>
<neck>Wiglen Gorget</neck>
<body>Twilight mail</body>
<lring>Sheltered Ring</lring>
<rring>Paguroidea Ring</rring>
</set>
</code>
Not sure if that will fix it, haven't tried it out yet, as i'm out exping on fucking warms!
p.s. i don't know how to do the code spoiler thingie....fml
$RestMode is a variable. The variable is set to "Normal", so make a set named "Resting-Normal."
Pertaining to PUP- Anybody have a section of existing code for engaging with TH sash on and after a few seconds goes back to TP belt? Motenten uses something like it for his thf xml for TH,but im not sure what i could copy out of that. Thanks in advance!
Depends on the XML you have. If you use a trigger to return to TP gear,
<equip when="engaged" set="TP|TH" />
<if TPLT="80">
<command when="engaged">wait 3;triggerspellhere</command>
</if>
Are there any tools available for profiling blocks of code in spellcast XMLs? Even something simple like recording/reporting time deltas would be useful but I haven't been able to find anything. thanks
Turn on debug
<config
debug="true"
/>
Do stuff > Spellcast folder > Debug_CharacterName > Check that.
As far as I know, there's no user-facing profiling tools other than what you can get out of debug. There's also some trick to getting debug information to be written, but it always takes me a while to remember how it works; usually my debug files just end up blank.
This is probably a stupid question, but I'm still learning Spellcast. I'm trying to modify Nightfyre's NIN xml and don't understand what the | , which I assume is "or", does in this piece of code.
$Melee cycles between TP, Acc, Crit and Eva. $Armor cycles between PDT, MDT or none. $Fastfeet cycles between Danzo Sune-ate and nin AF feet. Thanks in advance.Code:<equip set="$Melee|$Armor|$FastFeet" />
Stacks sets from left to right.
Equip Melee > Then Equip Armor > Then Equip FastFeet. This lets you use PDT + TP by using TP gear if you don't have PDT gear there.
I have a slight problem w/ my bst xml which I'm not sure the best way to fix.
http://pastebin.com/u/xilk
I use Motenten's include files and built it very much in the style of his xml's.
The thing which isn't working as expected is that after using a custom classtrigger to execute ready moves, it does not re-equip afterwards.
I've just been using the manual forced equip, but that's not really ideal.
This is the code which calls the ready moves.
any ideas why the re-equip isn't working on only the ready moves?Code:<if SpellTargetRaw=".ready"> <equip when="midcast" set="Ready" /> <command>input /raw /pet "$Active-ready" <me></command> </if>
Not sure if it'll cause any weirdness, but should get rid of the <slot>.Code:<set name="Idle-Field-Normal" BaseSet="Idle-Town-Normal|Regen"> <slot>example</slot> </set>
These set definitions mean that if your defense mode is PDT/MDT/EVA, almost none of your gear is going to get changed back after any other action.Code:<set name="TP-*-Crit-PDT" > <head>Anwig Salade</head> <neck>Shepherd's chain</neck> <back>Oneiros Cappa</back> <legs>Ferine Quijotes +2</legs> </set> <set name="TP-*-Crit-MDT"> <head>Anwig Salade</head> <neck>Shepherd's chain</neck> <waist>Solemnus belt</waist> <legs>Ferine Quijotes +2</legs> </set> <set name="TP-*-Crit-EVA" > <lear>Emerald earring</lear> </set>
Locking the body when Killer Instinct is active overrides -all- other uses of the body, even if they have no bearing on damage. For example, immediately after you have a rule for the Twilight set if you have Doom; however if you've already locked the body because Killer Instinct is up, Twilight Mail won't be equipped.Code:<if BuffActive="Killer Instinct"> <equip when="all"> <body lock="true">Ferine Gausape +2</body> </equip> </if> <if mode="OR" BuffActive="Doom" HPLT35="True"> <equip when="all"> <head lock="true">Twilight Helm</head> <body lock="true">Twilight Mail</body> </equip> </if>
The variable tests here are completely redundant. A var assignment is going to be faster than an advanced <if> check anyway. Simplify it down to just setting the vars to their neutral state.Code:<if PetIsValid="FALSE"> <var cmd="set IdleFeet Skadi's Jambeaux" /> <if advanced='"$PetEngaged"=="True"'> <var cmd="set PetEngaged False" /> </if> <if advanced='"$Active-ready" != "Sic"'> <var cmd="set Active-ready Sic" /> </if> <if advanced='"$KillerFood"!="None"'> <var cmd="set KillerFood None" /> </if> </if>
When setting the appropriate food per pet, you're probably better off just setting that when you call the pet, instead of rechecking it every single action, since it's not going to change the vast majority of the time.
The mode="or" is unnecessary here. There's only one rule being checked.Code:<if mode="or" BuffActive="Weakness" > <var cmd="set WeaknessArmor WeakSet" /> </if>
Triggers have cast times of 0, which mean they technically don't have a 'midcast'. I'm also not sure why you'd want to set your ready gear on midcast. Maybe you mean precast?Code:<if SpellTargetRaw=".ready"> <equip when="midcast" set="Ready" /> <command>input /raw /pet "$Active-ready" <me></command> </if>
Also, trigger spells get any $CurrentSet equip equipped immediately. So if the above *does* actually equip Ready on some imagined midcast that occurs after precast, the actual order of operations will be:
precast: equip $CurrentSet
midcast: equip Ready
aftercast: there is no aftercast on a trigger action
Leaving you with what appears to be a situation where it's not returning to default gear. Would suggest turning on ShowGearSwaps to see if that sequence of equips seems to be the case.
You can fake an aftercast by changing the command to:
<command>input /raw /pet "$Active-ready" <me> ; wait 0.5; $UpdateCommand</command>
Thanx for the help cleaning up my script.
FYI, the <slot>example</slot> junk doesn't cause any weirdness... just something I forgot to clean up when copying my sets from a template that I think I got from Yugl..
I've applied most the suggestions but you bring back my dilemma from before about how I want to keep Ferine Gausape +2 on while Killer effects is up.
Originally, I tried using a custom offense mode. However, that seemed needlessly complicated to make so many sets for TP, WS, etc just to put 1 body piece on.
I'm not exactly clear on all the quirks of spellcast... but if the killer instinct rule came after the doom/weakness/low hp rules which locked twilight, wouldn't changing the order resolve the conflict?
Alternately, perhaps the simplest way may be to add another layer in this line for it and just toggle a variable when its on. Not sure of any possible complications from this...
Code:<var cmd="set CurrentSet $BaseLayer|$WeaknessArmor|$PhysicalDefense|$MagicalDefense|$Killerset|$Movement" />
Edit: Oh One more funny thing which has been happening since I made this script and I cannot seem to track down why.
When using Call Beast, it equips the Call beast set (ammo and hands) but it also equipps the rest of base weaponskill set, as if Call beast set were using it as a base, or as if it was equipping ws set then call beast set. Its only a minor annoyance, but I've gone thru it and I'm really not sure why it happens.