• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Request - just a idea?? (1 Viewer)

you could adopt a 10 year old from China and have the kid log your toons in, group them all up, port them to wherever you want to play and then type in the kiss mac to start it all up.....

- - - Updated - - -

oh He means like auto cleric knows what spells to use so it mem's them for you.....
 
no i mean like auto set up the ini files from whats logged on the site it checks what items aa you have and has a default setting based on gear aa for each class instead of the ini being blank for kiss at first set up.
 
um MOST gear that gives you a buff is now added to your AAs as a perma-buff and this is KISS as in Keep It Simple Stupid... what you are asking for is pretty intense....

Rich (BB code):
1. subscribe
2. look at the example kiss ini for your class/level
3. tweak it to match your spellset and or gear and or mount
4. enjoy Kiss, it rocks!
 
The amount of additional coding needed would be seriously involved. Mater of fact it would be better to make an INI generator macro instead of editing KA, and I imagine the size of the macro would be quite a bit larger. Just to give a sort of illustration, for paladin defense, you could manually keep 3-4 lines in your MQ2Melee INI updated

Rich (BB code):
holyshit7=/if (${Me.CombatAbilityReady[${Spell[Unholy Guardian Discipline].RankName}]} && ${Target.Named} && ${Me.CurrentEndurance}>5300 && !${Melee.DiscID}) /disc ${Spell[Unholy Guardian Discipline].RankName}
holyshit8=/if (${Me.CombatAbilityReady[${Spell[Doomscale Mantle].RankName}]} && !${Me.CombatAbilityReady[${Spell[Unholy Guardian Discipline].RankName}]} && ${Target.Named} && ${Me.CurrentEndurance}>7700 && !${Melee.DiscID}) /disc ${Spell[Doomscale Mantle].RankName}
holyshit9=/if (${Me.CombatAbilityReady[${Spell[Grelleth's Carapace].RankName}]} && !${Me.CombatAbilityReady[${Spell[Doomscale Mantle].RankName}]} && !${Me.CombatAbilityReady[${Spell[Unholy Guardian Discipline].RankName}]} && ${Target.Named} && ${Me.CurrentEndurance}>2700 && !${Melee.DiscID}) /disc ${Spell[Grelleth's Carapace].RankName}

or you can create a long script for every possible version of the 3 lines of defense discs

Rich (BB code):
Sub PalDefense
	/if (${Me.AltAbilityReady[Group Armor of the Inquisitor]}) {
		/call Cast "Group Armor of the Inquisitor" ALT
		/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Group_Armor_of_the_Inquisiton" r "Active"
		/return				
		}
	/if (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]} && ${Me.PctEndurance}>5) {
		/if (${Me.CombatAbilityReady[${Spell[Holy Guardian Discipline].RankName}]}) {
			/disc ${Spell[${Spell[Holy Guardian Discipline].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Holy_Guardian_Discipline" r "Active"
			/return				
			}
		}
	/if (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]} && !${Me.CombatAbilityReady[${Spell[Holy Guardian Discipline].RankName}]} && ${Me.CombatAbilityReady[${Spell[Honorific Mantle].RankName}]} && ${Me.PctEndurance}>5) {
		/if (${Me.CombatAbilityReady[${Spell[Skalber Mantle].RankName}]}) {
			/disc ${Spell[${Spell[Skalber Mantle].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Skalber_Mantle" r "Active"
			/return	
		} else /if (${Me.CombatAbilityReady[${Spell[Brightwing Mantle].RankName}]}) {
			/disc ${Spell[${Spell[Brightwing Mantle].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Brightwing_Mantle" r "Active"
			/return	
		} else /if (${Me.CombatAbilityReady[${Spell[Prominent Mantle].RankName}]}) {
			/disc ${Spell[${Spell[Prominent Mantle].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Prominent_Mantle" r "Active"
			/return				
		} else /if (${Me.CombatAbilityReady[${Spell[Honorific Mantle].RankName}]}) {
			/disc ${Spell[${Spell[Honorific Mantle].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Honorific_Mantle" r "Active"
			/return	
		}
	/if (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]} && !${Me.CombatAbilityReady[${Spell[Honorific Mantle].RankName}]} && ${Me.CombatAbilityReady[${Spell[Armor of Endless Honor].RankName}]} && ${Me.PctEndurance}>5) {	
		/if (${Me.CombatAbilityReady[${Spell[Armor of Ardency].RankName}]}) {
			/disc ${Spell[${Spell[Armor of Ardency].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor_of_Ardency" r "Active"
			/return				
		} else /if (${Me.CombatAbilityReady[${Spell[Armor of Reverence].RankName}]}) {
			/disc ${Spell[${Spell[Armor of Reverence].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor_of_Reverence" r "Active"
			/return	
		} else /if (${Me.CombatAbilityReady[${Spell[Armor of Zeal].RankName}]}) {
			/disc ${Spell[${Spell[Armor of Zeal].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor_of_Zeal" r "Active"
			/return	
		} else /if (${Me.CombatAbilityReady[${Spell[Armor of Courage].RankName}]}) {
			/disc ${Spell[${Spell[Armor of Courage].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor_of_Courage" r "Active"
			/return	
		} else /if (${Me.CombatAbilityReady[${Spell[Armor of Endless Honor].RankName}]}) {
			/disc ${Spell[${Spell[Armor of Endless Honor].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor_of_Endless_Honor" r "Active"
			/return				
			}
		}
	/if (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]} && !${Me.CombatAbilityReady[${Spell[Armor of Endless Honor].RankName}]} && ${Me.CombatAbilityReady[${Spell[Armor of Courage].RankName}]} && ${Me.PctEndurance}>5) {
		/if (${Me.CombatAbilityReady[${Spell[Armor of Ardency].RankName}]} && !${Target.Named}) {
			/disc ${Spell[${Spell[Armor of Ardency].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor of Ardency" r "Active"
			/return				
			}		
		/if (${Me.CombatAbilityReady[${Spell[Devout Penitence].RankName}]}) {
			/disc ${Spell[${Spell[Devout Penitence].RankName}]}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Devout Penitence" r "Active"
			/return				
			}		
		/if (${Me.CombatAbilityReady[${Spell[Armor of Reverence].RankName}]} && !${Target.Named}) {
			/disc ${Spell[${Spell[Armor of Reverence].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor of Reverence" r "Active"
			/return				
			}				
		/if (${Me.CombatAbilityReady[${Spell[Reverent Penitence].RankName}]}) {
			/disc ${Spell[${Spell[Reverent Penitence].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Reverent Penitence" r "Active"
			/return				
			}
		/if (${Me.CombatAbilityReady[${Spell[Armor of Zeal].RankName}]}) {
			/disc ${Spell[${Spell[Armor of Zeal].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor_of_Zeal" r "Active"
			/return				
			}
		/if (${Me.CombatAbilityReady[${Spell[Armor of Courage].RankName}]}) {
			/disc ${Spell[${Spell[Armor of Courage].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor_of_Courage" r "Active"
			/return				
			}
		}		
	/if (${Me.CombatAbilityReady[${Spell[Reflexive Righteousness].RankName}]} && !${Me.CombatAbilityReady[${Spell[Armor of Courage].RankName}]} && ${Me.PctEndurance}>5) {
		/disc ${Spell[${Spell[Reflexive Righteousness].RankName}].ID}
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Reflexive_Righteousness" r "Active"
			/return				
		}
	/if (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]} && ${Me.AltAbilityReady[Armor of Experience]} && !${Me.CombatAbilityReady[${Spell[Reflexive Righteousness].RankName}]}) {
		/call Cast "Armor of Experience" ALT
		/if (${ReportDefense}) /call AnnounceMessage 2 y "Armor_of_Experience" r "Active"
		/return				
		}
	/if (${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]} && !${Me.AltAbilityReady[Armor of Experience]} && !${Me.CombatAbilityReady[${Spell[Reflexive Righteousness].RankName}]} && !) {
		/if (${Cast.Ready[Embellished Breastplate of the Zealot]}) {
			/call Cast "Embellished Breastplate of the Zealot" Item
			/if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
			/return				
			} else /if (${Cast.Ready[Formal Breastplate of the Zealot]}) {
				/call Cast "Formal Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Latent Etheric Breastplate of the Zealot]}) {
				/call Cast "Latent Etheric Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return	
			} else /if (${Cast.Ready[Grandiouse Breastplate of the Zealot]}) {
				/call Cast "GrandiouseBreaastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Distorted Breastplate of the Zealot]}) {
				/call Cast "Distorted Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Frightweave Breastplate of the Zealot]}) {
				/call Cast "Frightweave Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Latent Etheric Breastplate of the Zealot]}) {
				/call Cast "Latent Etheric Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Manifested Etheric Breastplate of the Zealot]}) {
				/call Cast "Manifested Etheric Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Castaway Breastplate of the Zealot]}) {
				/call Cast "Castaway  Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Tideworn Breastplate of the Zealot]}) {
				/call Cast "Tideworn Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Highwater Breastplate of the Zealot]}) {
				/call Cast "Highwater Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return				
			} else /if (${Cast.Ready[Suppressed Etheric Breastplate of the Zealot]}) {
				/call Cast "Suppressed Etheric Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return
			} else /if (${Cast.Ready[Flowing Etheric Breastplate of the Zealot]}) {
				/call Cast "Flowing Etheric Breastplate of the Zealot" Item
				/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "Breast Plate Item Click r "Active"
				/return			
				}
			}		
		}
	/if (${Me.AltAbilityReady[Fundament: First Spire of Holiness]}) {
		/call Cast "Fundament: First Spire of Holiness" ALT
		/if (${castReturn.Equal[CAST_SUCCESS]}) /if (${ReportDefense}) /call AnnounceMessage 2 y "First_Spire" r "Active"
		/return			
		}
/return

(admitedlt the script includes clicking BP and an AA)

Someone may eventually write up a generic INI generator to help folks get started, but that would be an intensive project, and one that would require updating every time KA is updated. I do not believe anyone is currently working on such a project. Though of course I am sure... they are looking for volunteers! =)

Or you can ask folks to submit their INI's for various classes, at different levels... creating a library of INIs that folks can download. If you see the library is missing one for X class/level, I am sure folks would love it if you would submit an example for those coming after to use =)
 
Then we could put all those INIs in a wiki so it could be updated... wait.. we have that in the kiss section already, every class from 85 on up.....
 
It will never be put into KISS, but you could have a separate macro that could be launched from KISS that would do what you are asking. Someone would have to create the macro and that my friend would be a monster of a macro.
 
Developers who program for MQ2 are the most underpaid in the known world, I mean I saw an Ethiopian developer that made more! These guys all program all this because of the passion for EQ and this community. I commend you all!
 
Untitled.jpg

It isn't done yet. I got burnt out on EQ and stopped developing this back in January but if there's interest in it I can probably finish it up (there's a lot of backend work to be done). Basically you click on Heals/DPS/Buffs/etc, it loads all spells for that section for your class that are between the levels selected. Click on the spell name to add it to your ini file. The file automatically saves itself and you can easily load up every ini in your macros folder by simply clicking on the name on the lower left of the screen.
 
View attachment 10332

It isn't done yet. I got burnt out on EQ and stopped developing this back in January but if there's interest in it I can probably finish it up (there's a lot of backend work to be done). Basically you click on Heals/DPS/Buffs/etc, it loads all spells for that section for your class that are between the levels selected. Click on the spell name to add it to your ini file. The file automatically saves itself and you can easily load up every ini in your macros folder by simply clicking on the name on the lower left of the screen.

That looks pretty cool... EQMule made a legit macro as well KissIni that auto downgrades
 
Does that mean that noobhaxor is going to make a free, all encompassing, self loading, automeming Mac for all toons???

Yes, that is exactly what that means. Maskoi said it would take him 6 months to write this, I already have cleric done... almost finished with Bard as well ;) Just need about 6 years and i'll have all the classes done.
 
Noob I almost feel sorry for you. First Autocleric now Bards. Tomorrow's Kiss 9.1.2 Release is in part

dawnofthebard.jpg

Dawn of the Bard - I have come here to chew bubblegum and kick ass... and I'm all out of bubblegum
Bards will now instantly start Melee Twist upon entering combat, no more delays.
Bards will now correctly single twist any song added to DPS, Buffs or Heals such as the Bard slow Requiem of Time
Bards will now correctly echo the AAs in the MQ2 when cast
Bards will no sing memd song while medding if combat is going on around them as this interrupts their fast med.
Bards will no longer buff or cast regen abilities while medding and combat is going on around them as this interrupts their fast med.
Put in an endurance check for Dichotomatic Psalm before casting so bards don't spam it after being resurrected
Blocked attempts at casting Dichotomatic Psalm and Quiet Miracle AAs being cast on bards because they do not work on bards.

Meleetwist has a new feature the Continuous Tag

[Melee]
AssistAt=98
MeleeOn=1
FaceMobOn=1
MeleeDistance=75
StickHow=behindonce
AutoFireOn=0
MeleeTwistOn=1
MeleeTwistWhat=Continuous
UseMQ2Melee=0

If set to Continuous the bard will continue to twist the normal song order as defined in TwistWhat=.
Some people like to twist the same order all the time. Continuous prevents the constant stopping and restarting at the beginning of the twist order every time when entering and dropping out of combat.
 
If set to Continuous the bard will continue to twist the normal song order as defined in TwistWhat=.
Some people like to twist the same order all the time. Continuous prevents the constant stopping and restarting at the beginning of the twist order every time when entering and dropping out of combat.



I love you Mask. The Continuous setting for bard is a god send.
 
Noob I almost feel sorry for you. First Autocleric now Bards. Tomorrow's Kiss 9.1.2 Release is in part

View attachment 10350

Dawn of the Bard - I have come here to chew bubblegum and kick ass... and I'm all out of bubblegum
Bards will now instantly start Melee Twist upon entering combat, no more delays.
Bards will now correctly single twist any song added to DPS, Buffs or Heals such as the Bard slow Requiem of Time
Bards will now correctly echo the AAs in the MQ2 when cast
Bards will no sing memd song while medding if combat is going on around them as this interrupts their fast med.
Bards will no longer buff or cast regen abilities while medding and combat is going on around them as this interrupts their fast med.
Put in an endurance check for Dichotomatic Psalm before casting so bards don't spam it after being resurrected
Blocked attempts at casting Dichotomatic Psalm and Quiet Miracle AAs being cast on bards because they do not work on bards.

Meleetwist has a new feature the Continuous Tag

[Melee]
AssistAt=98
MeleeOn=1
FaceMobOn=1
MeleeDistance=75
StickHow=behindonce
AutoFireOn=0
MeleeTwistOn=1
MeleeTwistWhat=Continuous
UseMQ2Melee=0

If set to Continuous the bard will continue to twist the normal song order as defined in TwistWhat=.
Some people like to twist the same order all the time. Continuous prevents the constant stopping and restarting at the beginning of the twist order every time when entering and dropping out of combat.

Well that looks pretty cool, I only have one question. Does it use MQ2Twist or MQ2Medley? A bit of a trick question, because if it uses either my macro will stomp the dogshit out of that ;)
 
Maybe with a macro that plays a bard super well it'll finally be worth subbing out a DPS in order to get a bard in. I ran the numbers awhile ago and I always felt it was better to add in another DPS rather than a Bard (for a caster group at least). Adps from a bard is pretty negligible for wizards (when I did the math in RoF it was 15-20k or so) Say your group has 3 wiz, bard, dru, ench all you're getting is 60k extra dps from the bard (100k if he burned too during that era) but you're giving up a wizard slot that burns for 200k.

I did all that thinking before mq2 though and before I knew how easy it was to bot a bard. Also my math was done almost 4 X-pacs ago =P
 
Request - just a idea??

Users who are viewing this thread

Back
Top