One set of communication scripts captures speech from conversations and highlights them in green and also moves a copy of the speech to another window. I have added three variables which help with the processing:
SpeakVerbs: The list of verbs which the script uses to identify the line you want to capture. (Example: says, whispers, asks, whines, etc.)
IgnorePeople: The list of people/creatures/etc for which you want the trigger to avoid capturing. (Examples: elite guard, forest troll, Donut, etc.)
SpeakExceptions: The set of phrases sentences that you want the trigger to ignore. Here I put in all Knight and Calian battlecries, ship speech, and other spam from combat you want to ignore ("You scum stop fighting my friend, you puny human!").
The trigger itself is one line, and it does a capture of one line of text to a new window named Converse, then highlights the whole line green.
One more thing, the trigger expects that you have "options autowrap off" in game, so that you will capture everything said and not just the first line of it.
So here is the code which I think should work in Zmud:
Code: Select all
#var SpeakVerbs {agrees|ahoys|announces|answers|asks|blurts|booms|breathes|carols|chatters|communicates|coos|explains|hints|implies|indicates|inquires|maiden|mentions|mumbles|observes|ponders|ponders|pouts|queries|remarks|replies|roars|says|shouts|signals|sings|smiles|snaps|speaks|thinks|thunders|utters|warbles|whispers|wonders|yells}
#var IgnorePeople {elite guard|forest troll|Donut}
#var SpeakExceptions {All aboard!|Buy your tickets now or stay ashore!|Buy your tickets or stay ashore!|By the Measure!|By the Oath and the Measure!|Die enemy of the Minotaur race!|Disembark!|For Solamnia!|For the Knighthood!|For the order of the crown!|For the order of the rose!|For the order of the sword!|For the Shire!|For Vingaard and the Orders!|For Vingaard!|Habbakuk!|I don't need to do anything with it.|In the name of courage!|In the name of honour!|In the name of justice!|It has been fixed as much as possible, I can do nothing more.|Kiri-Jolith!|Last Call from Genesis ShipLines!|Next stop is|Paladine!|Thank you for putting your money in our trust.|Victory to the Knighthood!|We also keep gems for you at another branch of the GoG.|We have arrived at|Welcome to Genesis ShipLines!|You have placed the following money in our trust:|You scum stop fighting my friend, you puny human!}
#trig {{^@IgnorePeople} {@speakverbs}(*)~: {^@SpeakExceptions}(*)} {#capture 1 Converse;#color green}
Code: Select all
<class name="Communication" id="1759">
<trigger priority="60" id="6">
<pattern>{^@IgnorePeople} {@speakverbs}(*)~: {^@SpeakExceptions}(*)</pattern>
<value>#if (%ends(%1,"mighty war cry")) {} {#if (%ends(%2, "You should know better than to attack a minotaur.")) {} {#capture 1 Converse
#color green}}</value>
</trigger>
<trigger priority="600" id="60">
<pattern>You {say|utter|ask|shout|whisper}*~: {^For Solamnia~!|For the order of the rose~!|For Vingaard~!|By the Oath and the Measure~!|For the Knighthood~!|Paladine~!|By the Measure!|For Vingaard and the Orders~!|Victory to the Knighthood~!|In the name of justice~!}*</pattern>
<value>#capture 1 Converse
#color green</value>
</trigger>
<var name="SpeakVerbs" type="StringList" sorted="1" id="305">
<value>agrees|ahoys|announces|answers|asks|blurts|booms|breathes|carols|chatters|communicates|coos|explains|hints|implies|indicates|inquires|maiden|mentions|mumbles|observes|ponders|ponders|pouts|queries|remarks|replies|roars|says|shouts|signals|sings|smiles|snaps|speaks|thinks|thunders|utters|warbles|whispers|wonders|yells</value>
<json>["agrees","ahoys","announces","answers","asks","blurts","booms","breathes","carols","chatters","communicates","coos","explains","hints","implies","indicates","inquires","maiden","mentions","mumbles","observes","ponders","ponders","pouts","queries","remarks","replies","roars","says","shouts","signals","sings","smiles","snaps","speaks","thinks","thunders","utters","warbles","whispers","wonders","yells"]</json>
</var>
<var name="SpeakExceptions" type="StringList" sorted="1" id="348">
<value>All aboard!|Buy your tickets now or stay ashore!|Buy your tickets or stay ashore!|By the Measure!|By the Oath and the Measure!|Die enemy of the Minotaur race!|Disembark!|For Solamnia!|For the Knighthood!|For the order of the crown!|For the order of the rose!|For the order of the sword!|For the Shire!|For Vingaard and the Orders!|For Vingaard!|Habbakuk!|I don't need to do anything with it.|In the name of courage!|In the name of honour!|In the name of justice!|It has been fixed as much as possible, I can do nothing more.|Kiri-Jolith!|Last Call from Genesis ShipLines!|Next stop is|Paladine!|Thank you for putting your money in our trust.|Victory to the Knighthood!|We also keep gems for you at another branch of the GoG.|We have arrived at|Welcome to Genesis ShipLines!|You have placed the following money in our trust:|You scum stop fighting my friend, you puny human!</value>
<json>["All aboard!","Buy your tickets now or stay ashore!","Buy your tickets or stay ashore!","By the Measure!","By the Oath and the Measure!","Die enemy of the Minotaur race!","Disembark!","For Solamnia!","For the Knighthood!","For the order of the crown!","For the order of the rose!","For the order of the sword!","For the Shire!","For Vingaard and the Orders!","For Vingaard!","Habbakuk!","I don't need to do anything with it.","In the name of courage!","In the name of honour!","In the name of justice!","It has been fixed as much as possible, I can do nothing more.","Kiri-Jolith!","Last Call from Genesis ShipLines!","Next stop is","Paladine!","Thank you for putting your money in our trust.","Victory to the Knighthood!","We also keep gems for you at another branch of the GoG.","We have arrived at","Welcome to Genesis ShipLines!","You have placed the following money in our trust:","You scum stop fighting my friend, you puny human!"]</json>
</var>
<trigger priority="4740" id="474">
<pattern><Newbie></pattern>
<value>#Capture 1 Converse
#color green</value>
</trigger>
<trigger priority="10280" id="1028">
<pattern>* hands you a letter and says: I have a letter for you from (*)</pattern>
<value>#color white
#window converse %time() - Message from %1</value>
</trigger>
<trigger priority="13350" id="1335">
<pattern>The voice of * suddenly invades your mind saying: *</pattern>
<value>#color green
#window converse %time() - %1</value>
</trigger>
<trigger priority="17580" id="1758">
<pattern>arrives jogging and hands you a message from (*).</pattern>
<value>#color white
#window converse %time() - Letter from %1</value>
</trigger>
<trigger priority="17600" id="1760">
<pattern>A brown monkey runs towards you and jumps back on your shoulder. * gives you a message from (*).</pattern>
<value>#color white
#window converse %time() - Message from %1</value>
</trigger>
<trigger priority="22630" id="2263">
<pattern>eagle descends from the sky, lands on your shoulder and gives you a message from (*).</pattern>
<value>#color white
#window converse %time() - Message from %1</value>
</trigger>
<trigger priority="34970" id="3497">
<pattern>tells you~: (*)</pattern>
<value>#color green
#window converse %time() - @TellID: %1</value>
</trigger>
<trigger priority="35670" id="3567">
<pattern>chipmunk scampers up to you with a message from (*). You</pattern>
<value>#color white
#window converse %time() - Message from %1</value>
</trigger>
<trigger priority="10280" id="12179">
<pattern>A red-winged harrekki descends from above, sinks its talons into your arm, and gives you a message from (*).</pattern>
<value>#color white
#window converse %time() - Message from %1</value>
</trigger>
<trigger priority="123580" id="12358">
<pattern>Postmaster tells you that you have (*).</pattern>
<value>#color white
#window converse %time() - %1</value>
</trigger>
<trigger priority="124250" id="12425">
<pattern>As if from behind you, you hear*whispering:</pattern>
</trigger>
<trigger priority="124450" id="12445">
<pattern>An apparition of (*) appears to you.</pattern>
<value>TellID = %1</value>
</trigger>
<var name="TellId" id="12446">Armageddon</var>
<trigger priority="124470" id="12447">
<pattern>You replied to *:</pattern>
<value>#capture 1 Converse
#color green</value>
</trigger>
<trigger priority="127980" id="12798">
<pattern>faerie flutters down from above and lands on your shoulder, handing you a rolled up scroll.</pattern>
<value>#color white
#window converse %time() - Faerie scroll from a kender.</value>
</trigger>
<trigger priority="128560" id="12856">
<pattern>A cold voice thunders from beneath * mask,(*)</pattern>
<value>#Capture 1 Converse
#color green</value>
</trigger>
<var name="IgnorePeople" type="StringList" id="12927">
<value>elite guard|forest troll|Donut</value>
<json>["elite guard","forest troll","Donut"]</json>
</var>
</class>