Re: [crossfire] NPC respawning

2010-01-09 Thread Nicolas Weeger
  I assume this would apply also to stores where the merchant is
  represented by a NPC inside the store (for example in Pupland)?

   I would think so.

Actually I haven't thought of that. Or at least killing the merchant wouldn't 
close the shop.


   Some mechanism to relocate players, etc, would probably be needed.  But
 this is a complicated situation - for some of the reasons you mention.  But
 also some taverns/shops/whatnot also have dungeons beneath them - it
 wouldn't be too uncommon for someone to be in those dungeons with their
 exit (to the tavern) now closed.

   In retrospect, closing the building probably isn't a good idea, as it
 could also be used as a DOS attack by players, eg, player goes in, kills
 some NPC's, gets kicked out of the building, when it reopens, he
 repeats,and effectively the building is never usable by anyone.

So what? One can already do a DOS on maps anyway :)
And anyway I don't plan on letting NPCs be killed without bad consequences for 
the player!



  Apropos, have we been thinking of general solutions to situations like
  this, even spells like word of recall (which not all players have) can be
  unusable in no spells areas? For example, I've once become stuck inside
  the Devourers' temple cellar, when I mistakenly re-flipped the door
  opening lever and ran through the closing door into the vampire hideout.
  Yes, I can see how having a lever also on the inside would mean the
  curious vampires would sooner than later use it, but it was a bit of a
  bummer being stuck in there with vampires on the outside (so I could not
  just create a new character to open the door), and nobody else on the
  game to give me a hand...

   There are probably many areas where players can become stuck.  Some are
 intentional, most are probably bugs.

All should be fixed, IMO - players shouldn't be trapped.
Exception would be maps specifically and explicitely for many players, where 
doors depend on other players triggering some things. And still you should be 
able to get out if needed.


   It probably wouldn't be too hard to add some ingame command to do that -
 something like 'returnhome' (better name needed).  Put a 60 second (or
 something) timer on it, so you can't use it to immediately get out of
 combat/death.  One could also make it so you can't do any
 movement/combat/spellcasting during that sixty seconds either - otherwise
 the returnhome is cancelled.  In that way, you can't use it to prepare for
 combat/something dangerous.

Overkill, IMO.


   However, in most cases, buggy maps should be identified and fixed - put a
 lever on both sides of the door.  In that vampire example, the vampires
 could be modified so they don't activate the levers - IIRC, one of the
 flags controls that, and it could just be cleared.

Put a lever behind a destructible wall, put a emergency door opening sign, 
and open the door when lever is pulled - and don't forget to teleport/create 
monsters too, to make the player pay the emergency price :)


Nicolas
-- 
http://nicolas.weeger.org [Mon p'tit coin du web]


signature.asc
Description: This is a digitally signed message part.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] NPC respawning

2010-01-09 Thread Nicolas Weeger
   Having new ones spawn is reasonable, but I then start wondering what do
 we really get from that vs making them unkillable?  If the bar tender is
 killed and in a minute a new one shows up with all the same information,
 not sure what letting them kill gains us.  Sure, it may be more realistic,
 but having a new person show up isn't, so your trade one point of realism
 for another.  If anything, if people kept getting killed in a tavern, you'd
 think people would actually stay away from it.

Yes, actually. If someone is killed in a tavern, NPCs should either flee or 
fight the killer.
And then guards should be called.
And the killer should be unable to enter various shops for some time.
Though of course if you kill the magical shop merchant, maybe you'll get 
rewarded (by an item, a special thing) by the holy priest of Gorokh of the 
town because he hated him!




   I'd think both of these cases would not really alter the case of maps
 resetting - if map resets for whatever reason, tavern would go back to
 default setup.

   One could even see the tavern closing down (people can not enter it),
 which would force a reset sooner.  Could be said that new workers need to
 be found, damage repaired, etc.

I was thinking of a delay before a new NPC appears - transmission time?


   I'm not really adverse to any of them - it just seems like writing
 respawn code could be a fair amount of work.  One thing to keep in mind is
 that a solution that can only be done in maps is best - I know that not
 everyone knows the scripting system, so I could imagine some folks wouldn't
 bother with the scripting work.

   From a maintenance point, if changing the conversation of an NPC means
 having to load up the map, see that it points to a script, go to that
 script, and then update it, that also becomes a bit more of a pain.

   I wonder if instead the NPC's could somehow be stored/associated with the
 map, and there is a script that goes and places them (during initial load
 an periodically during the life of the map).

Yes, I was thinking of handling NPCs plugin-side directly, for those reasons.
And also because it's IMO the easiest way to link characters, have 
interaction between them / the actions of the player.



   Now I'm not sure if this approach is easier or harder.  A plus here is
 that all conversation is stored on the map, not in scripts - the script is
 just used for the placement (and maybe having NPC's wander about).  So a
 person without any scripting knowledge could add new NPC's and have them
 behave like the rest.

Could be done, for some NPCs, yes.


Nicolas
-- 
http://nicolas.weeger.org [Mon p'tit coin du web]


signature.asc
Description: This is a digitally signed message part.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] NPC respawning

