diff options
Diffstat (limited to 'sourcemod/scripting/include/GlobalAPI.inc')
| -rw-r--r-- | sourcemod/scripting/include/GlobalAPI.inc | 822 |
1 files changed, 0 insertions, 822 deletions
diff --git a/sourcemod/scripting/include/GlobalAPI.inc b/sourcemod/scripting/include/GlobalAPI.inc deleted file mode 100644 index 8813645..0000000 --- a/sourcemod/scripting/include/GlobalAPI.inc +++ /dev/null @@ -1,822 +0,0 @@ -// ================== DOUBLE INCLUDE ========================= // - -#if defined _GlobalAPI_included_ -#endinput -#endif -#define _GlobalAPI_included_ - -// ======================= DEFINITIONS ======================= // - -#define DEFAULT_DATA 0 -#define DEFAULT_INT -1 -#define DEFAULT_STRING "" -#define DEFAULT_FLOAT -1.0 -#define DEFAULT_BOOL view_as<bool>(-1) - -#define GlobalAPI_Plugin_Version "2.0.0" -#define GlobalAPI_Plugin_Desc "Plugin helper for GlobalAPI Production & Staging" -#define GlobalAPI_Plugin_Url "https://bitbucket.org/kztimerglobalteam/GlobalAPI-SMPlugin" -#define GlobalAPI_Plugin_NameVersion "GlobalAPI Plugin " ... GlobalAPI_Plugin_Version - -#define GlobalAPI_Backend_Version "v2.0" -#define GlobalAPI_Backend_Staging_Version "v2.0" -#define GlobalAPI_BaseUrl "https://kztimerglobal.com/api/" ... GlobalAPI_Backend_Version -#define GlobalAPI_Staging_BaseUrl "https://globalapi.ruto.sh/api/" ... GlobalAPI_Backend_Staging_Version - -#define GlobalAPI_Max_BaseUrl_Length 128 -#define GlobalAPI_Max_QueryParam_Num 20 -#define GlobalAPI_Max_QueryParam_Length 64 -#define GlobalAPI_Max_QueryParams_Length (GlobalAPI_Max_QueryParam_Num * GlobalAPI_Max_QueryParam_Length) -#define GlobalAPI_Max_QueryUrl_Length (GlobalAPI_Max_QueryParams_Length + GlobalAPI_Max_BaseUrl_Length) -#define GlobalAPI_Max_QueryParam_Array_Length 64 - -#define GlobalAPI_Max_APIKey_Length 128 -#define GlobalAPI_Max_PluginName_Length 64 -#define GlobalAPI_Max_PluginVersion_Length 32 -#define GlobalAPI_Data_File_Extension "GAPI" - -// ======================= INCLUDES ========================== // - -#include <GlobalAPI/requestdata> -#include <GlobalAPI/responses> -#include <GlobalAPI/stocks> - -// ======================= ENUMS ============================= // - -/** - * Defines what request method is used on requests - */ -enum -{ - GlobalAPIRequestType_GET = 0, /**< Request uses GET HTTP method */ - GlobalAPIRequestType_POST /**< Request uses POST HTTP method */ -}; - -/** - * Defines what accept type is used on requests - */ -enum -{ - GlobalAPIRequestAcceptType_JSON = 0, /**< Request uses application/json HTTP accept type */ - GlobalAPIRequestAcceptType_OctetStream /**< Request uses application/octet-stream HTTP accept type */ -}; - -/** - * Defines what content type is used on requests - */ -enum -{ - GlobalAPIRequestContentType_JSON = 0, /**< Request uses application/json HTTP content type */ - GlobalAPIRequestContentType_OctetStream /**< Request uses application/octet-stream HTTP content type */ -}; - -// ======================= TYPEDEFS ========================== // - -/* - Function types when API call finishes -*/ -typeset OnAPICallFinished -{ - /** - * Called when an API call has finished - * - * @param hResponse JSON_Object handle to the response - * @param hData GlobalAPIRequestData handle for the request - * @noreturn - */ - function void(JSON_Object hResponse, GlobalAPIRequestData hData); - - /** - * Called when an API call has finished - * - * @param hResponse JSON_Object handle to the response - * @param hData GlobalAPIRequestData handle for the request - * @param data Optional data that was passed - * @noreturn - */ - function void(JSON_Object hResponse, GlobalAPIRequestData hData, any data); -}; - -// ======================= FORWARDS ========================== // - -/** - * Called when GlobalAPI plugin is initialized, - * this means API Key is loaded and all the cvars are loaded - * - * @noreturn - */ -forward void GlobalAPI_OnInitialized(); - -/** - * Called when GlobalAPI plugin has failed a request - * - * @param request Handle to the request failed - * @param hData Handle to request's GlobalAPIRequestData - * @noreturn - */ -forward void GlobalAPI_OnRequestFailed(Handle request, GlobalAPIRequestData hData); - -/** - * Called when GlobalAPI plugin has started a request - * - * @param request Handle to the request started - * @param hData Handle to request's GlobalAPIRequestData - * @noreturn - */ -forward void GlobalAPI_OnRequestStarted(Handle request, GlobalAPIRequestData hData); - -/** - * Called when GlobalAPI plugin has finished a request - * - * @param request Handle to the request finished - * @param hData Handle to request's GlobalAPIRequestData - * @noreturn - */ -forward void GlobalAPI_OnRequestFinished(Handle request, GlobalAPIRequestData hData); - -// ======================= NATIVES =========================== // - -/** - * Gets a boolean of whether GlobalAPI plugin is initialized. - * - * @note See GlobalAPI_OnInitialized for the event version. - * @return Whether GlobalAPI plugin is initialized. - */ -native bool GlobalAPI_IsInit(); - -/** - * Gets the API Key used by GlobalAPI plugin - * - * @param buffer Buffer to store result in - * @param maxlength Max length of the buffer - * @noreturn - */ -native void GlobalAPI_GetAPIKey(char[] buffer, int maxlength); - -/** - * Gets whether GlobalAPI is using an API Key - * - * @note This does not mean the API Key is valid! - * @return Whether API Key is used by GlobalAPI plugin - */ -native bool GlobalAPI_HasAPIKey(); - -/** - * Gets whether GlobalAPI is using the staging endpoint - * - * @note It is not safe to call this before GlobalAPI_OnInitialized! - * @return Whether staging endpoint is used by GlobalAPI plugin - */ -native bool GlobalAPI_IsStaging(); - -/** - * Gets whether GlobalAPI is in debug mode - * - * @note It is not safe to call this before GlobalAPI_OnInitialized! - * @return Whether GlobalAPI plugin is in debug mode - */ -native bool GlobalAPI_IsDebugging(); - -/** - * Sends a request in GlobalAPI plugin format - * - * @param hData Handle to GlobalAPIRequestData - * @return Whether the request was sent successfully - */ -native bool GlobalAPI_SendRequest(GlobalAPIRequestData hData); - -/** - * Sends a debug message to GlobalAPI plugin logs if debugging is enabled - * - * @param message Formatting rules - * @param ... Variable number of format parameters - * @note This is not safe to use before convars have loaded - * @return Whether the message was logged - */ -native bool GlobalAPI_DebugMessage(const char[] message, any ...); - -/** - * Starts a GET HTTP Request to /api/{version}/auth/status - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetAuthStatus(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA); - -/** - * Starts a GET HTTP Request to /api/{version}/bans - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param banTypes Ban types to query - * @param banTypesList -Unsupported at the moment- - * @param isExpired Whether to query for isExpired or not - * @param ipAddress IP address to query - * @param steamId64 SteamID64 to query - * @param steamId SteamID2 to query - * @param notesContain Notes to query - * @param statsContain Stats to query - * @param serverId Server ID to query - * @param createdSince Created since date to query - * @param updatedSince Updated since date to query - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetBans(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] banTypes = DEFAULT_STRING, - const char[] banTypesList = DEFAULT_STRING, bool isExpired = DEFAULT_BOOL, const char[] ipAddress = DEFAULT_STRING, - const char[] steamId64 = DEFAULT_STRING, const char[] steamId = DEFAULT_STRING, const char[] notesContain = DEFAULT_STRING, - const char[] statsContain = DEFAULT_STRING, int serverId = DEFAULT_INT, const char[] createdSince = DEFAULT_STRING, - const char[] updatedSince = DEFAULT_STRING, int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a POST HTTP Request to /api/{version}/bans - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param steamId SteamID2 of the user - * @param banType Type of the ban - * @param stats Stats of the ban - * @param notes Notes of the ban - * @param ipAddress IP address of the user - * @return Whether request was successfully sent - */ -native bool GlobalAPI_CreateBan(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - const char[] steamId, const char[] banType, const char[] stats, - const char[] notes, const char[] ipAddress); - -/** - * Starts a GET HTTP Request to /api/{version}/jumpstats - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param id Id to query - * @param serverId Server id to query - * @param steamId64 SteamID64 to query - * @param steamId SteamID2 to query - * @param jumpType Jump type to query - * @param steamId64List -Unsupported at the moment- - * @param jumpTypeList -Unsupported at the moment- - * @param greaterThanDistance Greater than distance to query - * @param lessThanDistance Less than distance to query - * @param isMsl Whether to query for isMsl or not - * @param isCrouchBind Whether to query for isCrouchBind or not - * @param isForwardBind Whether to query for isForwardBind or not - * @param isCrouchBoost Whether to query for isCrouchBoost or not - * @param updatedById Updated by id to query - * @param createdSince Created since date to query - * @param updatedSince Updated since date to query - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetJumpstats(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, int id = DEFAULT_INT, - int serverId = DEFAULT_INT, const char[] steamId64 = DEFAULT_STRING, const char[] steamId = DEFAULT_STRING, - const char[] jumpType = DEFAULT_STRING, const char[] steamId64List = DEFAULT_STRING, - const char[] jumpTypeList = DEFAULT_STRING, float greaterThanDistance = DEFAULT_FLOAT, - float lessThanDistance = DEFAULT_FLOAT, bool isMsl = DEFAULT_BOOL, bool isCrouchBind = DEFAULT_BOOL, - bool isForwardBind = DEFAULT_BOOL, bool isCrouchBoost = DEFAULT_BOOL, int updatedById = DEFAULT_INT, - const char[] createdSince = DEFAULT_STRING, const char[] updatedSince = DEFAULT_STRING, - int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a POST HTTP Request to /api/{version}/jumpstats - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param steamId SteamID2 of the user - * @param jumpType Type of the jump - * @param distance Distance of the jump - * @param jumpJsonInfo Data of the jump - * @param tickRate Tickrate of the server - * @param mslCount Msl count of the jump - * @param isCrouchBind Whether crouch bind was used - * @param isForwardBind Whether forward bind was used - * @param isCrouchBoost Whether crouch boost was used - * @param strafeCount Strafe count of the jump - * @return Whether request was successfully sent - */ -native bool GlobalAPI_CreateJumpstat(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] steamId, - int jumpType, float distance, const char[] jumpJsonInfo, int tickRate, int mslCount, - bool isCrouchBind, bool isForwardBind, bool isCrouchBoost, int strafeCount); - -/** - * Starts a GET HTTP Request to /api/{version}/jumpstats/{jump_type}/top - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param jumpType Jump type to query - * @param id Id to query - * @param serverId Server Id to query - * @param steamId64 SteamID64 to query - * @param steamId SteamID2 to query - * @param steamId64List -Unsupported at the moment- - * @param jumpTypeList -Unsupported at the moment- - * @param greaterThanDistance Greater than distance to query - * @param lessThanDistance Less than distance to query - * @param isMsl Whether to query for isMsl or not - * @param isCrouchBind Whether to query for isCrouchBind or not - * @param isForwardBind Whether to query for isForwardBind or not - * @param isCrouchBoost Whether to query for isCrouchBoost or not - * @param updatedById Updated by id to query - * @param createdSince Created since date to query - * @param updatedSince Updated since date to query - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetJumpstatTop(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] jumpType, - int id = DEFAULT_INT, int serverId = DEFAULT_INT, const char[] steamId64 = DEFAULT_STRING, - const char[] steamId = DEFAULT_STRING, const char[] steamId64List = DEFAULT_STRING, - const char[] jumpTypeList = DEFAULT_STRING, float greaterThanDistance = DEFAULT_FLOAT, - float lessThanDistance = DEFAULT_FLOAT, bool isMsl = DEFAULT_BOOL, bool isCrouchBind = DEFAULT_BOOL, - bool isForwardBind = DEFAULT_BOOL, bool isCrouchBoost = DEFAULT_BOOL, int updatedById = DEFAULT_INT, - const char[] createdSince = DEFAULT_STRING, const char[] updatedSince = DEFAULT_STRING, - int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/jumpstats/{jump_type}/top30 - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param jumpType Jump type to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetJumpstatTop30(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] jumpType); - -/** - * Starts a GET HTTP Request to /api/{version}/maps - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param name Map name to query - * @param largerThanFilesize Larger than filesize to query - * @param smallerThanFilesize Smaller than filesize to query - * @param isValidated Whether to query for isValidated or not - * @param difficulty Map difficulty to query - * @param createdSince Created since date to query - * @param updatedSince Updated since date to query - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetMaps(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] name = DEFAULT_STRING, - int largerThanFilesize = DEFAULT_INT, int smallerThanFilesize = DEFAULT_INT, bool isValidated = DEFAULT_BOOL, - int difficulty = DEFAULT_INT, const char[] createdSince = DEFAULT_STRING, const char[] updatedSince = DEFAULT_STRING, - int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/maps/{id} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param id Map id to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetMapById(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, int id); - -/** - * Starts a GET HTTP Request to /api/{version}/maps/name/{map_name} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param name Map name to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetMapByName(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] name); - -/** - * Starts a GET HTTP Request to /api/{version}/modes - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetModes(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA); - -/** - * Starts a GET HTTP Request to /api/{version}/modes/id/{id} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param id Mode id to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetModeById(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, int id); - -/** - * Starts a GET HTTP Request to /api/{version}/modes/name/{mode_name} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param name Mode name to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetModeByName(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] name); - -/** - * Starts a GET HTTP Request to /api/{version}/players - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param steamId SteamID2 to query - * @param isBanned Whether to query for isBanned or not - * @param totalRecords Total records to query - * @param ipAddress IP address to query - * @param steamId64List -Unsupported at the moment- - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetPlayers(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] steamId = DEFAULT_STRING, - bool isBanned = DEFAULT_BOOL, int totalRecords = DEFAULT_INT, const char[] ipAddress = DEFAULT_STRING, - const char[] steamId64List = DEFAULT_STRING); - -/** - * Starts a GET HTTP Request to /api/{version}/players/steamid/{steamid} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param steamId SteamID2 to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetPlayerBySteamId(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] steamId); - -/** - * Starts a GET HTTP Request to /api/{version}/players/steamid/{steamid}/ip/{ip} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param steamId SteamID2 to query - * @param ipAddress IP address to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetPlayerBySteamIdAndIp(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - const char[] steamId, const char[] ipAddress); - -/** - * Starts a POST HTTP Request to /api/{version}/records - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param steamId SteamID2 of the user - * @param mapId Map id of the record - * @param mode Mode of the record - * @param stage Stage of the record - * @param tickRate Tickrate of the server - * @param teleports Teleport count of the record - * @param time Elapsed time of the record - * @return Whether request was successfully sent - */ -native bool GlobalAPI_CreateRecord(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] steamId, - int mapId, const char[] mode, int stage, int tickRate, int teleports, float time); - -/** - * Starts a GET HTTP Request to /api/{version}/records/place/{id} - * - * @note This is deprecated! - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param id Id to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetRecordPlaceById(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, int id); - -/** - * Starts a GET HTTP Request to /api/{version}/records/top - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param steamId SteamID2 to query - * @param steamId64 SteamID64 to query - * @param mapId Map id to query - * @param mapName Map name to query - * @param tickRate Tickrate to query - * @param stage Stage to query - * @param modes Mode(s) to query - * @param hasTeleports Whether to query for hasTeleports or not - * @param playerName Player name to query - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetRecordsTop(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - const char[] steamId = DEFAULT_STRING, const char[] steamId64 = DEFAULT_STRING, int mapId = DEFAULT_INT, - const char[] mapName = DEFAULT_STRING, int tickRate = DEFAULT_INT, int stage = DEFAULT_INT, - const char[] modes = DEFAULT_STRING, bool hasTeleports = DEFAULT_BOOL, - const char[] playerName = DEFAULT_STRING, int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/records/top/recent - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param steamId SteamID2 to query - * @param steamId64 SteamID64 to query - * @param mapId Map id to query - * @param mapName Map name to query - * @param tickRate Tickrate to query - * @param stage Stage to query - * @param modes Mode(s) to query - * @param topAtLeast Place top at least to query - * @param topOverallAtLeast Place top overall at least to query - * @param hasTeleports Whether to query for hasTeleports or not - * @param createdSince Created since date to query - * @param playerName Player name to query - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetRecordsTopRecent(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - const char[] steamId = DEFAULT_STRING, const char[] steamId64 = DEFAULT_STRING, - int mapId = DEFAULT_INT, const char[] mapName = DEFAULT_STRING, - int tickRate = DEFAULT_INT, int stage = DEFAULT_INT, - const char[] modes = DEFAULT_STRING, int topAtLeast = DEFAULT_INT, - int topOverallAtLeast = DEFAULT_INT, bool hasTeleports = DEFAULT_BOOL, - const char[] createdSince = DEFAULT_STRING, const char[] playerName = DEFAULT_STRING, - int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/records/top/world_records - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param ids Array of ids to query - * @param idsLength Length of the ids array - * @param mapIds Array of map ids to query - * @param mapIdsLength Length of the map ids array - * @param stages Array of stages to query - * @param stagesLength Length of the stages array - * @param modeIds Array of mode ids to query - * @param modeIdsLength Length of the mode ids array - * @param tickRates Array of tickrates to query - * @param tickRatesLength Length of the tickrates array - * @param hasTeleports Whether to query for hasTeleports or not - * @param mapTag Map tags to query - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetRecordsTopWorldRecords(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - int[] ids = {}, int idsLength = DEFAULT_INT, - int[] mapIds = {}, int mapIdsLength = DEFAULT_INT, - int[] stages = {}, int stagesLength = DEFAULT_INT, - int[] modeIds = {}, int modeIdsLength = DEFAULT_INT, - int[] tickRates = {}, int tickRatesLength = DEFAULT_INT, - bool hasTeleports = DEFAULT_BOOL, char[] mapTag = DEFAULT_STRING, - int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/servers - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param id Id to query - * @param port Port to query - * @param ip IP address to query - * @param name Server name to query - * @param ownerSteamId64 Owner's steamid64 to query - * @param approvalStatus Approval status to query - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetServers(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - int id = DEFAULT_INT, int port = DEFAULT_INT, const char[] ip = DEFAULT_STRING, - const char[] name = DEFAULT_STRING, const char[] ownerSteamId64 = DEFAULT_STRING, - int approvalStatus = DEFAULT_INT, int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/servers/{id} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param id Id to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetServerById(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, int id); - -/** - * Starts a GET HTTP Request to /api/{version}/servers/name/{server_name} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param serverName Server name to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetServersByName(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, const char[] serverName); - -/** - * Starts a GET HTTP Request to /api/{version}/player_ranks - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param pointsGreaterThan Points greater than to query - * @param averageGreaterThan Average greater than to query - * @param ratingGreaterThan Rating greater than to query - * @param finishesGreaterThan Finishes greater than to query - * @param steamId64List Comma-separated stirng of steamid64s to query - * @param recordFilterIds Array of record filter ids to query - * @param recordFilterIdsLength Length of the record filter ids array - * @param mapIds Array of map ids to query - * @param mapIdsLength Length of the map ids array - * @param stages Array of stages to query - * @param stagesLength Length of the stages array - * @param modeIds Array of mode ids to query - * @param modeIdsLength Length of the mode ids array - * @param tickRates Array of tickrates to query - * @param tickRatesLength Length of the tickrates array - * @param hasTeleports Whether to query for hasTeleports or not - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetPlayerRanks(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - int pointsGreaterThan = DEFAULT_INT, float averageGreaterThan = DEFAULT_FLOAT, - float ratingGreaterThan = DEFAULT_FLOAT, int finishesGreaterThan = DEFAULT_INT, - const char[] steamId64List = DEFAULT_STRING, - int[] recordFilterIds = {}, int recordFilterIdsLength = DEFAULT_INT, - int[] mapIds = {}, int mapIdsLength = DEFAULT_INT, - int[] stages = {}, int stagesLength = DEFAULT_INT, - int[] modeIds = {}, int modeIdsLength = DEFAULT_INT, - int[] tickRates = {}, int tickRatesLength = DEFAULT_INT, - bool hasTeleports = DEFAULT_BOOL, int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/record_filters - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param ids Array of ids to query - * @param idsLength Length of the ids array - * @param mapIds Array of map ids to query - * @param mapIdsLength Length of the map ids array - * @param stages Array of stages to query - * @param stagesLength Length of the stages array - * @param modeIds Array of mode ids to query - * @param modeIdsLength Length of the mode ids array - * @param tickRates Array of tickrates to query - * @param tickRatesLength Length of the tickrates array - * @param hasTeleports Whether to query for hasTeleports or not - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetRecordFilters(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - int[] ids = {}, int idsLength = DEFAULT_INT, - int[] mapIds = {}, int mapIdsLength = DEFAULT_INT, - int[] stages = {}, int stagesLength = DEFAULT_INT, - int[] modeIds = {}, int modeIdsLength = DEFAULT_INT, - int[] tickRates = {}, int tickRatesLength = DEFAULT_INT, - bool hasTeleports = DEFAULT_BOOL, bool isOverall = DEFAULT_BOOL, - int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/record_filters/distributions - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param ids Array of ids to query - * @param idsLength Length of the ids array - * @param mapIds Array of map ids to query - * @param mapIdsLength Length of the map ids array - * @param stages Array of stages to query - * @param stagesLength Length of the stages array - * @param modeIds Array of mode ids to query - * @param modeIdsLength Length of the mode ids array - * @param tickRates Array of tickrates to query - * @param tickRatesLength Length of the tickrates array - * @param hasTeleports Whether to query for hasTeleports or not - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetRecordFilterDistributions(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - int[] ids = {}, int idsLength = DEFAULT_INT, - int[] mapIds = {}, int mapIdsLength = DEFAULT_INT, - int[] stages = {}, int stagesLength = DEFAULT_INT, - int[] modeIds = {}, int modeIdsLength = DEFAULT_INT, - int[] tickRates = {}, int tickRatesLength = DEFAULT_INT, - bool hasTeleports = DEFAULT_BOOL, bool isOverall = DEFAULT_BOOL, - int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/records/replay/list - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param offset Offset of the dataset to query - * @param limit Amount of items returned for the query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetReplayList(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - int offset = DEFAULT_INT, int limit = DEFAULT_INT); - -/** - * Starts a GET HTTP Request to /api/{version}/records/{recordId}/replay - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param recordId Record id to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetReplayByRecordId(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, int recordId); -/** - * Starts a GET HTTP Request to /api/{version}/records/replay/{replayId} - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param replayId Replay id to query - * @return Whether request was successfully sent - */ -native bool GlobalAPI_GetReplayByReplayId(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, int replayId); - -/** - * Starts a POST HTTP Request to /api/{version}/records/{recordId}/replay - * - * @param callback Callback when request has finished - * @param data Optional data to pass - * @param recordId Id of the record - * @param replayFile Path to the replay file - * @return Whether request was successfully sent - */ -native bool GlobalAPI_CreateReplayForRecordId(OnAPICallFinished callback = INVALID_FUNCTION, any data = DEFAULT_DATA, - int recordId, const char[] replayFile); - -// ======================= PLUGIN INFO ======================= // - -public SharedPlugin __pl_GlobalAPI = -{ - name = "GlobalAPI", - file = "GlobalAPI.smx", - #if defined REQUIRE_PLUGIN - required = 1, - #else - required = 0, - #endif -}; - -#if !defined REQUIRE_PLUGIN -public void __pl_GlobalAPI_SetNTVOptional() -{ - // Plugin - MarkNativeAsOptional("GlobalAPI_IsInit"); - MarkNativeAsOptional("GlobalAPI_GetAPIKey"); - MarkNativeAsOptional("GlobalAPI_HasAPIKey"); - MarkNativeAsOptional("GlobalAPI_IsStaging"); - MarkNativeAsOptional("GlobalAPI_IsDebugging"); - MarkNativeAsOptional("GlobalAPI_SendRequest"); - MarkNativeAsOptional("GlobalAPI_DebugMessage"); - - // Auth - MarkNativeAsOptional("GlobalAPI_GetAuthStatus"); - - // Bans - MarkNativeAsOptional("GlobalAPI_GetBans"); - MarkNativeAsOptional("GlobalAPI_CreateBan"); - - // Jumpstats - MarkNativeAsOptional("GlobalAPI_GetJumpstats"); - MarkNativeAsOptional("GlobalAPI_GetJumpstatTop"); - MarkNativeAsOptional("GlobalAPI_GetJumpstatTop30"); - - // Maps - MarkNativeAsOptional("GlobalAPI_GetMaps"); - MarkNativeAsOptional("GlobalAPI_GetMapById"); - MarkNativeAsOptional("GlobalAPI_GetMapByName"); - - // Modes - MarkNativeAsOptional("GlobalAPI_GetModes"); - MarkNativeAsOptional("GlobalAPI_GetModeById"); - MarkNativeAsOptional("GlobalAPI_GetModeByName"); - - // Players - MarkNativeAsOptional("GlobalAPI_GetPlayers"); - MarkNativeAsOptional("GlobalAPI_GetPlayerBySteamId"); - MarkNativeAsOptional("GlobalAPI_GetPlayerBySteamIdAndIp"); - - // Records - MarkNativeAsOptional("GlobalAPI_CreateRecord"); - MarkNativeAsOptional("GlobalAPI_GetRecordPlaceById"); - MarkNativeAsOptional("GlobalAPI_GetRecordsTop"); - MarkNativeAsOptional("GlobalAPI_GetRecordsTopRecent"); - MarkNativeAsOptional("GlobalAPI_GetRecordsTopWorldRecords"); - - // Servers - MarkNativeAsOptional("GlobalAPI_GetServers"); - MarkNativeAsOptional("GlobalAPI_GetServerById"); - MarkNativeAsOptional("GlobalAPI_GetServersByName"); - - // Ranks - MarkNativeAsOptional("GlobalAPI_GetPlayerRanks"); - - // Record Filters - MarkNativeAsOptional("GlobalAPI_GetRecordFilters"); - MarkNativeAsOptional("GlobalAPI_GetRecordFilterDistributions"); - - // Replays - MarkNativeAsOptional("GlobalAPI_GetReplayList"); - MarkNativeAsOptional("GlobalAPI_GetReplayByRecordId"); - MarkNativeAsOptional("GlobalAPI_GetReplayByReplayId"); - MarkNativeAsOptional("GlobalAPI_CreateReplayForRecordId"); -} -#endif |
