[Twisted-Python] Reality Servers
Chris.Hadgis at mincom.com
Chris.Hadgis at mincom.com
Sun Sep 2 17:41:31 MDT 2001
On Wed, Aug 29, 2001 at 09:24:33AM +1000, Chris.Hadgis at mincom.com wrote:
!> (1) 'pull string' of the John Romero action figure results in the
!> broadcast messages appearing twice. Calls to broadcastToPair() appear
but
!> calls to broadcast() do not. I don't know why. I changed the function
so
!> the John Romero messages actually appear now. I don't know why
broadcast()
!> won't work from the 'pull string' function.
!
!Interesting. I'll look into it.
I have some more information about this. I know where the problem is, but
I don't know the solution. I know *a* solution, but not if it is the right
one :)
If I 'pull string' when the figure is in the room, I get the messages
once. If I take the figure and 'pull string', I get the messages twice.
This is because broadcastToPair() sends the message to all containers
associated with the figure's current location. If I leave the figure where
it is, the containers are 'Room'. But when I take the figure the
containers are 'Guest' and 'Room'.
My proposed solution is to not include the location's containers in the
container list. I am not sure of all of the effects of doing this. I know
when I do this that I get the messages once whether I have taken the
figure or not. I don't know how to test this with multiple players :( on
Win98. And I don't know the code well enough to understand the logic
behind it.
I also think the set of broadcast routines should be standardised,
especially at this early stage. That way, there will be some standards for
TRDemo and Inheritance as well as any future games. Some broadcast
routines just call others.
I do have plans to port the more common IF examples to TR (Golden Skull,
Alice In Wonderland) and perhaps the Greedy Gargoyle from PUB :) when I
run out of things I wish to do to TR.
The 'drop' routine for the figure also needs some work. If I drop it when
I don't have it, I get the message (the self squeaks). If I take it and
drop it, I don't get the message. All that is needed is a test to see if
the current location is a guest and broadcast the message then. I don't
know why there is a call to InappropriateVerb after the message.
Hopefully I will get some more time later to sort this out.
Cheers,
ChrisH
--
This transmission is for the intended addressee only and is confidential
information. If you have received this transmission in error, please
delete it and notify the sender. The contents of this e-mail are the
opinion of the writer only and are not endorsed by the Mincom Group
of companies unless expressly stated otherwise.
More information about the Twisted-Python
mailing list