It cntrols your chanter bot from group tells. I use it for 2boxing my friends chanter and it helps a lot. It eliminates much of the need to alt tab between windows which cuts down on the time between casts etc. Read the comment lines fr detail on what it does. Any suggestions on improving the code or adding features are welcome.!
Code: Select all
|Chanter bot control by hiipii
|chbot.mac
|usage /mac chbot
|with the macro running and chanter grouped with your main char
|you will have access to commands activated via group chat
|
|requires spellcast.inc by ml2517 which can be found in the snippets forum
|
|/g <keyword> is the proper syntax for using commands
|slow will cast shiftless deeds (my chanter doesnt have forlorn deeds yet)
|nuke will cast dementing visions
|mez will cast apathy
|blur will cast memory flux
|gate will cast gate
|mana will have the bot display their current mana %
|along with these the bot will always keep Arcane Rune on itself.
|change spell names to suit your spells (my chanter is only 61)
#chat group
#include spellcast.inc
sub main
/echo Shoc Mac started
/echo doing shit
:mainloop
/doevents
/call checkrune
/goto :mainloop
/return
sub checkrune
/if (${Me.Buff[Arcane Rune].Duration}<20) /call cast "Arcane Rune"
/return
Sub Event_Chat(ChatType,Sender,ChatText)
/if (${ChatText.Equal[slow]}) {
/assist ${Sender}
/delay 1s
/g slowing
/delay 1s
/call cast "Shiftless Deeds"
/g mana = ${Me.PctMana}
/sit
}
/if (${ChatText.Equal[nuke]}) {
/assist ${Sender}
/delay 1s
/g nukage!
/delay 1s
/call cast "Dementing Visions"
/g mana = ${Me.PctMana}
/sit
}
/if (${ChatText.Equal[mana]}) {
/g ${Me.PctMana}
}
/if (${ChatText.Equal[gate]}) {
/call cast "Gate"
}
/if (${ChatText.Equal[mez]}) {
/assist ${Sender}
/delay 1s
/g mezzing
/call cast "Apathy"
/g mana = ${Me.PctMana}
}
/if (${ChatText.Equal[grm]}) {
/target ${Sender}
/delay 1s
/call cast "Group Resist Magic"
/g mana = ${Me.PctMana}
/sit
}
/if (${ChatText.Equal[kei]}) {
/target ${Me}
/delay 1s
/call cast "Koadic's Endless Intellect"
/g mana = ${Me.PctMana}
/sit
}
/if (${ChatText.Equal[blur]}) {
/assist ${Sender}
/delay 1s
/g blurrin
/call cast "Memory Flux"
/sit
}
/return
