|
Skill-Up Script, by Nimotas
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-04-27 17:25:16
Magic Skill-Up Script, by Nimotas
I originally built my own version of a skill-up script using Windower scripting but ran into problems with it crashing after running a while. A few years ago when I started learning about Spellcast, I found the Skillup.xml (2009, v1.0) by GenesisX (Windower Forums) and started using it. Over the years I slowly modified that original coding to fit my needs adding in new functions and usability. Recently I discovered that GenesisX had released an updated Skillup.xml (2011, v1.5) with some cool new features such as utilizing Refresh spell, and an improved resting MP system based on the user's MP level rather than resting a set period of time.
In this script, I have incorporated all the features from GenesisX's Skill-Up scripts and made several modifications/enhancements of my own. E.g. the ability to specify which avatars to use, added support for BRD, and all other magic casting jobs, use of Haste, Refresh, and Light Arts, etc... I want to give special thanks to GenesisX for writing the original coding this is based on and providing it to the community.
My goal was to modify the script and write these instructions in order to make it as simple as possible to use so that people who may not have much experience with Spellcast can benefit from using it with little difficulty. If something doesn't work, please post a reply with a description of the problem (it might help to run the script with Show.Debug=True in order to see where the script isn't working). You may also reply to this post if you have suggestions for features to be added. I will do my best to keep this script updated and will add features that I deem appropriate from user suggestions. Also, as with any xml posted, feel free to modify this script to fit your needs.
!!! Disclaimer !!!
This should go without saying… technically, use of Spellcast (i.e. using this script), or any third-party program, is against the Play Online EULA and is a bannable offense. I am not responsible for any damages or consequences which may result from using this script. Use this script at your own risk!
If you are smart about using this script (i.e. don't stand in the middle of Jeuno running it continuously for days on end), then you should be fine. Just use some common sense.
Getting Started / Setup
To get started, you'll need to copy/paste the code (at the bottom of post) into a blank .xml file (skillup.xml) located in the Spellcast folder.
The Custom Variables
Listed below are the custom variables you will need to set before running the script.
Debug Messages
By default, this variable is set to "True". Setting this variable to "True" will show a custom debug log to assist with debugging errors or for users that may wish to dissect the script and see what's going on behind the scenes. Change this variable to "False" if you do not want to see the debug messages. The messages cannot be read by GM's, so don't worry about that.
Added in v3.7, users can now toggle debug messages on/off while running the script by pressing F11.
Code <var name="Show.Debug">True</var> <!-- Show Process/Debug Info True/False -->
Automatic End Script Variables
This bit of coding is to allow the user to specify the game day and time when the script will automatically end. This is useful if you only want the script to run a few hours then end while you're AFK. This will prevent the script from running continuously 24/7 for days on end. If, however, you want it to run continuously, leave the variable blank. Personally, I don't like running it for more than a few hours at a time.
To estimate the length of time it will run, each game day lasts for 24 game hours from 0:00 - 24:00 which is 57 minutes, 36 seconds earth time. Therefore, if the script is started at the beginning of Earthsday and is set to end on Iceday at 0.00 time, it will run for a little less than 3 hours earth time.
Code
<!-- Automatic Script End Variables -->
<!-- Order of Days: Firesday -> Earthsday -> Watersday -> Windsday -> Iceday -> Lightningday -> Lightsday -> Darksday -->
<var name="SUEndDay">Firesday</var> <!-- Change value to the name of the day you want the script to auto end or leave blank for continuous run. -->
<var name="SUEndTime">0.00</var> <!-- Change value to the time of the day you want the script to auto end -->
Skill-Up Food
In this section , users can set whether they wasn’t the script to use food or not and which food to use. By default this is set to "False". Changing this to "True" will allow the script to use the specified food from your inventory. As long as you have the food in your inventory, the script will use it. If you run out of food, the script will attempt to use food once then continue to skill up without food and will not attempt to use it again.
Code
<!-- You can alter these variables to use Skill UP food or not. -->
<var name="UseFood">False</var> <!-- Use skill-up food True/False -->
<var name="FoodName">B.E.W Pitaru</var> <!-- Valid Magic Food: Stuffed Pitaru, Poultry Pitaru, Seafood Pitaru, B.E.W Pitaru -->
Wait Times between Actions/Casting
These variables have been added to give you custom wait times between each action. This may be useful in laggy areas/connections or slower PCs.
Code
<!-- Time is in seconds. -->
<var name="WaitTime4SMN">2</var> <!-- Set time to wait in-between SMN Skill actions -->
<var name="WaitTime4Healing">2</var> <!-- Set time to wait in-between Healing Skill actions -->
<var name="WaitTime4Enhancing">2</var> <!-- Set time to wait in-between Enhancing Skill actions -->
<var name="WaitTime4BLU">2</var> <!-- Set time to wait in-between Blue Magic Skill actions -->
<var name="WaitTime4GEO">2</var> <!-- Set time to wait in-between Geomancy Skill actions -->
<var name="WaitTime4BRD">1</var> <!-- Set time to wait in-between BRD Skill actions -->
<var name="WaitTime4Dark">3</var> <!-- Set time to wait in-between Dark Skill actions -->
<var name="WaitTime4Divine">3</var> <!-- Set time to wait in-between Divine Skill actions -->
<var name="WaitTime4Elemental">2</var> <!-- Set time to wait in-between Elemental Skill actions -->
<var name="WaitTime4Enfeebling">2</var> <!-- Set time to wait in-between Enfeebling Skill actions -->
<var name="WaitTime4RangedAttk">5</var> <!-- Set time to wait in-between Ranged Attacks -->
<var name="WaitTime4Ninjutsu">2</var> <!-- Set time to wait in-between Ninjutsu Spells -->
Summoner Avatars to Use
These variables have been added to give users the ability to specify which avatars to use when skilling up summoning skill.
Code
<!-- Summons: 1= Use, 0= Do not use -->
<var name="CarbuncleAva">1</var> <!-- This must remain set to 1 since all SMN's have Carbuncle -->
<var name="IfritAva">1</var>
<var name="TitanAva">1</var>
<var name="LeviathanAva">1</var>
<var name="GarudaAva">1</var>
<var name="ShivaAva">1</var>
<var name="RamuhAva">1</var>
<var name="FenrirAva">1</var>
<var name="DiabolosAva">1</var>
Setting up Resting and Standing gear
To enhance the speed of the script there is a section you can specify equipment. The two sets of equipment used in this script are, "Resting Gear" set used when resting to restore mp and a "Standard" set used when standing which may have any Fast Cast or Conserve MP+ gear.
Note: When specifying "Resting Gear", you only need to list the equipment which is different from the equipment listed in the "Standard" set.
Example: Code
<sets>
<!--- Specify Resting / Standard gear if desired --->
<group default="yes" name="Job">
<set name = "Standard">
</set>
<set name = "Resting Gear">
</set>
</group>
</sets>
Would be filled in with equipment like so:
Code
<group name="SCH">
<set name="Standard">
<main>Chatoyant Staff</main>
<sub>Curatio Grip</sub>
<ammo>Incantor Stone</ammo>
<head>Savant's Bonnet +1</head>
<neck>Savant's Chain</neck>
<lear>Loquacious Earring</lear>
<rear>Gifted Earring</rear>
<body>Savant's Gown +1</body>
<hands>Serpentes Cuffs</hands>
<lring>Bifrost Ring</lring>
<rring>Ephedra Ring</rring>
<back>Oretania's Cape</back>
<waist>Hierarch Belt</waist>
<legs>Praeco Slacks</legs>
<feet>Serpentes Sabots</feet>
</set>
<set name="Resting Gear" BaseSet="Standard">
<ammo>Clarus Stone</ammo>
<body>Errant Hpl.</body>
</set>
</group>
Running the Script
Now that all the setup stuff is done, it's time to run the script. To load the .xml file, type "//sc load filename.xml" into the command line. After the script is loaded, cast one of the trigger spells below to start the script.
Note: After the script is loaded up and you perform any action you will get a one-time message informing you of the script being loaded.
Trigger Spells
Cast one of these spells after the xml is loaded to start the skill up process.
Summoning Magic Skill
--Carbuncle - This will start the summoning magic cycle.
Healing Magic Skill
--Cure1 - This will start the healing Magic cycle.
Enhancing Magic Skill
--Protect - This will start the Enhancing magic cycle using protect / shell spells
--Barfira - This will start the Enhancing magic cycle using WHM bar spells.
--Barfire - This will start the Enhancing magic cycle using RDM bar spells.
--Blaze Spikes - This will start the Enhancing magic cycle using BLM spike spells.
Blue Magic Skill
--Pollen - This will start the Blue magic cycle.
Geomancy, Handbell Skill
--Indi-Regen - This will start the Geomancy magic cycle.
BRD Singing/Wind/String Skill
--Fire Carol - This will start the BRD Singing/Wind/String skill cycle.
--Fire Threnody - This will start the BRD Singing/Wind/String skill cycle on selected <t>.
Note: Wind or String skill will be determined by the instrument you equip.
Dark Magic Skill
--Endark - This will start the Dark magic skill cycle using Endark spell on self.
--Bio - This will start the Dark magic skill cycle using Bio spell on target.
Divine Magic Skill
--Enlight - This will start the Divine magic skill cycle.
Elemental Magic Skill
--Burn - This will start the Elemental magic skill cycle using Burn spell on target.
--Fire - This will start the Elemental magic skill cycle using Fire spell on target.
Enfeebling Magic Skill
--Dia - This will start the Enfeebling magic skill cycle using Dia spell on target.
Ninjutsu Magic Skill
--Katon: Ni - This will start the Ninjutsu magic skill cycle on target.
Spell Cycles
Here is the order of spells that will be cast for each cycle. The script will repeat after each cycle. If you happen to be missing a spell, do not worry. The script will continue to run and cycle properly.
Summoning Magic - Carbuncle, Ifrit, Titan, Leviathan, Garuda, Shiva, Ramuh, Fenrir, Diabolos
Note: See Custom Variables section above to set which avatars are available for the script to use.
Healing Magic - Cure1, Cure2, Cure1, Cure2
Enhancing Magic
--via Protect - Protect1, Shell1, Protect2, Shell2
--via WHM Bar spells - Barfira, Barblizzara, Baraera, Barstonra, Barthundra, Barwatera
--via RDM Bar spells - Barfire, Barblizzard, Baraero, Barstone, Barthunder, Barwater
--via Blaze Spikes - Blaze Spikes, Ice Spikes, Shock Spikes
Blue Magic - Pollen, Magic Fruit, Pollen, Magic Fruit
Geomancy Magic - Indi-Regen, Indi-Poison, Indi-Refresh, Indi-Fury, Indi-Barrier, Indi-Precision, Indi-Voidance
BRD Song Skill
-- via Fire Carol - Fire Carol, Ice Carol, Wind Carol, Earth Carol, Lightning Carol, Water Carol, Light Carol, Dark Carol
-- via Fire Threnody- Fire Threnody, Ice Threnody, Wind Threnody, Earth Threnody, Lightning Threnody, Water Threnody, Light Threnody, Dark Threnody
Dark Magic
-- via Endark - Endark, Endark, Endark
-- via Bio - Bio, Bio, Bio
Divine Magic - via EnEnlight, Enlight, Enlight
Elemental Magic
--via Burn - Burn, Frost, Choke, Rasp, Shock, Drown
--via Fire - Fire, Blizzard, Aero, Stone, Thunder, Water
Enfeebling Magic - Dia, Dia, Dia
Ninjutsu Magic - Katon, Suiton, Raiton, Doton, Huton, Hyoton (Ni spells)
Resting MP
The script will cycle through spells for that skill until you are almost out of MP. When your MP is low enough (< 5%) the script will put you into the resting position and stay that way until your MP is full. Then it will stand you back up and continue with casting spells for the selected skill and repeat until given a command to end (see Ending the Script below).
Note: BRD skill up cycle will not rest since it does not use MP.
Light Arts, Avatar's Favor, Haste, and Refresh
Light Arts will automatically be activated if not active and your job or sub job is SCH.
Avatar's Favor will automatically be activated if not active and your job is SMN.
Haste will automatically be cast if not active and your job or sub job is RDM or WHM.
Refresh will automatically be cast if not active:
--If your main job is GEO (lvl > 33), Geo-Refresh spell will be cast.
--If your main job is BLU (lvl > 78), Battery Charge spell will be cast.
--If your main job is RDM (lvl > 81), Refresh II spell will be cast.
--If your main job or sub job is RDM, Refresh spell will be cast.
Pausing the Script
Pressing F12 will pause/resume the script. This function was added to allow the user to pause the script to cast different spells or switch targets. Pressing F12 again will resume the script.
Resetting the Script
Pressing F10 will reload the script without unloading Spellcast. The script must be paused first in order for the reset to work.
Ending the Script
You can press CTRL+Escape at any time to exit the skill-up script or it will automatically end on the day/time specified in the Automatic End Script Variable section. Ending the script will unload Spellcast and reload it after a few seconds with the default xml file.
The Skill-Up Script Code / Change Log
Copy the entire code from the link below into your blank xml file. Then set the variables and equipment before running.
--- SkillUp_V3.9 Released 11/03/14 ---
--Added BRD (Mob Target) Skillup section
Tigger spell: Fire Threnody
--Bugfix: Corrected issue with SMN not releasing pet. Spellcast %PetIsValid variable is broken and always returns "False". Corrected issue by hard coding $PetValid variable.
--- SkillUp_V3.8 Released 10/25/14 ---
--Added Ninjutsu Skillup section
Tigger spell: Katon: Ni
--Bugfix: Updated coding to address looping issue with script attempting to cast Haste spell if job is WHM|RDM and lower than spell level.
--Bugfix: Added logic to check MP level for Haste and Refresh spells to ensure the caster has enough MP to cast the spell. (Thank you Ununium for this suggestion)
--Added logic for RDM main job to cast either Haste II or Haste depending on the caster's job level and appropriate MP level.
--Added ability to use Light Arts or Dark Arts based on spell magic type (WhiteMagic/BlackMagic).
Previously, only Light Arts was used.
--Added section for Ranged Attack skill up (BETA)
This function is not fully working.
--- SkillUp_V3.7 Released 06/09/13 ---
--Added Reset feature: Pressing F10 will reset the script to first run without unloading Spellcast
Script must be paused first in order for reset to work
--Added Debug Message Toggle: Pressing F11 will toggle debug messages On/Off
--Added Pause feature: Pressing F12 will Pause/Resume the script
--Added ability to use Bio spell to skill-up Dark Magic
--Added Elemental Magic Skill-up Segment
Trigger spells: Fire | Burn
--Added Enfeebling Magic Skill-Up Segment
Trigger Spell: Dia
--- SkillUp_V3.6 Released 04/28/13 ---
--Added a cancel command to cancel Protect/Shell buffs before recasting when using the Protect/Shell Enhancing Magic skill cycle.
--Added the use of Avatar's Favor ability for SMN skill cycle
--Added the ability to specify whether or not to use food and what food to use.
If you run out of food, the script will attempt to use food once then continue skilling up without food and will not attempt to use it again.
--Minor code changes to Debug process
--Changed order of <if> checks when Idle for better processing order
--- SkillUp_V3.5 Released 04/27/13 ---
--Added ability to specify SMN avatars to use for spell cycle
--Added support for BRD, GEO, PLD, DRK, BLU, RDM, RUN jobs and magic spells
--Added use of Refresh II if main job is RDM
--Added use of Refresh if main or sub job is RDM
--Added use of Geo-Refresh if main job is GEO
--Added ability to activate Light Arts if main or sub job is SCH
--Added Auto-End coding to allow the ability to specify when the script will auto-end
--Updated resting sequence coding to use MP% and rest to full rather than defined MP amount and resting for set period of time
--Added Debug log function
--Minor cleanup of old code
Server: Valefor
Game: FFXI
Posts: 87
By Valefor.Clairefox 2013-04-27 18:03:56
Beautiful! <3 Thank you :D I love the Auto-End! Always get a lil skittish if I go to leave it on overnight while I sleep >_<;
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-04-27 18:07:45
Valefor.Clairefox said: »Beautiful! <3 Thank you :D I love the Auto-End! Always get a lil skittish if I go to leave it on overnight while I sleep >_<;
Thanks for your comment. I feel the same way leaving it on overnight which is why I built the Auto-End feature. Glad you like it.
Bismarck.Snprphnx
Server: Bismarck
Game: FFXI
Posts: 2704
By Bismarck.Snprphnx 2013-04-27 18:40:41
Good job. I had also modified the original file as well, to include using a food and auto casting refresh to avoid needing to rest MP.
As stated before, the auto-end feature is awesome.
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-04-27 18:45:51
Bismarck.Snprphnx said: »Good job. I had also modified the original file as well, to include using a food and auto casting refresh to avoid needing to rest MP.
As stated before, the auto-end feature is awesome.
Thanks. I was thinking about adding the food feature and will do that in my next update.
By Quetzacoatl 2013-04-27 19:12:37
Bismarck.Snprphnx said: »Good job. I had also modified the original file as well, to include using a food and auto casting refresh to avoid needing to rest MP.
As stated before, the auto-end feature is awesome.
Thanks. I was thinking about adding the food feature and will do that in my next update. Totally waiting on this :D
I've always had trouble finding a good skillup script that uses food and casts spells right after the other
Bismarck.Snprphnx
Server: Bismarck
Game: FFXI
Posts: 2704
By Bismarck.Snprphnx 2013-04-27 19:27:48
Mine will use the food. But once you run out, it will continually attempt to use it, instead of shutting down or skipping it.
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-04-27 21:26:07
ok, I've written segments of coding to include the use of Avatar's Favor for SMN's and the option of using food. I've written the code so that if you run out of food, it will only attempt to use food once before continuing to skill-up. As long as you have the food in your inventory, it will continue to use it when it wears off.
I still have to incorporate these coding segments into the main script and test it. Once I'm done testing, I'll post the updated coding, which will probably be tomorrow since I'm getting ready to head out for the night.
Thanks for the comments and suggestions.
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-04-28 13:22:05
Updated script to v3.6. Edited original post with new feature and link to new version.
This update includes the following:
–Added a cancel command to cancel Protect/Shell buffs before recasting when using the Protect/Shell Enhancing Magic skill cycle.
–Added the use of Avatar's Favor ability for SMN skill cycle
–Added the ability to specify whether or not to use food and what food to use.
If you run out of food, the script will attempt to use food once then continue skilling up without food and will not attempt to use it again.
–Minor code changes to Debug process
–Changed order of <if> checks when Idle for better processing order
[+]
Bismarck.Rosalee
Server: Bismarck
Game: FFXI
Posts: 276
By Bismarck.Rosalee 2013-04-28 15:11:04
one more suggestion: would you be able to get it to summon/utilize your adventuring fellow to make things go (much!) faster with healing/enhancing/geomancy (provided your fellow is max level)?
Necro Bump Detected!
[42 days between previous and next post]
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-06-09 23:14:04
Updated script to v3.7. Edited original post with new features and link to new version.
–- SkillUp_V3.7 Released 06/09/13 –-
–Added Reset feature: Pressing F10 will reset the script to first run without unloading Spellcast
Script must be paused first in order for reset to work
–Added Debug Message Toggle: Pressing F11 will toggle debug messages On/Off
–Added Pause feature: Pressing F12 will Pause/Resume the script
–Added ability to use Bio spell to skill-up Dark Magic
–Added Elemental Magic Skill-up Segment
Trigger spells: Fire | Burn
–Added Enfeebling Magic Skill-Up Segment
Trigger Spell: Dia
Future enhancements:
--minor code fixes for smoother processing
--Adding segment for ranged attack skill up
By Deriaan 2013-06-15 03:19:28
This is awesome, can you make it so it can cast Mage's Ballad I if bard is your subjob?
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-06-15 14:27:11
This is awesome, can you make it so it can cast Mage's Ballad I if bard is your subjob?
Yes, I believe I can and I'll add that to the list of things to include in my next update. Thanks for your suggestion.
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-06-15 14:37:17
one more suggestion: would you be able to get it to summon/utilize your adventuring fellow to make things go (much!) faster with healing/enhancing/geomancy (provided your fellow is max level)?
Rosalee, I haven't meant to ignore your suggestion. I've thought about how I could write that coding but since my adventuring fellow isn't capped, it makes it very difficult for me to write the coding to make the script do what you're asking. I have no way of testing it to see if the coding is working. I'm sorry, but at this time I won't be able to incorporate your suggestion. I will keep it in mind for the future if I ever level up my fellow.
Cerberus.Evilqueen
Server: Cerberus
Game: FFXI
Posts: 34
By Cerberus.Evilqueen 2013-06-17 11:46:31
Keep getting command error on GEO group.... it also isn't resting for me... (level 58 geo)
i've reloaded, even deleted and recopied the script...
can't figure it out. /fume
edit::: got it to stop doing a command error but it still isn't resting .... =(
By Heimdel 2013-07-02 08:36:13
Just a couple ideas, I saw someone mention you can use one the mobs in sea to skill up on as long you don't cast any damage spells. So for divine and enfeebling and dark you could use this to add more spells to the line up. You could make a hybrid scrip that combines these 3 skills to use on them using repose,sleep, bind,gravity, and break to make sure they don't leave while skilling the 3 types on them. You could make it work for whm or rdm or sch though sch would have some problems and base skill isn't higher than whm or rdm or even drk. You could can also use drk for both dark and enfeebling skill with /rdm since it has A and c skill levels in the two.
Edit: could probably also use this with geo.
Server: Phoenix
Game: FFXI
Posts: 39
By Phoenix.Knumskull 2013-07-08 05:38:26
I'm not very good at trouble shooting xmls, so i am saking here
I've tried running this script on rdm/blm 99 for enhancing. When i start the script it cast refresh2
the it says: Ran first Update
No valid Pet
.... a command error has occurd
what do i need to change to make this work?
nvm fixed it, for some reason it changed back to my ordinary rdm xml.
Server: Seraph
Game: FFXI
Posts: 1
By Seraph.Zorndyke 2013-07-24 15:23:20
This script is aaaaaaaaaaaawesome!
One thing I noticed though: as a GEO/RDM, it casts Geo-Refresh but not Refresh. These do stack and it would make sense to go with both, right?
Necro Bump Detected!
[33 days between previous and next post]
Server: Siren
Game: FFXI
Posts: 13
By Siren.Nimotas 2013-08-26 06:04:16
This script is aaaaaaaaaaaawesome!
One thing I noticed though: as a GEO/RDM, it casts Geo-Refresh but not Refresh. These do stack and it would make sense to go with both, right?
@Zorndyke
Thank you. I'm glad you like the script. The script uses the status effects to determine when to cast geo-refresh/refresh. Since both geo-refresh and refresh give the refresh status effect, the script will not process the refresh spell sequence once the effect is up from geo-refresh. I.e. since both spells give the refresh status effect, the script won't use both spells at the same time.
Thanks for the suggestion though.
My apologies to everyone that I haven't posted any updates in a while. School and work has kept me very busy lately. I'll try to get an update out soon.
Thanks for all the support and suggestions.
Server: Phoenix
Game: FFXI
Posts: 32
By Phoenix.Latravant 2013-09-04 00:05:10
couple questions.
since i havent tried the enfeebling or dark (bio) sets, when my character runs out of mp, will it try to rest, even while its being attacked by a mob? or will it just continue trying to cast the spell?
will there be a ninjutsu set coming soon? ie elemental wheel as it used to be called.
thanks ahead of time.
By zippy0987 2013-09-08 11:27:33
im not sure how this works im confused help plz
Necro Bump Detected!
[71 days between previous and next post]
By kainetaru 2013-11-18 09:28:34
hi I tried this script and every thing works just fine except the last cast before the heal it will cast the avatar and heal without releasing the avatar is there some way to fix this? thanks
Alexander.Carrelo
Server: Alexander
Game: FFXI
Posts: 3706
By Alexander.Carrelo 2013-11-18 13:28:04
You should adjust your gear. Speaking from experience, you can skillup indefinitely on SMN--even without subbing RDM for Refresh/Convert. Your MP shouldn't drop any further than ~20 under your max at any point. You'll need Refresh and perpetuation cost gear to play SMN anyway, so it makes sense to get it for skilling up too. Good luck! :]
By mbsaxplayer 2013-12-09 00:23:24
Updated script to v3.7. Edited original post with new features and link to new version.
–- SkillUp_V3.7 Released 06/09/13 –-
–Added Reset feature: Pressing F10 will reset the script to first run without unloading Spellcast
Script must be paused first in order for reset to work
–Added Debug Message Toggle: Pressing F11 will toggle debug messages On/Off
–Added Pause feature: Pressing F12 will Pause/Resume the script
–Added ability to use Bio spell to skill-up Dark Magic
–Added Elemental Magic Skill-up Segment
Trigger spells: Fire | Burn
–Added Enfeebling Magic Skill-Up Segment
Trigger Spell: Dia
Future enhancements:
--minor code fixes for smoother processing
--Adding segment for ranged attack skill up
Amazing script, I love it. Great job with this.
One issue, though. On my Geomancer, on occasion, my Geo-Refresh wears off right as I dip below 126 MP, and my character gets stuck in a cycle of trying to cast it and I get the message "___ does not have enough MP to cast Geo-Refresh." repeatedly instead of moving on or trying to /heal. Is there any way to make it so if it can't cast it it moves on, or tries to /heal?
Hades.Triet
Server: Hades
Game: FFXI
Posts: 1615
By Hades.Triet 2013-12-26 13:57:22
Same problem here on GEO.
Also for GEO, I was wondering if it was possible to throw in a Convert(if HP > or = 75% ?) action with a cure/regen, provided you are /rdm, and one for Radial Arcana, if the timers allow it?
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2013-12-26 14:25:33
I'm not good with Spellcast, never really used it outside of Gearcollector so forgive me for asking but is there a reason why when I start it up and cast Barfire it only says '...A command error occurred' and repeats it over, and over, and over again? :x
Hades.Triet
Server: Hades
Game: FFXI
Posts: 1615
By Hades.Triet 2013-12-26 14:30:13
Did you try casting one of the other enhancing magic spells to start it?
Server: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2013-12-26 14:35:33
After my first cast of anything, I can't do anything without unloading Spellcast it seems, when I try to do something I just get that error message.
Ramuh.Austar
Server: Ramuh
Game: FFXI
Posts: 10481
By Ramuh.Austar 2013-12-26 14:38:21
what job are you trying to use it on?
Magic Skill-Up Script, by Nimotas
I originally built my own version of a skill-up script using Windower scripting but ran into problems with it crashing after running a while. A few years ago when I started learning about Spellcast, I found the Skillup.xml (2009, v1.0) by GenesisX (Windower Forums) and started using it. Over the years I slowly modified that original coding to fit my needs adding in new functions and usability. Recently I discovered that GenesisX had released an updated Skillup.xml (2011, v1.5) with some cool new features such as utilizing Refresh spell, and an improved resting MP system based on the user's MP level rather than resting a set period of time.
In this script, I have incorporated all the features from GenesisX's Skill-Up scripts and made several modifications/enhancements of my own. E.g. the ability to specify which avatars to use, added support for BRD, and all other magic casting jobs, use of Haste, Refresh, and Light Arts, etc... I want to give special thanks to GenesisX for writing the original coding this is based on and providing it to the community.
My goal was to modify the script and write these instructions in order to make it as simple as possible to use so that people who may not have much experience with Spellcast can benefit from using it with little difficulty. If something doesn't work, please post a reply with a description of the problem (it might help to run the script with Show.Debug=True in order to see where the script isn't working). You may also reply to this post if you have suggestions for features to be added. I will do my best to keep this script updated and will add features that I deem appropriate from user suggestions. Also, as with any xml posted, feel free to modify this script to fit your needs.
!!! Disclaimer !!!
This should go without saying… technically, use of Spellcast (i.e. using this script), or any third-party program, is against the Play Online EULA and is a bannable offense. I am not responsible for any damages or consequences which may result from using this script. Use this script at your own risk!
If you are smart about using this script (i.e. don't stand in the middle of Jeuno running it continuously for days on end), then you should be fine. Just use some common sense.
Getting Started / Setup
To get started, you'll need to copy/paste the code (at the bottom of post) into a blank .xml file (skillup.xml) located in the Spellcast folder.
The Custom Variables
Listed below are the custom variables you will need to set before running the script.
Debug Messages
By default, this variable is set to "True". Setting this variable to "True" will show a custom debug log to assist with debugging errors or for users that may wish to dissect the script and see what's going on behind the scenes. Change this variable to "False" if you do not want to see the debug messages. The messages cannot be read by GM's, so don't worry about that.
Added in v3.7, users can now toggle debug messages on/off while running the script by pressing F11.
Code <var name="Show.Debug">True</var> <!-- Show Process/Debug Info True/False -->
Automatic End Script Variables
This bit of coding is to allow the user to specify the game day and time when the script will automatically end. This is useful if you only want the script to run a few hours then end while you're AFK. This will prevent the script from running continuously 24/7 for days on end. If, however, you want it to run continuously, leave the variable blank. Personally, I don't like running it for more than a few hours at a time.
To estimate the length of time it will run, each game day lasts for 24 game hours from 0:00 - 24:00 which is 57 minutes, 36 seconds earth time. Therefore, if the script is started at the beginning of Earthsday and is set to end on Iceday at 0.00 time, it will run for a little less than 3 hours earth time.
Code
<!-- Automatic Script End Variables -->
<!-- Order of Days: Firesday -> Earthsday -> Watersday -> Windsday -> Iceday -> Lightningday -> Lightsday -> Darksday -->
<var name="SUEndDay">Firesday</var> <!-- Change value to the name of the day you want the script to auto end or leave blank for continuous run. -->
<var name="SUEndTime">0.00</var> <!-- Change value to the time of the day you want the script to auto end -->
Skill-Up Food
In this section , users can set whether they wasn’t the script to use food or not and which food to use. By default this is set to "False". Changing this to "True" will allow the script to use the specified food from your inventory. As long as you have the food in your inventory, the script will use it. If you run out of food, the script will attempt to use food once then continue to skill up without food and will not attempt to use it again.
Code
<!-- You can alter these variables to use Skill UP food or not. -->
<var name="UseFood">False</var> <!-- Use skill-up food True/False -->
<var name="FoodName">B.E.W Pitaru</var> <!-- Valid Magic Food: Stuffed Pitaru, Poultry Pitaru, Seafood Pitaru, B.E.W Pitaru -->
Wait Times between Actions/Casting
These variables have been added to give you custom wait times between each action. This may be useful in laggy areas/connections or slower PCs.
Code
<!-- Time is in seconds. -->
<var name="WaitTime4SMN">2</var> <!-- Set time to wait in-between SMN Skill actions -->
<var name="WaitTime4Healing">2</var> <!-- Set time to wait in-between Healing Skill actions -->
<var name="WaitTime4Enhancing">2</var> <!-- Set time to wait in-between Enhancing Skill actions -->
<var name="WaitTime4BLU">2</var> <!-- Set time to wait in-between Blue Magic Skill actions -->
<var name="WaitTime4GEO">2</var> <!-- Set time to wait in-between Geomancy Skill actions -->
<var name="WaitTime4BRD">1</var> <!-- Set time to wait in-between BRD Skill actions -->
<var name="WaitTime4Dark">3</var> <!-- Set time to wait in-between Dark Skill actions -->
<var name="WaitTime4Divine">3</var> <!-- Set time to wait in-between Divine Skill actions -->
<var name="WaitTime4Elemental">2</var> <!-- Set time to wait in-between Elemental Skill actions -->
<var name="WaitTime4Enfeebling">2</var> <!-- Set time to wait in-between Enfeebling Skill actions -->
<var name="WaitTime4RangedAttk">5</var> <!-- Set time to wait in-between Ranged Attacks -->
<var name="WaitTime4Ninjutsu">2</var> <!-- Set time to wait in-between Ninjutsu Spells -->
Summoner Avatars to Use
These variables have been added to give users the ability to specify which avatars to use when skilling up summoning skill.
Code
<!-- Summons: 1= Use, 0= Do not use -->
<var name="CarbuncleAva">1</var> <!-- This must remain set to 1 since all SMN's have Carbuncle -->
<var name="IfritAva">1</var>
<var name="TitanAva">1</var>
<var name="LeviathanAva">1</var>
<var name="GarudaAva">1</var>
<var name="ShivaAva">1</var>
<var name="RamuhAva">1</var>
<var name="FenrirAva">1</var>
<var name="DiabolosAva">1</var>
Setting up Resting and Standing gear
To enhance the speed of the script there is a section you can specify equipment. The two sets of equipment used in this script are, "Resting Gear" set used when resting to restore mp and a "Standard" set used when standing which may have any Fast Cast or Conserve MP+ gear.
Note: When specifying "Resting Gear", you only need to list the equipment which is different from the equipment listed in the "Standard" set.
Example: Code
<sets>
<!--- Specify Resting / Standard gear if desired --->
<group default="yes" name="Job">
<set name = "Standard">
</set>
<set name = "Resting Gear">
</set>
</group>
</sets>
Would be filled in with equipment like so:
Code
<group name="SCH">
<set name="Standard">
<main>Chatoyant Staff</main>
<sub>Curatio Grip</sub>
<ammo>Incantor Stone</ammo>
<head>Savant's Bonnet +1</head>
<neck>Savant's Chain</neck>
<lear>Loquacious Earring</lear>
<rear>Gifted Earring</rear>
<body>Savant's Gown +1</body>
<hands>Serpentes Cuffs</hands>
<lring>Bifrost Ring</lring>
<rring>Ephedra Ring</rring>
<back>Oretania's Cape</back>
<waist>Hierarch Belt</waist>
<legs>Praeco Slacks</legs>
<feet>Serpentes Sabots</feet>
</set>
<set name="Resting Gear" BaseSet="Standard">
<ammo>Clarus Stone</ammo>
<body>Errant Hpl.</body>
</set>
</group>
Running the Script
Now that all the setup stuff is done, it's time to run the script. To load the .xml file, type "//sc load filename.xml" into the command line. After the script is loaded, cast one of the trigger spells below to start the script.
Note: After the script is loaded up and you perform any action you will get a one-time message informing you of the script being loaded.
Trigger Spells
Cast one of these spells after the xml is loaded to start the skill up process.
Summoning Magic Skill
--Carbuncle - This will start the summoning magic cycle.
Healing Magic Skill
--Cure1 - This will start the healing Magic cycle.
Enhancing Magic Skill
--Protect - This will start the Enhancing magic cycle using protect / shell spells
--Barfira - This will start the Enhancing magic cycle using WHM bar spells.
--Barfire - This will start the Enhancing magic cycle using RDM bar spells.
--Blaze Spikes - This will start the Enhancing magic cycle using BLM spike spells.
Blue Magic Skill
--Pollen - This will start the Blue magic cycle.
Geomancy, Handbell Skill
--Indi-Regen - This will start the Geomancy magic cycle.
BRD Singing/Wind/String Skill
--Fire Carol - This will start the BRD Singing/Wind/String skill cycle.
--Fire Threnody - This will start the BRD Singing/Wind/String skill cycle on selected <t>.
Note: Wind or String skill will be determined by the instrument you equip.
Dark Magic Skill
--Endark - This will start the Dark magic skill cycle using Endark spell on self.
--Bio - This will start the Dark magic skill cycle using Bio spell on target.
Divine Magic Skill
--Enlight - This will start the Divine magic skill cycle.
Elemental Magic Skill
--Burn - This will start the Elemental magic skill cycle using Burn spell on target.
--Fire - This will start the Elemental magic skill cycle using Fire spell on target.
Enfeebling Magic Skill
--Dia - This will start the Enfeebling magic skill cycle using Dia spell on target.
Ninjutsu Magic Skill
--Katon: Ni - This will start the Ninjutsu magic skill cycle on target.
Spell Cycles
Here is the order of spells that will be cast for each cycle. The script will repeat after each cycle. If you happen to be missing a spell, do not worry. The script will continue to run and cycle properly.
Summoning Magic - Carbuncle, Ifrit, Titan, Leviathan, Garuda, Shiva, Ramuh, Fenrir, Diabolos
Note: See Custom Variables section above to set which avatars are available for the script to use.
Healing Magic - Cure1, Cure2, Cure1, Cure2
Enhancing Magic
--via Protect - Protect1, Shell1, Protect2, Shell2
--via WHM Bar spells - Barfira, Barblizzara, Baraera, Barstonra, Barthundra, Barwatera
--via RDM Bar spells - Barfire, Barblizzard, Baraero, Barstone, Barthunder, Barwater
--via Blaze Spikes - Blaze Spikes, Ice Spikes, Shock Spikes
Blue Magic - Pollen, Magic Fruit, Pollen, Magic Fruit
Geomancy Magic - Indi-Regen, Indi-Poison, Indi-Refresh, Indi-Fury, Indi-Barrier, Indi-Precision, Indi-Voidance
BRD Song Skill
-- via Fire Carol - Fire Carol, Ice Carol, Wind Carol, Earth Carol, Lightning Carol, Water Carol, Light Carol, Dark Carol
-- via Fire Threnody- Fire Threnody, Ice Threnody, Wind Threnody, Earth Threnody, Lightning Threnody, Water Threnody, Light Threnody, Dark Threnody
Dark Magic
-- via Endark - Endark, Endark, Endark
-- via Bio - Bio, Bio, Bio
Divine Magic - via EnEnlight, Enlight, Enlight
Elemental Magic
--via Burn - Burn, Frost, Choke, Rasp, Shock, Drown
--via Fire - Fire, Blizzard, Aero, Stone, Thunder, Water
Enfeebling Magic - Dia, Dia, Dia
Ninjutsu Magic - Katon, Suiton, Raiton, Doton, Huton, Hyoton (Ni spells)
Resting MP
The script will cycle through spells for that skill until you are almost out of MP. When your MP is low enough (< 5%) the script will put you into the resting position and stay that way until your MP is full. Then it will stand you back up and continue with casting spells for the selected skill and repeat until given a command to end (see Ending the Script below).
Note: BRD skill up cycle will not rest since it does not use MP.
Light Arts, Avatar's Favor, Haste, and Refresh
Light Arts will automatically be activated if not active and your job or sub job is SCH.
Avatar's Favor will automatically be activated if not active and your job is SMN.
Haste will automatically be cast if not active and your job or sub job is RDM or WHM.
Refresh will automatically be cast if not active:
--If your main job is GEO (lvl > 33), Geo-Refresh spell will be cast.
--If your main job is BLU (lvl > 78), Battery Charge spell will be cast.
--If your main job is RDM (lvl > 81), Refresh II spell will be cast.
--If your main job or sub job is RDM, Refresh spell will be cast.
Pausing the Script
Pressing F12 will pause/resume the script. This function was added to allow the user to pause the script to cast different spells or switch targets. Pressing F12 again will resume the script.
Resetting the Script
Pressing F10 will reload the script without unloading Spellcast. The script must be paused first in order for the reset to work.
Ending the Script
You can press CTRL+Escape at any time to exit the skill-up script or it will automatically end on the day/time specified in the Automatic End Script Variable section. Ending the script will unload Spellcast and reload it after a few seconds with the default xml file.
The Skill-Up Script Code / Change Log
Copy the entire code from the link below into your blank xml file. Then set the variables and equipment before running.
--- SkillUp_V3.9 Released 11/03/14 ---
--Added BRD (Mob Target) Skillup section
Tigger spell: Fire Threnody
--Bugfix: Corrected issue with SMN not releasing pet. Spellcast %PetIsValid variable is broken and always returns "False". Corrected issue by hard coding $PetValid variable.
--- SkillUp_V3.8 Released 10/25/14 ---
--Added Ninjutsu Skillup section
Tigger spell: Katon: Ni
--Bugfix: Updated coding to address looping issue with script attempting to cast Haste spell if job is WHM|RDM and lower than spell level.
--Bugfix: Added logic to check MP level for Haste and Refresh spells to ensure the caster has enough MP to cast the spell. (Thank you Ununium for this suggestion)
--Added logic for RDM main job to cast either Haste II or Haste depending on the caster's job level and appropriate MP level.
--Added ability to use Light Arts or Dark Arts based on spell magic type (WhiteMagic/BlackMagic).
Previously, only Light Arts was used.
--Added section for Ranged Attack skill up (BETA)
This function is not fully working.
--- SkillUp_V3.7 Released 06/09/13 ---
--Added Reset feature: Pressing F10 will reset the script to first run without unloading Spellcast
Script must be paused first in order for reset to work
--Added Debug Message Toggle: Pressing F11 will toggle debug messages On/Off
--Added Pause feature: Pressing F12 will Pause/Resume the script
--Added ability to use Bio spell to skill-up Dark Magic
--Added Elemental Magic Skill-up Segment
Trigger spells: Fire | Burn
--Added Enfeebling Magic Skill-Up Segment
Trigger Spell: Dia
--- SkillUp_V3.6 Released 04/28/13 ---
--Added a cancel command to cancel Protect/Shell buffs before recasting when using the Protect/Shell Enhancing Magic skill cycle.
--Added the use of Avatar's Favor ability for SMN skill cycle
--Added the ability to specify whether or not to use food and what food to use.
If you run out of food, the script will attempt to use food once then continue skilling up without food and will not attempt to use it again.
--Minor code changes to Debug process
--Changed order of <if> checks when Idle for better processing order
--- SkillUp_V3.5 Released 04/27/13 ---
--Added ability to specify SMN avatars to use for spell cycle
--Added support for BRD, GEO, PLD, DRK, BLU, RDM, RUN jobs and magic spells
--Added use of Refresh II if main job is RDM
--Added use of Refresh if main or sub job is RDM
--Added use of Geo-Refresh if main job is GEO
--Added ability to activate Light Arts if main or sub job is SCH
--Added Auto-End coding to allow the ability to specify when the script will auto-end
--Updated resting sequence coding to use MP% and rest to full rather than defined MP amount and resting for set period of time
--Added Debug log function
--Minor cleanup of old code
|
|