Spellcast

Language: JP EN DE FR
2010-09-08
New Items
users online
Spellcast
 Leviathan.Angelskiss
Offline
Server: Leviathan
Game: FFXI
Posts: 7227
By Leviathan.Angelskiss 2011-07-05 19:57:12
Link | Quote | Reply
 
I am not sure how to set it up properly to be honest hence me coming to you, and yes same error tag :I But that was 374 @@
 Leviathan.Angelskiss
Offline
Server: Leviathan
Game: FFXI
Posts: 7227
By Leviathan.Angelskiss 2011-07-05 19:57:53
Link | Quote | Reply
 
<if BuffActive="Elemental Seal">
<equip when="midcast">
<main>Kirin's pole</main>
<sub>raptor strap +1</sub>
</equip>
</if>
<else>
<equip when="midcast">
<main>$%SpellElementStaff</main>
<sub>Reign Grip</sub>
</equip>
</else>
</else>
</if>
<if skill="ElementalMagic">
<equip when="midcast" set="Nuke-DMG" />
<if notGroup="Accuracy" MPPAftercastLT="50">
<equip when="midcast">
<neck>Uggalepih Pendant</neck>
</equip>
</if>
</if>
<if skill="DarkMagic">
<equip when="midcast" set="Dark" />
</if>
<if skill="EnfeeblingMagic">
<equip set="Enfeeb-ACC" when="midcast" />
</if>
<if Spell="Slow|Paralyze*|Banish*">
<equip when="midcast" set="Enfeeb-MND" />
</if>
<if skill="Ninjutsu">
<equip when="midcast" set="Haste" />
</if>
<if skill="EnhancingMagic">
<equip when="midcast" set="Enhancing" />
</if>
<if Spell="Stoneskin">
<equip when="midcast" set="Stoneskin" />
</if>
<if Spell="Blizzard*|Cryohelix|Noctohelix|Luminohelix|Blizzaga*|Cure*|Curaga*|Drain|Aspir">
<if advanced='("%SpellElement"=="%DayElement")'>
<equip when="midcast">
<waist>$%SpellElementObi</waist>
</equip>
</if>
<elseif advanced='("%SpellElement"=="%WeatherElement")'>
<equip when="midcast">
<waist>$%SpellElementObi</waist>
</equip>
</elseif>
</if>
<if spell="autoset">
<if status="resting">
<equip when="resting" set="Resting">
<main>$DarkStaff</main>
<sub>Reign Grip</sub>
</equip>
</if>
<elseif status="idle">
<equip when="idle" set="Stand">
<main>$EarthStaff</main>
<sub>Reign Grip</sub>
</equip>
<if CommandPrefix="/ma|/Magic" notskill="Enfeeblingmagic">
<equip when="Midcast">
<main>$%SpellElementStaff</main>
</equip>
</if>
<if CommandPrefix="/ma|/Magic" skill="Enfeeblingmagic">
<equip when="Midcast">
<main>$%SpellElementStaff2</main>
</equip>
</if>
</rules>
</spellcast>

this is 300 to the end :I
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11680
By Fenrir.Nightfyre 2011-07-05 20:02:49
Link | Quote | Reply
 
Put the entire xml on Pastebin and send me the link, there's too many missing opening tags for me to get a good look at it.
 Ragnarok.Ganukay
Offline
Server: Ragnarok
Game: FFXI
user: Ganukay
Posts: 29
By Ragnarok.Ganukay 2011-07-05 20:05:26
Link | Quote | Reply
 
From what I see, <if spell="autoset"> and <elseif status="idle"> are unclosed.
 Leviathan.Angelskiss
Offline
Server: Leviathan
Game: FFXI
Posts: 7227
By Leviathan.Angelskiss 2011-07-05 22:05:36
Link | Quote | Reply
 
Fenrir.Nightfyre said:
Put the entire xml on Pastebin and send me the link, there's too many missing opening tags for me to get a good look at it.
sent u a PM with the link ty <3
Offline
Posts: 78
By SilverTalon 2011-07-31 22:20:39
Link | Quote | Reply
 
This is my current version of Spellcast i am running for blm. I've put it together with a friend, and we've tweaked here and there as needed. I've ran into a problem where, without spellcast loaded, and just precast gear + staff on, i'm casting faster then i am with same gear in precast set with spellcast loaded. Any and all improvements/advice would be appreciated, even if it's scrapping it entirely for something less problematic lol.


Your text to link here...
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11680
By Fenrir.Nightfyre 2011-07-31 22:25:55
Link | Quote | Reply
 
Unless there's an error in the actual script, odds are your precast gear isn't equipping fast enough due to lag. Try setting PreCastDelay to 0.3 and adjust up/down as needed.
Offline
Posts: 78
By SilverTalon 2011-07-31 22:31:49
Link | Quote | Reply
 
Fenrir.Nightfyre said:
Unless there's an error in the actual script, odds are your precast gear isn't equipping fast enough due to lag. Try setting PreCastDelay to 0.3 and adjust up/down as needed.
Tried this but saw no difference, even playing with the delay:
<elseif Skill="ElementalMagic" NotSpell="Rasp|Drown|Frost|Burn|Choke|Shock">
<if NotBuffActive="Weakness|Max HP Boost">
<equip when="precast" set="Fastcast" />
<action type="precastdelay" delay=".3" />
<equip when="midcast" set="MAB" />
<action type="midcastdelay" delay="1" />
<equip when="aftercast" set="standard" />
 Bismarck.Ascrookshanks
Offline
Server: Bismarck
Game: FFXI
user: Lumos
Posts: 49
By Bismarck.Ascrookshanks 2011-07-31 23:10:10
Link | Quote | Reply
 
Every time I see a spellcast xml posted anywhere, I am totally befuddled.

I have never used spellcast, but would like to.

But, I only need the basics (for a mage).

I just want an example xml to change all my gear for any given spell and/or ja

Can anyone post a sample xml for spellcast that would do just that, and not all the other fancy things?

Thank you very much in advance!!
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11680
By Fenrir.Nightfyre 2011-07-31 23:13:23
Link | Quote | Reply
 
You have a lot of redundant rules that could be removed. For example, under <if mode="OR" skill="ElementalMagic|DarkMagic|EnfeeblingMagic|EnhancingMagic" Spell="Cure*|Curaga*"> you have <equip when="precast" set="Fastcast" /> and then you repeat that rule for every individual magic type contained within that rule. Also, you should take the <equip set="Haste"> out of your Dark Magic rules and Utsusemi: Ichi and Spectral Jig are not Enhancing spells. Haven't really looked it all over, just a couple of things that came to eye.

Anyway, do me a favor an run a quick test for me. As BLM/WHM, cast reraise with Spellcast active and then in precast gear with gearswaps disabled and use /recast "Reraise" to note the recast times on each when the spell fires. Let me know what you get.
Offline
Posts: 78
By SilverTalon 2011-07-31 23:19:17
Link | Quote | Reply
 
Fenrir.Nightfyre said:
You have a lot of redundant rules that could be removed. For example, under <if mode="OR" skill="ElementalMagic|DarkMagic|EnfeeblingMagic|EnhancingMagic" Spell="Cure*|Curaga*"> you have <equip when="precast" set="Fastcast" /> and then you repeat that rule for every individual magic type contained within that rule. Also, you should take the <equip set="Haste"> out of your Dark Magic rules and Utsusemi: Ichi and Spectral Jig are not Enhancing spells. Haven't really looked it all over, just a couple of things that came to eye. Anyway, do me a favor an run a quick test for me. As BLM/WHM, cast reraise with Spellcast active and then in precast gear with gearswaps disabled and use /recast "Reraise" to note the recast times on each when the spell fires. Let me know what you get.
With SC active, 72%. With out SC active, and just FC gear (feet/earring), 72%, did it x3 times came out the same.
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11680
By Fenrir.Nightfyre 2011-07-31 23:23:14
Link | Quote | Reply
 
That's not the recast time, but either way it sounds like you got messed up by eyeballing it previously because I don't see any precast-related errors.
Offline
Posts: 78
By SilverTalon 2011-07-31 23:33:07
Link | Quote | Reply
 
Fenrir.Nightfyre said:
That's not the recast time, but either way it sounds like you got messed up by eyeballing it previously because I don't see any precast-related errors.
recast time: 58 with SC, 58 without. With magian staffs, the casting time is supposed to be reduced by 12% with affinity type, not entirely sure where that fits in with fastcast as far as how long from intial cast the spell goes off.
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11680
By Fenrir.Nightfyre 2011-07-31 23:37:40
Link | Quote | Reply
 
SilverTalon said:
Fenrir.Nightfyre said:
That's not the recast time, but either way it sounds like you got messed up by eyeballing it previously because I don't see any precast-related errors.
recast time: 58 with SC, 58 without.
Yeah, your swaps are working fine.
 Bismarck.Faelar
Offline
Server: Bismarck
Game: FFXI
user: Faelar
Posts: 4108
By Bismarck.Faelar 2011-08-01 17:45:53
Link | Quote | Reply
 
Bump.

My XML works fine except for nuking.
http://pastebin.com/dZ8Pca5d

I get the "You must have a two-handed weapon equipped in the main weapon slot in order to equip a grip." error.

Gotta be a simple fix im overlooking...
 Fenrir.Scragg
Administrator
Offline
Server: Fenrir
Game: FFXI
user: Scragg
Posts: 2579
By Fenrir.Scragg 2011-08-01 17:48:59
Link | Quote | Reply
 
Testing...
Code xml
<?xml version="1.0"?> <!-- Document : Faelar_BLM.xml -->
<spellcast xmlns:xi="http://www.w3.org/2001/XInclude"> <!-- Author : Faelar -->
<!-- Description: Scholar Spellcast-->
<config
RequireVersion="2.16"
HideErrors="false"
Debug="true"
ShowGearSwaps="false"
/>

<variables>
	<!-- Elemental Staffs, input what staff to use for each element here -->
	<var name="IceStaff">Ice Staff</var>
	<var name="DarkStaff">Dark Staff</var>
	<var name="ThunderStaff">Thunder Staff</var>
	<var name="WindStaff">Wind Staff</var>
	<var name="FireStaff">Fire Staff</var>
	<var name="EarthStaff">Earth Staff</var>
	<var name="LightStaff">Apollo's Staff</var>
	<var name="WaterStaff">Water Staff</var>
</variables>

<sets>
<group name="BLM">

<set name="Town"> <!-- Town gear -->
<main>Owleyes</main>
<sub>Genbu's Shield</sub>
<ammo>Aqua Satchet</ammo>
<head>Goetia Petasos +2</head>
<neck>Twilight Torque</neck>
<lear>Gifted Earring</lear>
<rear>Moldavite Earring</rear>
<body>Dalmatica</body>
<hands>Serpentes Cuffs</hands>
<lring>Meridian Ring</lring>
<rring>Omega Ring</rring>
<back>Blue Cape +1</back>
<waist>Austerity Belt</waist>
<legs>Goetia Chausses +1</legs>
<feet>Serpentes Sabots</feet>
</set>

