krust (UI, macro & plugin) 2006.09.28 *Macro Update*

Forum for posting custom UIs, portions of UIs, and HUD stuff using MQ's enhancements.

Moderator: MacroQuest Developers

drake
decaying skeleton
decaying skeleton
Posts: 2
Joined: Fri May 25, 2007 12:50 pm

Post by drake » Tue Nov 20, 2007 2:16 pm

GIMP thanks for the update, awsome job.

Just don't like how small the map is in 1024x7756 rez ... wish it was about 1/2" bigger both directions or maybe a whole inch.

anyways thanks for the update

Hope to see the plugin updated soon...

I use this UI/Macro combo exclusively when I am playing my SK .. .couldn't find anything better.


drake

User avatar
gimp
a grimling bloodguard
a grimling bloodguard
Posts: 584
Joined: Fri Oct 29, 2004 9:28 am
Location: internet

Post by gimp » Tue Nov 20, 2007 2:30 pm

drake wrote:GIMP thanks for the update, awsome job.

Just don't like how small the map is in 1024x7756 rez ... wish it was about 1/2" bigger both directions or maybe a whole inch.
im sorry but i prefer it this way, you can just replace the map file with another one you like from eqinterface.com, or modify it yourself.

drake wrote: Hope to see the plugin updated soon...
there is updated plugin i uploaded yesterday (see just 2-3 posts above yours), it is here:

http://nofuture.se/krust/svn/

the new patch didnt change the UI, but krust dll will need to be recompiled

drake
decaying skeleton
decaying skeleton
Posts: 2
Joined: Fri May 25, 2007 12:50 pm

Post by drake » Tue Nov 20, 2007 2:37 pm

I like it way better then the default one... I guess its just going to take getting used to

Yea I just downloaded the plugin, waiting for the offsets to get upped.

Thanks for your help!

drake

Scaring`
a lesser mummy
a lesser mummy
Posts: 32
Joined: Mon Mar 20, 2006 6:30 pm

Loot window

Post by Scaring` » Tue Nov 20, 2007 7:25 pm

I've modified the loot window to include the loot all button .. yay /clap i know . no big deal. but i'm wondering if anyone besides me would like to have destroy button also on loot window so you dont have to open your inventory window. I dont belive it will be too hard, i'd just put it up where the link button is in the default ui.

p00n
a ghoul
a ghoul
Posts: 90
Joined: Sun Feb 22, 2004 11:09 am
Location: USA

Post by p00n » Wed Nov 28, 2007 6:49 am

Gnits wrote:i am not sure that anyone is actively maintaining this. I am trying to revamp the macro piece and to some extent the UI piece.

I can't, however, host the files should i complete them. If anyone has hosting space for this and is interested, i plan on trying to do so.

I dont know how useful it will be to everyone but the one major thing i am going to rework is buff detection as it is used for groups and raids.

Trying to find a different way to deal with it than an ampersanded if from hell.
Gnits, you still entertaining this, or have you decided to pursue other things?

dprovin
orc pawn
orc pawn
Posts: 15
Joined: Tue Apr 05, 2005 6:58 pm

Post by dprovin » Thu Nov 29, 2007 11:39 pm

Will anyone be updating spell names for the new expansion for the friends window? I'm so lost without it :)

User avatar
gimp
a grimling bloodguard
a grimling bloodguard
Posts: 584
Joined: Fri Oct 29, 2004 9:28 am
Location: internet

Post by gimp » Fri Nov 30, 2007 8:14 pm

dprovin wrote:Will anyone be updating spell names for the new expansion for the friends window? I'm so lost without it :)
the buff status feature is replicated in the krust dll since long, and i am going to continue to support the krust dll as i mentioned previously, but so far i have not had time to update it to include the new buffs. there is a updated krust dll working with the new expansion on the website but it does not yet include the new spells. i am sorry but i havent even been in-game more than two times since new expansion release because of my work. i will fix this as soon as i can.

the krust dll can be downloaded from here http://nofuture.se/krust/svn/

p00n
a ghoul
a ghoul
Posts: 90
Joined: Sun Feb 22, 2004 11:09 am
Location: USA

Post by p00n » Sat Dec 01, 2007 3:21 pm

dprovin wrote:Will anyone be updating spell names for the new expansion for the friends window? I'm so lost without it :)
By no means proficient in this, but this is my first attempt at the fix.
EDIT: I need to fix ranger stuff (pred line), more to come im sure

gimp_buffstatus.inc:

Code: Select all

| exposes a number of HUD variables, call CheckBuffs
|
|
|fixme: om man har paladin i gruppen ska symbol of jeran listas som missing


#Event JoinedGroup "You have joined the group."
#Event JoinedGroup "You have been removed from the group."
#Event JoinedGroup "Your raid was disbanded."
Sub Event_JoinedGroup(string Line)
	/if (${Raid.Members}) {
		/varset mcHUDbuffmode RL ${Raid.Leader}, GL${Raid.Member[${Me}].Group} ${Group.Leader} (raid:${Raid.Members}, zone:${SpawnCount[pc]})
	} else {
		/varset mcHUDbuffmode UNGROUPED (zone:${SpawnCount[pc]})
		/if (${Group.Members}) /varset mcHUDbuffmode GL: ${Group.Leader.Name} (group:${Math.Calc[${Group.Members}+1].Int}, zone:${SpawnCount[pc]})
	}
/return

Sub CheckBuffs

	/if (!${gimp_buffstatus_loaded}) {
		/declare mcHUDbuffmode				string	outer
		/declare mcHUDmeleebuffs			string	outer
		/declare mcHUDcasterbuffs			string	outer
		/declare mcHUDresistbuffs			string	outer
		/declare gimp_buffstatus_loaded		int		outer	1
		/declare gimp_buffstatus_timer	timer outer 0
	}

	/if (${gimp_buffstatus_timer}) /return
	/varset gimp_buffstatus_timer 100

	/call Event_JoinedGroup

	/declare str	string local
	/declare i int local 0

	/declare ZoneAllowsLevitate int local ${Ini[ZONEINFO_FILE, ZoneInfo, ${Zone.ShortName}_Levitate, 0]}

	/declare HasBST int local 0
	/declare HasCLR int local 0
	/declare HasDRU int local 0
	/declare HasSHD int local 0
	/declare HasSHM int local 0
	/declare HasENC int local 0
	/declare HasPAL int local 0
	/declare HasMAG int local 0
	/declare HasNEC int local 0
	/declare HasRNG int local 0
	
	/declare CasterClass int local 0
	/declare MeleeClass int local 0
	/declare HybridClass int local 0
	/declare TankClass int local 0

	/if (${Raid.Members}) {
		/for i 0 to ${Raid.Members}
			/if (${Raid.Member[${i}].Class.Name.Equal["Beastlord"]})				/varset HasBST 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Cleric"]})						/varset HasCLR 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Druid"]})						/varset HasDRU 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Enchanter"]})				/varset HasENC 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Magician"]})					/varset HasMAG 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Necromancer"]})			/varset HasNEC 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Paladin"]})					/varset HasPAL 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Ranger"]})						/varset HasRNG 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Shadow Knight"]})		/varset HasSHD 1
			/if (${Raid.Member[${i}].Class.Name.Equal["Shaman"]})						/varset HasSHM 1
			/doevents
		/next i
	} else {
		|0=myself
		/for i 0 to 5
			/if (${Group.Member[${i}].Class.Name.Equal["Beastlord"]})				/varset HasBST 1
			/if (${Group.Member[${i}].Class.Name.Equal["Cleric"]})					/varset HasCLR 1
			/if (${Group.Member[${i}].Class.Name.Equal["Druid"]})						/varset HasDRU 1
			/if (${Group.Member[${i}].Class.Name.Equal["Enchanter"]})				/varset HasENC 1
			/if (${Group.Member[${i}].Class.Name.Equal["Magician"]})				/varset HasMAG 1
			/if (${Group.Member[${i}].Class.Name.Equal["Necromancer"]})			/varset HasNEC 1
			/if (${Group.Member[${i}].Class.Name.Equal["Paladin"]})					/varset HasPAL 1
			/if (${Group.Member[${i}].Class.Name.Equal["Ranger"]})					/varset HasRNG 1
			/if (${Group.Member[${i}].Class.Name.Equal["Shadow Knight"]})		/varset HasSHD 1
			/if (${Group.Member[${i}].Class.Name.Equal["Shaman"]})					/varset HasSHM 1
			/doevents
		/next i
	}

	/if (${Me.Class.Name.Equal["Druid"]} || ${Me.Class.Name.Equal["Cleric"]} || ${Me.Class.Name.Equal["Shaman"]} || ${Me.Class.Name.Equal["Enchanter"]} || ${Me.Class.Name.Equal["Magician"]} || ${Me.Class.Name.Equal["Wizard"]} || ${Me.Class.Name.Equal["Necromancer"]}) /varset CasterClass 1
	/if (${Me.Class.Name.Equal["Warrior"]} || ${Me.Class.Name.Equal["Shadow Knight"]} || ${Me.Class.Name.Equal["Paladin"]}) /varset TankClass 1
	/if (${Me.Class.Name.Equal["Ranger"]} || ${Me.Class.Name.Equal["Beastlord"]} || ${Me.Class.Name.Equal["Paladin"]} || ${Me.Class.Name.Equal["Shadow Knight"]} || ${Me.Class.Name.Equal["Bard"]}) /varset HybridClass 1
	/if (${Me.Class.Name.Equal["Monk"]} || ${Me.Class.Name.Equal["Rogue"]} || ${Me.Class.Name.Equal["Warrior"]} || ${Me.Class.Name.Equal["Berserker"]}) /varset MeleeClass 1

	|XXXXXXXXXXXXXXXXXXXXXXXXXXXX
	|HP & MELEE BUFFS
	|XXXXXXXXXXXXXXXXXXXXXXXXXXXX
	/varset str
	/if (${HasDRU} && !${Me.Buff["Steeloak Skin"].ID} && !${Me.Buff["Blessing of Steeloak"].ID} && !${Me.Buff["Blessing of the Nine"].ID} && !${Me.Buff["Protection of the Nine"].ID} && !${Me.Buff["Direwild Skin"].ID} && !${Me.Buff["Direwild Skin Rk. II"].ID} && !${Me.Buff["Direwild Skin Rk. III"].ID} && !${Me.Buff["Blessing of the Direwild"].ID} && !${Me.Buff["Blessing of the Direwild Rk. II"].ID} && !${Me.Buff["Blessing of the Direwild Rk. III"].ID} && !${Me.Buff["Ironwood Skin"].ID} && !${Me.Buff["Ironwood Skin Rk. II"].ID} && !${Me.Buff["Ironwood Skin Rk. III"].ID} && !${Me.Buff["Blessing of the Ironwood"].ID} && !${Me.Buff["Blessing of the Ironwood Rk. II"].ID} && !${Me.Buff["Blessing of the Ironwood Rk. III"].ID} && !${Me.Buff["Conviction"].ID} && !${Me.Buff["Hand of Conviction"].ID} && !${Me.Buff["Virtue"].ID} && !${Me.Buff["Hand of Virtue"].ID} && !${Me.Buff["Tenacity"].ID} && !${Me.Buff["Tenacity Rk. II"].ID} && !${Me.Buff["Tenacity Rk. III"].ID} && !${Me.Buff["Hand of Tenacity"].ID} && !${Me.Buff["Hand of Tenacity Rk. II"].ID} && !${Me.Buff["Hand of Tenacity Rk. III"].ID} && !${Me.Buff["Temerity"].ID} && !${Me.Buff["Temerity Rk. II"].ID} && !${Me.Buff["Temerity Rk. III"].ID} && !${Me.Buff["Hand of Temerity"].ID} && !${Me.Buff["Hand of Temerity Rk. II"].ID} && !${Me.Buff["Hand of Temerity Rk. III"].ID}) /varset str ${str} DIRSKN
	/if ((${HasCLR} && ${HasDRU}) && !${Me.Buff["Symbol of Balikor"].ID} && !${Me.Buff["Balikor's Mark"].ID} && !${Me.Buff["Symbol of Kazad"].ID} && !${Me.Buff["Kazad`s Mark"].ID} && !${Me.Buff["Jeron's Mark"].ID} && !${Me.Buff["Symbol of Elushar"].ID} && !${Me.Buff["Symbol of Elushar Rk. II"].ID} && !${Me.Buff["Symbol of Elushar Rk. III"].ID} && !${Me.Buff["Kaerra's Mark"].ID} && !${Me.Buff["Kaerra's Mark Rk. II"].ID} && !${Me.Buff["Kaerra's Mark Rk. III"].ID} && !${Me.Buff["Symbol of Kaerra"].ID} && !${Me.Buff["Symbol of Kaerra Rk. II"].ID} && !${Me.Buff["Symbol of Kaerra Rk. III"].ID} && !${Me.Buff["Elushar's Mark"].ID} && !${Me.Buff["Elushar's Mark Rk. II"].ID} && !${Me.Buff["Elushar's Mark Rk. III"].ID} && !${Me.Buff["Conviction"].ID} && !${Me.Buff["Hand of Conviction"].ID} && !${Me.Buff["Virtue"].ID} && !${Me.Buff["Hand of Virtue"].ID} && !${Me.Buff["Tenacity"].ID} && !${Me.Buff["Tenacity Rk. II"].ID} && !${Me.Buff["Tenacity Rk. III"].ID} && !${Me.Buff["Hand of Tenacity"].ID} && !${Me.Buff["Hand of Tenacity Rk. II"].ID} && !${Me.Buff["Hand of Tenacity Rk. III"].ID} && !${Me.Buff["Temerity"].ID} && !${Me.Buff["Temerity Rk. II"].ID} && !${Me.Buff["Temerity Rk. III"].ID} && !${Me.Buff["Hand of Temerity"].ID} && !${Me.Buff["Hand of Temerity Rk. II"].ID} && !${Me.Buff["Hand of Temerity Rk. III"].ID}) /varset str ${str} SYMBOL
	/if ((!${HasDRU} && ${HasCLR}) && !${Me.Buff["Blessing of Steeloak"].ID} && !${Me.Buff["Steeloak Skin"].ID} && !${Me.Buff["Blessing of the Nine"].ID} && !${Me.Buff["Protection of the Nine"].ID} && !${Me.Buff["Direwild Skin"].ID} && !${Me.Buff["Direwild Skin Rk. II"].ID} && !${Me.Buff["Direwild Skin Rk. III"].ID} && !${Me.Buff["Blessing of the Direwild"].ID} && !${Me.Buff["Blessing of the Direwild Rk. II"].ID} && !${Me.Buff["Blessing of the Direwild Rk. III"].ID} && !${Me.Buff["Symbol of Balikor"].ID} && !${Me.Buff["Balikor's Mark"].ID} && !${Me.Buff["Symbol of Kazad"].ID} && !${Me.Buff["Kazad`s Mark"].ID} && !${Me.Buff["Jeron's Mark"].ID} && !${Me.Buff["Symbol of Elushar"].ID} && !${Me.Buff["Symbol of Elushar Rk. II"].ID} && !${Me.Buff["Symbol of Elushar Rk. III"].ID} && !${Me.Buff["Elushar's Mark"].ID} && !${Me.Buff["Elushar's Mark Rk. II"].ID} && !${Me.Buff["Elushar's Mark Rk. III"].ID} && !${Me.Buff["Conviction"].ID} && !${Me.Buff["Hand of Conviction"].ID} && !${Me.Buff["Temperance"].ID} && !${Me.Buff["Blessing of Temperance"].ID} && !${Me.Buff["Virtue"].ID} && !${Me.Buff["Hand of Virtue"].ID} && !${Me.Buff["Tenacity"].ID} && !${Me.Buff["Tenacity Rk. II"].ID} && !${Me.Buff["Tenacity Rk. III"].ID} && !${Me.Buff["Hand of Tenacity"].ID} && !${Me.Buff["Hand of Tenacity Rk. II"].ID} && !${Me.Buff["Hand of Tenacity Rk. III"].ID} && !${Me.Buff["Temerity"].ID} && !${Me.Buff["Temerity Rk. II"].ID} && !${Me.Buff["Temerity Rk. III"].ID} && !${Me.Buff["Hand of Temerity"].ID} && !${Me.Buff["Hand of Temerity Rk. II"].ID} && !${Me.Buff["Hand of Temerity Rk. III"].ID}) /varset str ${str} Tem
	/if (${Me.Class.Name.Equal["Ranger"]} && !${Me.Buff["Strength of the Hunter"].ID} && !${Me.Buff["Strength of the Gladewalker"].ID} && !${Me.Buff["Strength of the Gladewalker Rk. II"].ID} && !${Me.Buff["Strength of the Gladewalker Rk. III"].ID} && !${Me.Buff["Strength of the Forest Stalker"].ID} && !${Me.Buff["Strength of the Forest Stalker Rk. II"].ID} && !${Me.Buff["Strength of the Forest Stalker Rk. III"].ID} && !${Me.Buff["Aura of Rage"].ID} && !${Me.Buff["Nature's Precision"].ID}) /varset str ${str} ATK

	/if ((${HasPAL} || ${HasBST} || ${HasRNG}) && !${Me.Buff["Brell's Earthen Aegis"].ID} && !${Me.Buff["Brell's Earthen Aegis Rk. II"].ID} && !${Me.Buff["Brell's Earthen Aegis Rk. III"].ID} && !${Me.Buff["Brell's Stony Guard"].ID} && !${Me.Buff["Brell's Stony Guard Rk. II"].ID} && !${Me.Buff["Brell's Stony Guard Rk. III"].ID} && !${Me.Buff["Brell's Brawny Bulwark"].ID} && !${Me.Buff["Brell's Stalwart Shield"].ID} && !${Me.Buff["Brell's Mountainous Barrier"].ID} && !${Me.Buff["Spiritual Vim"].ID} && !${Me.Buff["Spiritual Vim Rk. II"].ID} && !${Me.Buff["Spiritual Vim Rk. III"].ID} && !${Me.Buff["Spiritual Vitality"].ID} && !${Me.Buff["Spiritual Vigor"].ID} && !${Me.Buff["Spiritual Strength"].ID} && !${Me.Buff["Strength of the Hunter"].ID} && !${Me.Buff["Strength of the Forest Stalker"].ID} && !${Me.Buff["Strength of the Forest Stalker Rk. II"].ID} && !${Me.Buff["Strength of the Forest Stalker Rk. III"].ID} && !${Me.Buff["Protection of the Minohten"].ID} && !${Me.Buff["Protection of the Minohten Rk. II"].ID} && !${Me.Buff["Protection of the Minohten Rk. III"].ID} && !${Me.Buff["Ward of the Hunter"].ID} && !${Me.Buff["Strength of Tunare"].ID}) {
		/if (${HasPAL} && ${Me.Class.Name.NotEqual["Ranger"]}) {
			/varset str ${str} BRELLS
		} else {
			|Clerics Yaulp dont stack with SV
			/if (${HasBST} && ${Me.Class.Name.NotEqual["Cleric"]} && ${Me.Class.Name.NotEqual["Ranger"]}) {
				/varset str ${str} SV
			} else {
				/if (${HasRNG} && ${Me.Class.Name.NotEqual["Ranger"]}) {
					/varset str ${str} SotFS
				} else {
					/if (${Me.Class.Name.Equal["Ranger"]}) /varset str ${str} PotM
						
				}			
			}
		}
	}
	
	/if (${Me.Class.Name.Equal["Ranger"]} && !${Me.Buff["Eagle Eye"].ID} && !${Me.Buff["Eyes of the Owl"].ID}) /varset str ${str} EYE
	/if (${Me.Class.Name.Equal["Ranger"]} && !${Me.Buff["Call of Lightning"].ID} && !${Me.Buff["Jolting Blades"].ID} && !${Me.Buff["Sylvan Call"].ID} && !${Me.Buff["Cry of Thunder"].ID}) /varset str ${str} PROC
	/if (${Me.Class.Name.Equal["Ranger"]} && !${Me.Buff["Consumed by the Hunt"].ID}) /varset str ${str} CbtH

	/if ((${HasSHM} || ${HasBST}) && !${Me.Buff["Bloodworg Focusing"].ID} && !${Me.Buff["Bloodworg Focusing Rk. II"].ID} && !${Me.Buff["Bloodworg Focusing Rk. III"].ID} && !${Me.Buff["Talisman of the Bloodworg"].ID} && !${Me.Buff["Talisman of the Bloodworg Rk. II"].ID} && !${Me.Buff["Talisman of the Bloodworg Rk. III"].ID} && !${Me.Buff["Dire Focusing"].ID} && !${Me.Buff["Dire Focusing Rk. II"].ID} && !${Me.Buff["Dire Focusing Rk. III"].ID} && !${Me.Buff["Talisman of the Dire"].ID} && !${Me.Buff["Talisman of the Dire Rk. II"].ID} && !${Me.Buff["Talisman of the Dire Rk. III"].ID} && !${Me.Buff["Wunshi's Focusing"].ID} && !${Me.Buff["Talisman of Wunshi"].ID} && !${Me.Buff["Focus of the Seventh"].ID} && !${Me.Buff["Focus of Soul"].ID} && !${Me.Buff["Focus of Amilan"].ID} && !${Me.Buff["Focus of Amilan Rk. II"].ID} && !${Me.Buff["Focus of Amilan Rk. III"].ID} && !${Me.Buff["Focus of Alladnu"].ID} && !${Me.Buff["Talisman of Kragg"].ID} && !${Me.Buff["Shield of the Arcane"].ID} && !${Me.Buff["Armor of the Pious"].ID} && !${Me.Buff["Armor of the Zealot"].ID}) /varset str ${str} FOCUS
	/if ((${HasENC} || ${HasSHM} || ${HasBST}) && !${CasterClass} && !${Me.Buff["Speed of Erradien"].ID} && !${Me.Buff["Speed of Erradien Rk. II"].ID} && !${Me.Buff["Speed of Erradien Rk. III"].ID} && !${Me.Buff["Speed of Ellowind"].ID} && !${Me.Buff["Speed of Ellowind Rk. II"].ID} && !${Me.Buff["Speed of Ellowind Rk. III"].ID} && !${Me.Buff["Hastening of Erradien"].ID} && !${Me.Buff["Hastening of Erradien Rk. II"].ID} && !${Me.Buff["Hastening of Erradien Rk. III"].ID} && !${Me.Buff["Hastening of Ellowind"].ID} && !${Me.Buff["Hastening of Ellowind Rk. II"].ID} && !${Me.Buff["Hastening of Ellowind Rk. III"].ID} && !${Me.Buff["Speed of Salik"].ID} && !${Me.Buff["Hastening of Salik"].ID} && !${Me.Buff["Vallon's Quickening"].ID} && !${Me.Buff["Speed of Vallon"].ID} && !${Me.Buff["Celerity"].ID} && !${Me.Buff["Alacrity"].ID} && !${Me.Buff["Talisman of Alacrity"].ID} && !${Me.Buff["Talisman of Celerity"].ID} && !${Me.Buff["Swift like the Wind"].ID} && !${Me.Buff["Wonderous Rapidity"].ID} && !${Me.Buff["Twitching Speed"].ID} && !${Me.Buff["Elixir of Speed IX"].ID} && !${Me.Buff["Elixir of Speed X"].ID}) /varset str ${str} HASTE
	/if ((${HasMAG} || ${HasDRU}) && (${TankClass} || (!${CasterClass} && !${Raid.Members})) && ${Me.Class.Name.NotEqual["Ranger"]} && !${Me.Buff["Fireskin"].ID} && !${Me.Buff["Circle of Fireskin"].ID} && !${Me.Buff["Magmaskin"].ID} && !${Me.Buff["Magmaskin Rk. II"].ID} && !${Me.Buff["Magmaskin Rk. III"].ID} && !${Me.Buff["Circle of Magmaskin"].ID} && !${Me.Buff["Circle of Magmaskin Rk. II"].ID} && !${Me.Buff["Circle of Magmaskin Rk. III"].ID} && !${Me.Buff["Aspect of Elemental Agony"].ID} && !${Me.Buff["Aspect of Elemental Agony Rk. II"].ID} && !${Me.Buff["Aspect of Elemental Agony Rk. III"].ID} && !${Me.Buff["Viridifloral Shield"].ID} && !${Me.Buff["Viridifloral Shield Rk. II"].ID} && !${Me.Buff["Viridifloral Shield Rk. III"].ID} && !${Me.Buff["Legacy of Viridiflora"].ID} && !${Me.Buff["Legacy of Viridiflora Rk. III"].ID} && !${Me.Buff["Legacy of Viridiflora Rk. III"].ID} && !${Me.Buff["Nettle Shield"].ID} && !${Me.Buff["Circle of Nettles"].ID}) /varset str ${str} DS
	|/if (${HasRNG} && ${TankClass} && !${Me.Buff["Guard of the Earth"].ID}) /varset str ${str} GotE
	/if (${HasRNG} && ${Me.Class.Name.NotEqual["Ranger"]} && !${CasterClass} && !${Me.Buff["Snarl of the Predator"].ID} && !${Me.Buff["Snarl of the Predator Rk. II"].ID} && !${Me.Buff["Snarl of the Predator Rk. III"].ID} && !${Me.Buff["Howl of the Predator"].ID} && !${Me.Buff["Call of the Predator"].ID} && !${Me.Buff["Spirit of the Predator"].ID}) /varset str ${str} PREDATOR

	/if ((${HasSHM} || ${HasDRU}) && !${CasterClass} && !${Me.Buff["Champion"].ID} && !${Me.Buff["Lion's Strength"].ID} && !${Me.Buff["Mammoth's Strength"].ID} && !${Me.Buff["Mammoth's Strength Rk. II"].ID} && !${Me.Buff["Mammoth's Strength Rk. III"].ID} && !${Me.Buff["Talisman of Might"].ID} && !${Me.Buff["Spirit of Might"].ID}) {
		/if (${HasDRU}) {
			/varset str ${str} MAMMOTH
		} else {
			/varset str ${str} MIGHT
		}
	}

	/if (${HasSHM} && !${Me.Buff["Preternatural Foresight"].ID} && !${Me.Buff["Preternatural Foresight Rk. II"].ID} && !${Me.Buff["Preternatural Foresight Rk. III"].ID} && !${Me.Buff["Talisman of Foresight"].ID} && !${Me.Buff["Talisman of Foresight Rk. II"].ID} && !${Me.Buff["Talisman of Foresight Rk. III"].ID} && !${Me.Buff["Talisman of Sense"].ID} && !${Me.Buff["Spirit of Sense"].ID}) /varset str ${str} SENSE
	/if (${HasSHM} && !${Me.Buff["Talisman of Vehemence"].ID} && !${Me.Buff["Talisman of Vehemence Rk. II"].ID} && !${Me.Buff["Talisman of Vehemence Rk. III"].ID} && !${Me.Buff["Spirit of Vehemence"].ID} && !${Me.Buff["Spirit of Vehemence Rk. II"].ID} && !${Me.Buff["Spirit of Vehemence Rk. III"].ID} && !${Me.Buff["Talisman of Fortitude"].ID} && !${Me.Buff["Spirit of Fortitude"].ID}) /varset str ${str} FORTITUDE
	/if (${HasCLR} && (!${Me.Buff["Ward of Resolute"].ID} && !${Me.Buff["Ward of Gallantry"].ID}) && (${Me.Buff["Symbol of Balikor"].ID} || ${Me.Buff["Balikor's Mark"].ID} || ${Me.Buff["Symbol of Kazad"].ID} || ${Me.Buff["Kazad`s Mark"].ID}) && (${Me.Buff["Steeloak Skin"].ID} || ${Me.Buff["Blessing of Steeloak"].ID} || ${Me.Buff["Blessing of the Nine"].ID} || ${Me.Buff["Protection of the Nine"].ID} || ${Me.Buff["Direwild Skin"].ID} || ${Me.Buff["Direwild Skin Rk. II"].ID} || ${Me.Buff["Direwild Skin Rk. III"].ID} || ${Me.Buff["Blessing of the Direwild"].ID} || ${Me.Buff["Blessing of the Direwild Rk. II"].ID} || ${Me.Buff["Blessing of the Direwild Rk. III"].ID})) /varset str ${str} WOV
	/if (${Me.Class.Name.Equal["Cleric"]} && !${Me.Buff["Armor of the Sacred"].ID} && !${Me.Buff["Armor of the Sacred Rk. II"].ID} && !${Me.Buff["Armor of the Sacred Rk. III"].ID} && !${Me.Buff["Armor of the Pious"].ID} && !${Me.Buff["Armor of the Zealot"].ID} && ${Me.Buff["Tenacity"].ID} || ${Me.Buff["Tenacity Rk. II"].ID} || ${Me.Buff["Tenacity Rk. III"].ID} || ${Me.Buff["Hand of Tenacity"].ID} || ${Me.Buff["Hand of Tenacity Rk. II"].ID} || ${Me.Buff["Hand of Tenacity Rk. III"].ID} || (${Me.Buff["Conviction"].ID} || ${Me.Buff["Hand of Conviction"].ID}) ) /varset str ${str} ARMOR
	/if (${Me.Class.Name.Equal["Druid"]} || ${Me.Class.Name.Equal["Ranger"]} && ${Zone.ShortName.NotEqual[Tacvi]} && !${Me.Buff["Briarcoat"].ID} && !${Me.Buff["Nettlecoat"].ID}) /varset str ${str} COAT

	/if (!${str.Length}) /varset str OK
	/varset mcHUDmeleebuffs ${str}

	|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
	|caster buffs (C6+SA+spell haste) + class specific self buffs
	|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
	/varset str
	/if (${HasCLR} && !${MeleeClass} && !${Me.Buff["Aura of Resolve"].ID} && !${Me.Buff["Aura of Resolve Rk. II"].ID} && !${Me.Buff["Aura of Resolve Rk. III"].ID} && !${Me.Buff["Aura of Purpose"].ID} && !${Me.Buff["Aura of Purpose Rk. II"].ID} && !${Me.Buff["Aura of Purpose Rk. III"].ID} && !${Me.Buff["Aura of Devotion"].ID} && !${Me.Buff["Blessing of Devotion"].ID} && !${Me.Buff["Aura of Reverence"].ID} && !${Me.Buff["Blessing of Reverence"].ID}) /varset str ${str} SPELLHASTE
	/if (${HasBST} && !${MeleeClass} && !${Me.Buff["Spiritual Enlightenment"].ID} && !${Me.Buff["Spiritual Enlightenment Rk. II"].ID} && !${Me.Buff["Spiritual Enlightenment Rk. III"].ID} && !${Me.Buff["Spiritual Ascendance"].ID} && !${Me.Buff["Spiritual Dominion"].ID}) /varset str ${str} SE
	/if (${HasENC} && !${MeleeClass} && !${Me.Buff["Seer's Cognizance"].ID} && !${Me.Buff["Seer's Cognizance Rk. II"].ID} && !${Me.Buff["Seer's Cognizance Rk. III"].ID} && !${Me.Buff["Seer's Intuition"].ID} && !${Me.Buff["Seer's Intuition Rk. II"].ID} && !${Me.Buff["Seer's Intuition Rk. III"].ID} && !${Me.Buff["Voice of Cognizance"].ID} && !${Me.Buff["Voice of Cognizance Rk. II"].ID} && !${Me.Buff["Voice of Cognizance Rk. III"].ID} && !${Me.Buff["Voice of Intuition"].ID} && !${Me.Buff["Voice of Intuition Rk. II"].ID} && !${Me.Buff["Voice of Intuition Rk. III"].ID} && !${Me.Buff["Clairvoyance"].ID} && !${Me.Buff["Voice of Clairvoyance"].ID} && !${Me.Buff["Voice of Quellious"].ID} && !${Me.Buff["Tranquility"].ID} && !${Me.Buff["Koadic's Endless Intellect"].ID} && !${Me.Buff["Elixir of Clarity X"].ID}) /varset str ${str} CRACK
	/if (${Me.Class.Name.Equal["Druid"]} || ${Me.Class.Name.Equal["Ranger"]} && !${Me.Buff["Mask of the Forest"].ID} && !${Me.Buff["Mask of the Stalker"].ID} && !${Me.Buff["Mask of the Wild"].ID} && !${Me.Buff["Eyes of the Owl"].ID}) /varset str ${str} MASK
		
	/if (!${str.Length}) /varset str OK
	/varset mcHUDcasterbuffs ${str}


	|XXXXXXXXXXXXXXXXXXXXXXXXXXX
	|resist buffs
	|XXXXXXXXXXXXXXXXXXXXXXXXXXX
	/varset str
	/if (${HasNEC} && ${ZoneAllowsLevitate} && !${Me.Buff["Dead Men Floating"].ID} && !${Me.Buff["Dead Man Floating"].ID}) /varset str ${str} DMF
	
	/if ((${HasSHM} || ${HasBST}) && !${Me.Buff["Protection of Wishka"].ID} && !${Me.Buff["Protection of Wishka Rk. II"].ID} && !${Me.Buff["Protection of Wishka Rk. III"].ID} && !${Me.Buff["Talisman of the Tribunal"].ID} && !${Me.Buff["Talisman of Jasinth"].ID}) {
		/if (${HasSHM}) {
			/varset str ${str} DR/PR
		} else {
			/varset str ${str} Jasinth
		}
	}

	/if (${HasENC} && !${Me.Buff["Guard of Druzzil"].ID}) /varset str ${str} GoD
	/if (${HasDRU} && !${Me.Buff["Protection of Seasons"].ID}) /varset str ${str} PoS
	/if ((${HasDRU} || ${HasCLR}) && !${Me.Buff["Shared Purity"].ID} && !${Me.Buff["Shared Purity Rk. II"].ID} && !${Me.Buff["Shared Purity Rk. III"].ID} && !${Me.Buff["Resist Corruption"].ID} && !${Me.Buff["Resist Corruption Rk. II"].ID} && !${Me.Buff["Resist Corruption Rk. III"].ID}) /varset str ${str} CORRUPT
	/if ((${HasDRU} || ${HasRNG}) && ${Raid.Members} && !${Me.Buff["Circle of Summer"].ID}) /varset str ${str} SUMMER
	
	/if (!${str.Length}) /varset str OK
	/varset mcHUDresistbuffs ${str}

