Il existe un bug dans joolz corrigé dans ogc9 que j'ai appellé le bug des origines
En 2 mots quand le mec est plus bas ke vous ou plus haut vous le lockez pas forcément alors que vous devriez.
Voilà un tuto pour corriger ce bug, je pense avoir rien oublier mais il est toujours possible que si lol
bon courage (c'est assez simple).
//===========================================================================================
dans client.cpp
Code:
void HUD_PlayerMove( struct playermove_s *ppmove, int server )
remplacer
Code:
VectorCopy(ppmove->origin,me.pmOrigin);
par
Code:
gEngfuncs.pEventAPI->EV_LocalPlayerViewheight(me.pmOrigin);
me.pmOrigin[0]+= ppmove->origin[0];
me.pmOrigin[1]+= ppmove->origin[1];
me.pmOrigin[2]+= ppmove->origin[2];
//===========================================================================================
dans
Code:
aimvec* TargetRegion(int ax)
effacer
Code:
float view_ofs[3];
et
Code:
gEngfuncs.pEventAPI->EV_LocalPlayerViewheight(view_ofs);
view_ofs[0]+= me.pmOrigin[0];
view_ofs[1]+= me.pmOrigin[1];
view_ofs[2]+= me.pmOrigin[2];
remplacer
Code:
vis = gEngfuncs.PM_TraceLine((float *)&view_ofs, (float *)&EntViewOrg, PM_TRACELINE_ANYVISIBLE, 2, -1);
par
Code:
vis = gEngfuncs.PM_TraceLine(me.pmOrigin, (float *)&EntViewOrg, PM_TRACELINE_ANYVISIBLE, 2, -1);
//===========================================================================================
plus loin
remplacer
Code:
void CalculateAim(int ax,float *view)
{
OGC_TRY
float view_ofs[3],EntViewOrg[3];
AimCalc(ax,EntViewOrg);
gEngfuncs.pEventAPI->EV_LocalPlayerViewheight(view_ofs);
view[0] = EntViewOrg[0] - me.pmOrigin[0]-view_ofs[0];
view[1] = EntViewOrg[1] - me.pmOrigin[1]-view_ofs[1];
view[2] = EntViewOrg[2] - me.pmOrigin[2]-view_ofs[2];
OGC_CATCH(;)
}
par
Code:
void CalculateAim(int ax,float *view)
{
OGC_TRY
float EntViewOrg[3];
AimCalc(ax,EntViewOrg);
view[0] = EntViewOrg[0] - me.pmOrigin[0];
view[1] = EntViewOrg[1] - me.pmOrigin[1];
view[2] = EntViewOrg[2] - me.pmOrigin[2];
OGC_CATCH(;)
}
//===========================================================================================
et aussi
Code:
void CalculateAimByVector(float* EntViewOrg,float *view)
{
OGC_TRY
float view_ofs[3];
gEngfuncs.pEventAPI->EV_LocalPlayerViewheight(view_ofs);
view[0] = EntViewOrg[0] - me.pmOrigin[0]-view_ofs[0];
view[1] = EntViewOrg[1] - me.pmOrigin[1]-view_ofs[1];
view[2] = EntViewOrg[2] - me.pmOrigin[2]-view_ofs[2];
OGC_CATCH(;)
}
par
Code:
void CalculateAimByVector(float* EntViewOrg,float *view)
{
OGC_TRY
view[0] = EntViewOrg[0] - me.pmOrigin[0];
view[1] = EntViewOrg[1] - me.pmOrigin[1];
view[2] = EntViewOrg[2] - me.pmOrigin[2];
OGC_CATCH(;)
}
//===========================================================================================
Normalement ce sera ok avec ca
++