Re: cancel command

From: Patrick Dughi (dughi@imaxx.net)
Date: 06/21/02


> > This is what I don't want:
> >> cast 'lightning bolt' drake     - 1st command
> > cast 'lightning bolt' drake       - 2nd, still lagging from 1st
> > cast 'fireball' drake             - 3rd, not even close
> >
> > Drake breaks your head open.
> > You have died. blah blah blah
> >
> > MENU
> > lag
> > Invalid menu choice!
> > MENU
> > Invalid menu choice!
> > MENU
> >
> >
> I take you want to flush all the pending commands after a battle so you
> don't get spammed with all the queued up commands. if thats the case you
> probably want to add something to die or raw_kill that would empty out
> all the currently received data that the players descriptor has.

        Actually, that probably wouldn't work.  If you're having latency
problems realize that the data is never sent to the server (or received)
in the first place.  It's just filling up an invisible queue maintained by
your tcp/ip stack.

        Tcp tries to send - fails.. repeats.

        So, you can flush the buffer all you want, but this is what the
server will get;


client: run command : kill monster
server: run a round of battle
server: run a round of battle
server: kill character
server: flush incoming buffer
server: present after-death screen
client: cast 'spell' at monster
client: cast 'spell' at monster
client: cast 'spell' at monster


        The only way to 'fix' this is to write a custom client that can
react in the proper way, or an easier solution, simply appear to react in
the correct way.

                                PjD


--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT