[CF-Devel] Return home on save?

Michael Toennies michael.toennies at nord-com.net
Fri Mar 16 07:03:53 CST 2001


Why not make a little smarter system:

The main reason why camping (saving) on maps is bad is

1.) you log in after reset (you got phone call from mom, talking to you 2
hours about
    things you don't want to know) just in front of Jessy (= you love mom
and you are DEAD)
2.) you log in treasure room after map reset looting room again and again (=
you are a cheater)

or the accident one
3.)  you lost con and relog in to play on (=you are a brave player)

In the last case you WANT finish it, you don't want leave the map and
you are regular.

The bad point is:
* Even in non save areas your char will be saved on position if your connect
breaks! *

This is for case 3.). The server can't know why and how your con is broken.
So, punishing player for leaving maps before finishing will also upset true
players.

Well, log in on save bed position is some hard.

Why not make ONE new map cmd? And this must only be insert in some maps - in
the maps
which BIG monsters, tricky locked mazes and with treasure rooms.

In fact, what we really MUST avoid before 1.0 is this camping in treasure
rooms and locking
in minor maps like raffle. Also with the some player we yet have, i often
run in a treasure
room which is looted. The Titan Castle near Navar is so a kind of point.

The new map cmd is simple (ok, they are 2): DefStartPosX, DefStartPosY

Default values for it are for all maps -1,-1.
If relog comes to a map with -1,-1, all goes on like before.

If one or two of this is != -1, the player relog in ON POSITION OF
DefStartPosX/Y (where the
-1 is casted to 0 of course).

This will rip off all our problems:

case 1.) You get forced to log off in balrog room of Wiz Tower (in normal
case you relog between of them
without any immunity ... 100% dead also for very high players).  Now,
DefStartPosX/Y is set to entry
door of this level ... You start on save point, because the demonlord door
can't be opend, you must
recall or replay both hardest level of wiz tower to go on. Thats fair!

case 2. and 3.) You log off in treasure room of wiz tower. This is a good
and special example, because the
treasure room is a own map. Simply make all tiles non save and create in a
edge a small 2nd room with
a teleporter out. Now, if you lost con/log out, you always relogin in out of
treasure room, ready to leave.
If you are a cheater, you get kicked, if you lost con, you had a chance to
run in the cleared wiz tower again and loot the unguarded treasures.

Only if you lost con for long time and relog in after map reset you got real
punished, but thats should
be ok - we can't reserve the game for hours or days to single player - he
had to wait for better connection
times to play.

This will also work fine for OTHER MAPS?

Raffle in pupland is some of this. Saving people after map resets from
raffle is some kind of sport
in CF. With this simple 2 new commands we can telport them to a save
teleporter.
This CAN be used in really bad situations. You see you in front of 10
dragons and you know you are dead.
So you simply BREAK your con by hit power button on your computer.
Then you can think to relog on save position.

Well, because this cmd will not work on EVERY map position on default, this
will not help all times.
Also, you can't be sure the server really kill your connect then in the same
second - in badest case
you stand the next 5 min in front of the dragons frozen - not a good idea.

These new commands are really easy to implement. If mark code it

- av and i need only 1-2 hours to change the few maps where this is really
needed.
- we can simply change other maps when needed.
- its flexible
- we kill cheatings and help locked players

The big plus is, that this command avoids SIDE EFFECTS!
Because we stay in our actions on a map! You don't leave map, you don't add
things, we simply
change log in positions when you log in.

Like
if(position_playerxy(non_save_tile) && (DefStartPosX != -1 || DefStartPosY
!= -1))
{
	set_player_to_new_position();
}

Again, we talking about 3-5 treasure room maps we need to change and about
raffle... for the first step.
Really no work and easy to finish before 1.0 .

Michael

>
     
       This is probably the 5th discussion on this topic - what to do
     
     >
     
      when the player
     
     >
     
      is saved in a non standard way (ie, backup save and server crash,
     
     >
     
      or client
     
     >
     
      drops connection).
     
     >
     
     
     >
     
       The one new piece to this puzzle is the addition of savebed
     
     >
     
      paths added a while
     
     >
     
      ago, which I think makes the decision easier.
     
     >
     
     
     >
     
       For referance, right now, backup and client disconnect saves are
     
     >
     
      done wherever
     
     >
     
      the player currently is. This has a host of problems:
     
     >
     
      1) Player can disconnect after clearing out treasureroom, wait
     
     >
     
      for map to reset,
     
     >
     
      log back in, and get treasures again.  Only useful if treasures change.
     
     >
     
      2) Player in a potentially trapped area remains trapped after login.
     
     >
     
     
     >
     
       My latest thought is that always return the player back to his saveded
     
     >
     
      location.  This fixes both bugs above.  The only disadvantage is
     
     >
     
      that you get a
     
     >
     
      free word of recall in places you perhaps can not word of recall
     
     >
     
      from.  Best I
     
     >
     
      know, there are very few dungeons where that is a problem
     
     >
     
      (certainly a lot fewer
     
     >
     
      that point #1).
     
     >
     
     
     >
     
       The main reason I bring this up is that if version 1.0 is
     
     >
     
      released soon, there
     
     >
     
      will presumably be a lot more players who somehow get screwed up
     
     >
     
      (trapped in
     
     >
     
      Arena as other message states, or perhaps trapped in some new
     
     >
     
      area we had not
     
     >
     
      foreseen of - I think there are actually lots of places a player could get
     
     >
     
      trapped with the malicous "help" from another).  So providing an
     
     >
     
      easy way out
     
     >
     
      may not be bad.
     
     >
     
     
     >
     
       Backup save at home sort of does this, but home is actually the
     
     >
     
      first town, (or
     
     >
     
      may in fact be hall of selection - hmm...  it is), which is usually not as
     
     >
     
      convenient.
     
     >
     
     
     >
     
       If this becomes abusive, there may be some ways to fix it - give
     
     >
     
      the player a
     
     >
     
      high negative speed_left so after they log back it, it takes them
     
     >
     
      some amount of
     
     >
     
      time before they can do anything again - potentially reducing the
     
     >
     
      time savings.
     
     >
     
     
     >
     
       Thoughts?
     
     >
     
      _______________________________________________
     
     >
     
      crossfire-devel mailing list
     
     >
     
     
      crossfire-devel at lists.real-time.com
      
      
     >
     
     
      https://mailman.real-time.com/mailman/listinfo/crossfire-devel
      
      
     >
     
     
     
    


More information about the crossfire mailing list