Raised This Month: $ Target: $400
 0% 

get_user_origin keeps returning 0,0,0


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 01-05-2008 , 07:41   Re: get_user_origin keeps returning 0,0,0
Reply With Quote #7

get_user_origin (mode 0) doesn't return any angle, only player's position...

http://www.amxmodx.org/funcwiki.php?...igin&go=search

Code:
If mode is passed, the origin changes:
0 - current position (Default)
1 - Position from eyes (weapon aiming)
2 - End position from player position
3 - End position from eyes (hit point for weapon)
4 - Position from last bullet hit (only CS)
PHP Code:
static cell AMX_NATIVE_CALL get_user_origin(AMX *amxcell *params/* 3 param */
{
    
int index params[1];
    
    if (
index || index gpGlobals->maxClients)
    {
        
LogError(amxAMX_ERR_NATIVE"Invalid player id %d"index);
        return 
0;
    }
    
    
CPlayerpPlayer GET_PLAYER_POINTER_I(index);
    
    if (
pPlayer->ingame)
    {
        
int mode params[3];
        
cell *cpOrigin get_amxaddr(amxparams[2]);
        
        if (
mode == 4)
        {
            
cpOrigin[0] = (long int)pPlayer->lastHit.x;
            
cpOrigin[1] = (long int)pPlayer->lastHit.y;
            
cpOrigin[2] = (long int)pPlayer->lastHit.z;
            return 
1;
        }
        
        
edict_tedict pPlayer->pEdict;
        
Vector pos edict->v.origin;
        
        if (
mode && mode != 2)
            
pos pos edict->v.view_ofs;
        
        if (
mode 1)
        {
            
Vector vec;
            
Vector v_angle edict->v.v_angle;
            
float v_vec[3];
            
            
v_vec[0] = v_angle.x;
            
v_vec[1] = v_angle.y;
            
v_vec[2] = v_angle.z;
            
            
ANGLEVECTORS(v_vecvecNULLNULL);
            
TraceResult trEnd;
            
Vector v_dest pos vec 9999;
            
            
float f_pos[3];
            
f_pos[0] = pos.x;
            
f_pos[1] = pos.y;
            
f_pos[2] = pos.z;
            
            
float f_dest[3];
            
f_dest[0] = v_dest.x;
            
f_dest[1] = v_dest.y;
            
f_dest[2] = v_dest.z;
            
            
TRACE_LINE(f_posf_dest0edict, &trEnd);
            
pos = (trEnd.flFraction 1.0) ? trEnd.vecEndPos Vector(000);
        }
        
cpOrigin[0] = (long int)pos.x;
        
cpOrigin[1] = (long int)pos.y;
        
cpOrigin[2] = (long int)pos.z;
        
        return 
1;
    }
    
    return 
0;


May be you could check pev_v_angle
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:08.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode