MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Re: wish lists
On Wed, 24 Jul 1996, Kipp the Kidd wrote:
> The last problem is +c and -c. The C bit affects the behavior of /setting/
> a property, and I have no program for setting properties, so all C will do
> is cause problems.
I have (sitting around here /somewhere/) a wrapper that I wrote for
functions that sat on #1 and handled all property/verb calls that came
to it. It worked kinda like this...
.program #1:_*
set_task_perms(cp = caller_perms());
pname = verb[2..$];
if (args)
{stuff, ?perms = `cp.default_prop_perms ! ANY => "r"'} = args;
"I /still/ think the above line should return {stuff, perms}";
if (stuff == E_NONE)
return `delete_property(this, pname) ! E_PROPNF, E_PERM';
else
try
this.(pname) = args[1];
"maybe a check for if args[2]?";
except (E_PROPNF)
add_property(this, pname, args[1], {cp, perms});
endtry
"the try stuff still dies on E_PERM ... I want a set_debug_flag(caller_debug_flag() type thing!!!!! I can do in-db hacks, but there's no way to know for certain what the previous debug flag was in all cases";
return this.(pname);
endif
else
return this.(pname);
"dying on E_PROPNF or E_PERM... see above comment";
endif
.
The above code was just written, but is much like my real version
(somewhere :). At least, it's supposed to work like it. :) Basically,
;player:_last_connect_time() => returns player.last_connect_time
;player:_last_connect_time(time()) => sets player.last_connect_time to
be time, creating it if necessary
as a property owned by the perms
with only the readable flag set
;player:_last_connect_time(time(), "rwc") => sets player.last_connect_time
to be time, creating if necessary
as a prop owned by the perms with
the three flags set
;player:_last_connect_time(E_NONE) => deletes the property
player.last_connect_time
Comments?
--Nate
Once again, in the middle of a relocation, but I'll get back to you
ASAP.
References:
Home |
Subject Index |
Thread Index