THF Spellcast Questions

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » FFXI » Jobs » Thief » THF Spellcast Questions
THF Spellcast Questions
 Asura.Eeek
Offline
サーバ: Asura
Game: FFXI
user: Eeek
Posts: 768
By Asura.Eeek 2010-11-16 14:29:21  
I've finished Spellcast xmls for my BLM and DNC, and I'm finally wrapping up my THF xml. Before I run out an start testing/debugging the xml sometime tonight, I have 2 questions:

1) My THF relied heavily on Windower scripts, and I'm not quite sure how to get Utsusemi: Ichi casts to work the way I'd like. If anoyone has a snippet of code or can help with the the waits and cancels, I'd appreciate it.

I'd like to start my Ichi cast in full evasion gear with the exception of Loquacious Earring and Homam Cosciales. I'd like to automatically cancel any Utsusemi shadows roughly 40% into the cast (wait 1.8?), and before the end of the cast, I'd like to swap into a full haste set with Loquacious equipped.

I've already written the sets for these gearswaps, but I'm shaky on writing the code to preform the actions when I want them performed.

2) I have 8 TP sets, ranging from full haste to an evasion/subtle blow hybrid, in addition to a full-blown evasion set. Niniann kindly sent me a copy of her DNC xml a few weeks ago (which I edited to accomdate my own DNC), and I based my THF's "engaged" code on her code. I've yet to test my THF's "engaged" code yet, so I'm not sure if it works yet. If anyone has some suggestions before I test it tonight, I'd be grateful for them.

The code:

<if status="engaged">
<if advanced='"$THFEvasion" = "1"'><equip when="aftercast" set="Evasion" /></if>
<else>
<if advanced='"$THFTPHybrid" = "0"'><equip when="aftercast" set="TPHybridNeutral" />
<elseif Advanced='"$THFTP" = "0"'><equip when="aftercast" set="TP" /></elseif>
<elseif Advanced='"$THFTP" = "1"'><equip when="aftercast" set="TP-Acc1" /></elseif>
<elseif Advanced='"$THFTP" = "2"'><equip when="aftercast" set="TP-Acc2" /></elseif>
<elseif Advanced='"$THFTP" = "3"'><equip when="aftercast" set="TP-Acc3" /></elseif>
</if>
<if advanced='"$THFTPHybrid" = "1"'><equip when="aftercast" set="TP=Hybrid1" />
<elseif Advanced='"$THFTPHybrid" = "2"'><equip when="aftercast" set="TP=Hybrid2" /></elseif>
<elseif Advanced='"$THFTP" = "3"'><equip when="aftercast" set="TP-Hybrid3" /></elseif>
</if>
</else>
</if>

(My apologies for the poor formatting)

I haven't tested it yet, so I don't know yet if this code will work as I intended (I'm not a programmer by trade). Here's my idea behind the code:

1st check: Evasion gear.
I have a toggle for a full-blown evasion set. If it's set to 1, I'll TP in full evasion gear.

2nd check: Hybrid gear.
If set to 0, I'm hoping that Spellcast will proceed to the 3rd check (TP gear). I have 2 levels of evasion/haste gear and a final level of evasion/subtle blow/haste gear.

3rd check: TP gear.
If $THFTPHybrid is set to 0, it'll load my TP-HybridNeutral set, which is blank. My hope is that this will allow Spellcast to load my normal TP gear when I'm choosing not to use hybrid sets. My normal TP gear consists of a full haste set followed by 3 sets with increasing amounts of accuracy.

Thanks in advance for the help!
 Sylph.Hitetsu
Offline
サーバ: Sylph
Game: FFXI
user: Hitetsu
Posts: 2617
By Sylph.Hitetsu 2010-11-16 15:26:47  
Asura.Eeek said:
I'd like to start my Ichi cast in full evasion gear with the exception of Loquacious Earring and Homam Cosciales. I'd like to automatically cancel any Utsusemi shadows roughly 40% into the cast (wait 1.8?), and before the end of the cast, I'd like to swap into a full haste set with Loquacious equipped.

I've already written the sets for these gearswaps, but I'm shaky on writing the code to preform the actions when I want them performed.


Something like this should work:

<if mode="and" spell="Utsusemi: Ichi" BuffActive="Copy Image|Copy Image(2)">
<!-- Quick check to make sure you aren't casting over 3+ shadows -->
<if mode="and" Spell="Utsusemi: Ichi" BuffActive="Copy Image (3)|Copy Image (4)">
<addtochat>Max Shadows already - Cancelling cast</addtochat>
<cancelspell />
</if>
<equip when="precast" set="evasion" />
<equip when="midcast" set="haste" />
<midcastdelay delay="1.8" />
<command when="midcast">cancel 66</command>
</if>
 Asura.Eeek
Offline
サーバ: Asura
Game: FFXI
user: Eeek
Posts: 768
By Asura.Eeek 2010-11-16 16:00:35  
Thanks! That makes sense (can't believe I forgot about the midcastdelay command). As soon as I get home, I'll toss it into my xml and test it along with everything else.
 Leviathan.Hitoma
Offline
サーバ: Leviathan
Game: FFXI
user: hitoma
Posts: 33
By Leviathan.Hitoma 2010-11-16 16:02:50  
Keep in mind this is just a quick code snippet from my own XML file that I've modified to fit what you described:

Code
<variables clear="True">
<var name="_Set">Some_Idle_Set</var>
</variables>
<rules>
<if status="idle">
<action type="equip" when="idle|aftercast" set="Some_Idle_Set" />
</if>
<elseif status="engaged">
<action type="equip" when="engaged|aftercast" set="$_Set" />
</elseif>

<if Type="Ninjutsu">
<action type="equip" set="Eva" when="precast" />
<action type="equip" set="Haste" when="midcast" />
<if spell="Utsusemi: Ichi">
<action type="Command" when="midcast">cancel 66</action>
</if>
<elseif spell="Monomi: Ichi">
<action type="Command" when="midcast">cancel 71</action>
</elseif>
</if>
</rules>


and with this you can set the variable _Set to what ever TP Set you want equipped via macro or keybind. Ex.
Code
sc var set _Set Evasion
Log in to post.