Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //usage: if (GetPlayerEye(client, buffer)) // if hits = true | if not = false, buffer will be the new pos client is looking.
- stock bool GetPlayerEye(int client, float vecPos[3]) {
- if (!IsValidClient(client))
- return false;
- float vecAngles[3], vecOrigin[3];
- GetClientEyePosition(client, vecOrigin);
- GetClientEyeAngles(client, vecAngles);
- Handle hTrace = TR_TraceRayFilterEx(vecOrigin, vecAngles, MASK_SHOT, RayType_Infinite, TraceEntityFilterPlayer);
- if (TR_DidHit(hTrace)) {
- //This is the first function i ever saw that anything comes before the handle
- TR_GetEndPosition(vecPos, hTrace);
- CloseHandle(hTrace);
- return true;
- }
- CloseHandle(hTrace);
- return false;
- }
- public bool TraceEntityFilterPlayer(entity, contentsMask)
- {
- return (entity > MaxClients || !entity);
- }
- public bool IsValidClient(int client)
- {
- if (client <= 0)
- return false;
- if (client > GetMaxClients())
- return false;
- if (!IsClientInGame(client))
- return false;
- if (!IsClientAuthorized(client))
- return false;
- if (IsFakeClient(client))
- return false;
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement