> I'm still not exactly sure what the problem is you're having, so here's
some
> basics:

When using large models for player models the hitboxes are located as per a
normal sized player, not in the loactions specified for the large model.
Large non-player models perform correctly in all regards, including having
the hitboxes expanded to the correct size/location.

> 1) The model the client is displaying has no effect on hitbox-traceline
> intersection calculations (i.e. shooting the player).
>
> 2) The model (and specific pose) the client draws to represent the player
> can be and is often a very different from the one the server uses.

I did not know that was possible, although as I am running a listen server I
do not believe this will affect us atm.

> 3) "r_drawentities 3" and "r_drawentities 4" shows you where the CLIENT
> thinks the hitboxes are.  It does not show you where the SERVER thinks
they
> are.  In fact, all "r_drawentities #" commands are client based and what
is
> displayed does not necessarily represent the servers view of the
> model/world. I'm not aware of any debug output that will show you were the
> server thinks a given models hitboxes are.

Damn :}

> 4) For all hitbox calculations, the SERVER uses the model referenced by
the
> players server side pev->model variable, and nothing else.

I will verify that this is correct. I am currently using this code to set
models:

// This is called from CBasePlayer::Spawn()
void CClassGarg::ClassSpawn ()
{
 m_pOwner->SetPlayerModel ("garg", "models/player/garg/garg.mdl");
...
}
void CBasePlayer::SetPlayerModel (char *szSubModel, char *szModelPath)
{
  // Major model change
 SET_MODEL(ENT(pev), szModelPath);

 // Submodel change
 strcpy ( m_szShortModelname, szSubModel);

 // Force the model change
 SET_CLIENT_KEYVALUE (entindex(), GET_INFO_BUFFER (edict()), "model",
szSubModel);
}


> 5) For display, the client uses a number of different methods to override
> the model is shows for any given player, most commonly through something
> like: "m_pRenderModel =
IEngineStudio.SetupPlayerModel( m_nPlayerIndex );".
> As a test, you should elimiate these overrides and change all occurances
of
> the above to: "m_pRenderModel = m_pCurrentEntity->model;".

I have not changed any of this code, but will make this change and see what
happens.

Thanks, Jeff.
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to