SpellCast Skill-Up Script for your Summoning, Healing, & Enhancing magic.
| -Post Information- |
| Author: | Genesisx |
| Last Updated: | 7/23/09 |
| Comment: | Works, Inspired by Tonko |
This will take care of all your skill up needs for your Summoning, Healing, and Enhancing magic skills. Simply load up the skillup.xml file and either cast Carbuncle, Cure, or Protect to get it started. The script will take over from there.
The default /heal time is set to 3 min. You can change this as you see fit by altering the variables labeled for resting. You can also press CTRL+ESCAPE to stop the skill up process at any time. But, do note that doing so will unload SpellCast and you will need to reload it if you choose to use it again.
Skill Up Processes:
Summoning Magic: Triggered with Carbuncle, This will cycle threw all 9 avatars, missing a few? That's OK.
Healing Magic: Triggered with Cure 1, Cycles threw, Cure 1 > Cure 2 > Cure 3 > Repeat.
Enhancing Magic: Triggered with Protect 1, Cycles threw, Protect > Shell > Protectra > Shellra > Repeat.
Skillup.xml
<!---
Written by: Genesisx
Inspired & Special Thanks To: Tonko
Last Updated: 7/23/09
Current Version: Skillup.xml v1.1
--->
<spellcast>
<!--- SpellCast Configurations --->
<config Debug="false" HideErrors="false" ShowSpellInfo="false" ShowGearSwaps="false" />
<!--- SpellCast Variables --->
<variables clear="false">
<var name="SkillUp">1</var> <!--- /Heal Break DO NOT ALTER --->
<var name="FirstSetup">1</var> <!--- First Run Display Var DO NOT ALTER--->
<var name="SkillCycle">1</var> <!--- Spell Cycle NO NOT ALTER --->
<!--- You can alter these variables, 180 is 3 min. of resting --->
<var name="RestTime4Smn">180</var> <!--- Set REST time for SMN Skill --->
<var name="RestTime4Cure">180</var> <!--- Set REST time for Healing Skill --->
<var name="RestTime4Protect">180</var> <!--- Set REST time for Enhancing Skill --->
</variables>
<sets>
<!--- Specify Resting / Standard gear if desired --->
<group default="yes" name="Job">
<set name = "Standard" />
<set name = "Resting Gear" />
</group>
</sets>
<rules>
<!--- Setup Gear and /Heal Break Variable for Resting & Idle --->
<action type="equip" when="idle" set="Standard" />
<action type="equip" when="resting" set="Resting Gear" />
<action type="command" when="resting">spellcast var set SkillUp 0;</action>
<action type="command" when="idle">spellcast var set SkillUp 1;</action>
<!--- Setup First Run Notification --->
<if advanced='"$FirstSetup" == "1"'>
<action type="command">bind ^escape input /echo Exiting.;unload spellcast;unbind ^escape;</action>
<action type="AddToChat" color="121">-- SkillUp.Xml v1.1 ---</action>
<action type="AddToChat" color="121">Press CTRL+Escape at anytime to unload spellcast and exit SkillUp.Xml</action>
<action type="var" cmd="set FirstSetup 0" />
</if>
<!--- Summoning Magic Skill-Up Segment --->
<if spell="Carbuncle">
<!--- Check if /Heal Break is active --->
<if advanced='"$SkillUp" == "1"'>
<!--- Check if your MP is low --->
<if Mode="OR" NOTMPGT="15" MP="15">
<if notspell="release">
<action type="command" when="precast">input /heal on;wait $RestTime4Smn;input /heal off;wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="cancelspell"/>
</if>
<else>
<action type="command" when="aftercast">input /heal on;wait $RestTime4SMN;input /heal off;wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
</else>
</if>
<!--- Smn Skill Cycling --->
<elseif advanced='"$SkillCycle" == "1"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 2" />
<action type="changespell" spell="Carbuncle" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "2"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 3" />
<action type="changespell" spell="Ifrit" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "3"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 4" />
<action type="changespell" spell="Titan" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "4"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 5" />
<action type="changespell" spell="Leviathan" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "5"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 6" />
<action type="changespell" spell="Garuda" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "6"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 7" />
<action type="changespell" spell="Shiva" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "7"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 8" />
<action type="changespell" spell="Ramuh" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "8"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 9" />
<action type="changespell" spell="Fenrir" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "9"'>
<action type="command" when="aftercast">wait 2;input /ja "Release";wait 2;input /ma "Carbuncle"</action>
<action type="var" cmd="set SkillCycle 1" />
<action type="changespell" spell="Diabolos" />
<action type="Changetarget" target="<me>"/>
</elseif>
</if>
</if>
<!--- Healing Magic Skill-Up Segment --->
<elseif spell="Cure" >
<!--- Check if /Heal Break is active --->
<if advanced='"$SkillUp" == "1"'>
<!--- Fix the SkillCycle varaible in case the SMN SKILL Segment boinked it --->
<if advanced='"$SkillCycle" == "4|5|6|7|8|9"'>
<action type="var" cmd="set SkillCycle 1" />
<action type="command" when="aftercast">wait 3;input /ma "Cure"</action>
<action type="cancelspell"/>
</if>
<!--- Check if your MP is low --->
<if Mode="OR" NOTMPGT="46" MP="46">
<if notspell="blink">
<action type="command" when="precast">input /heal on;wait $RestTime4Cure;input /heal off;wait 2;input /ma "Cure"</action>
<action type="cancelspell"/>
</if>
<else>
<action type="command" when="aftercast">input /heal on;wait $RestTime4Cure;input /heal off;wait 2;input /ma "Cure"</action>
</else>
</if>
<!--- Healing Skill Cycling --->
<elseif advanced='"$SkillCycle" == "1"'>
<action type="command" when="aftercast">wait 3;input /ma "Cure"</action>
<action type="var" cmd="set SkillCycle 2" />
<action type="changespell" spell="Cure" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "2"'>
<action type="command" when="aftercast">wait 3;input /ma "Cure"</action>
<action type="var" cmd="set SkillCycle 3" />
<action type="changespell" spell="Cure II" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "3"'>
<action type="command" when="aftercast">wait 3;input /ma "Cure"</action>
<action type="var" cmd="set SkillCycle 1" />
<action type="changespell" spell="Cure III" />
<action type="Changetarget" target="<me>"/>
</elseif>
</if>
</elseif>
<!--- Enhancing Magic Skill-Up Segment --->
<elseif spell="Protect" >
<!--- Check if /Heal Break is active --->
<if advanced='"$SkillUp" == "1"'>
<!--- Fix the SkillCycle varaible in case the SMN SKILL Segment boinked it --->
<if advanced='"$SkillCycle" == "5|6|7|8|9"'>
<action type="var" cmd="set SkillCycle 1" />
<action type="command" when="aftercast">wait 3;input /ma "Protect"</action>
<action type="cancelspell"/>
</if>
<!--- Check if your MP is low --->
<if Mode="OR" NOTMPGT="18" MP="18">
<if notspell="blink">
<action type="command" when="precast">input /heal on;wait $RestTime4Protect;input /heal off;wait 2;input /ma "Protect"</action>
<action type="cancelspell"/>
</if>
<else>
<action type="command" when="aftercast">input /heal on;wait $RestTime4Protect;input /heal off;wait 2;input /ma "Protect"</action>
</else>
</if>
<!--- Enhancing Skill Cycling --->
<elseif advanced='"$SkillCycle" == "1"'>
<action type="command" when="aftercast">wait 3;input /ma "Protect"</action>
<action type="var" cmd="set SkillCycle 2" />
<action type="changespell" spell="Protect" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "2"'>
<action type="command" when="aftercast">wait 3;input /ma "Protect"</action>
<action type="var" cmd="set SkillCycle 3" />
<action type="changespell" spell="Shell" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "3"'>
<action type="command" when="aftercast">wait 3;input /ma "Protect"</action>
<action type="var" cmd="set SkillCycle 4" />
<action type="changespell" spell="Protectra" />
<action type="Changetarget" target="<me>"/>
</elseif>
<elseif advanced='"$SkillCycle" == "4"'>
<action type="command" when="aftercast">wait 3;input /ma "Protect"</action>
<action type="var" cmd="set SkillCycle 1" />
<action type="changespell" spell="Shellra" />
<action type="Changetarget" target="<me>"/>
</elseif>
</if>
</elseif>
</rules>
</spellcast>
This code is almost fully automated, USE AT YOUR OWN RISK.
Special thanks to Tonko for the inspiration.