<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE muclient>
<!-- Saved on Tuesday, May 22, 2007, 9:58 PM -->
<!-- MuClient version 4.01 -->

<!-- Plugin "GrabPack" generated by Plugin Wizard -->

<muclient>
<plugin
   name="GrabPack"
   author="Malix@8bit"
   id="718faf042306ba7c03f15d11"
   language="VBscript"
   purpose="Grabs various info from objects for editing."
   date_written="2007-05-22 21:55:38"
   requires="3.35"
   version="1.0"
   >
<description trim="y">
<![CDATA[
This is a package of several tools for editing information on objects.
It is designed for pennMUSH and pennMUSH derived games, but /might/ work on other systems.

**** grab command ****
Lets you edit a MUSH attribute in the command window, and then send it back to the MUSH.
Original 'grab' plugin by Nick Gammon(You can find it on the MUSHclient website).
Slightly improved cosmetically by Malix. to detect whether the object exists, detect standard attributes, and put the attribute name in uppercase.
Requires the list() function to list standard attributes.

Usage
-----

grab item/attribute

  eg.  grab me/describe


This will send a command to the server to send back the contents of the attribute into the command window for editing. Make your changes and press <enter>

**** edit command ****
Pretty much exactly the same as the grab command only it sends it to the notepad for editing instead of the command window.
Original 'editor' plugin by Nick Gammon(Again it's on the MUSHclient website).
Improved cosmetically by Malix.
Requires the list() function to list standard attributes.

Usage
-----

edit object/attribute

  eg.  edit me/describe


This will send a command to the server to send back the contents of the attribute into the notepad for editing. Make your changes and press Shift+Ctrl+S.

**** grabname commmand ****
Similar to the grab command, only it grabs the full name of the object instead of the contents of an attribute.
Useful for changing exit aliases and renaming objects with long names.
Made by Malix.

Usage
-----

grabname object

  eg.  grabname north


This does the same thing as grab only the command loaded is to rename the object. Make your changes and press <enter>

**** grablock command ****
Similar to the grab command, only it grabs @locks. Additionally your dbref is converted to 'me' and dbrefs of other players are converted to '*player'.
Made by Malix.

Usage
-----

grablock object
grablock object/locktype

  eg.  grablock me
  eg.  grablock me/use

This does the same thing as grab only the command loaded will change the locks on something. Make your changes and press <enter>
If you specify locktype it'll load that lock, but if you don't it'll get the basic lock.

**** @rnattr command ****
This is different from the other commands in that it doesn't load information for editing, but instead renames an attribute. I figured I'd include it anyway.
Made by Malix.

Usage
-----

@rnattr object/attribute=newname

  eg.  @rnattr me/test1=test2


This sends @mvattr %1/%2=%1/%3. It should be pretty self-explanatory.



GrabPack:help  <-- This help screen

]]>
</description>

</plugin>


<!--  Triggers  -->

<triggers>
  <trigger
   enabled="y"
   expand_variables="y"
   group="GrabPack"
   match="@password EDIT *"
   name="Edit_Attribute"
   omit_from_output="y"
   send_to="4"
   sequence="100"
  >
  <send>%1</send>
  </trigger>
  <trigger
   enabled="y"
   expand_variables="y"
   group="GrabPack"
   match="@password CMD *"
   omit_from_output="y"
   send_to="1"
   sequence="100"
  >
  <send>%1</send>
  </trigger>
</triggers>

<!--  Aliases  -->

<aliases>
  <alias
   match="grab */*"
   enabled="y"
   echo_alias="y"
   expand_variables="y"
   group="GrabPack"
   omit_from_output="y"
   sequence="100"
  >
  <send>@@pemit/silent me=[if(isdbref(setr(1,num(%1))),@password CMD [if(match(list(attr),%2),@@,&amp;)][ucstr(%2)] %q1=[get(%q1/%2)])]</send>
  </alias>
  <alias
   match="grabname *"
   enabled="y"
   echo_alias="y"
   expand_variables="y"
   group="GrabPack"
   omit_from_output="y"
   sequence="100"
  >
  <send>@@pemit/silent me=[if(isdbref(setr(1,num(%1))),@password CMD @@name %q1=[fullname(%q1)])]</send>
  </alias>
  <alias
   match="^grablock (.*?)(\/.*?)?$"
   enabled="y"
   echo_alias="y"
   expand_variables="y"
   group="GrabPack"
   regexp="y"
   omit_from_output="y"
   sequence="100"
  >
  <send>@@pemit/silent me=[if(isdbref(setr(1,num(%1))),@password CMD @@lock%2 %q1[case(setr(L,lock(%q1%2)),*UNLOCKED*,,=[regeditall(%qL,\\(#\\\\d+\\),switch(0,comp($1,%!),me,&lt;[hastype($1,PLAYER)],*[name($1)]))])])]</send>
  </alias>
  <alias
   match="@rnattr */*=*"
   enabled="y"
   group="GrabPack"
   omit_from_output="y"
   sequence="100"
  >
  <send>@mvattr %1/%2=%1/%3</send>
  </alias>
  <alias
   match="edit */*"
   enabled="y"
   echo_alias="y"
   expand_variables="y"
   group="GrabPack"
   omit_from_output="y"
   sequence="100"
  >
  <send>@@pemit/silent me=[if(isdbref(setr(1,num(%1))),@password EDIT [if(match(list(attr),%2),@@,&amp;)][ucstr(%2)] %q1=[get(%q1/%2)])]</send>
  </alias>
</aliases>

<!--  Script  -->


<script>
<![CDATA[
Sub OnPluginInstall
  world.setvariable "password", world.getuniqueid
End Sub

]]>
</script>


<!--  Plugin help  -->

<aliases>
  <alias
   script="OnHelp"
   match="GrabPack:help"
   enabled="y"
  >
  </alias>
</aliases>

<script>
<![CDATA[
Sub OnHelp (sName, sLine, wildcards)
  world.Note world.GetPluginInfo (world.GetPluginID, 3)
End Sub
]]>
</script> 

</muclient>
