I would like to create a buff tracker for Zombiemud. Zombiemud uses a party system and I'd like the tracker to send information to the party channel with the party say command, I did get chatgpt to come up a functional version, but I am unsure how to add more buffs beyond stoneskin to this, any attempt at getting chatgpt to edit it further results in the plugin no longer functioning. So if someone could help me edit this plugin in a way that allows me to add buffs myself without editing a large portion of the code, such as just adding new trigger blocks, that would be preferable, I think? It was difficult to get even this far with chatgpt as it kept trying to use improper formating for plugins and making things up until I gave it an example from the forums here.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE muclient>
<muclient>
<plugin
name="ZombieMUD_BuffTracker"
author="You"
id="a1b2c3d4e5f67890"
language="VBscript"
purpose="Track Stoneskin buff stacks"
save_state="y"
requires="4.00"
version="1.1"
>
<description trim="y"><![CDATA[
Tracks Stoneskin buffs on ZombieMUD and announces stacks to party.
- Triggered by:
"Granite plates form over your skin."
"Your stoneskin crumbles and drops off."
- Supports up to 2 stacks.
- Alias: buffstatus (prints current buff stacks to party channel).
]]></description>
</plugin>
<!-- Triggers -->
<triggers>
<!-- Stoneskin applied -->
<trigger
match="Granite plates form over your skin."
script="OnStoneskinGain"
enabled="y"
/>
<!-- Stoneskin fades -->
<trigger
match="Your stoneskin crumbles and drops off."
script="OnStoneskinLoss"
enabled="y"
/>
</triggers>
<!-- Aliases -->
<aliases>
<alias
match="^buffstatus$"
script="OnBuffStatus"
enabled="y"
regexp="y"
/>
</aliases>
<!-- Script -->
<script>
<![CDATA[
Dim stoneskinStacks
Sub OnPluginInstall
stoneskinStacks = 0
World.Send "party say BuffTracker loaded. Stoneskin stacks = " & stoneskinStacks
End Sub
Sub OnStoneskinGain(name, line, wildcards)
If stoneskinStacks < 2 Then
stoneskinStacks = stoneskinStacks + 1
End If
World.Send "party say Stoneskin applied. Current stacks: " & stoneskinStacks
End Sub
Sub OnStoneskinLoss(name, line, wildcards)
If stoneskinStacks > 0 Then
stoneskinStacks = stoneskinStacks - 1
End If
World.Send "party say Stoneskin faded. Current stacks: " & stoneskinStacks
End Sub
Sub OnBuffStatus(name, line, wildcards)
World.Send "party say Current Stoneskin stacks: " & stoneskinStacks
End Sub
]]>
</script>
</muclient>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE muclient>
<muclient>
<plugin
name="ZombieMUD_BuffTracker"
author="You"
id="a1b2c3d4e5f67890"
language="VBscript"
purpose="Track Stoneskin buff stacks"
save_state="y"
requires="4.00"
version="1.1"
>
<description trim="y"><![CDATA[
Tracks Stoneskin buffs on ZombieMUD and announces stacks to party.
- Triggered by:
"Granite plates form over your skin."
"Your stoneskin crumbles and drops off."
- Supports up to 2 stacks.
- Alias: buffstatus (prints current buff stacks to party channel).
]]></description>
</plugin>
<!-- Triggers -->
<triggers>
<!-- Stoneskin applied -->
<trigger
match="Granite plates form over your skin."
script="OnStoneskinGain"
enabled="y"
/>
<!-- Stoneskin fades -->
<trigger
match="Your stoneskin crumbles and drops off."
script="OnStoneskinLoss"
enabled="y"
/>
</triggers>
<!-- Aliases -->
<aliases>
<alias
match="^buffstatus$"
script="OnBuffStatus"
enabled="y"
regexp="y"
/>
</aliases>
<!-- Script -->
<script>
<![CDATA[
Dim stoneskinStacks
Sub OnPluginInstall
stoneskinStacks = 0
World.Send "party say BuffTracker loaded. Stoneskin stacks = " & stoneskinStacks
End Sub
Sub OnStoneskinGain(name, line, wildcards)
If stoneskinStacks < 2 Then
stoneskinStacks = stoneskinStacks + 1
End If
World.Send "party say Stoneskin applied. Current stacks: " & stoneskinStacks
End Sub
Sub OnStoneskinLoss(name, line, wildcards)
If stoneskinStacks > 0 Then
stoneskinStacks = stoneskinStacks - 1
End If
World.Send "party say Stoneskin faded. Current stacks: " & stoneskinStacks
End Sub
Sub OnBuffStatus(name, line, wildcards)
World.Send "party say Current Stoneskin stacks: " & stoneskinStacks
End Sub
]]>
</script>
</muclient>