From: Markus R. <rol...@un...> - 2005-12-13 21:24:49
|
Hi, sorry for the long delay- I'm quite busy at the moment. I just committed Heshams code to the CVS and added him to the THANKS file. Hesham wrote: > ifText and GetText are using in sexpmonitor.cpp which adds said messages > to monitor infos. In my tests it worked without problem. > > (Info (P (s 1)(id 1)(pos -50 0 0.22)(say Test_1))(P (s 1)(id 2)(pos > -37.9934 0.00654434 0.22))(B (pos 0 0 0.111))) It seems that ifText is used as a flag that tells the Monitor, that the SayEffector has been used. However - The naming isn't obvious - The flag shouldn't be part of an effector. An effector is not supposed to hold any state (neither ifText nor mMessage) - The flag is never reset I propose the following: - Remove the flag and mMessage from Sayeffector and move it into Agentstate. - Change the flag to a time stamp (read the current time from GameStatAspect). - In the sexpmonitor compare the current time to the time stamp to check if a player said something since last update Any volunteers ? ;) regards, Markus |