@verb #6570:"@unpack @unpack! @unstuff @unstuff!" any any any rxdo #2633 @program #6570:"@unpack @unpack! @unstuff @unstuff!" any any any "@unpack [to ]" "@unpack : [to ]" "Essentially, form one () takes the actual property name as found in @packed (left), and @unpacks the verb.)" "Form two (:) checks to see if you've @packed a verb from an object . If so, then, it unstuffs it." "Optionally, each form will also let you @unpack it to a different object then the verb was originally located on when it was @packed." {p, tobj, argstr} = {player, #0, length(args) > 0 ? args[1] | ""} callers()[1][1..2] == {player, "my_huh"} || raise(E_PERM) set_task_perms(player) ovl = $code_utils:parse_verbref(pname = argstr) index(argstr, ":") ? {dobj = p:my_match_object(ovl[1]), pname = tostr(ovl[2], "_code", toint(dobj))} | 0 if (!argstr || (length(args) > 1 && (args[2] != "to" || length(args) != 3))) p:tell("Syntax: @unpack [to ]") return p:tell(" : @unpack : [to ]") elseif (length(args) == 3) tobj = p:my_match_object(args[3]) if (!$recycler:valid(tobj)) return p:tell("Cannot ", verb, " to ", args[4], " because I cannot find ", args[4], ".") endif p:tell("Now ", verb, "ing to ", tobj) endif if (!(pname in properties(p = player))) return p:tell("There is no @pack'ed verb by the name: `", pname, "'.") endif packed_verb = p.(pname) {vcode, vinfo, vargs, dobj} = {@packed_verb} if (caller_perms() != vinfo[1]) player:tell("E_PERM.. you dont control this verb. (", $su:nn(caller_perms()), " != ", vinfo[1], ")") return player:tell("If this is not the case, feel free to mention it to $eve, this is an extremely quick & untested patch.") endif tobj != #0 ? dobj = tobj | 0 {owner, perms, aliases} = {@vinfo} v = $string_utils:first_word(aliases)[1] if ($code_utils:find_verb_named(dobj, v) != -1) if (index(verb, "!")) delete_verb(dobj, v) p:tell(dobj, ":", v, " successfully removed.") else p:tell("Cannot ", verb, ". ", dobj, ":", v, " already exists.") return p:tell("Use ", verb, "! to ", verb, " overwrite it.") endif endif {add_verb(dobj, vinfo, vargs), set_verb_args(dobj, v, vargs), set_verb_code(dobj, v, vcode)} p:tell(dobj, ":", v, " code set.") delete_property(p, pname) p:tell(p, ".", pname, " successfully deleted.") "Last modified by Dax (#789) on Tue May 3 14:09:36 2005 MDT." .