Question About Danzo/Kyahan In My NIN Xml.

Language: JP EN DE FR
New Items
2020-07-08
users online
Forum » Windower » Spellcast Scripting » Ninja » Question about Danzo/Kyahan in my NIN xml.
Question about Danzo/Kyahan in my NIN xml.
 Bahamut.Bojack
Offline
Server: Bahamut
Game: FFXI
user: Bojack316
Posts: 2076
By Bahamut.Bojack 2012-11-08 16:25:59
Link | Quote | Reply
 
This is the code I have atm:
Code xml
        <if status="engaged">
			<action type="equip" when="Engaged|aftercast" set="Combat"/>
		</if>
		<elseif notstatus="engaged">
			<action type="equip" when="Idle|aftercast" set="Standard"/>
		</elseif>
        
		<!-- While Casting Utsusemi -->		
        <if Skill="Ninjutsu">
			<equip when="precast">
				<neck>Magoraga Beads</neck>
				<feet>Iga Kyahan +2</feet>
			</equip>
			<equip when="aftercast">
				<neck>Iga Erimaki</neck>
			</equip>
		</if>	
		
		<if mode="OR" TimeGT="17.59" TimeLT="6.00">
			<equip when="Idle|aftercast">
				<feet>Ninja Kyahan</feet>
			</equip>
		</if>


At first I had only when="Idle" in my Ninja Kyahan rule. Everything was ok except while I was idle, if I casted ninjutsu it would put my Danzo feet on even if it was night. So I changed it to when="Idle|aftercast" which I thought fixed it, but now it's I am in combat at night it puts my AF feet on after every ninjustu cast. Can anyone help me with a proper code for this?
 Phoenix.Suji
Offline
Server: Phoenix
Game: FFXI
user: suji
Posts: 962
By Phoenix.Suji 2012-11-08 17:31:17
Link | Quote | Reply
 
One easy thing to do is use a variable for whatever your current movement feet are. Then put $movementFeet in your idle set for feet rather than the literal feet. Then all you have to do is update $movementFeet to which ever is appropriate for a given time of day somewhere in the top of your rules section. This will cause Spellcast to put on which ever feet you want based on the time of day.

The only caveat here is that it won't automatically change if you're just standing around but you could set up Autoexec triggers to send events at 18:00 and 6:00 for that if you like.
[+]
 Bismarck.Zagen
Offline
Server: Bismarck
Game: FFXI
user: Zagen
Posts: 395
By Bismarck.Zagen 2012-11-08 18:45:14
Link | Quote | Reply
 
Could try an idle check like this:
Code
<if status="idle">
	<if mode="OR" TimeGT="17.59" TimeLT="6.00">
		<equip when="Idle|aftercast">
			<feet>Ninja Kyahan</feet>
		</equip>
	</if>
</if>
[+]
Offline
Posts: 377
By Solrain 2012-11-08 19:27:58
Link | Quote | Reply
 
I do exactly what Suji said. I'll break it down by section if you want to add it straight into your xml but remove the other non-applicable stuff from the section to make it easier to read. (This is based on an old Nightfyre NIN.xml, so credit to him for it.)

Sets:
Code
<set Name="Idle">
	<feet>$NINIdleFeet</feet>
</set>


Variables:
Code
<variables clear="true">
	<var name="NINIdleFeet">Danzo Sune-Ate</var>
</variables>


Rules:
Code
<!-- Dancing Chains is the primary AutoExec trigger and can also be used as a trigger to force your gear to swap to the appropriate idle/engaged set if your gear doesn't swap properly in a given situation.-->
<if spell="Dancing Chains">
    <if mode="OR" TimeLT="7.00" TimeGT="16.59">
	    <var cmd="set NINIdleFeet Nin. Kyahan +1" /> 
    </if>
    <else>
	    <var cmd="set NINIdleFeet Danzo Sune-Ate" /> 
    </else>
</if>

You can change Dancing Chains to whatever here, it's just the Autoexec trigger that tells SC to update automatically when the time changes. You can do it manually but this is more convenient.

Autoexec:
Code
<autoexec>
	<register event="time_6.00|time_7.00|time_17.00|time_18.00" silent="true">input /weaponskill "Dancing Chains" <t></register>
</autoexec>


EDIT: This is for Kyahan +1, just change the times to match if you have the NQ.
necroskull Necro Bump Detected! [36 days between previous and next post]
 Bismarck.Nesteron
Offline
Server: Bismarck
Game: FFXI
user: nesteron
Posts: 14
By Bismarck.Nesteron 2012-12-14 22:56:43
Link | Quote | Reply
 
This is how I did my rule, works well for me.
Code
<if status="idle">
        <if mode="or" timeLT="6.00" timeGT="17.59">
            <equip when="idle">
                <feet>Ninja Kyahan</feet>
            </equip>
        </if>
        <else>
            <equip when="idle">
                <feet>Danzo Sune-ate</feet>
            </equip>
        </else>
</if>
Log in to post.