2010-01-07 Thread Otto J. Makela
Mark Wedel wrote:

   One could even see the tavern closing down (people can not enter it), which 
 would force a reset sooner.  Could be said that new workers need to be found, 
 damage repaired, etc.

I assume this would apply also to stores where the merchant is represented by
a NPC inside the store (for example in Pupland)?

Sounds like it could be a possibility for players to get stuck inside closed
locations without normal players being able to help them from the outside.

Tread carefully unless we are sure none contain structures (like door
mechanisms which can only be opened from one side or that require payment or
special items) where one can get stuck. Maybe players could be ejected from
the area when this happens, but this is again a bit risky as some special
stores have monsters etc. around them?

Apropos, have we been thinking of general solutions to situations like this,
even spells like word of recall (which not all players have) can be unusable
in no spells areas? For example, I've once become stuck inside the Devourers'
temple cellar, when I mistakenly re-flipped the door opening lever and ran
through the closing door into the vampire hideout. Yes, I can see how having a
lever also on the inside would mean the curious vampires would sooner than
later use it, but it was a bit of a bummer being stuck in there with vampires
on the outside (so I could not just create a new character to open the door),
and nobody else on the game to give me a hand...

-- 
/* * * Otto J. Makela o...@iki.fi * * * * * * * * * * * * * * * */
   /* Phone: +358 40 765 5772, FAX: +358 42 7655772, ICBM: 60N 25E */
  /* Mail: Mechelininkatu  26 B 27,  FI-00100  Helsinki,  FINLAND */
/* * * Computers Rule 0100 01001011 * * * * * * * * * * * * */

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] NPC respawning

2010-01-07 Thread Mark Wedel
Otto J. Makela wrote:
 Mark Wedel wrote:
 
   One could even see the tavern closing down (people can not enter it), 
 which 
 would force a reset sooner.  Could be said that new workers need to be 
 found, 
 damage repaired, etc.
 
 I assume this would apply also to stores where the merchant is represented by
 a NPC inside the store (for example in Pupland)?

  I would think so.

 
 Sounds like it could be a possibility for players to get stuck inside closed
 locations without normal players being able to help them from the outside.

  Some mechanism to relocate players, etc, would probably be needed.  But this 
is a complicated situation - for some of the reasons you mention.  But also 
some 
taverns/shops/whatnot also have dungeons beneath them - it wouldn't be too 
uncommon for someone to be in those dungeons with their exit (to the tavern) 
now 
closed.

  In retrospect, closing the building probably isn't a good idea, as it could 
also be used as a DOS attack by players, eg, player goes in, kills some NPC's, 
gets kicked out of the building, when it reopens, he repeats,and effectively 
the 
building is never usable by anyone.

 
 Tread carefully unless we are sure none contain structures (like door
 mechanisms which can only be opened from one side or that require payment or
 special items) where one can get stuck. Maybe players could be ejected from
 the area when this happens, but this is again a bit risky as some special
 stores have monsters etc. around them?
 
 Apropos, have we been thinking of general solutions to situations like this,
 even spells like word of recall (which not all players have) can be unusable
 in no spells areas? For example, I've once become stuck inside the Devourers'
 temple cellar, when I mistakenly re-flipped the door opening lever and ran
 through the closing door into the vampire hideout. Yes, I can see how having a
 lever also on the inside would mean the curious vampires would sooner than
 later use it, but it was a bit of a bummer being stuck in there with vampires
 on the outside (so I could not just create a new character to open the door),
 and nobody else on the game to give me a hand...

  There are probably many areas where players can become stuck.  Some are 
intentional, most are probably bugs.

  A solution is also to just log out, and after some amount of time, if you log 
back in, you'll be back at your last savebed location.  Annoying, especially if 
you want to play the game - you don't have to wait an hour (I'm not sure if 
that 
is the time limit) before coming back in.

  It probably wouldn't be too hard to add some ingame command to do that - 
something like 'returnhome' (better name needed).  Put a 60 second (or 
something) timer on it, so you can't use it to immediately get out of 
combat/death.  One could also make it so you can't do any 
movement/combat/spellcasting during that sixty seconds either - otherwise the 
returnhome is cancelled.  In that way, you can't use it to prepare for 
combat/something dangerous.

  There may be a few maps where getting out is meant to be the hard/dangerous 
part (I think the power crystal map/fire temple is such a case), but with the 
savebed reset, there are already ways around it - it just takes an hour to wait 
for the reset.

  However, in most cases, buggy maps should be identified and fixed - put a 
lever on both sides of the door.  In that vampire example, the vampires could 
be 
modified so they don't activate the levers - IIRC, one of the flags controls 
that, and it could just be cleared.

 


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] NPC respawning

