[CF-Devel] plugin and events
Todd Mitchell
temitchell at sympatico.ca
Tue Sep 24 10:18:11 CDT 2002
----- Original Message -----
From: Mark Wedel
>
There is probably some good reasons that global events can not be linked
to
>
local objects.
>
>
First, the number of objects that need to be examined for one of these
events
>
could be prohibitive - even if only 20 objects currently in memory use it,
all
>
objects in memory (thousands, or tens of thousands) would need to get
examined.
>
>
Second, the objects listening for these events may not be in memory when
the
>
event happens. IF a map is reset, it is likely in most cases that the
objects
>
for the map that is being reset is not in memory.
>
>
Some, like mapenter and mapleave could be perhaps be tied to the
specific
>
exits (although, apply can be used for that). It would perhaps be
interesting
>
to have plugins based on the map's themselves.
>
>
Eg, be able to say something like '/city/city' have mapenter and
mapleave
>
plugins associated with it.
>
>
As said, problem is these objects may not be in memory at the time of
the
>
event....
Yes, I didn't want to be able to hook local objects to the global map reset
event, I was thinking that a new local map refresh event could be useful
(and not too prohibitive since it would only have to check objects on that
map). Then you would not have a problem that objects would not be in memory
since it would only be objects going into memory that could hook the event.
I don't know if this is possible but it sounds (to the non-expert here)
possible... (what is the CFWreadymapname wrapper?)
(BTW - I also noticed one wrapper - GETARCHBYOBJNAME, is this why the plugin
uses the object common name and not the arch name?)
>
In any case, what's the problem with using unique-item files? you can
>
make individual objects unique, and they will persist no matter where they
are
>
dropped.
no problem with using unique-item files, but for some things you wanted to
do it would be more (dynamic? straightforward? simple?) if there was a local
map refresh hook. Thinking more of non pickable objects - or intercepting
the arch that is placed on a map (like creatures who are tougher depending
on how many players are on the server when the map is created/refreshed.)
>
Now it would be useful to attach scripts to most unique objects - in
>
particular to the pickup and drop - if someone drops a unique item in a
shop
>
(tries to sell it), it goes back to its starting location for example -
pickup
>
could be used for it to store away where it was picked up.
This is a good idea too, I remember on the Abermud there was a pit where you
dumped quest items and other garbage and got some xp for them - presumably
doing you could then return some items into circulation or kick off a
refresh(?) of that quest.
Again just an idea.
More information about the crossfire
mailing list