[CF-Devel] Return home on save?

Mark Wedel mwedel at scruz.net
Sat Mar 17 15:08:57 CST 2001


Andreas Vogl wrote:
>
     
      > Advantage of this:
     
     >
     
      > 1) Players can't camp out in treasure rooms - I believe the shortest
     
     >
     
      >    map reset time is basically 2 hours after the last player has left.
     
     >
     
      > 2) Players who accidentally disconnect get to resume playing from where
     
     >
     
      >    they were - for better or worse.
     
     >
     
      > 3) Players who purposely disconnect have to wait 15 minutes to get the
     
     >
     
      free
     
     >
     
      >    word of recall, which in most cases probably is not a time saver.
     
     >
     
      > 4) Players who somehow get trapped only need to wait a relatively short
     
     >
     
      >    amount of time to get brought back in a place where they can resume
     
     >
     
      >    playing.  This saves the server admin trouble of fixing characters,
     
     >
     
      >    and 15 minutes is probably faster than the server admin will respond
     
     >
     
      >    anyways.
     
     >
     
      >
     
     >
     
      > Thoughts?  Any big problems with the above scheme?
     
     >
     
     
     >
     
      Yes, I do see a problem with the above scheme. It will be impossible to
     
     >
     
      take a break from playing (a quest) for more than 15 minutes.
     
     >
     
      Okay, in most cases it's actually 2 hours (till the maps reset), but
     
     >
     
      that's still not much.
     
     >
     
      Crossfire is an addictive game that can be played quickly without
     
     >
     
      spending much time (E.g. in a "coffee break"). When the time is up
     
     >
     
      you simply put your char into a safe corner hit <save> and disconnect.
     
     >
     
      I think it would be very sad if we gave up this big advantage by setting
     
     >
     
      a 15 minutes time-up. That means the player has to sit at least one full
     
     >
     
      hour to do certain quests, bad news for "coffee break"-players.
     
     >
     
      Even I have often disconnected in the middle of Mwizard when
     
     >
     
      suddenly I had to leave - And returned the other day.
     
     >
     
     
     >
     
      However, I believe MichToen's idea is very good. The issued save/logout
     
     >
     
      problem only exists on about 0.1% of all maps. If we have this new map-
     
     >
     
      attribute we could slowly start to apply them at the most important points
     
     >
     
      (That is the big treasure rooms out there: Mwizard, demonology,
     
     >
     
      firetemple etc). Later we can extend them to more maps. Lockup-mazes can
     
     >
     
      usually be corrected by inserting emergency exits. And getting disconnected
     
     >
     
      on a map with big monsters means death in most cases anyways.
     
     
 Depends.  If the player intentionally disconnects, the connect drop should be
detected pretty quickly, and if the player isn't in direct line of monster
attack, will probably get logged out fast enough.

 I decided for now to make this a config option - there isn't much code, and it
at least gives the server admin the option of setting this if they want.

 Ideally, this should probably be an option for players when they log in.  The
problem I am really trying to fix is newbie players who get stranded someplace
(either through bug or actions) and want to get home.  I'm trying to see
potential problems when 1.0 comes out and there is presumably many more new
players doing stupid things (I think we will find lots of problems once we get
some malicous players who are really trying to screw over others - and I don't
mean player killing - just using features/bugs of the server against other
players).

 Ideally, a player should be able to select this when they log in (return home
or to old map?).  Unfortunately, the input code currently in crossfire makes
this more difficult, as you have to set a state, and some function is called
depending on the state, etc.  I am not sure how to do this better in the future
- I'm thinking that setjmp/longjmp could perhaps be used, but then we need to be
really careful about any static variables.

    
    


More information about the crossfire mailing list