<!-- - - - - - - - - - - - - - Mage set defintion - - - - - - - - - - - - - -->

<set name="Idle"> <!-- Damage Taken-/Refresh/MaxMP -->
<main>Owleyes</main>
<sub>Genbu's Shield</sub>
<ammo>Aqua Satchet</ammo>
<head>Goetia Petasos +2</head>
<neck>Twilight Torque</neck>
<lear>Gifted Earring</lear>
<rear>Moldavite Earring</rear>
<body>Dalmatica</body>
<hands>Serpentes Cuffs</hands>
<lring>Meridian Ring</lring>
<rring>Omega Ring</rring>
<back>Blue Cape +1</back>
<waist>Austerity Belt</waist>
<legs>Jet Seraweels</legs>
<feet>Serpentes Sabots</feet>
</set>


<set name="Curing">
<main>$LightStaff</main>
<sub>Staff Strap</sub>
<ammo>Aqua Satchet</ammo>
<neck>Morgana's Choker</neck>
<lear>Loquac. Earring</lear>
<rear>Star Earring</rear>
<body>Augur's Jaseran</body>
<hands>Augur's Gloves</hands>
<lring>Diamond Ring</lring>
<rring>Omega Ring</rring>
<back>Blue Cape +1</back>
<legs>Jet Seraweels</legs>
<feet>Rostrum Pumps</feet>
</set>
<!-- Took out your cure set, it's identical to your idle set, so you can just cast in idle -->

<set name="MND"> <!-- Enfeebling Set -->
<main>$WaterStaff</main>
<sub>Staff Strap</sub>
<ammo>Aqua Sachet</ammo>
<body>Augur's Jaseran</body>
<hands>Augur's Gloves</hands>
<neck>Morgana's Choker</neck>
<rear>Star Earring</rear>
<lear>Gifted Earring</lear>
<legs>Jet Seraweels</legs>
<lring>Omega Ring</lring>
<rring>Sirona's Ring</rring>
</set>


<set name="Resting"> <!-- +HMP for resting -->
<main>$DarkStaff</main>
<sub>Staff Strap</sub>
</set>

<set name="Haste"> <!-- Haste for generic spells -->
<head>Walahra Turban</head>
<waist>Goading Belt</waist>
<feet>Augur's Gaiters</feet>
<body>Goliard Saio</body>
</set>

<set name="Nuking">
<!-- For nuking -->
<main>$%SpellElementStaff</main>
<sub>Staff Strap</sub>
<ammo>Witchstone</ammo>
<head>Goetia Petasos +2</head>
<neck>Artemis' Medal</neck>
<lear>Goetia Earring</lear>
<rear>Moldavite Earring</rear>
<body>Genie Weskit</body>
<hands>Goetia Gloves +1</hands>
<lring>Diamond Ring</lring>
<rring>Omega Ring</rring>
<back>Searing Cape</back>
<waist>Searing Sash</waist>
<legs>Goetia Chausses +1</legs>
<feet>Augur's Gaiters</feet>
</set>

</group>
</sets>

<!-- - - - - - - - - - - - - - Auto-set Rules - - - - - - - - - - - - - -->

<rules>
<if NotStatus="Engaged">
<if TPLT="20"> <!-- Unlock main/sub if unengaged and low TP -->
<enable slot="main|sub" />
</if>
<if spell="autoset"> <!-- Check current TP if outside combat -->
<equip when="resting" set="Resting" /> <!-- Use standard rules when not in combat -->
<equip when="idle" set="Idle" />
</if>
<equip when="aftercast" set="Idle" />
</if>
<else>
<if TPGT="20"> <!-- Lock weapon if engaged and TP > 20 -->
<disable slot="main|sub" />
</if>
<if MPPAftercastLT="50"> <!-- Change rules to wear refresh gear if mp is low -->
<equip when="aftercast" set="Idle" />
</if>
<equip when="aftercast" set="Melee" /> <!-- Otherwise gear haste gear after every spell in combat -->
</else>

<!-- - - - - - - - - - - - - - Zone Rules - - - - - - - - - - - - - -->

<if Area="Ru'Lude*|*Whitegate*|*Bastok*|*Windurst*|*San d'Oria*|Tav*|*Jeuno*" NotArea="Dynamis*">
<equip when="idle|aftercast" set="Town" /> <!-- Equip town gear when appropriate -->
</if>


<!-- - - - - - - - - - - - - - White Magic Rules - - - - - - - - - - - - - -->

<if skill="HealingMagic">
<if Spell="Cure*">
<equip when="precast" set="Curing"/>
</if>
<else>
<equip when="midcast" set="Haste"/> <!-- Gear haste for Raises/Reraise and remaining spells -->
</else>
</if>
<elseif skill="EnhancingMagic">
<if Spell="Stoneskin">
<equip when="precast" set="MND"/>
<if BuffActive="Stoneskin">
<midcastdelay delay="2" /> <!-- Cancel old stoneskin and gear spare MND -->
<command when="midcast">cancel 37</command>
</if>
</if>
<else>
<equip when="precast" set="Haste"/> <!-- Otherwise gear haste for all remaining enhancing spells -->
</else>
</elseif>


