DNC Spellcast

Eorzea Time
 
 
 
Language: JP EN FR DE
users online
Forum » Windower » Spellcast Scripting » Dancer » DNC Spellcast
DNC Spellcast
First Page 2
 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2012-09-27 12:53:55
Link | Quote | Reply
 
Updated 2/8/11
Changes -
* Removed Saber Dance set/flags
* Removed unnecessary variables
* Cleaned up some stuff that wasn't being used
* Eliminated the reliance on Yugl-Include.xml (only need the new Byrth-Include.xml (it has the same functions as before)
* Dropped down the number of TP sets and removed the left/right cycling option because it was no longer beneficial.
* Eliminated some triggers.

Here it is!
( File Name ) : ( URL )
* Autoexec.xml: http://pastebin.com/imjiMqjC -- goes in ../Windower/plugins/autoexec/
* Byrth-Include.xml: http://pastebin.com/xCekMuPZ -- goes in ../Windower/plugins/spellcast
* Name_DNC.xml: http://pastebin.com/FPUnWtq8 -- goes in ../Windower/plugins/spellcast

You need to use Autoexec and Spellcast to use this xml. Download them each, make "spellcast" and "autoexec" folders in the ../Windower/plugins/ directory, and add "load Autoexec" and "load Spellcast" commands to your ../Windower/scripts/init.txt

You will need to download the three files linked above and change them to xmls. They default to downloading as text documents, last I checked. To convert them (way anyone can do):
* Open one in Notepad
* Open another empty document in Notepad
* Copy from the one you downloaded to the new document
* Save the new document (to the appropriate folder) using the name that you want (like "Byrth-Include.xml") and after change the file type (below the name) from "Text Document" to "All Flies".
* Repeat for the other two files
[+]
 Quetzalcoatl.Dova
Offline
Server: Quetzalcoatl
Game: FFXI
user: dova
Posts: 567
By Quetzalcoatl.Dova 2012-10-03 16:38:44
Link | Quote | Reply
 
These are my rules for DNC. For some reason it won't do anything pertaining to NFR. I can't figure out why :/ Line 205 is NFR.
Code
  <rules>
    <if status="idle">
      <equip when="aftercast|idle" set="idle"/>
    </if>
    <elseif status="engaged">
	  <if advanced='("$atk" = "main")'>
        <equip when="engaged|aftercast" set="main"/>
	  </if>
	  <elseif advanced='("$atk" = "eva")'>
	    <equip when="engaged|aftercast" set="eva"/>
	  </elseif>
	  <elseif advanced='("$atk" = "mdt")'>
	    <equip when="engaged|aftercast" set="mdt"/>
	  </elseif>
	  <else>
	    <equip when="engaged|aftercast" set="pdt"/>
	  </else>
    </elseif>
	<!--               Jigs                      -->
	<if type="jig">
		<if spell="spectral jig">
		  <if buffActive="Sneak">
			<action type="CastDelay" delay="1"/>
			<command when="precast">cancel 71</command>
		  </if>
		  <equip when="precast" set="jig"/>
		</if>
		<if spell="chocobo jig">
		  <addtochat color="121">.............................Using %spell.....</addtochat>
		  <equip when="precast" set="jig"/>
		</if>
	</if>
    <!--               Waltzes                   -->
	<if type="waltz">
		<if mode="and" spell="*waltz*" notspell="healing waltz">
		  <equip when="precast" set="waltz"/>
		  <if mode="and" Area="Aby*" notBuffActive="weakness">
			  <if spell="Curing waltz V">
				<if advanced='("%TP" < "80" AND "%TP" > "64")'>
				  <action type="ChangeSpell" Spell="Curing waltz iv" />
					<if advanced="%SpellTargetHPP >85">
					  <action type="ChangeSpell" Spell="Curing waltz ii" />
					</if>
					<elseif advanced="%SpellTargetHPP >70">
					  <action type="ChangeSpell" Spell="Curing waltz iii" />
					</elseif>
				</if>
				<elseif advanced='("%TP" < "65" AND "%TP" > "49")'>
				  <action type="ChangeSpell" Spell="Curing waltz iii" />
					<if advanced="%SpellTargetHPP >85">
					  <action type="ChangeSpell" Spell="Curing waltz ii" />
					</if>
				</elseif>
				<else>
					<if advanced="%SpellTargetHPP >85">
					  <action type="ChangeSpell" Spell="Curing waltz ii" />
					</if>
					<elseif advanced="%SpellTargetHPP >70">
					  <action type="ChangeSpell" Spell="Curing waltz iii" />
					</elseif>
					<elseif advanced="%SpellTargetHPP >55">
					  <action type="ChangeSpell" Spell="Curing waltz iv" />
					</elseif>
				</else>
			  </if>
		  </if>
		  <else>
			<if spell="Curing waltz V">
				<if advanced='("%TP" < "80" AND "%TP" > "64")'>
					<if advanced="%SpellTargetHPP >85">
					  <action type="ChangeSpell" Spell="Curing waltz ii" />
					</if>
					<elseif advanced="%SpellTargetHPP >70">
					  <action type="ChangeSpell" Spell="Curing waltz iii" />
					</elseif>
					<else>
					  <action type="ChangeSpell" Spell="Curing waltz iv" />
					</else>
				</if>
				<elseif advanced='("%TP" < "65" AND "%TP" > "49")'>
					<if advanced="%SpellTargetHPP >85">
					  <action type="ChangeSpell" Spell="Curing waltz ii" />
					</if>
					<else>
					  <action type="ChangeSpell" Spell="Curing waltz iii" />
					</else>
				</elseif>
				<else>
					<if advanced="%SpellTargetHPP >90">
					  <action type="ChangeSpell" Spell="Curing waltz" />
					</if>
					<elseif advanced="%SpellTargetHPP >80">
					  <action type="ChangeSpell" Spell="Curing waltz ii" />
					</elseif>
					<elseif advanced="%SpellTargetHPP >62">
					  <action type="ChangeSpell" Spell="Curing waltz iii" />
					</elseif>
					<elseif advanced="%SpellTargetHPP >37">
					  <action type="ChangeSpell" Spell="Curing waltz iv" />
					</elseif>
				</else>
			  </if>
		  </else>
		</if>
		<if spell="healing waltz">
		  <if advanced='("%target" = "%playername")'>
			<if notBuffActive="Bio|Bind|Burn|choke|dia|flash|frost|gravity|rasp|slow|weight|bane|blind|curse|disease|paralysis|poison|silence|plague|*down" >
			  <addtochat color="121">.............................No debuffs.....</addtochat>
			  <action type="cancelSpell" />
			</if>
		  </if>
		</if>
	</if>
	<!--               Steps                     -->
	<if type="step">
	  <if notBuffActive="Presto" >
                <action type = "CastDelay" delay = "1.5"/>
                <action type = "Command" when = "Precast">input /raw /ja Presto <me></action>
	  </if>	
	  <if spell="feather step">
	      <addtochat color="121">.............................Using Feather Step on %target.....</addtochat>
          <equip when="precast" set="fstep"/>
	  </if>
	  <else>
	    <addtochat color="121">.............................Using %spell on %target.....</addtochat>
	    <equip when="precast" set="step"/>
	  </else>
    </if>
    <!--               Sambas                    --> 
	<if type="samba">
	  <addtochat color="121">.............................Using %spell.....</addtochat>
      <equip when="precast" set="samba"/>
    </if>
	<!--               Weapon Skills             -->
	<if type="weaponskill">
		<if spell="rudra's storm">
		  <if buffActive="Climactic Flourish">
			<action type="CastDelay" delay=".5"/>
			<equip when="precast" set="rudracrit"/>
		  </if>
		  <elseif buffActive="aftermath">
			<if buffActive="Climactic Flourish">
			  <action type="CastDelay" delay=".5"/>
			  <equip when="precast" set="rudracrit">
				<head>Aias Bonnet</head>
			  </equip>
			</if>
			<else>
			  <action type="CastDelay" delay=".5"/>
			  <equip when="precast" set="rudra"/>
			</else>
		  </elseif>
		  <else>
			<action type="CastDelay" delay=".5"/>
			<equip when="precast" set="rudra"/>
		  </else>
		</if>
		<if spell="pyrrhic kleos">
		  <action type="CastDelay" delay=".5"/>
		  <equip when="precast" set="pk"/>
		</if>
		<if spell="evisceration">
		  <action type="CastDelay" delay=".5"/>
		  <equip when="precast" set="ws"/>
		</if>
		<if spell="dancing edge">
		  <action type="CastDelay" delay=".5"/>
		  <equip when="precast" set="de"/>
		</if>
		<if spell="exenterator">
		  <action type="CastDelay" delay=".5"/>
		  <equip when="precast" set="exen"/>
		</if>
		<if spell="aeolian edge">
		  <equip when="precast" set="ae"/>
		</if>
	</if>
    <!--               Flourishes                -->
	<if type="flourish*">
		<if spell="violent flourish|kura*|hojo*|jubaku*">
		  <addtochat color="121">.............................Using %spell.....</addtochat>
		  <action type="CastDelay" delay=".1"/>
		  <equip when="precast" set="stun"/>
		</if>
		<if spell="reverse flourish">
		  <addtochat color="121">.............................Using %spell.....</addtochat>
		  <action type="CastDelay" delay=".1"/>
		  <equip when="precast">
			<body>Etoile Casaque +2</body>
			<hands>Charis Bangles +2</hands>
		  </equip>
		</if>
		<if spell="striking flourish">
		  <action type="CastDelay" delay=".1"/>
		  <equip when="precast">
			<body>Charis Casaque +2</body>
			<aftercastdelay delay="5"/>
		  </equip>
		</if>
		<if spell="provoke|animated flourish|warcry">
		  <equip when="precast" set="hate"/>
		</if>
	</if>
	<!--               Random Crap               -->
	<if spell="nofootrise">
		<addtochat color="121">.............................Using %spell.....</addtochat>
		<action type="CastDelay" delay=".1"/>
	    <equip when="precast">
			<body>Etoile Casaque +2</body>
		</equip>
	</if>
	<if spell="cure">
	    <action type="changeSpell" Spell="Curing Waltz V" />
    </if>
	<if spell="trance">
		<action type="CastDelay" delay=".1"/>
		<equip when="precast">
			<head>Etoile Tiara +2</head>
		</equip>
	</if>
	<if spell="dancing chains">
	  <equip when="precast|aftercast" set="$atk" />
	</if>
  </rules>
 Sylph.Hitetsu
Offline
Server: Sylph
Game: FFXI
user: Hitetsu
Posts: 2617
By Sylph.Hitetsu 2012-10-03 16:41:37
Link | Quote | Reply
 
Need spaces in it "<if spell="No Foot Rise">"
[+]
 Quetzalcoatl.Dova
Offline
Server: Quetzalcoatl
Game: FFXI
user: dova
Posts: 567
By Quetzalcoatl.Dova 2012-10-03 16:43:16
Link | Quote | Reply
 
Sylph.Hitetsu said: »
Need spaces in it "<if spell="No Foot Rise">"
I've tried with and without :s

Bleh nvm thanks lol. Was on wrong sj xml -.-
Offline
Posts: 151
By Ashandarei 2012-10-03 16:43:49
Link | Quote | Reply
 
Just looking at it briefly(just scanned it really)
Code
<if spell="nofootrise">


Should be:
Code
<if spell="No Foot Rise">


If I'm not mistaken

Edit: Or I can be late, but I'm leaving it anyways lol
[+]
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11680
By Fenrir.Nightfyre 2012-10-03 16:46:08
Link | Quote | Reply
 
Should definitely be three words. Have you tried turning on debug and using NFR to identify the issue?

Not really a functional point but <action type=""/> is a depreciated rule, you can just use <changespell spell=""/> etc.
[+]
 Sylph.Hitetsu
Offline
Server: Sylph
Game: FFXI
user: Hitetsu
Posts: 2617
By Sylph.Hitetsu 2012-10-03 16:46:21
Link | Quote | Reply
 
I dunno then, this is my NFR section and it works like a charm.
Code xml
<if spell="Violent Flourish|No Foot Rise">
	<equip when="precast">
		<body>Etoile Casaque +2</body>
	</equip>
	<equip when="aftercast" set="$GearType" />
</if>
[+]
 Quetzalcoatl.Dova
Offline
Server: Quetzalcoatl
Game: FFXI
user: dova
Posts: 567
By Quetzalcoatl.Dova 2012-10-03 16:48:30
Link | Quote | Reply
 
Appreciate it thanks guys!
 Bahamut.Tokidoki
Offline
Server: Bahamut
Game: FFXI
Posts: 155
By Bahamut.Tokidoki 2012-10-06 12:01:36
Link | Quote | Reply
 
Just here to give props to Byrth for providing this spellcast. I've been using for a week or two now and it is truly great. Just wanted to say thank you for your contributions to all the badass DNCs out there, we owe you one!
 Cerberus.Keyoku
Offline
Server: Cerberus
Game: FFXI
user: Keyoku
Posts: 163
By Cerberus.Keyoku 2012-10-06 12:33:52
Link | Quote | Reply
 
I'm very reluctant to get an xml for my dnc cuz I just love how busy the job keeps me with all the different sets and macros. The only 2 things I wouldn't mind being handled is swapping to Etoile Tights +2 for SD and swapping from Idle set to Engaged set to Idle set.

Now if I were to make a very basic xml to support my current system, I'd have to add your SD entry from the autoexec and whenever SD is over/dropped, it'd swap back into my previous Engaged set (be that TP set with Thaumas, Hybrid Eva or even my Idle set, whatever was last used / is appropriate for when SD actually wears off), correct?

I hope this isn't too poorly phrases. My question is, if I were to start an xml of that sort, what would I need beyond my sets (Idle, TP, Hybrid Eva, (Full Eva for future content), PDT, MDT?
Would I have to go all out on spellcast to use ws sets or could I still use .txt ws macros? Or would the xml always swap me right back into my tp set before the ws could go off?
 Sylph.Binckry
Offline
Server: Sylph
Game: FFXI
user: Binckly
Posts: 529
By Sylph.Binckry 2012-10-06 12:55:10
Link | Quote | Reply
 
Depending on how fancy you make your SC, it won't really take away the business of the job, lol. Unless you have like 2-3 macros for each ability. I kept all my old macros on WHM, just took off the gearswaps, and nothing really changed when I started using XMLs, lol.
 Cerberus.Keyoku
Offline
Server: Cerberus
Game: FFXI
user: Keyoku
Posts: 163
By Cerberus.Keyoku 2012-10-06 16:57:29
Link | Quote | Reply
 
The only thing I think I have to figure out (get a grasp on for myself, really) is how spellcast determines whether I wanna use a stacked or unstacked ws. Guess I'll try to figure that out by reading Byrth's xml. Which, by the way, looks amazing. Kudos for putting that up there for all of you, man.
 Fenrir.Sylow
Offline
Server: Fenrir
Game: FFXI
Posts: 6862
By Fenrir.Sylow 2012-10-06 16:59:19
Link | Quote | Reply
 
Have it check for "climactic flourish" buff being active.
 Cerberus.Keyoku
Offline
Server: Cerberus
Game: FFXI
user: Keyoku
Posts: 163
By Cerberus.Keyoku 2012-10-06 20:57:11
Link | Quote | Reply
 
Can I copy and paste that whole section for checking for climactic and replace the climactic part with Sneak Attack? And if I can, do I need to add a variable line or is just having the

And if I wanted to add a rule about Sneak Attack, could I just copy and paste that buff check for Climcatic, rename it into Sneak Attack? I think I'd then have to add a Sneak Attack variable, right?
 Fenrir.Sylow
Offline
Server: Fenrir
Game: FFXI
Posts: 6862
By Fenrir.Sylow 2012-10-06 21:26:57
Link | Quote | Reply
 
No, as long as it's a recognized buff you're golden.

Pseudocode

if spell=myWS
if buffactive="myStackingBuff1|myStackingBuff2"
equip when='precast' set=myBuffSet
else
equip when='precast' set=myBuffDownSet
/if


in this case myStackignBuff1 could be Climactic Flourish, 2 could be Sneak Attack.
 Cerberus.Keyoku
Offline
Server: Cerberus
Game: FFXI
user: Keyoku
Posts: 163
By Cerberus.Keyoku 2012-10-06 21:53:06
Link | Quote | Reply
 
Awesome, thanks a lot. That is exactly what I was in the market for.
 Cerberus.Keyoku
Offline
Server: Cerberus
Game: FFXI
user: Keyoku
Posts: 163
By Cerberus.Keyoku 2012-10-07 15:45:08
Link | Quote | Reply
 
Okay, this is what I came up with. I'm not entirely sure about the whole else or elseif and when to close with /if, so I'd appreciate the feedback.
I split the sets up further to an unstacked one, an SA set (not using Charis Tiara +2) and Rudra's set.
Code
		<if spell="Rudra's Storm">
			<if buffactive="Sneak Attack">
				<equip when="precast"" set="SA Rudra"/>
			</elseif>
			<elseif buffactive="Climactic Flourish">
				<equip when="precast"" set="Climactic Rudra"/>
			</elseif>
			<elseif> 
			<equip when="precast"" set="Rudra">
		</if>

 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2012-10-07 15:53:26
Link | Quote | Reply
 
Code
<if spell="Rudra's Storm">
    <if buffactive="Sneak Attack">
        <equip when="precast"" set="SA Rudra" />
    </if>
    <elseif buffactive="Climactic Flourish">
        <equip when="precast"" set="Climactic Rudra" />
    </elseif>
    <else>
        <equip when="precast"" set="Rudra" />
    </else>
</if>


You have some tag confusion, but this should fix it.
 Cerberus.Keyoku
Offline
Server: Cerberus
Game: FFXI
user: Keyoku
Posts: 163
By Cerberus.Keyoku 2012-10-07 16:04:28
Link | Quote | Reply
 
Thanks a ton, Byrth. I know I do. Is there an easy way for you to put into words why else is at the end? I'm guessing Is buff A or elseif buff B use set A or B - or else, if no buff, use set C?
Prolyl sounds dumb to you, but spelling it out like this helps me get a better grasp on it. Tried reading the tutorial on the windower page and it just made me wanna curl up in a ball and cry ^^;
 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2012-10-07 16:10:34
Link | Quote | Reply
 
If Buffactive = Sneak Attack
* Equip this set
If Buffactive was not Sneak Attack but is Climactic Flourish
* Equip this set
If Buffactive was not Sneak Attack or Climactic Flourish
* Equip this set

So this would be the same as using these conditionals (not functional code, just examples):
Code
<if BuffActive="Sneak Attack">
<if mode="AND" Buffactive="Climactic Flourish" notBuffActive="Sneak Attack">
<if mode="AND" NotBuffActive="Sneak Attack" notBuffActive="Climactic Flourish">


It's easier and more intuitive to say <if> <elseif> <else>, and it cuts down on the amount of work your computer has to do (because if BuffActive=Sneak Attack is true it doesn't even have to read the Elseif or Else).
 Cerberus.Keyoku
Offline
Server: Cerberus
Game: FFXI
user: Keyoku
Posts: 163
By Cerberus.Keyoku 2012-10-07 16:23:58
Link | Quote | Reply
 
It's sad how you can just pop that out in no time and make me understand it when like 30min+ of head scratching got me nowhere. Appreciate all your good work on here and I know many, many other lurkers do, too.
[+]
necroskull Necro Bump Detected! [85 days between previous and next post]
 Quetzalcoatl.Wizkid
Offline
Server: Quetzalcoatl
Game: FFXI
user: Wizkid
Posts: 46
By Quetzalcoatl.Wizkid 2012-12-31 22:26:55
Link | Quote | Reply
 
Excuse me, Byrth... I can't get your xml to work... Do I need to save all 4 of those files into spellcast? Do I need to change anything?
Offline
Posts: 377
By Solrain 2012-12-31 23:23:16
Link | Quote | Reply
 
The DNC.xml and the Includes go in your Spellcast folder and the AutoExec goes in the AutoExec.xml in the AutoExec folder. I forget if there's already an existing AutoExec.xml but if there isn't, just make a new xml and paste Byrth's rules in it. Then just //load autoexec or add "load autoexec" to your init.

Hope it works!
necroskull Necro Bump Detected! [38 days between previous and next post]
 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2013-02-08 11:04:46
Link | Quote | Reply
 
Updated the OP with my current version.

It does not work with Windower 4.0's Spellcast, but probably will in the future.
 Ragnarok.Grimkitty
Offline
Server: Ragnarok
Game: FFXI
Posts: 143
By Ragnarok.Grimkitty 2013-02-14 22:37:52
Link | Quote | Reply
 
What's up with this error when I try to load the xml for my DNC? I have both of those XMLs for Spellcast in Spellcast and the AutoExec one where it belongs, but this just happens.
 Ragnarok.Goldnboy
Offline
Server: Ragnarok
Game: FFXI
user: Goldnboy
Posts: 23
By Ragnarok.Goldnboy 2013-02-14 22:45:26
Link | Quote | Reply
 
Well I have version 2.46 and works with no issues. You may wanna try update your DLL
 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2013-02-14 22:47:34
Link | Quote | Reply
 
"Error: line 0" typically means that the Include files aren't present/named properly.
 Ragnarok.Grimkitty
Offline
Server: Ragnarok
Game: FFXI
Posts: 143
By Ragnarok.Grimkitty 2013-02-14 22:50:27
Link | Quote | Reply
 
how should I name them? have the spellcast ones as dnc/dnc2
 Lakshmi.Byrth
VIP
Offline
Server: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2013-02-14 22:55:14
Link | Quote | Reply
 
Name it like the OP. I bolded the names to make them more obvious. "Name" in this case is your character's name.
First Page 2