diff options
Diffstat (limited to 'sourcemod-1.5-dev/scripting/include/helpers.inc')
| -rw-r--r-- | sourcemod-1.5-dev/scripting/include/helpers.inc | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/sourcemod-1.5-dev/scripting/include/helpers.inc b/sourcemod-1.5-dev/scripting/include/helpers.inc deleted file mode 100644 index 3b70165..0000000 --- a/sourcemod-1.5-dev/scripting/include/helpers.inc +++ /dev/null @@ -1,293 +0,0 @@ -/** - * vim: set ts=4 : - * ============================================================================= - * SourceMod (C)2004-2008 AlliedModders LLC. All rights reserved. - * ============================================================================= - * - * This file is part of the SourceMod/SourcePawn SDK. - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, version 3.0, as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see <http://www.gnu.org/licenses/>. - * - * As a special exception, AlliedModders LLC gives you permission to link the - * code of this program (as well as its derivative works) to "Half-Life 2," the - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software - * by the Valve Corporation. You must obey the GNU General Public License in - * all respects for all other code used. Additionally, AlliedModders LLC grants - * this exception to all derivative works. AlliedModders LLC defines further - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), - * or <http://www.sourcemod.net/license.php>. - * - * Version: $Id$ - */ - -#if defined _helpers_included - #endinput -#endif -#define _helpers_included - -/** - * Formats a user's info as log text. This is usually not needed because - * %L can be used to auto-format client information into a string. - * - * @param client Client index. - * @param buffer Buffer for text. - * @param maxlength Maximum length of text. - */ -stock FormatUserLogText(client, String:buffer[], maxlength) -{ - decl String:auth[32]; - decl String:name[40]; - - new userid = GetClientUserId(client); - if (!GetClientAuthString(client, auth, sizeof(auth))) - { - strcopy(auth, sizeof(auth), "UNKNOWN"); - } - if (!GetClientName(client, name, sizeof(name))) - { - strcopy(name, sizeof(name), "UNKNOWN"); - } - - /** Currently, no team stuff ... */ - - Format(buffer, maxlength, "\"%s<%d><%s><>\"", name, userid, auth); -} - -/** - * Returns plugin handle from plugin filename. - * - * @param filename Filename of the plugin to search for. - * @return Handle to plugin if found, INVALID_HANDLE otherwise. - */ -stock Handle:FindPluginByFile(const String:filename[]) -{ - decl String:buffer[256]; - - new Handle:iter = GetPluginIterator(); - new Handle:pl; - - while (MorePlugins(iter)) - { - pl = ReadPlugin(iter); - - GetPluginFilename(pl, buffer, sizeof(buffer)); - if (strcmp(buffer, filename, false) == 0) - { - CloseHandle(iter); - return pl; - } - } - - CloseHandle(iter); - - return INVALID_HANDLE; -} - -/** - * @deprecated Use FindTarget() or ProcessTargetString(). - */ -#pragma deprecated Use FindTarget() or ProcessTargetString() -stock SearchForClients(const String:pattern[], clients[], maxClients) -{ - new total = 0; - - if (maxClients == 0) - { - return 0; - } - - if (pattern[0] == '#') - { - new input = StringToInt(pattern[1]); - if (!input) - { - decl String:name[65] - for (new i=1; i<=MaxClients; i++) - { - if (!IsClientInGame(i)) - { - continue; - } - GetClientName(i, name, sizeof(name)); - if (strcmp(name, pattern, false) == 0) - { - clients[0] = i; - return 1; - } - } - } else { - new client = GetClientOfUserId(input); - if (client) - { - clients[0] = client; - return 1; - } - } - } - - decl String:name[65] - for (new i=1; i<=MaxClients; i++) - { - if (!IsClientInGame(i)) - { - continue; - } - GetClientName(i, name, sizeof(name)); - if (StrContains(name, pattern, false) != -1) - { - clients[total++] = i; - if (total >= maxClients) - { - break; - } - } - } - - return total; -} - -/** - * Wraps ProcessTargetString() and handles producing error messages for - * bad targets. - * - * @param client Client who issued command - * @param target Client's target argument - * @param nobots Optional. Set to true if bots should NOT be targetted - * @param immunity Optional. Set to false to ignore target immunity. - * @return Index of target client, or -1 on error. - */ -stock FindTarget(client, const String:target[], bool:nobots = false, bool:immunity = true) -{ - decl String:target_name[MAX_TARGET_LENGTH]; - decl target_list[1], target_count, bool:tn_is_ml; - - new flags = COMMAND_FILTER_NO_MULTI; - if (nobots) - { - flags |= COMMAND_FILTER_NO_BOTS; - } - if (!immunity) - { - flags |= COMMAND_FILTER_NO_IMMUNITY; - } - - if ((target_count = ProcessTargetString( - target, - client, - target_list, - 1, - flags, - target_name, - sizeof(target_name), - tn_is_ml)) > 0) - { - return target_list[0]; - } - else - { - ReplyToTargetError(client, target_count); - return -1; - } -} - -/** - * This function is no longer supported. It has been replaced with ReadMapList(), - * which uses a more unified caching and configuration mechanism. This function also - * has a bug where if the cvar contents changes, the fileTime change won't be recognized. - * - * Loads a specified array with maps. The maps will be either loaded from mapcyclefile, or if supplied - * a cvar containing a file name. If the file in the cvar is bad, it will use mapcyclefile. The fileTime - * parameter is used to store a timestamp of the file. If specified, the file will only be reloaded if it - * has changed. - * - * @param array Valid array handle, should be created with CreateArray(33) or larger. - * @param fileTime Variable containing the "last changed" time of the file. Used to avoid needless reloading. - * @param fileCvar CVAR set to the file to be loaded. Optional. - * @return Number of maps loaded or 0 if in error. - */ -#pragma deprecated Use ReadMapList() instead. - stock LoadMaps(Handle:array, &fileTime = 0, Handle:fileCvar = INVALID_HANDLE) - { - decl String:mapPath[256], String:mapFile[64]; - new bool:fileFound = false; - - if (fileCvar != INVALID_HANDLE) - { - GetConVarString(fileCvar, mapFile, 64); - BuildPath(Path_SM, mapPath, sizeof(mapPath), mapFile); - fileFound = FileExists(mapPath); - } - - if (!fileFound) - { - new Handle:mapCycleFile = FindConVar("mapcyclefile"); - GetConVarString(mapCycleFile, mapPath, sizeof(mapPath)); - fileFound = FileExists(mapPath); - } - - if (!fileFound) - { - LogError("Failed to find a file to load maps from. No maps loaded."); - ClearArray(array); - - return 0; - } - - // If the file hasn't changed, there's no reason to reload - // all of the maps. - new newTime = GetFileTime(mapPath, FileTime_LastChange); - if (fileTime == newTime) - { - return GetArraySize(array); - } - - fileTime = newTime; - - ClearArray(array); - - new Handle:file = OpenFile(mapPath, "rt"); - if (file == INVALID_HANDLE) - { - LogError("Could not open file: %s", mapPath); - - return 0; - } - - LogMessage("Loading maps from file: %s", mapPath); - - decl String:buffer[64], len; - while (!IsEndOfFile(file) && ReadFileLine(file, buffer, sizeof(buffer))) - { - TrimString(buffer); - - if ((len = StrContains(buffer, ".bsp", false)) != -1) - { - buffer[len] = '\0'; - } - - if (buffer[0] == '\0' || !IsValidConVarChar(buffer[0]) || !IsMapValid(buffer)) - { - continue; - } - - if (FindStringInArray(array, buffer) != -1) - { - continue; - } - - PushArrayString(array, buffer); - } - - CloseHandle(file); - return GetArraySize(array); -} |