<elseif skill="EnfeeblingMagic|DivineMagic">
<equip when="precast" set="MND"/>
<equip when="midcast">
<main>Apollo's Staff</main> <!-- Default light staff for Banish/Repose -->
</equip>
<if spell="Slow">
<equip when="midcast">
<main>Earth Staff</main>
</equip>
</if>
<elseif spell="Paralyze">
<equip when="midcast"> <!-- Equips appropriate staff for enfeeble -->
<main>Ice Staff</main>
</equip>
</elseif>
<elseif spell="Silence">
<equip when="midcast">
<main>Wind Staff</main>
</equip>
</elseif>
</elseif>


<!-- - - - - - - - - - - - - - Black Magic Rules - - - - - - - - - - - - - -->

<if Skill="ElementalMagic">
<equip when="precast" set="Nuking" />
</if>

<if Skill="EnfeeblingMagic|DarkMagic">
<equip when="precast">
<main>$%SpellElementStaff</main>
</equip>
</if>

<!-- - - - - - - - - - - - - - Closing Spellcast - - - - - - - - - - - - - -->

</rules>
</spellcast>


Ok, I set a max-height
[+]
 Fenrir.Nightfyre
Offline
Server: Fenrir
Game: FFXI
user: Nightfyre
Posts: 11680
By Fenrir.Nightfyre 2011-08-01 17:51:19
Link | Quote | Reply
 
You could afford to update to a more recent version of Spellcast if that requireversion rule at the top is accurate.

Anyway, it's an issue with the sluggish game client rather than your xml. You could set a small delay on any equip swap that would take you from Owleyes to a staff in which your full set equips before the delay and the grip equips after.
 Bismarck.Faelar
Offline
Server: Bismarck
Game: FFXI
user: Faelar
Posts: 4108
By Bismarck.Faelar 2011-08-01 17:52:58
Link | Quote | Reply
 
Fenrir.Nightfyre said:
You could afford to update to a more recent version of Spellcast if that requireversion rule at the top is accurate. Anyway, it's an issue with the sluggish game client rather than your xml. You could set a small delay on any equip swap that would take you from Owleyes to a staff in which your full set equips before the delay and the grip equips after.


Atually gonna take that line out, i have the latest spellcast. Testing ina sec.

EDIT: Didnt work. What code would I need to add for the delay you mentioned? Ive never had to add a delay before...it works on my WHM and RDM xmls.

@Scragg: New feature? xml tags? xD
 Bismarck.Faelar
Offline
Server: Bismarck
Game: FFXI
user: Faelar
Posts: 4108
By Bismarck.Faelar 2011-08-01 18:06:10
Link | Quote | Reply
 
I mean it works for like Stoneskin and Curing but not nuking xD

EDIT: It works fine for everything but Blizzard V. W t F.

EDIT EDIT: Fixed. I hurp derped and forgot to change Ice Staff variable to Aquilo's Staff.
 Bismarck.Ascrookshanks
Offline
Server: Bismarck
Game: FFXI
user: Lumos
Posts: 49
By Bismarck.Ascrookshanks 2011-08-06 03:43:14
Link | Quote | Reply
 
Fenrir.Scragg said:
Testing...
Code xml
<?xml version="1.0"?> <!-- Document : Faelar_BLM.xml -->
<spellcast xmlns:xi="http://www.w3.org/2001/XInclude"> <!-- Author : Faelar -->
<!-- Description: Scholar Spellcast-->
<config
RequireVersion="2.16"
HideErrors="false"
Debug="true"
ShowGearSwaps="false"
/>

<variables>
	<!-- Elemental Staffs, input what staff to use for each element here -->
	<var name="IceStaff">Ice Staff</var>
	<var name="DarkStaff">Dark Staff</var>
	<var name="ThunderStaff">Thunder Staff</var>
	<var name="WindStaff">Wind Staff</var>
	<var name="FireStaff">Fire Staff</var>
	<var name="EarthStaff">Earth Staff</var>
	<var name="LightStaff">Apollo's Staff</var>
	<var name="WaterStaff">Water Staff</var>
</variables>

<sets>
<group name="BLM">

<set name="Town"> <!-- Town gear -->
<main>Owleyes</main>
<sub>Genbu's Shield</sub>
<ammo>Aqua Satchet</ammo>
<head>Goetia Petasos +2</head>
<neck>Twilight Torque</neck>
<lear>Gifted Earring</lear>
<rear>Moldavite Earring</rear>
<body>Dalmatica</body>
<hands>Serpentes Cuffs</hands>
<lring>Meridian Ring</lring>
<rring>Omega Ring</rring>
<back>Blue Cape +1</back>
<waist>Austerity Belt</waist>
<legs>Goetia Chausses +1</legs>
<feet>Serpentes Sabots</feet>
</set>

<!-- - - - - - - - - - - - - - Mage set defintion - - - - - - - - - - - - - -->

<set name="Idle"> <!-- Damage Taken-/Refresh/MaxMP -->
<main>Owleyes</main>
<sub>Genbu's Shield</sub>
<ammo>Aqua Satchet</ammo>
<head>Goetia Petasos +2</head>
<neck>Twilight Torque</neck>
<lear>Gifted Earring</lear>
<rear>Moldavite Earring</rear>
<body>Dalmatica</body>
<hands>Serpentes Cuffs</hands>
<lring>Meridian Ring</lring>
<rring>Omega Ring</rring>
<back>Blue Cape +1</back>
<waist>Austerity Belt</waist>
<legs>Jet Seraweels</legs>
<feet>Serpentes Sabots</feet>
</set>


<set name="Curing">
<main>$LightStaff</main>
<sub>Staff Strap</sub>
<ammo>Aqua Satchet</ammo>
<neck>Morgana's Choker</neck>
<lear>Loquac. Earring</lear>
<rear>Star Earring</rear>
<body>Augur's Jaseran</body>
<hands>Augur's Gloves</hands>
<lring>Diamond Ring</lring>
<rring>Omega Ring</rring>
<back>Blue Cape +1</back>
<legs>Jet Seraweels</legs>
<feet>Rostrum Pumps</feet>
</set>
<!-- Took out your cure set, it's identical to your idle set, so you can just cast in idle -->

<set name="MND"> <!-- Enfeebling Set -->
<main>$WaterStaff</main>
<sub>Staff Strap</sub>
<ammo>Aqua Sachet</ammo>
<body>Augur's Jaseran</body>
<hands>Augur's Gloves</hands>
<neck>Morgana's Choker</neck>
<rear>Star Earring</rear>
<lear>Gifted Earring</lear>
<legs>Jet Seraweels</legs>
<lring>Omega Ring</lring>
<rring>Sirona's Ring</rring>
</set>


<set name="Resting"> <!-- +HMP for resting -->
<main>$DarkStaff</main>
<sub>Staff Strap</sub>
</set>

<set name="Haste"> <!-- Haste for generic spells -->
<head>Walahra Turban</head>
<waist>Goading Belt</waist>
<feet>Augur's Gaiters</feet>
<body>Goliard Saio</body>
</set>

<set name="Nuking">
<!-- For nuking -->
<main>$%SpellElementStaff</main>
<sub>Staff Strap</sub>
<ammo>Witchstone</ammo>
<head>Goetia Petasos +2</head>
<neck>Artemis' Medal</neck>
<lear>Goetia Earring</lear>
<rear>Moldavite Earring</rear>
<body>Genie Weskit</body>
<hands>Goetia Gloves +1</hands>
<lring>Diamond Ring</lring>
<rring>Omega Ring</rring>
<back>Searing Cape</back>
<waist>Searing Sash</waist>
<legs>Goetia Chausses +1</legs>
<feet>Augur's Gaiters</feet>
</set>

</group>
</sets>

<!-- - - - - - - - - - - - - - Auto-set Rules - - - - - - - - - - - - - -->

<rules>
<if NotStatus="Engaged">
<if TPLT="20"> <!-- Unlock main/sub if unengaged and low TP -->
<enable slot="main|sub" />
</if>
<if spell="autoset"> <!-- Check current TP if outside combat -->
<equip when="resting" set="Resting" /> <!-- Use standard rules when not in combat -->
<equip when="idle" set="Idle" />
</if>
<equip when="aftercast" set="Idle" />
</if>
<else>
<if TPGT="20"> <!-- Lock weapon if engaged and TP > 20 -->
<disable slot="main|sub" />
</if>
<if MPPAftercastLT="50"> <!-- Change rules to wear refresh gear if mp is low -->
<equip when="aftercast" set="Idle" />
</if>
<equip when="aftercast" set="Melee" /> <!-- Otherwise gear haste gear after every spell in combat -->
</else>

<!-- - - - - - - - - - - - - - Zone Rules - - - - - - - - - - - - - -->

<if Area="Ru'Lude*|*Whitegate*|*Bastok*|*Windurst*|*San d'Oria*|Tav*|*Jeuno*" NotArea="Dynamis*">
<equip when="idle|aftercast" set="Town" /> <!-- Equip town gear when appropriate -->
</if>


<!-- - - - - - - - - - - - - - White Magic Rules - - - - - - - - - - - - - -->

<if skill="HealingMagic">
<if Spell="Cure*">
<equip when="precast" set="Curing"/>
</if>
<else>
<equip when="midcast" set="Haste"/> <!-- Gear haste for Raises/Reraise and remaining spells -->
</else>
</if>
<elseif skill="EnhancingMagic">
<if Spell="Stoneskin">
<equip when="precast" set="MND"/>
<if BuffActive="Stoneskin">
<midcastdelay delay="2" /> <!-- Cancel old stoneskin and gear spare MND -->
<command when="midcast">cancel 37</command>
</if>
</if>
<else>
<equip when="precast" set="Haste"/> <!-- Otherwise gear haste for all remaining enhancing spells -->
</else>
</elseif>


<elseif skill="EnfeeblingMagic|DivineMagic">
<equip when="precast" set="MND"/>
<equip when="midcast">
<main>Apollo's Staff</main> <!-- Default light staff for Banish/Repose -->
</equip>
<if spell="Slow">
<equip when="midcast">
<main>Earth Staff</main>
</equip>
</if>
<elseif spell="Paralyze">
<equip when="midcast"> <!-- Equips appropriate staff for enfeeble -->
<main>Ice Staff</main>
</equip>
</elseif>
<elseif spell="Silence">
<equip when="midcast">
<main>Wind Staff</main>
</equip>
</elseif>
</elseif>


<!-- - - - - - - - - - - - - - Black Magic Rules - - - - - - - - - - - - - -->

<if Skill="ElementalMagic">
<equip when="precast" set="Nuking" />
</if>

<if Skill="EnfeeblingMagic|DarkMagic">
<equip when="precast">
<main>$%SpellElementStaff</main>
</equip>
</if>

<!-- - - - - - - - - - - - - - Closing Spellcast - - - - - - - - - - - - - -->

</rules>
</spellcast>


Ok, I set a max-height

OK, I haven't used Spellcast ever, but want to.
Why is this so complicated? I want it to be simple:
I want all my gear to swap when I choose a spell from my menu of spells....is that wrong?
Otherwise, how does spellcast work?
Like I don't understand the town set, or idle set (I mean, I understand why they are used, just not how to use them).
Like, how would you tell it that you are idle?
Either way, I just want my gear to swap out when I cast a spell or use a ja or heal, end of story, no sets or other complicated stuff.
Is this possible? And if so, how would the .xml look?

THANKS!!!
 Siren.Kalilla
VIP
Offline
Server: Siren
Game: FFXI
user: Kalila
Posts: 14552
By Siren.Kalilla 2011-08-06 04:19:04
Link | Quote | Reply
 
Bismarck.Ascrookshanks said:
OK, I haven't used Spellcast ever, but want to.
Why is this so complicated? I want it to be simple:
I want all my gear to swap when I choose a spell from my menu of spells....is that wrong?
Otherwise, how does spellcast work?
Like I don't understand the town set, or idle set (I mean, I understand why they are used, just not how to use them).
Like, how would you tell it that you are idle?
Either way, I just want my gear to swap out when I cast a spell or use a ja or heal, end of story, no sets or other complicated stuff.
Is this possible? And if so, how would the .xml look?

THANKS!!!
Alright, first off, spellcast is incredibly easy. Seriously, it really is. The most difficult things to do are:

Getting started, this by far is the most difficult if you have no coding experience like I had.

and, experimenting with more complicated tasks.

This is how difficult spellcast is:
Code xml
<?xml version="1.0" encoding="utf-8"?>
<spellcast>
 <config />
<!-- This is something you shouldn't worry about unless you want to debug your script (find out where
the logic is going wrong), show gear swaps, spell info, or some other rarely used configurations to
spellcast -->
 <variables>
<!-- These are what I'd consider advanced features of your script that you shouldn't take on until
your truly ready. They aren't hard, and are incredibly powerful features for spellcast, but they can
be confusing for someone who doesn't understand spellcast -->
 </variables>
 <sets> <!-- This is the easiest part of your script -->
  <group Name="White Mage" default="yes">
<!-- You need this line, change the group name to what ever you want -->
   <set Name="Healing"> <!-- This is the name of the set -->
    <main>Insert Item Name</main> <!-- List your gear here -->
    <sub>Insert Item Name</sub>
    <ammo>Insert Item Name</ammo>
    <head>Insert Item Name</head>
    <neck>Insert Item Name</neck>
    <lear>Insert Item Name</lear>
    <rear>Insert Item Name</rear>
    <body>Insert Item Name</body>
    <hands>Insert Item Name</hands>
    <lring>Insert Item Name</lring>
    <rring>Insert Item Name</rring>
    <back>Insert Item Name</back>
    <waist>Insert Item Name</waist>
    <legs>Insert Item Name</legs>
    <feet>Insert Item Name</feet>
   </set> <!-- Don't forget to close your tags! -->
  </group>
 </sets>
 <rules> <!-- This is where the difficult part is, but its easy -->
  <if Spell="Cure V">
<!-- Checking to see if the spell your casting is Cure V, if true then it continues with these rules,
if not it skips this section -->
   <equip when="precast" set="Set Name" /> <!-- You want fast cast here -->
   <equip when="midcast" set="Healing" /> <!-- This is the set above that we made -->
   <equip when="aftercast" set="Set Name" /> <!-- Use this to return to a set after your finished
casting, or doing w/e -->
  </if> <!-- Don't forget to close the spell -->
 </rules> <!-- Close the rules, we're done with the example -->
</spellcast> <!-- Finally close out your script to finalize it -->


First off, what is precast, midcast, and aftercast?
A spell consists of 3 parts: PreCast (before you start casting), MidCast (obvious, in the middle of casting), and AfterCast (after your done casting). Job Abilities and Weapon Skills consist of just PreCast and AfterCast.

As your writing up your script, you should always keep it organized. Notice I said that your writing it, this is important if you want to use spellcast. Just copying someones user script and changing the gear does nothing for you. If you run into complications with the script you wouldn't know the first thing in fixing it, and would drop it instantly to find another. I urge you to create your own.

With that said, you need some tools. You can do this in notepad if you wanted to, its not impossible, but it isn't that user friendly for newbies. It's not even user friendly for me, I find the plainness rather boring. Now, there are other programs available to you, and I'll explain.

Notepad++ - By far the most popular choice among people. It's free, powerful, colorful, and just plain cool.

That really is all you need, but if you want something a lil more powerful than that then I enjoy Microsoft Visual Studio. It's engine is more powerful than notepad++'s and it automatically closes tags for you ultimately saving you precious time when your writing huge chunks of rules. It's not free though.

Why are you asking me to write my own script again?
Because, I said so!

Na, but you'll benefit from it so much more. User scripts are great, and are in fact one of the greatest resources available to you. But they are so large and so detailed that the time it would take to start out from no knowledge and reading one of them would be 10 times as long as it would be writing your own.

The knowledge you gain writing you own is much deeper than reading what someone else has already proven. The kinks are all out, or the majority of them are. Maybe an update broke part of the code but the majority of them are all up to date. That is a flaw for you, you don't have the experience of making a mistake, finding out why its not working, and finding the solution to the problem. That is valuable knowledge for you in understanding spellcast.

Also most importantly, I believe, is that the during the time it takes you to write your script you gain more than the knowledge of how to write a spellcast script. You gain something much more valuable than that, and that is insight into your job. We all know something about our jobs, but no one knows everything about it no matter how much of an expert you think you are on the subject you can always learn something from it. This is where spellcast comes in by having you go through the logic of the job, and its tasks, you gain an understanding of the mechanics of the job. While your creating your script you'll not only be looking up rules and variables, but also different aspects of your job.

For example, a cure. Cures are very simple in theory, you cast it on the target and you cure for an amount. But what goes on between that 1 second of casting? There is so much more than you hitting the button and your character raising their hand. The game is looking for dozens of variables based on your stats, buffs, harmful status effects, equipment. But it even goes beyond your control including weather and day, even the time of the day if your gear has these requirements, that includes moon phase too on rare equipment that no one will ever use <.<! Continuing on, the game uses these variables in specific steps of the process. A cure seeks out fast cast during precast, and then cure potency, mnd, vit, healing magic, -enmity, haste, conserve mp, and other status enhancing stats during midcast. This all adds up into how much you cure for, how much mp you spend, how fast you cure, and the delay on your next cast.

Cures might be one of the more complicated simple things in the game, when you move onto melee things become vastly more simpler, and yet covers completely different rules and aspects of gear. It even removes the aspect of midcast making it much more simpler, yet more challenging at the same time in a way. You don't have 2 variables to enhance your ws's or ja's like spells do, so you only have 1 category to pull out everything you got to smash your opponent to bits. If you don't get everything on in time before the game sends over the information that you want to use this WS then your out of luck, and could be missing out on some important equipment.

Enough talking, just tell me what to do already :(
Alright, well you need to plan out your goals. What are you looking for in your spellcast? Are you a blm looking for a way to make gear swapping easier for all the elements your nuking with? Are you a bard having to juggle instruments to please your party? Are you a paladin wanting to squeeze out every bit of power you can throw out to maintain control of the situation? Are you a ninja wanting to make shadow casting easier with the use of cancel plugin? Are you a melee just wanting to enjoy a less chaotic experience of changing gear and just enjoy tearing apart the enemy ripping hate away from the tank and enjoying it?

What ever you want to do with your script, you need to plan out what you need. Lets take WHM for example: You want a script to manage your cures, resting gear, and idle gear. There is of course so many aspects of whm, I'm just keeping this short (yea right).

So lets start with cures. You want to have a fast cast set for precast. Your mid cast depends on the situation, and if your the type of whm that would have multiple curing sets. Let's keep this simple and say you have a single curing set, so this is your midcast set. Then you want to switch to your idle set which consists of refresh and -dmg taken gear.

That is 3 sets, and you know the 3 eqiup rules your going to use with your cures. Making the sets is easy enough, you should know the gear your going to use already since you use the gear in your in game macros', or you know what you want to use but you haven't yet because its inconvenient without spellcast. The more difficult part comes with the rules.

Rules are the logic that takes the sets you make, and brings them to life. If you want a set to activate when you use a cure it is very simple:
Code xml
<if Spell="Cure*">
 <equip when="precast" set="Set Name" />
 <equip when="midcast" set="Set Name" />
 <equip when="aftercast" set="Set Name" />
</if>

Although a very simple rule, this will get the job done for what was asked. Notice the asterisk (*), that is a wildcard which means any spell that starts with Cure will qualify. It doesn't matter if its just Cure, Cure III, or Cure VI, all of them will work. You could even do Cure*|Cura* if you wished, this would cover even the Curaga spells as well as Cura and Cura II. How advanced and detailed you want to get depends on your goals.

How do you go about making the best script for yourself? Take it slow. Yes, this is inconvenient, I know, but no matter how late you stay up working on it, how many hours you loose making it, you'll never finish it completely. Don't even try, because your setting yourself up for failure 99% of the time, unless your drive is inhuman. The thing is, you'll always be working on it. When you think your done your going to find something wrong, and when you think you got all the problems out your going to think of something else you want in there, and the cycle will never stop. After updates things will be released that need to be added into there and you have to find a way to make it work.

So my advice to you would be this: Start out by meeting the minimum requirements, that is covering all the spells/ja's/ws's that you want to cover in your script. Don't start writing the detailed rules out, just get the if statements in there, like your writing the draft. Next, start knocking out the quick fixes, and save the more detailed stuff for later.

Once you have the skeleton created, save your work and make sure there aren't any issues. You can do this by loading it in your game:

Open the console and type in "sc load Name.xml" replacing name with what your naming your spellcast. Speaking of names, you'll want to name your spellcast something like this:

Kalilla_WHM

This will allow the spellcast plugin to auto-load that script every time I change to whm, or start the game as whm, or load the plugin while on whm. You can even take that a step further:

Kalilla_WHM_SCH
Kalilla_WHM_RDM
Kalilla_WHM_BLM

If you so wished, you can even make scripts for the sub your using. That is unnecessary, but its there if you want it.

Now, you should have a script that is giving you no errors in the console window. If it is, it includes the line number of the issue. Find that line number in your script and look for the problem, it is fairly obvious what it is once you get to the line. XML is very picky when it comes to keeping your code clean, don't leave behind any periods or brackets.

Once you test your spells out, you can spam through them (spellcast is extremely fast with logic, you'll know right away when something is wrong), your ready to go onto the more detailed rules. This is a great opportunity to use the windower wiki to learn about different rules and variables that are available to you, but even better is looking at what others do with what your trying to accomplish. Remember, don't just copy something from someone's script unless you understand what it is doing.

Work in progress~
[+]
 Bismarck.Ascrookshanks
Offline
Server: Bismarck
Game: FFXI
user: Lumos
Posts: 49
By Bismarck.Ascrookshanks 2011-08-07 04:06:37
Link | Quote | Reply
 
Siren.Kalilla said:
Bismarck.Ascrookshanks said:
OK, I haven't used Spellcast ever, but want to.
Why is this so complicated? I want it to be simple:
I want all my gear to swap when I choose a spell from my menu of spells....is that wrong?
Otherwise, how does spellcast work?
Like I don't understand the town set, or idle set (I mean, I understand why they are used, just not how to use them).
Like, how would you tell it that you are idle?
Either way, I just want my gear to swap out when I cast a spell or use a ja or heal, end of story, no sets or other complicated stuff.
Is this possible? And if so, how would the .xml look?

THANKS!!!
Alright, first off, spellcast is incredibly easy. Seriously, it really is. The most difficult things to do are:

I cut a bunch of stuff out to shorten....

Siren.Kalilla said:

Once you test your spells out, you can spam through them (spellcast is extremely fast with logic, you'll know right away when something is wrong), your ready to go onto the more detailed rules. This is a great opportunity to use the windower wiki to learn about different rules and variables that are available to you, but even better is looking at what others do with what your trying to accomplish. Remember, don't just copy something from someone's script unless you understand what it is doing.

Work in progress~

Thank you so much!!! I think I might be able to actually do this now, I just needed a simple way to start.

Now to get down to work on this.

Once more stupid question:
The rules of spellcast work when the player just uses the spell and/or ja/ws menus, right? Or puts themselves in the resting or standing position, right? (Which, btw, what do the "if" lines look like for those last two? And for that matter, what do the "if" lines look like for ja and ws?)

Sorry, another question:
you said:
Siren.Kalilla said:

Open the console and type in "sc load Name.xml" replacing name with what your naming your spellcast. Speaking of names, you'll want to name your spellcast something like this:

Kalilla_WHM

This will allow the spellcast plugin to auto-load that script every time I change to whm, or start the game as whm, or load the plugin while on whm.

Do I have to open the console and type in "sc load Name.xml" every time I start the game?
Or do I just need to add spellcast to my init.txt file?

Oh, also, I have had a problem with my ChatMon ever since two or three updates ago...some of it works, but most of it doesn't.
It has some type of error that it is reading it as a wrong type of file:
"The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later."

and then it says:
"A name was started with an invalid character. Error processing resource 'file:///C:/Users/....."

But, it IS an xml file, and now it won't let me see the whole thing in any software I have, and I wrote it so many years ago, that I can't remember everything I have in there :(
I can only see the first line, and only part of it....does anyone know how I can see the entire file, and then fix this "XSL" problem?

Thanks again!!!
 Bismarck.Ascrookshanks
Offline
Server: Bismarck
Game: FFXI
user: Lumos
Posts: 49
By Bismarck.Ascrookshanks 2011-08-07 04:26:03
Link | Quote | Reply
 
NVM, I was able to open the ChatMon file....I think I can fix it now.
 Bismarck.Ascrookshanks
Offline
Server: Bismarck
Game: FFXI
user: Lumos
Posts: 49
By Bismarck.Ascrookshanks 2011-08-07 04:31:55
Link | Quote | Reply
 
That was a "NVM" for the ChatMon problem, the other questions still stand.

Thanks
 Bismarck.Ascrookshanks
Offline
Server: Bismarck
Game: FFXI
user: Lumos
Posts: 49
By Bismarck.Ascrookshanks 2011-08-08 02:56:21
Link | Quote | Reply
 
Damn, now my ChatMon is not working at all :(
 Cerberus.Ustav
Offline
Server: Cerberus
Game: FFXI
user: Ustav
Posts: 1043
By Cerberus.Ustav 2011-08-09 19:23:39
Link | Quote | Reply
 
Ok so I recently acquired a Genbu's Shield thus allowing me to use my owleyes my dilemma is this:

Since my idle is Owleyes/Shield when I nuke I switch to Staff/Grip however It doesnt equip my grip. It says <you must have 2h equipped etc etc>

How do I fix this ::

One more thing. Whats the rule I would need to be able to use the Artemis Necklace?
 Fenrir.Krazyrs
Offline
Server: Fenrir
Game: FFXI
user: krazyrs
Posts: 716
By Fenrir.Krazyrs 2011-08-09 19:41:49
Link | Quote | Reply
 
need the delay it looks like something like this
Code
<command>input /equip Main "staff";pause 0.5 0.5;input /equip Sub "grip"</command>
 Cerberus.Ustav
Offline
Server: Cerberus
Game: FFXI
user: Ustav
Posts: 1043
By Cerberus.Ustav 2011-08-09 19:49:05
Link | Quote | Reply
 
Does that go anywhere?
 Cerberus.Wolfshadow
Offline
Server: Cerberus
Game: FFXI
Posts: 2269
By Cerberus.Wolfshadow 2011-08-09 19:54:29
Link | Quote | Reply
 
Fenrir.Krazyrs said:
need the delay it looks like something like this
Code
<command>input /equip Main "staff";pause 0.5 0.5;input /equip Sub "grip"</command>
I've never seen this being used in spellcast, but one potential solution would be to put the staff in your precast with your fastcast gear, and then in your midcast equip the grip along with your other potency gear.
 Cerberus.Ustav
Offline
Server: Cerberus
Game: FFXI
user: Ustav
Posts: 1043
By Cerberus.Ustav 2011-08-09 20:05:11
Link | Quote | Reply
 
Yeah I was thinking that. I'm using aikars blm template and it has precast/midcast bundled together. I'm such a noob when it comes to sc ::
Log in to post.