- AMXX-BG.info
- authemu.inc
- Raw
- Functions
- Constants
#if defined _authemu_included
#endinput
#endif
#define _authemu_included
#if AMXX_VERSION_NUM >= 175
#pragma reqlib authemu
#if !defined AMXMODX_NOAUTOLOAD
#pragma loadlib authemu
#endif
#else
#pragma library authemu
#endif
#include <authemu_version.inc>
#if (AMXX_VERSION_NUM >= 183)
#pragma deprecated Use aci_tag instead it.
#define aci_packname aci_tag
#endif
/**
* enum authemu_os_type
*/
enum authemu_os_type
{
aos_unknown,
aos_win95,
aos_win98,
aos_winME,
aos_winNT_4,
aos_win2000,
aos_winXP,
aos_winXPx64Edition,
aos_winServer2003,
aos_winHomeServer,
aos_win2003R2,
aos_winVista,
aos_winServer2008,
aos_winServer2008R2,
aos_win7,
aos_winServer2012,
aos_win8,
aos_winServer2012R2,
aos_win81,
aos_winServer2016,
aos_win10
};
/**
* enum authemu_client_info
*/
enum authemu_client_info
{
/*
* Description: The build number.
* Data type: int
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_build = 0,
/*
* Description: The build hash. (NOTE: It's not unique ID of client)
* Data type: int
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_hash,
/*
* Description: Last unix-time when the client was updated.
* Data type: int
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_lasttime_upd,
/*
* Description: The tag name of the branch.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_tag,
/*
* Description: This means that the client run on Steam.
* Data type: bool
* Get params: bool:aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_steam,
/*
* Description: This means that the client run on '-beta'.
* Data type: bool
* Get params: bool:aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_beta,
/*
* Description: This means that the client synchronized to depot.
* Data type: bool
* Get params: bool:aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_synchronized,
/*
* Description: The unique hash ID of client.
* Data type: char [65]
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_unique_id,
/*
* Description: Type of operating system that the client uses.
* Data type: enum authemu_os_type
* Get params: authemu_os_type:aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_OS_type,
/*
* Description: Name of operating system that the client uses.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_OS_name,
/*
* Description: The build OS number.
* Data type: int
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_OS_build,
/*
* Description: The number of the major version OS.
* Data type: int
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_OS_majorVersion,
/*
* Description: The number of the minor version OS.
* Data type: int
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type);
*/
aci_OS_minorVersion,
/*
* Description: The brand name of the processor.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_CPU_name,
/*
* Description: The ID of the processor 'AS IS'.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_CPU_id,
/*
* Description: The brand name of the graphics processor.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_GPU_name,
/*
* Description: The ID of the graphics processor 'AS IS'.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_GPU_id,
/*
* Description: The name of the user agent who serves the client.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_useragent,
/*
* Description: The branch name of the branch.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_branch,
/*
* Description: The fork name of the branch if present.
* Data type: char *
* Get params: aemu_get_clientinfo(const index, authemu_client_info:aci_type, dest[], const lenght);
*/
aci_fork
};
/*
* Check if the client is authemu
*
* @param index Client index
*
* @return return true if so, false otherwise
*
*/
native bool:is_user_authemu(const index);
enum DAC_QueryType
{
DAC_QUERY_DETECT = 0,
};
forward aemu_dac_query(const id, const DAC_QueryType:type);
/*
* Get the client info.
* @note: Use the aci_* authemu_client_info enum
*
* @param index Client index
* @param type Use the aci_* authemu_client_info enum
*
*/
native any:aemu_get_clientinfo(const index, const authemu_client_info:type, any:...);
/*
* Get the current game screen resolution of the client.
*
* @param index Client index
* @param wide Variable to store wide in
* @param tall Variable to store tall in
*
* @return return true if so, false otherwise
*
*/
native bool:aemu_get_game_screeninfo(const index, &wide = 0, &tall = 0);
/*
* Get the current desktop screen resolution of the client.
*
* @param index Client index
* @param wide Variable to store wide in
* @param tall Variable to store tall in
*
* @return return true if so, false otherwise
*
*/
native bool:aemu_get_desk_screeninfo(const index, &wide = 0, &tall = 0);
/*
* Gets the specified type of reason.
* @note: Use this native only inside the forward 'aemu_dac_query'
*
* @return type of reason
*
*/
native aemu_dac_get_reason();
/*
* Gets the DAC name of the suspicious module.
* @note: Use this native only inside the forward 'aemu_dac_query' and for reason 2,3 only
*
* @param output Buffer to copy module name to
* @param lenght Maximum buffer size
* @param path Provides full path of the module name
*
* @return return true if so, false otherwise
*
*/
native bool:aemu_dac_get_module(output[], const lenght, bool:path = false);
/*
* Gets the DAC hash of the suspicious module.
* @note: Use this native only inside the forward 'aemu_dac_query' and for reason 2,3 only
*
* @return return hash of the suspicious module
*
*/
native aemu_dac_get_module_hash();
/*
* Set's CVar filter that a client obliged to adhere is specified.
*
* @param index Client index
* @note Set to 0 for use common filter
*
* @param name CVar name
* @param value CVar value
* @optional Use min/max params instead value param for the same purpose,
* but with clamp filter as 'aemu_set_filter_cvar(id, "ex_interp", 0.01, 0.1)'
*
* @param max The max threshold value of CVar
* @note If param is specified, then value param it's min threshold
*
*
* @noreturn
*
*/
native aemu_set_filter_cvar(const index, const name[], const Float:value /*const Float:min*/, const Float:max = -999.0 /* unset */);
/*
* Unset CVar filter
*
* @param index Client index
* @note Set to 0 for use common filter
*
* @param name CVar name
*
* @noreturn
*
*/
native aemu_unset_filter_cvar(const index, const name[]);
/**
* enum BranchType
*/
enum BranchType
{
BRANCH_MASTER = 0,
BRANCH_BETA,
BRANCH_FORK,
};
/*
* Determine whether specified branch is in use.
* @param index Client index
* @param type Use the BRANCH_* BranchType enum
*
* @return return true if so, false otherwise
*/
native bool:aemu_is_user_branch(const index, BranchType:type);
/*
* This is the callback from the module that gives major/minor versions for verifying compatibility for AuthEmu versions.
* If an AMXX plugin gets a failure, then you do need to upgrade to the latest version of the AuthEmu module or update the files included for AMXX plugins.
* Do not modify this!
*/
public __authemu_version_check(const majorVersion, const minorVersion)
{
if (majorVersion != AUTHEMU_VERSION_MAJOR)
{
new temp[512];
formatex(temp, sizeof temp - 1, "[AuthEmu]: Api major version mismatch; expected %d, real %d", AUTHEMU_VERSION_MAJOR, majorVersion);
set_fail_state(temp);
return;
}
if (minorVersion < AUTHEMU_VERSION_MINOR)
{
new temp[512];
formatex(temp, sizeof temp - 1, "[AuthEmu]: Api minor version mismatch; expected at least %d, real %d", AUTHEMU_VERSION_MINOR, minorVersion);
set_fail_state(temp);
return;
}
}