[CF-Devel] button.c magic mouth suggestions

Kurt Fitzner kf_bulk at excelcia.org
Sat Sep 7 12:09:54 CDT 2002


On 07-Sep-2002 Andreas Vogl wrote:

>
     
      Before putting it on CVS though, I believe it would be
     
     >
     
      very good if the patch was tested. One thing I wonder
     
     >
     
      for example: Kurt you said this works for buttons connected
     
     >
     
      to a magic_mouth, but does it also work for inventory-checkers
     
     >
     
      and pedestals? It would be wonderful if it worked for
     
     >
     
      all of this, not only buttons.
     
     
Sorry, I wasn't explicit.  When I say "button", I mean "anything that
provides an output to a 'connection'".

One thing to note, is that 'sp 1' set on a button will reverse it's action. 
It makes pressing it cause a release and releasing it cause a press.  In this
case, if the button has 'sp 1' and the magic mouth has 'sp 1', then instead of
activating the magic mouth on button presses, it will get activated on button
releases.  In my opinion, though, this is desired behavior.  If you
explicitely reverse the operation of a button, the magic mouth will honor that
reversal.

>
     
      It sounded like you already tested the patch on your
     
     >
     
      server? If it ran bug-free there I would be pretty
     
     >
     
      confident about putting in on CVS soon, assumed nobody
     
     >
     
      else on the list has objections.
     
     
It's been fairly well tested.  I use it on a map to create a magic mouth that
activates only when someone goes through a tunnel one way.


>>
     
      Solution exists already.  Set the attributes on the button
     
     >>
     
      to walk_on 0, walk_off 1, and the button will only trigger
     
     >>
     
      on a walk_off. Or visa-versa.
     
     >
     
     
     >>
     
     From my experience this doesn't work.
     
     >
     
      When you set "walk_on 0" to a button it will never get
     
     >
     
      pressed because it doesn't realize a step-on. When you set
     
     >
     
      "walk_off 0" the button will get pressed only once and never
     
     >
     
      be released because it doesn't realize the step-off.
     
     
I tested this out and this is true.  When walk_off is 0, the button never gets
released and the magic mouth is activated only once.  When walk_on is zero,
the button is never pressed at all.


>
     
      Kurt's proposed changes make a lot of sense, really.
     
     >
     
      AFAIK it is not possible to make a sane work-around for
     
     >
     
      the problem, and I really tried hard once.
     
     
I won't tell you how long I worked on this before I gave up and changed the
hard code.

        Kurt.


    
    


More information about the crossfire mailing list