• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Guide - downshit and holyshit builder

  • Thread starter Thread starter Wolfborn
  • Start date Start date
W

Wolfborn

Setting up my 6 toon team with down and holy shits got to be a pain so I came up with this little combo to help ease the pain.
Basically it makes an .ini file with all the spells in your spell gems, all clickes and discs. The shitsbuilder.exe then takes that data and builds downshits and holyshits that can be copied to your SERVER_TOON.INI file.
You will need to look them over and make a few modifications such as MobHp and Mana checks but most are ready to go as produced.
It will read Discs at this time but is limited in how it sets them up.
It will read all clickies, worn or in bags. (use carefully!!)
It will check for pure caster and set up accordingly. (no Holyshits)
It detects PB AE spells and sets them up for mob proximity and number check.
It Detects Lifetaps and adds to Holyshits section.

Detrimental spells get put in Holyshits.
Beneficial spells get put in Downshits.
Pet spells are handled with "/target ${Me.Spawn.Pet.CleanName}"
Targeted single and group spells are handled with "/target ${Me.CleanName}"
Discs are setup as Holyshits and will need modification.
Detects pure casters and sets up spells as downshits but detrimental spells are handled via “/if ${Me.CombatState.Equal[COMBAT]}”
Discs are not processed with pure casters.
Clickies will be checked worn or in bags/inventory. Be careful because it will list anything that can be clicked including potions, campfire transport devices, anchor transport, amnesia potions, etc... just about anything that can be clicked. Look over your shits carefully or you may be in for a surprise.

How to use:
1. Put the shitsBuilder.mac and ShitsBuilder.exe in your /macro folder. (PM me for source code)

2. Mem only the spells you want to use. Both damage, heals and buffs

3. Run the macro /mac ShitsBuilder

4. Run ShitsBuilder.exe, locate the TOON_SERVER_Shits.ini file from the /macro folder

5. Click the MAKE MY SHITS button.

6. Go to your /macro folder and find the new file, TOON_SERVER_Shits.txt

7. Copy paste the shits into your SERVER_TOON.ini file in the root MQ2 folder

8. Check all the lines for duplicates, correct numbers ie.. downshit0=XXX, downshit1=XXX, auras. Verify mana/mobHP level checks.

9. Enjoy ))

Any and all comments are welcome. Bug fixes will be handled as soon as possible.
New version will be released after I get back home (out of the country for now)

Example Code: (Shadowknight circa lvl 80ish)
Rich (BB code):
------------------------ SPELL DOWNSHITS ------------------------------------

Downshitif=${If[!${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && !${Me.Moving} && ${Me.Standing} && !${Me.Invis},1,0]}
Downflag0=1
Downshit0=/if (!${Me.Buff[Amygdalan Horror].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Amygdalan Horror]} && ${Spell[Amygdalan Horror].Stacks}) /casting "Amygdalan Horror" gem8
Downflag1=1
Downshit1=/if (!${Me.Buff[Remorseless Demeanor].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Remorseless Demeanor]} && ${Spell[Remorseless Demeanor].Stacks}) /casting "Remorseless Demeanor" gem6
Downflag2=1
Downshit2=/if (!${Me.Buff[Drape of Korafax].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Drape of Korafax]} && ${Spell[Drape of Korafax].Stacks}) /casting "Drape of Korafax" gem9
Downflag3=1
Downshit3=/if (!${Me.Buff[Steely Stance].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Steely Stance]} && ${Spell[Steely Stance].Stacks}) /casting "Steely Stance" gem10

------------------------ CLICKABLE ITEMS ON CHARACTER ------------------------------------
Downflag4=1
Downshit4=/if (!${Me.Buff[Geomantra V].ID} && ${Cast.Ready[Earring of the Dancing Shade]} && ${Spell[Geomantra V].Stacks}) /casting "Earring of the Dancing Shade" item
Downflag5=1
Downshit5=/if (!${Me.Buff[Form of Endurance V].ID} && ${Cast.Ready[Gohednugh's Mask of the Goat]} && ${Spell[Form of Endurance V].Stacks}) /casting "Gohednugh's Mask of the Goat" item
Downflag6=1
Downshit6=/if (!${Me.Buff[Soothing Breath II].ID} && ${Cast.Ready[Dried, Shriveled Ear]} && ${Spell[Soothing Breath II].Stacks}) /casting "Dried, Shriveled Ear" item
Downflag7=1
Downshit7=/if (!${Me.Buff[Myrmidon's Skill I].ID} && ${Cast.Ready[Executioner's Shoulders]} && ${Spell[Myrmidon's Skill I].Stacks}) /casting "Executioner's Shoulders" item
Downflag8=1
Downshit8=/if (!${Me.Buff[Illusionary Spikes II].ID} && ${Cast.Ready[Kalkek's Cloak of the Obsolete]} && ${Spell[Illusionary Spikes II].Stacks}) /casting "Kalkek's Cloak of the Obsolete" item
Downflag9=1
Downshit9=/if (!${Me.Buff[Form of Defense VII].ID} && ${Cast.Ready[Darksteel Band of the Turncoat]} && ${Spell[Form of Defense VII].Stacks}) /casting "Darksteel Band of the Turncoat" item
Downflag10=1
Downshit10=/if (!${Me.Buff[Form of Defense VII].ID} && ${Cast.Ready[Woven Steel Fingerguard]} && ${Spell[Form of Defense VII].Stacks}) /casting "Woven Steel Fingerguard" item
Downflag11=1
Downshit11=/if (!${Me.Buff[Malign Rapacity].ID} && ${Cast.Ready[Rustic Breastplate of the Revenant]} && ${Spell[Malign Rapacity].Stacks}) /casting "Rustic Breastplate of the Revenant" item
Downflag12=1
Downshit12=/if (!${Me.Buff[Expanding Mind II].ID} && ${Cast.Ready[Grendlaen Hide Belt]} && ${Spell[Expanding Mind II].Stacks}) /casting "Grendlaen Hide Belt" item

------------------------ CLICKABLE ITEMS IN INVENTORY ------------------------------------

Downflag21=1
Downshit21=/if (!${Me.Buff[Bottle of Adventure III].ID} && ${Cast.Ready[Bottle of Adventure III]} && ${Spell[Bottle of Adventure III].Stacks}) /casting "Bottle of Adventure III" item
Downflag22=1
Downshit22=/if (!${Me.Buff[Fellowship Calling].ID} && ${Cast.Ready[Fellowship Registration Insignia]} && ${Spell[Fellowship Calling].Stacks}) /casting "Fellowship Registration Insignia" item
Downflag23=1
Downshit23=/if (!${Me.Buff[Primal Fusion].ID} && ${Cast.Ready[Focus of Primal Elements]} && ${Spell[Primal Fusion].Stacks}) /casting "Focus of Primal Elements" item
Downflag24=1
Downshit24=/if (!${Me.Buff[Primary Anchor Gate].ID} && ${Cast.Ready[Primary Anchor Transport Device]} && ${Spell[Primary Anchor Gate].Stacks}) /casting "Primary Anchor Transport Device" item
------------------------ HOLYSHIT & DISC SECTION ------------------------------------

; holyflagX=1
; holyshitX=/if (${Target.PctHPs}<30 && ${Target.Fleeing} && ${Cast.Ready[PUT YOUR SNARE OR DARKNESS SPELL HERE]} && ${Target.Speed}<50) /casting "PUT YOUR SNARE OR DARKNESS SPELL HERE"
Holyflag0=1
Holyshit0=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Terror of Rerekalen]}) /casting "Terror of Rerekalen" gem1
Holyflag1=1
Holyshit1=/if (${SpawnCount[npc radius 30 zradius 10]}>=3 && ${Me.PctAggro}<100 && ${Target.PctHPs}<90 && ${Cast.Ready[Burst of Spite]}) /casting "Burst of Spite" gem2
Holyflag2=1
Holyshit2=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Charge for Power]}) /casting "Charge for Power" gem3
Holyflag3=1
Holyshit3=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Touch of Lanys]}) /casting "Touch of Lanys" gem4
Holyflag4=1
Holyshit4=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Touch of Tharoff]}) /casting "Touch of Tharoff" gem5
Holyflag5=1
Holyshit5=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Last Gasp]} && ${Melee.DiscID}==0) /casting "Last Gasp" disc
Holyflag6=1
Holyshit6=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Rigor Mortis Rk. II]} && ${Melee.DiscID}==0) /casting "Rigor Mortis Rk. II" disc
Holyflag7=1
Holyshit7=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Withstand]} && ${Melee.DiscID}==0) /casting "Withstand" disc
Holyflag8=1
Holyshit8=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Final Breath]} && ${Melee.DiscID}==0) /casting "Final Breath" disc
Holyflag9=1
Holyshit9=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Last Breath]} && ${Melee.DiscID}==0) /casting "Last Breath" disc
Holyflag10=1
Holyshit10=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Melee.DiscID}==0) /casting "Deflection Discipline" disc
Holyflag11=1
Holyshit11=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Leechcurse Discipline]} && ${Melee.DiscID}==0) /casting "Leechcurse Discipline" disc
Holyflag12=1
Holyshit12=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Soul Guard]} && ${Melee.DiscID}==0) /casting "Soul Guard" disc
Holyflag13=1
Holyshit13=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Ichor Guard]} && ${Melee.DiscID}==0) /casting "Ichor Guard" disc
Holyflag14=1
Holyshit14=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Soul Shield]} && ${Melee.DiscID}==0) /casting "Soul Shield" disc


UPDATE: 04/07/2014
Version 2.2 - Need new MAC and EXE. Will not function with old ini files.

Cleaned up code, fixed few errors such as loop when wrong file is selected.
Added downshit conditions for zone, invis, standing and moving to suit Redguides MQ2Melee plugin. - !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && !${Me.Moving} && ${Me.Standing} && !${Me.Invis}
Automatic Pure Caster selection, disc checkbox disabled, holyshits will not be generated if you are pure caster.
Better handling of spells such as LifeTaps and PB nukes etc.
Rich (BB code):
holyshit3=/if (${Me.PctHPs}<90 && ${Target.PctHPs}<90 && ${Target.PctHPs}>40 && ${Cast.Ready[Touch of Falsin]}) /casting "Touch of Falsin" gem6

Added more Target.HPs checks, ie: ${Target.PctHPs}<90 && ${Target.PctHPs}>80 - Modify these lines to start and stop casting of nukes based on Target health. Example starts casting at 90% and stops at 80%.
Added option to disable generation of the flag set bit, ie: downflag0=1 or holyflag0=1 to make cleaner output for when you just want to modify or check some lines.

I've got time on my hands. Send suggestions to add features or functionality.
I have been contemplating a button to generate KissAssist.ini entries as well.
Ie: DPS1=Claw of Gorenaire, Buffs1=Voice of Prescience
Use spell gem order to determine pct health to cast.. ie first spell in DPS section DPS1=Bite of Tashani|98, second would be DPS2=Desolate Deeds|95. Allow setting of interval (3 in this case)
Would save a lot of typing and finger mistakes.

UPDATE: 07/18/2014
Fixed bug when reading ID of older spells with only two numbers.

-Wolf
 

Attachments

Last edited:
Currently I am still optimizing my INI files, but this is definately my next step.

Thanks for this awesome mac!

/cheer
 
So glad to see this updated =-). I was using your older one for a long time Wolfborn. I am sorry that I posted it here without permission not too long ago. But Glad i sparked a reinterest in your "Clicky Made Easy Macro" =-). I defiantly appriciate the work you put into this and will always have this by my side! Thank you again and keep up the good stuff =-)
 
keep getting an error when clicking on the button to make shits. "unhandled Exception" index and lenght must refer to a location within the string - parameter name: length.
if i continue it makes downshits for my clickies but nothing else

any ideas how to sort this?
 
keep getting an error when clicking on the button to make shits. "unhandled Exception" index and lenght must refer to a location within the string - parameter name: length.
if i continue it makes downshits for my clickies but nothing else

any ideas how to sort this?

I'll need more info:
1. What OS?
2. PM me your Toon_Server_Shits.ini (change name in file and title)
3. Is this your first time to use it or has it worked before and just now throws the error?
4. What level, class, race is your toon?

-Wolf
 
using Windows 7 tried it on both a lvl 89 Berserker dwarve and a lvl 98 Bard woodelve same problem, first time trying it.
will try Pm the inis
 
I got your ini files. Thanks.

I was able to duplicate your error.

I'll run it through Visual Studio to debug and get a new version up.

Thanks!


using Windows 7 tried it on both a lvl 89 Berserker dwarve and a lvl 98 Bard woodelve same problem, first time trying it.
will try Pm the inis

EDIT: Turns out to be an oversight on my part. Seems older spells have very short ID numbers. I had set the length at 3. Some are only 2, such as:
InvItem^83^=^Invisibility^Cloudy Potion^Beneficial^42

New .exe posted.
 
Last edited:
Wolfborn,

I haven't tried using the downsh$tif or holysh$tif. I have seen you in old post as about this and some replied it has been taken out of mq2melee. Have you been using those to if statements lately?
 
Haven't tried lately but in the past Downshitif was not implemented in the Redguides compile of MQ2Melee.
Might be worth a try in case they have modified the compile.
 
Hi, I just tried this - it keeps saying my INI file is the wrong version ??
 
Heya Jensen,

Did you try deleting all old Toon_Server_Shits.txt and .ini files?

First, open one of your Toon_Server_Shits.ini file and in the second line you should see the version number

Rich (BB code):
[SPELL ITEM AND DISC DATA]
Info^UberZerk^=^100^BER^Barbarian^2.2
Item^1^=^Soothing Breath VIII^Earring of Erudition^Beneficial^30603

Next run Shitsbuilder.exe and you should see the version number in the lower corner like this

Shitsbuilder Version.PNG

If the two match and you're still having problems. Let me know.

Wolf
 
Hey, - yes they match, and tried deleting too - same thing. I run win7 64bit
PLugin list:
mq2bagwindow=1
mq2labels=1
mq2itemdisplay=1
mq2custombinds=1
mq2hud=1
mq2fps=0
mq2map=1
mq2bzsrch=1
mq2chatwnd=1
mq2eqbugfix=1
mq2cast=1
mq2exchange=1
mq2melee=0
mq2debuffs=1
mq2moveutils=1
mq2posse=1
mq2rez=1
mq2eqbc=1
 
Remove names and send me the offending file in a PM. (copy paste as there are no attachments in PM's)
I'll run it through the gimp code detector.

Wolf

- - - Updated - - -

Got the ini file, thanks.
Ran it using my exe and it crashed. Didn't record the crash but went to VS2010 and ran it there. No issues. Compiled and copied new exe to MQ2 folder and it processed the ini as normal.
Posted new exe
Give that a try.

Thanks

Wolf
 
No change I'm afraid, on any chars I got. tried loading standard UI aswell - still same :(
 
Sounds like you may have a problem with your dotnet version.
Download the latest version HERE and try again.
 
hey bud im asking you this for two reasons. 1 i believe you made it and 2 you are always so helpful..

this guide: http://www.redguides.com/community/showthread.php/27714-downshit-and-holyshit-builder

i dont excatly understand. does it generate all the code on its own for my toon based on what i have, spells,disc,clickies, ect? does it know when or if to use something without me telling it? basically thinks for me? could you explain,

thanks
 
spart,

It does NOT create the melee ini file (servername_TOONNAME.ini) for you automatically. It does create the format you need to place your items in the melee ini file for holy and down flags though.

It will do some generic "thought" into it, but you can make your holy/down flags very specific you you see fit. Look below for my bards ini file:
Rich (BB code):
|---------------Downflags
downshit0=/if (${Me.XTarget} >= 1 && ${SpawnCount[npc radius 50]} >=1 && ${Me.CombatState.Equal[COMBAT]} && !${Me.Moving} ) /multiline ; /if (${Spawn[${Me.XTarget[1].ID}].Distance} <= 50) /target id ${Me.XTarget[1].ID} ; /timed 50 ; /face
downshit1=/if (${SpawnCount[npc radius 30]}> 1 && ${Me.CurrentMana} > 900 && ${Me.PctHPs}<30 && ${Me.AltAbilityReady[Fading Memories]} && ${Macro.RunTime} >1) /alt act 212
downshit2=/if (${Select[${Zone.ShortName},guildlobby,poknowledge]} && (!${Me.Buff[Revival Sickness].ID} && ${CampZone} != ${Zone.ID}) && (${Me.Fellowship.Campfire}) && (!${Me.Moving}) && (${FindItem[Fellowship Registration Insignia].TimerReady} == 0)) /multiline ; /squelch ; /nomodkey ; /itemnotify ${FindItem[Fellowship Registration Insignia].InvSlot} rightmouseup
downshit3=/if (${Me.PctHPs}<50 && ${Me.AltAbilityReady[Fading Memories]}) /alt act 212
downshit4=/if (!${Me.Song[Sionachie's Crescendo].ID} && ${Me.AltAbilityReady[Sionachie's Crescendo]} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113,33519]} && ${Me.Standing} && !${Me.Invis}) /alt act 7925
Downshit5=/if (!${Me.Buff[Might of Stone IX].ID} && ${Cast.Ready[Centurio Loop]} && ${Spell[Might of Stone IX].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Centurio Loop" item
Downshit6=/if (!${Me.Buff[Soothing Breath X].ID} && ${Cast.Ready[Earring of Runes]} && ${Spell[Soothing Breath X].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Earring of Runes" item
Downshit7=/if (!${Me.Buff[Myrmidon's Skill XI].ID} && ${Cast.Ready[Legatus Pauldrons]} && ${Spell[Myrmidon's Skill XI].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Legatus Pauldrons" item
Downshit8=/if (!${Me.Buff[Illusionary Spikes VIII].ID} && ${Cast.Ready[Stolen Traveler's Cloak]} && ${Spell[Illusionary Spikes VIII].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Stolen Traveler's Cloak" item
Downshit9=/if (!${Me.Buff[Form of Defense XVII].ID} && ${Cast.Ready[Centurio Ring]} && ${Spell[Form of Defense XVII].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Centurio Ring" item
Downshit10=/if (!${Me.Buff[Ancient Flames].ID} && ${Cast.Ready[Ancient Cloak of Flames]} && ${Spell[Ancient Flames].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Ancient Cloak of Flames" item
Downshit11=/if (!${Me.Buff[Expanding Mind XII].ID} && ${Cast.Ready[Centurio Belt]} && ${Spell[Expanding Mind XII].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Centurio Belt" item
Downshit12=/if (!${Me.Buff[Aura of Rage].ID} && ${Cast.Ready[Fabled Shrunken Goblin Skull Earring]} && ${Spell[Aura of Rage].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis})  /useitem "Fabled Shrunken Goblin Skull Earring"
|Downshit13=/if (!${Me.Buff[Illusion: Werewolf].ID} && ${Cast.Ready[Lute of the Howler]} && ${Spell[Illusion: Werewolf].Stacks} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && ${Me.Standing} && !${Me.Invis}) /useitem "Lute of the Howler" item
|Downshit14=/if (${Me.Mercenary.State.Equal[ACTIVE]} && !${Select[${Me.MercenaryStance},Passive]} && ${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113,33519]}) /stance Passive
Downshit13=/if ((${FindItemCount[=Pod of Water]} >=40 && ((${FindItemCount[=Roots]} + ${FindItemCount[=Vegetables]}) >=40)) && !${Me.AbilityReady[Forage]}) /stopforage
Downshit14=/if ((${FindItemCount[=Pod of Water]} <=20 || ((${FindItemCount[=Roots]} + ${FindItemCount[=Vegetables]}) <=20)) && ${Me.AbilityReady[Forage]}) /startforage
|---------------Holyflags
Holyshit0=/if (!${Select[${Me.MercenaryStance},Passive,Reactive]}) /stance Balanced
Holyshit1=/if (${Cast.Ready[Requiem of Time]} && !${Target.Buff[Requiem of Time].ID} && ${Target.PctHPs}>40) /multiline /twist once ${Me.Gem[Requiem of Time]}
|Holyshit1=/if (${Me.SpellReady[Requiem of Time]} && !${Target.Buff[Requiem of Time].ID} && ${Target.PctHPs}>40) /multiline ; /cast "Requiem of Time" ; /delay 6 ; //stopsong
|Holyshit1=/if (${Me.SpellReady[Requiem of Time]} && !${Target.Buff[Requiem of Time].ID} && ${Target.PctHPs}>40) /multiline ; /twist once 1 ; /timed 30 /twist off ; /twist reset
|Holyshit1=/if (!${Me.GemTimer[Requiem of Time]} && !${Target.Slowed.Duration} && ${Target.PctHPs}>40 && ${Twist.Current}!=${Me.Gem[Requiem of Time]}) /multiline ; /twist once ${Me.Gem[Requiem of Time]} ; /delay 15
holyshit2=/if (${Target.Named} && ${Me.AltAbilityReady[Quick Time]}) /alt act 3702
holyshit3=/if (${Me.Song[Quick Time].ID} && ${Me.CombatAbilityReady[Thousand Blades]}) /multiline ; /disc thousand ; /delay 5
holyshit4=/if (${Me.Song[Quick Time].ID} && ${Me.AltAbilityReady[Dance of Blades]}) /multiline ; /alt act 359 ; /delay 5
holyshit5=/if (${Me.Song[Quick Time].ID} && ${Me.AltAbilityReady[Fierce Eye]}) /multiline ; /alt act 3506 ; /delay 5
holyshit6=/if (${Target.Named} && ${Me.AltAbilityReady[Funeral Dirge]}) /multiline ; /alt act 777 ; /delay 5
holyshit7=/if (${Me.Song[Quick Time].ID} && ${Me.AltAbilityReady[Fundament: Second Spire of the Minstrels]}) /multiline ; /alt act 1421 ; /delay 5
Holyshit8=/if (${Target.Named} && ${Cast.Ready[Manifested Etheric Breastplate of the Performer]}) /useitem "Manifested Etheric Breastplate of the Performer" item
Holyshit9=/if (${Target.Named} && ${Cast.Ready[Blade of Vesagran]} && !${Me.Song[Spirit of Vesagran].ID}) /useitem "Blade of Vesagran" item
holyshit10=/if (${Target.Named} && ${Me.AltAbilityReady[Song of Stone]}) /alt act 544
holyshit11=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Reflexive Retort]} && ${Spawn[${Group.Member[4]}].CurrentMana}>90) /disc Reflexive Retort

I did some copy and paste from the generator, but most of my holy flags are very specific to what I want/need to have happen.
 
ok thanks lol, i see why people are so scared of it lol.. jumbled lines of text.. if i understood what it was saying then i probably could figure it out lol

im trying to set up for, sk,bst,mage,bard combo, also sk,mag,bard,rog
 
I made a lengthy post on this earlier this morning.
I must have forgot to hit the Post button or got distracted.

GPS_Soldier is right.
The shitsbuilder basically gives you a frame work. It's helpful in that it separates detrimental from beneficial spells and puts them in Holy or Down shits, provides correct spelling for spells and buff icons and such.
It's very helpful for clickies, you can pretty much copy / paste into your Server_Toon.ini and your set.
Spells and such need more attention unless it's just a buff you want to keep up.

The big problem is.. holy and down shits are so situational and personal that no one could create software to make them to fit your toon and play style exactly.
Given that.. Shitsbuilder gives you a foundation to work from. Saves a lot of typing and making mistakes in spell names etc.. In the end you're going to have to learn about them to make effective shits for your toons.

The only way to really make good shits is to learn how to build them yourself, learn your toon and adjust them to suit your playstyle, group and target mobs.
I'm not aware of any good tutorials on how to make shits.
Sounds like a project for someone who likes to write tutorials.
 
ok thanks lol, i see why people are so scared of it lol.. jumbled lines of text.. if i understood what it was saying then i probably could figure it out lol

im trying to set up for, sk,bst,mage,bard combo, also sk,mag,bard,rog

I use normal language first as my starting point for writing my down and holy flags. By this, I mean say I want to do something like this:
If my SK is fighting and the NPC is Named, I want him to activate his deflection discipline if his health gets below 70 percent..... now to start writing the down or holy:

Well this is during combat so I know it will be a holy:
holyshit0=/if
NEXT: TLO for named NPC ${Target.Named}
NEXT: TLO for the /disc to ensure that it is ready ${Me.CombatAbilityReady[Deflection Discipline]}
NEXT: TLO for my hp ${Me.PctHPs} and syntax for lower than 70 percent < 70
NEXT: writing out my holy from what I looked up (${Target.Named} && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Me.PctHPs} < 70)
NEXT: now that I have everyone thing within the ( and ) signs for the holy to evaluate I need to tell it what to actually activate, this is what I want it to do /disc deflection
NEXT: Put it all together now Holyshit0=/if (${Target.Named} && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Me.PctHPs} < 70) /disc deflection
This is how it would look, on it's own line in your servername_TOONNAME.ini
Rich (BB code):
Holyshit0=/if (${Target.Named} && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Me.PctHPs} < 70) /disc deflection
You do of course need to have the ability to turn this holy on, so on its own line:
Rich (BB code):
Holyflag0=1
 
This worked amazingly well. I have 4 85 toons and was still working on understanding the structure of the KISS and MQ2 ini files. This not only optimized my KISS ini file, but also helped me learn a lot.
 
Is it still working or do we have to get another tool ?
I have shitsbuilder 2.2, and the file generated buy the macro also have 2.2 inside, but when i use shitsbuilder.exe , after selected ini file generated by the macro when i try to generate final file, i have a message "Your ini file is the wrong version". Tried it with a 110 monk and with a 95 magician, same thing.
Hope you can help me

I have read messages above, and i also checked .net version (it is installed and activated)
 
Is there any update to this or something more recent? I want to start making some holy/down for my bots, but I'm a real amateur at the moment!
 
Is there any update to this or something more recent? I want to start making some holy/down for my bots, but I'm a real amateur at the moment!

I have a version that works with the latest VV.
I'll have a look tomorrow to see if it's on one of my computers here. if not it will be a day or two before I get back home.
 
Guide - downshit and holyshit builder

Users who are viewing this thread

Back
Top
Cart