-Upgrading LambdaCore to 1.8.0-
This fixes $verb_editor:parse_invoke so you won't get nasty tracebacks when trying to @edit verbs. You need to add some of the other $code_utils verbs, also. @program $verb_editor:parse_invoke ":parse_invoke(string,v)"; " string is the commandline string to parse to obtain the obj:verb to edit"; " v is the actual command verb used to invoke the editor"; " => {object, verbname, verb_code} or error"; vref = $string_utils:words(args[1]); if (!vref || !(spec = $code_utils:parse_verbref(vref[1]))) player:tell("Usage: ", args[2], " object:verb"); return; endif if (argspec = listdelete(vref, 1)) if (typeof(pas = $code_utils:parse_argspec(@argspec)) == LIST) if (pas[2]) player:tell("I don't understand \"", $string_utils:from_list(pas[2], " "), "\""); return; endif argspec = {@pas[1], "none", "none"}[1..3]; argspec[2] = $code_utils:full_prep(argspec[2]) || argspec[2]; else player:tell(pas); return; endif endif if (!$command_utils:object_match_failed(object = player:my_match_object(spec[1], this:get_room(player)), spec[1])) vnum = $code_utils:find_verb_named(object, vname = spec[2]); if (argspec) while (vnum && verb_args(object, vnum) != argspec) vnum = $code_utils:find_verb_named(object, vname, vnum + 1); endwhile endif code = vnum ? this:fetch_verb_code(object, vnum) | E_VERBNF; if (typeof(code) == ERR) player:tell(code != E_VERBNF ? code | "That object does not define that verb", argspec ? " with those args." | "."); return code; else return {object, argspec ? {vname, @argspec} | vname, code}; endif endif return 0; .
-5-
[Previous Page][Next Page][Contents]