View Single Post
Old 03-10-2004, 04:56 PM   #3
Molly
Senior Member
 
Join Date: Apr 2002
Location: Sweden
Home MUD: 4 Dimensions
Posts: 574
Molly will become famous soon enoughMolly will become famous soon enough
I am not quite sure about ROM, but here's how it can be done in CIRCLE, within the existing code. Since the codebases are similar in many ways, it just might work in ROM too:

1. Reset a container in the room.
2. Reset the object you want to load only at reboot IN the container, as a command dependant on the container to load.

Normally, if you want the object in the container to load each time the zone resets, you also have to make another reset command as a first command, to remove the container:

0. Remove a container from the room.

Since the event in line 2 is dependant on the event in line 1 to happen, line 0 ensures that the container will be loaded each time the zone resets.

Without line 0, the container will still be in the room when the zone resets, so the item inside won't load, even if someone took it away.
Not until the room is clearted by a reboot or a crash.

This is one way to do it, within the existing code.

You can also set a low max number in reset, but that only stops the item from loading if enough players with the object are logged on at the time when the zone resets.

In Circle we also have the artifact code,  where you can restrict the total number of an object loading, even if the players that have it are not logged on at present.

Yet another way is to make a script with a zone reset trigger, which only loads the object in for instance 20% of the times.
Molly is offline   Reply With Quote