2010-01-05 Thread Rick Tanner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/5/10 12:13 PM, Nicolas Weeger wrote:
 Hello.
 
 I'm wondering about NPC (not monsters, but real NPC the player can interact 
 with) respawning when killed.
 
 If for instance you kill the owner of a tavern, should she respawn?

So the tavern owner would never respawn .. ever?

 I can see three options:
 - keep the same way it is now, respawn at map reset
 - make (some) NPCs unkillable
 - generate a random NPC close, with random dialogs not too far from the 
 original one's

What about making the NPC un-attackable or immune to all attacks?

 I admit to prefer the last solution, as it makes the world more dynamic IMO.
 Of course, then, you have to put all relevant dialogs in a script / plugin so 
 they can be redispatched on other NPCs.

Going with you preferred option listed above.. what happens when that
NPC dies for some reason?  Another nearby NPC is created?

What happens if the entire tavern population is wiped out from a
misfired spell or marauding player?



-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFLQ4/2hHyvgBp+vH4RAl8PAKDvSaC1Im4aXrDNfZOGvxHJW+CsGQCgqBcC
MxUbVTUnm6fmd7wRV6IhtbA=
=Lv+l
-END PGP SIGNATURE-

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] NPC respawning

2010-01-05 Thread Nicolas Weeger
 So the tavern owner would never respawn .. ever?

That's the subject of this thread :)

 What about making the NPC un-attackable or immune to all attacks?

= unkillable.


 Going with you preferred option listed above.. what happens when that
 NPC dies for some reason?  Another nearby NPC is created?

Yes, a NPC is created nearby (in the same building for a tavern, for 
instance), after some delay.


 What happens if the entire tavern population is wiped out from a
 misfired spell or marauding player?

Depends on the role this tavern plays, and the various NPCs.
If random NPCs, they'll respawn maybe later.
If special NPCs (dragon emissary?), then after some time there should be a 
similar one.

Of course it really depends on the context.


Nicolas
-- 
http://nicolas.weeger.org [Mon p'tit coin du web]


signature.asc
Description: This is a digitally signed message part.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] NPC respawning

2010-01-05 Thread Mark Wedel

  Having the NPC's be unkillable is the easiest approach - all that is needed 
is 
set up of proper immunities, etc to do so.

  Having new ones spawn is reasonable, but I then start wondering what do we 
really get from that vs making them unkillable?  If the bar tender is killed 
and 
in a minute a new one shows up with all the same information, not sure what 
letting them kill gains us.  Sure, it may be more realistic, but having a new 
person show up isn't, so your trade one point of realism for another.  If 
anything, if people kept getting killed in a tavern, you'd think people would 
actually stay away from it.

  I'd think both of these cases would not really alter the case of maps 
resetting - if map resets for whatever reason, tavern would go back to default 
setup.

  One could even see the tavern closing down (people can not enter it), which 
would force a reset sooner.  Could be said that new workers need to be found, 
damage repaired, etc.

  I'm not really adverse to any of them - it just seems like writing respawn 
code could be a fair amount of work.  One thing to keep in mind is that a 
solution that can only be done in maps is best - I know that not everyone knows 
the scripting system, so I could imagine some folks wouldn't bother with the 
scripting work.

  From a maintenance point, if changing the conversation of an NPC means having 
to load up the map, see that it points to a script, go to that script, and then 
update it, that also becomes a bit more of a pain.

  I wonder if instead the NPC's could somehow be stored/associated with the 
map, 
and there is a script that goes and places them (during initial load an 
periodically during the life of the map).

  For example, on a special space (or maybe as a new map property) the 
different 
NPC's are stored.  Maybe even several different ones with similar messages, but 
the NPC's themselves could be different.  Lets say there are 50 such NPC's 
stored away.

  During initial load, based on some parameter, 20 of those NPC's are copied 
and 
placed onto the map.  The script that takes care of these periodically runs to 
make sure that there are always about 20 NPC's on the map.  If one dies, it 
goes 
and places one on the map again.  There would be code that makes sure the same 
NPC is not placed twice.

  One could even extend this so that NPC's come and go - maybe some NPC's 
wander 
away, and are replaced by other ones - also adds some flavor (the NPC that told 
you about the tower a day ago isn't around anymore, but may show up again down 
the road).

  What is also perhaps interesting is that since which NPCs are on the map, 
what 
information is present may also change.  For example, of those 20 NPC's chosen, 
maybe 2 of them have basically the same information about some tower.  But 
maybe 
the NPC with information about a dungeon is not about.

  Now I'm not sure if this approach is easier or harder.  A plus here is that 
all conversation is stored on the map, not in scripts - the script is just used 
for the placement (and maybe having NPC's wander about).  So a person without 
any scripting knowledge could add new NPC's and have them behave like the rest.


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire