[crossfire] Drop confusion with spooky action at a distance

2013-03-19 Thread Otto J. Makela

I believe I've found an interesting (server side?) bug.

If you have a container on the ground (let's say a quiver), you open
it while standing over it, and attempt to drop something into it with
"drop xxx" ("drop arrows", even if no objects match) something strange
happens and the container disappears from view while remaining open.
Dropping an item with the mouse from the inventory doesn't do this.

Moving away from the (unseen) container will normally close the
container and it will appear back in sight. But if you open a second
container on the ground while the first one is unseen, the first
container never gets closed correctly when you move away from the spot
(rather strange messages get displayed "You close second container
(open) (active)", "You open quiver (open) (active).") and spooky action
at a distance ensues.

At this point, trying to pick objects other than which fit into the
container will result in "You can only put arrows into the quiver (open)
(active).", picking up arrows from the ground will magically transfer
them to the open container and using the keyboard comma (which usually
picks an object from the ground) will retrieve arrows from the quiver
into your inventory.

--
   /* * * Otto J. Makela  * * * * * * * * * */
  /* Phone: +358 40 765 5772, ICBM: N 60 10' E 24 55' */
 /* Mail: Mechelininkatu 26 B 27,  FI-00100 Helsinki */
/* * * Computers Rule 0100 01001011 * * * * * * */
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Keeping capitalization consistent in maps

2013-03-19 Thread Otto J. Makela

On 2013-03-19 05:18, Kevin Zheng wrote:


Proper nouns should be capitalized, but "Arena Guard" appears
capitalized. On the other hand, "ticket vendor" is not capitalized.
Where do we typically draw the line between a generic noun and a proper
noun?


There is also a long-standing problem that there are objects which are
"keys" and objects which are "Keys". Same with swords and some other
categories.

This of course comes up with the command line commands like "drop".

--
   /* * * Otto J. Makela  * * * * * * * * * */
  /* Phone: +358 40 765 5772, ICBM: N 60 10' E 24 55' */
 /* Mail: Mechelininkatu 26 B 27,  FI-00100 Helsinki */
/* * * Computers Rule 0100 01001011 * * * * * * */
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] Time delay in maps

2013-03-19 Thread Kevin Zheng
Hi,

I'm trying to implement time delay in one of the maps I'm working on.
Unfortunately, I have no idea how to approach this. I suspect I have to
do something in Python, but I've never done this before, either.

Basically, a magic ear will activate a connection, which needs to start
a timer. When the timer runs out, it should activate a different
connection that opens a door.

Any suggestions?

Thanks,
Kevin Zheng
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Keeping capitalization consistent in maps

2013-03-19 Thread Mark Wedel

On 03/19/13 01:39 AM, Otto J. Makela wrote:

On 2013-03-19 05:18, Kevin Zheng wrote:


Proper nouns should be capitalized, but "Arena Guard" appears
capitalized. On the other hand, "ticket vendor" is not capitalized.
Where do we typically draw the line between a generic noun and a proper
noun?


There is also a long-standing problem that there are objects which are
"keys" and objects which are "Keys". Same with swords and some other
categories.

This of course comes up with the command line commands like "drop".



 For normal objects (swords, keys, etc) I would say they should all be lower 
case.

 Normal English would dictate that things like Arena Guard, ticket vendor, etc, 
should all be lower case, since as noted, they are not proper nouns.


 OTOH, if other conversations refer to these NPCs, it would be nice to give 
them a proper if a particular one has to be talked to, eg, 'talk to arena guard 
John'.  Otherwise, if there are 5 'arena guards', but only the 'Arena Guard' 
holds a conversation, that just gets confusing.




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


Re: [crossfire] Time delay in maps

2013-03-19 Thread Mark Wedel

On 03/19/13 09:55 AM, Kevin Zheng wrote:

Hi,

I'm trying to implement time delay in one of the maps I'm working on.
Unfortunately, I have no idea how to approach this. I suspect I have to
do something in Python, but I've never done this before, either.

Basically, a magic ear will activate a connection, which needs to start
a timer. When the timer runs out, it should activate a different
connection that opens a door.

Any suggestions?


 In the past, people did things like this with clever use of boulders, 
connected spike traps, etc.  I'm not sure if there is any simple way to do this.


 The way it works with boulders is that first connection (magic ear) activates 
the spikes under the boulder.  IIRC, you can set the speed of the spikes, so can 
control the timing to some extent.  The spikes push the boulder onto a button 
which then activates the next step (could be another set of spikes with another 
boulder).  The initial spikes, button, and boulder are in a hidden 1x2 room so 
that the boulder can only get pushed onto the spikes.


 Now if you want this to reset in some time, you then need a set of spikes 
beneath the boulder to push it back to its original location (and some logic to 
lower those initial spikes).


 Or you could do with this with a script - I'm not sure the details, but I'd 
certainly imagine something like having the script tied to some normally 
inactive object that is linked to that ear.  On magic ear activation, the script 
updates the speed of another object to be non zero, and based on the speed and 
speed_left value and pretty precisely set a time.  When that second object gets 
an action, it runs a different script/pushes a different button.


 This could probably be done in one object by toggling the speed - one just has 
to also design that script to behave properly if it gets activated multiple times.

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