-- [ Picked text/plain from multipart/alternative ] Thanks the help. Are you having the same problem with your bots or just going out of your way to be helpful? Either way I appreciate it. On further investigation, it appears the problem is due to the bots user commands going through a different code path. AFAIK, we're supposed to be calling
RunPlayerMove(&cmd); and PostClientMessagesSent(); on the bot controller for the bot. This works fine and all, but it bypasses the codepath that the players usercommand takes, which is CBasePlayer::ProcessUsercmds Since CBasePlayer::ProcessUsercmds doesn't get called for bots, AllocCommandContext() doesn't get called for bots, and therefor why int command_context_count = GetCommandContextCount(); is always 0 for bots(in CBasePlayer::PhysicsSimulate), and its within that loop that UpdateVPhysicsPosition is called. Are there any special considerations to UpdateVPhysicsPosition being called? Or can I safely call it every frame at the end of the bot block in CPlayerInfo::RunPlayerMove. Think, first I'll see what happens if I call ProcessUsercmds on the bot player directly. Calling UpdateVPhysics on my own feels like a dirty hack. I'm hesitant about doing stuff like just calling the function directly. IMO that's masking the symptoms of a potentially bigger problem. It looks like this is another problem that needs addressing if Valve gets around to fixing the broken bot support, as that is the only way to feed user commands from server plugins. On 8/22/06, Paul Peloski <[EMAIL PROTECTED]> wrote: > > -- > [ Picked text/plain from multipart/alternative ] > Okay, seems like the problem is in CBasePlayer::PhysicsSimulate, where the > UpdateVPhysicsPosition is not being called for bots. > > PhysicsSimulate is the main place where UpdateVPhysicsPosition is called. > There's also a wrapper for UpdateVPhysicsPosition called > UpdatePhsyicsShadowToCurrentPosition that is called sometimes, for example > when being pushed by your lift! > > So basically what's happening is that PhysicsSimulate is not updating > physics shadow for every game frame, but some touch events are calling a > function that moves the shadow into place. Whenever the shadow moves, it > wakes up, but when its idle for too long (because PhysicsSimulate isnt > updating it) it falls asleep. > > One way to fix this would be to override PhysicsSimulate in the bot's > entity > class and make sure that UpdateVPhsyicsPosition is called (just hack up > the > PhysicsSimulate from CBasePlayer so that it calls it under the right > circumstances for your bots instead of actual players) > > I hope this helps. Fortress Forever is looking terrific these days, best > of > luck to you guys. > > Regards, > > Paul > -- > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > -- _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