/return

dprovin
orc pawn
orc pawn
Posts: 15
Joined: Tue Apr 05, 2005 6:58 pm

Post by dprovin » Sun Dec 02, 2007 2:10 pm

A very big thank you :)

Works perfectly except for Predator line and Hunter (as you stated).

Edit- Missing Beastlord focus of Zott spell, SE, few others.

xomega1
a ghoul
a ghoul
Posts: 134
Joined: Mon Jun 19, 2006 6:02 pm

Post by xomega1 » Wed Dec 19, 2007 9:58 pm

Update to the gimp_modrod.inc file that fixes some spelling errors and adds in the new mod rod.

Code: Select all

|just include & call CheckModRod in main loop. ${mcHUDmodrod} will contain modrod status

|Item ID of a mod rod
#Define MODROD_ID	3426
#Define ELEMMODROD_ID	52674
#Define PRIMEROD_ID	52709

#Event UsedModRod			"#*#You experience a mystical transvergence.#*#"
Sub Event_UsedModRod
	/echo [${Time}] Mod rod used (+360 mana)
	/call CheckModRod
/return

#Event UsedElemModRod			"#*#You experience an elemental transvergence.#*#"
Sub Event_UsedElemModRod
	/echo [${Time}] Mod rod used (+656/800 mana)
	/call CheckModRod
/return

Sub CheckModRod
	/if (!${gimp_modrod_loaded}) {
		/declare gimp_modrod_loaded		int		outer	1
		/declare mcHUDmodrod			string	outer
		/echo gimp_modrod.inc initialized
	}

	/if ((${Cursor.ID} == MODROD_ID) && !${Window[ConfirmationDialogBox].Open}) {
		/if (${Me.MaxMana}) {
			/echo Autoinventorying mod rod
			/delay 3s
			/if (${Cursor.ID} == MODROD_ID) /autoinventory
		} else {
			/if (${Cursor.ID} == MODROD_ID) /destroy
		}
	}

	/if ((${Cursor.ID} == ELEMMODROD_ID) && !${Window[ConfirmationDialogBox].Open}) {
		/if (${Me.MaxMana}) {
			/echo Autoinventorying mod rod
			/delay 3s
			/if (${Cursor.ID} == ELEMMODROD_ID) /autoinventory
		} else {
			/if (${Cursor.ID} == ELEMMODROD_ID) /destroy
		}
	}	

	/if ((${Cursor.ID} == PRIMEROD_ID) && !${Window[ConfirmationDialogBox].Open}) {
		/if (${Me.MaxMana}) {
			/echo Autoinventorying mod rod
			/delay 3s
			/if (${Cursor.ID} == PRIMEROD_ID) /autoinventory
		} else {
			/if (${Cursor.ID} == PRIMEROD_ID) /destroy
		}
	}	

	/declare i 		int		local ${FindItem[=Rod of Mystical Transvergence].InvSlot}
	/declare a 		int		local ${FindItem[=Wand of Elemental Transvergence].InvSlot}
	/declare b 		int		local ${FindItem[=Rod of Prime Transvergence].InvSlot}
	/declare str	string	local

	/if (${InvSlot[${i}].Item.ID} == MODROD_ID) {
		/varset str 1 charge
		/if (${InvSlot[${i}].Item.Charges} != 1) /varset str ${InvSlot[${i}].Item.Charges} charges
	}

	/if (${InvSlot[${a}].Item.ID} == ELEMMODROD_ID) {
		/varset str 1 charge
		/if (${InvSlot[${a}].Item.Charges} != 1) /varset str ${InvSlot[${a}].Item.Charges} charges
	}

	/if (${InvSlot[${b}].Item.ID} == PRIMEROD_ID) {
		/varset str 1 charge
		/if (${InvSlot[${b}].Item.Charges} != 1) /varset str ${InvSlot[${b}].Item.Charges} charges
	}

	/varset mcHUDmodrod NO, ${SpawnCount[pc mage]} mages in zone
	/if (${str.Length}) {
		/varset mcHUDmodrod ${str}
		/if (${FindItem[=Rod of Mystical Transvergence].Timer}) {
			/varcalc i ${FindItem[=Rod of Mystical Transvergence].Timer}*6
			/varset mcHUDmodrod ${str}, ${Int[${Math.Calc[${i}/60]}]}m${Int[${Math.Calc[${i}%60]}]}s left
		}
		/if (${FindItem[=Wand of Elemental Transvergence].Timer}) {
			/varcalc i ${FindItem[=Wand of Elemental Transvergence].Timer}*6
			/varset mcHUDmodrod ${str}, ${Int[${Math.Calc[${i}/60]}]}m${Int[${Math.Calc[${i}%60]}]}s left
		}		
		/if (${FindItem[=Rod of Prime Transvergence].Timer}) {
			/varcalc i ${FindItem[=Rod of Prime Transvergence].Timer}*6
			/varset mcHUDmodrod ${str}, ${Int[${Math.Calc[${i}/60]}]}m${Int[${Math.Calc[${i}%60]}]}s left
		}		
	}
