Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="iso-8859-1"?>
- <!DOCTYPE muclient>
- <!-- Saved on Monday, October 01, 2012, 8:13 PM -->
- <!-- MuClient version 4.73 -->
- <!-- Plugin "autosipper" generated by Plugin Wizard -->
- <muclient>
- <plugin
- name="autosipper"
- author="Tanris"
- id="978f776dd727cdfa4b7a7fbb"
- language="PerlScript"
- purpose="Basic autosipper"
- save_state="y"
- date_written="2012-10-01 20:12:36"
- requires="4.73"
- version="1.0"
- >
- </plugin>
- <!-- Get our standard constants -->
- <include name="constants.pl"/>
- <!-- Triggers -->
- <triggers>
- <trigger
- enabled="y"
- match="^You may drink another health or mana elixir or tonic\.$"
- regexp="y"
- script="recoveredSip"
- sequence="100"
- >
- </trigger>
- <trigger
- enabled="y"
- keep_evaluating="y"
- match="^Health\:\s+(\d+)\s*\/\s*(\d+)\s+Mana\:\s*(\d+)\s*\/\s*(\d+)$"
- regexp="y"
- send_to="12"
- sequence="100"
- >
- <send>$states{"maxHealth"} = %2;
- $states{"maxMana"} = %4;</send>
- </trigger>
- <trigger
- enabled="y"
- match="^Your mind feels stronger and more alert\.$"
- name="sippedMana"
- regexp="y"
- script="sipped"
- sequence="100"
- >
- </trigger>
- <trigger
- enabled="y"
- keep_evaluating="y"
- match="(\d+)h\, (\d+)m\, (\d+)e\, (\d+)w ([cexkdb]*)"
- regexp="y"
- send_to="12"
- sequence="100"
- >
- <send>prompt(%1,%2);</send>
- </trigger>
- <trigger
- enabled="y"
- match="^The elixir flows down your throat without effect\.$"
- name="sip_failure"
- omit_from_output="y"
- regexp="y"
- script="sipFailure"
- sequence="100"
- >
- </trigger>
- <trigger
- enabled="y"
- match="^The elixir heals and soothes you\.$"
- name="sippedHealth"
- regexp="y"
- script="sipped"
- sequence="100"
- >
- </trigger>
- </triggers>
- <!-- Aliases -->
- <aliases>
- <alias
- script="toggleSipPriority"
- match="^hh$"
- enabled="y"
- regexp="y"
- sequence="100"
- >
- </alias>
- </aliases>
- <!-- Variables -->
- <variables>
- <variable name="maxHealth">6365</variable>
- <variable name="maxMana">8004</variable>
- </variables>
- <!-- Script -->
- <script>
- <![CDATA[
- #elixirs
- %states = (
- "sip" => 1,
- "currentHealth" => 0,
- "currentMana" => 0,
- "sipHealthLevel" => 0.8,
- "sipManaLevel" => 0.8,
- "sipPriority" => "health",
- "maxHealth" => 0,
- "maxMana" => 0
- );
- sub prompt {
- my ($h, $m) = @_;
- $states{"currentHealth"} = $h;
- $states{"currentMana"} = $m;
- healthMana();
- }
- sub sip {
- my $elixir = $_[0];
- if($states{"sip"} == 1) {
- $world->Send("sip $elixir");
- $states{"sip"} = 0.5;
- $world->AddTimer("sip_again",0,0,0.65,"",1,"sipAgain");
- }
- }
- sub sipAgain {
- $world->DeleteTimer("sip_again");
- $states{"sip"} = 1;
- healthMana();
- }
- sub sipped {
- $world->DeleteTimer("sip_again");
- $world->DeleteTimer("sip_failsafe");
- $world->AddTimer("sip_failsafe",0,0,8.0,"",1,"sipFailsafe");
- $states{"sip"} = 0;
- }
- sub sipFailure {
- $states{"sip"} = 0;
- }
- sub recoveredSip {
- $world->DeleteTimer("sip_failsafe");
- $states{"sip"} = 1;
- healthMana();
- }
- sub sipFailsafe {
- $world->Note("fuck");
- recoveredSip();
- }
- sub toggleSipPriority {
- if($states{"sipPriority"} eq "health") {
- $world->Note("Switched to mana sip priority.");
- $states{"sipPriority"} = "mana";
- }
- elsif($states{"sipPriority"} eq "mana") {
- $world->Note("Switched to health sip priority.");
- $states{"sipPriority"} = "health";
- }
- }
- sub healthMana {
- my $health = $states{"currentHealth"};
- $mana = $states{"currentMana"};
- if($states{"sipPriority"} eq "health") {
- if($health <= ($states{"maxHealth"} * $states{"sipHealthLevel"})) {
- sip("health");
- }
- elsif($mana <= ($states{"maxMana"} * $states{"sipManaLevel"})) {
- sip("mana");
- }
- }
- elsif($states{"sipPriority"} eq "mana") {
- if($mana <= ($states{"maxMana"} * $states{"sipManaLevel"})) {
- sip("mana");
- }
- elsif($health <= ($states{"maxHealth"} * $states{"sipHealthLevel"})) {
- sip("health");
- }
- }
- }
- ]]>
- </script>
- </muclient>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement