Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CF: Disconnects and Saves
I generally like this new disconnect strategy. If I were coding it, I
would do it this way:
In config.h, there would be a new define, CLIENT_DISCONNECT_TIMEOUT,
which would set the time in seconds to keep the character active
following a disconnect (i.e., not tied to map timeouts). I would set
this at something like 5 seconds for the default--long enough for the
currently-visible icestorm to kill you, but not longer than it would
likely take to run away if you were still connected.
Each map would be given a timestamp when it is loaded freshly from the
original map file.
Once a client disconnects and the timeout period has expired witout a
reconnection, the character would be saved. The save file would list
the location and the timestamp for the map.
When a character is loaded, if there is a timestamp for the map, and
the timestamp doesn't match the current version of the map, then the
player enters where a word of recall would put him.
No solution is perfect. The flaws/abuses for this one that I see are:
Characters could be brought back into a map that another player has
made much more dangerous (by leaving freed monsters or nasty spells
like lightning walls). I think this is a minor concern.
Players could use the disconnect policy as a poor-man's word of
recall. This would be a way of avoiding figuring out the solution to
several maps including the pre-historic site in Pup Land and that pit
of tombstones in the Lake Country. Both of these use anti-magic to
block normal word of recall spells.
--PC
-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to crossfire-request@ifi.uio.no]