/return

Minymezz
a ghoul
a ghoul
Posts: 93
Joined: Sun Aug 14, 2005 9:31 am

Post by Minymezz » Wed Jan 16, 2008 3:45 pm

Is anyone updating the source for the krust plugin to include the new SoF spells?

User avatar
gimp
a grimling bloodguard
a grimling bloodguard
Posts: 584
Joined: Fri Oct 29, 2004 9:28 am
Location: internet

Post by gimp » Mon Jan 28, 2008 5:33 pm

Minymezz wrote:Is anyone updating the source for the krust plugin to include the new SoF spells?
i been busy with work, i'll try to sort it out in the next week or so :()

xomega1
a ghoul
a ghoul
Posts: 134
Joined: Mon Jun 19, 2006 6:02 pm

Post by xomega1 » Mon Jan 28, 2008 10:14 pm

gimp wrote:
Minymezz wrote:Is anyone updating the source for the krust plugin to include the new SoF spells?
i been busy with work, i'll try to sort it out in the next week or so :()
I've fixed the plugin for SoF spells. Don't have a place to host for a download. I'd be willing to send it to you gimp so you can host it with the rest of your downloads.

User avatar
gimp
a grimling bloodguard
a grimling bloodguard
Posts: 584
Joined: Fri Oct 29, 2004 9:28 am
Location: internet

Post by gimp » Tue Jan 29, 2008 3:42 am

xomega1 wrote:
gimp wrote:
Minymezz wrote:Is anyone updating the source for the krust plugin to include the new SoF spells?
i been busy with work, i'll try to sort it out in the next week or so :()
I've fixed the plugin for SoF spells. Don't have a place to host for a download. I'd be willing to send it to you gimp so you can host it with the rest of your downloads.
Hmms.. Please mail me a copy at gimp_mq@yahoo.se I could use to verify with my version to see I didn't miss anything.

I updated the plugin last night too for the SoF spells, source & dll is here:

http://nofuture.se/krust/svn/
MQ2Krust-2008-01-29-06.30.zip

PS. This DLL is compiled with Visual Studio 2008, don't know if that will cause any problems.

Please report if any buff status is incorrect now, I haven't had time to verify it fully yet, just grabbed spell names from lucy

xomega1
a ghoul
a ghoul
Posts: 134
Joined: Mon Jun 19, 2006 6:02 pm

Post by xomega1 » Fri Feb 01, 2008 2:55 pm

Gimp you should have mail.