From d95cd501c9a303a0a92f4b8b34e75db96af212bf Mon Sep 17 00:00:00 2001 From: Greyscale Date: Fri, 25 Jun 2010 10:40:47 -0700 Subject: [PATCH] Removed unnecessary antistick commands for model hull width, all models have the same hull width. --- .../zombiereloaded/zombiereloaded.cfg | 8 - src/zombiereloaded.sp | 1 - src/zr/antistick.inc | 255 +----------------- src/zr/cvars.inc | 2 - 4 files changed, 3 insertions(+), 263 deletions(-) diff --git a/cstrike/cfg/sourcemod/zombiereloaded/zombiereloaded.cfg b/cstrike/cfg/sourcemod/zombiereloaded/zombiereloaded.cfg index 6c5dee0..6201d73 100644 --- a/cstrike/cfg/sourcemod/zombiereloaded/zombiereloaded.cfg +++ b/cstrike/cfg/sourcemod/zombiereloaded/zombiereloaded.cfg @@ -566,14 +566,6 @@ zr_ambientsounds_volume "0.8" // Default: "1" zr_antistick "1" -// The default width of player models, don't touch if you don't know what you're doing. [Dependency: zr_antistick] -// Default: "32.0" -zr_antistick_default_width "32.0" - -// File to store antistick model hull data. [Dependency: zr_antistick] -// Default: "data/antistick.dat" -zr_antistick_file_path "data/antistick.dat" - // ---------------------------------------------------------------------------- // Spawn Protect (module) diff --git a/src/zombiereloaded.sp b/src/zombiereloaded.sp index ec2c3dc..6bf23f2 100644 --- a/src/zombiereloaded.sp +++ b/src/zombiereloaded.sp @@ -214,7 +214,6 @@ public OnConfigsExecuted() DamageLoad(); VEffectsLoad(); SEffectsLoad(); - AntiStickLoad(); ClassLoad(); VolLoad(); diff --git a/src/zr/antistick.inc b/src/zr/antistick.inc index 191027b..3d0396d 100644 --- a/src/zr/antistick.inc +++ b/src/zr/antistick.inc @@ -57,12 +57,7 @@ /** * Default player hull width. */ -#define ANTISTICK_DEFAULT_HULL_WIDTH GetConVarFloat(g_hCvarsList[CVAR_ANTISTICK_DEFAULT_WIDTH]) - -/** - * Handle to keyvalue structure where data is stored. - */ -new Handle:g_kvAntiStick = INVALID_HANDLE; +#define ANTISTICK_DEFAULT_HULL_WIDTH 32.0 /** * Stores "StartTouch" HookID's for each client. @@ -95,33 +90,9 @@ enum AntiStickBoxBound */ AntiStickOnCommandsCreate() { - // Create public command to list model data. - RegConsoleCmd("zr_antistick_list_models", AntiStickListModelsCommand, "Lists all players and their model data in console. Usage: zr_antistick_list_models"); - - // Create admin command to set model hull width. - RegConsoleCmd("zr_antistick_set_width", AntiStickSetWidthCommand, "Sets the width of a model's hull. (See zr_antistick_list_models) Usage: zr_antistick_set_width "); - RegConsoleCmd("zr_antistick_dump_group", AntiStickDumpGroupCommand, "Dumps collision group data on one or more players. Usage zr_antistick_dump_group [#userid|name]"); } -/** - * Creates/loads antistick data file. - */ -AntiStickLoad() -{ - // Create antistick keyvalues if it hasn't been created yet. - if (g_kvAntiStick == INVALID_HANDLE) - { - g_kvAntiStick = CreateKeyValues("antistick"); - } - - // Initialize keyvalues. - if (!AntiStickLoadData()) - { - AntiStickSaveData(); - } -} - /** * Client is joining the server. * @@ -160,120 +131,6 @@ AntiStickOnClientDisconnect(client) } } -/** - * Load antistick data from file. - * - * @return True if loaded successfully, false if file wasn't found. - */ -stock bool:AntiStickLoadData() -{ - // Get cvar's path. - decl String:filepath[PLATFORM_MAX_PATH]; - GetConVarString(g_hCvarsList[CVAR_ANTISTICK_FILE_PATH], filepath, sizeof(filepath)); - - // Build full path in return string. - decl String:fullpath[PLATFORM_MAX_PATH]; - BuildPath(Path_SM, fullpath, PLATFORM_MAX_PATH, filepath); - - // Log action to game events. - LogEvent(false, LogType_Normal, LOG_CORE_EVENTS, LogModule_AntiStick, "Loaded Data", "Antistick data has been loaded from \"%s\"", fullpath); - - // Retrieve keyvalue data from a file, and store in server's memory. - KvRewind(g_kvAntiStick); - return FileToKeyValues(g_kvAntiStick, fullpath); -} - -/** - * Save antistick data to file. - */ -stock AntiStickSaveData() -{ - // Get cvar's path. - decl String:filepath[PLATFORM_MAX_PATH]; - GetConVarString(g_hCvarsList[CVAR_ANTISTICK_FILE_PATH], filepath, sizeof(filepath)); - - // Build full path in return string. - decl String:fullpath[PLATFORM_MAX_PATH]; - BuildPath(Path_SM, fullpath, PLATFORM_MAX_PATH, filepath); - - // Log action to game events. - LogEvent(false, LogType_Normal, LOG_CORE_EVENTS, LogModule_AntiStick, "Saved Data", "Antistick data has been saved to \"%s\"", fullpath); - - // Dump keyvalue structure into a file from the server's memory. - KvRewind(g_kvAntiStick); - KeyValuesToFile(g_kvAntiStick, fullpath); -} - -/** - * Get hull width on a client's model. (or return default) - * - * @param client The client index. - * @param model If a client index of 0 is given, this model is used. - */ -stock Float:AntiStickGetModelHullWidth(client, const String:model[] = "") -{ - decl String:clientmodel[PLATFORM_MAX_PATH]; - - if (ZRIsClientValid(client)) - { - // Get client's model. - GetClientModel(client, clientmodel, sizeof(clientmodel)); - } - else - { - // Copy given model to 'clientmodel.' - strcopy(clientmodel, sizeof(clientmodel), model); - } - - // Find model in antistick data. - KvRewind(g_kvAntiStick); - if (KvJumpToKey(g_kvAntiStick, clientmodel)) - { - // Return value from file. - return KvGetFloat(g_kvAntiStick, "hull_width", ANTISTICK_DEFAULT_HULL_WIDTH); - } - else - { - // Return default CS:S hull width. - return ANTISTICK_DEFAULT_HULL_WIDTH; - } -} - -/** - * Set hull width on a client's model. - * - * @param client The client index. - * @param model If a client index of 0 is given, this model is used. - * @param hull_width The width of the model hull. - */ -stock AntiStickSetModelHullWidth(client, const String:model[] = "", Float:hull_width) -{ - decl String:clientmodel[PLATFORM_MAX_PATH]; - - if (ZRIsClientValid(client)) - { - // Get client's model. - GetClientModel(client, clientmodel, sizeof(clientmodel)); - } - else - { - // Copy given model to 'clientmodel.' - strcopy(clientmodel, sizeof(clientmodel), model); - } - - // Replace "/" with "-" because a slash indicates a new level in keyvalues. - ReplaceString(clientmodel, sizeof(clientmodel), "/", "-"); - - // Find model in antistick data. - KvRewind(g_kvAntiStick); - - // Create key if it doesn't already exist. - KvJumpToKey(g_kvAntiStick, clientmodel, true); - - // Set value. - KvSetFloat(g_kvAntiStick, "hull_width", hull_width); -} - /** * Callback function for StartTouch. * @@ -543,13 +400,9 @@ stock bool:AntiStickIsModelBoxColliding(client1, client2) new Float:client1modelbox[AntiStickBoxBound][3]; new Float:client2modelbox[AntiStickBoxBound][3]; - // Get model hull widths. - new Float:hull_width1 = AntiStickGetModelHullWidth(client1); - new Float:hull_width2 = AntiStickGetModelHullWidth(client2); - // Build model boxes for each client. - AntiStickBuildModelBox(client1, client1modelbox, hull_width1); - AntiStickBuildModelBox(client2, client2modelbox, hull_width2); + AntiStickBuildModelBox(client1, client1modelbox, ANTISTICK_DEFAULT_HULL_WIDTH); + AntiStickBuildModelBox(client2, client2modelbox, ANTISTICK_DEFAULT_HULL_WIDTH); // Compare x values. new Float:max1x = AntiStickGetBoxMaxBoundary(0, client1modelbox); @@ -704,108 +557,6 @@ AntiStickCollisionGroupToString(collisiongroup, String:buffer[], maxlen) return strcopy(buffer, maxlen, ""); } -/** - * Command callback (zr_antistick_list_models) - * Lists all player's models and model hull data. - * - * @param client The client index. - * @param argc Argument count. - */ -public Action:AntiStickListModelsCommand(client, argc) -{ - // Tell client we are listing model data. - TranslationPrintToConsole(client, "AntiStick command list models list"); - - decl String:clientname[MAX_NAME_LENGTH]; - decl String:modelname[PLATFORM_MAX_PATH]; - new Float:hull_width; - - // x = Client index. - for (new x = 1; x <= MaxClients; x++) - { - // If client isn't in-game, then stop. - if (!IsClientInGame(x)) - { - continue; - } - - // Get all needed data. - GetClientName(x, clientname, sizeof(clientname)); - GetClientModel(x, modelname, sizeof(modelname)); - hull_width = AntiStickGetModelHullWidth(x); - - TranslationPrintToConsole(client, "AntiStick command list models name", clientname, modelname, hull_width); - } - - return Plugin_Handled; -} - -/** - * Command callback (zr_antistick_set_width) - * Set the hull width on any model. - * - * @param client The client index. - * @param argc Argument count. - */ -public Action:AntiStickSetWidthCommand(client, argc) -{ - // Check if privileged. - if (!ZRIsClientPrivileged(client, OperationType_Configuration)) - { - TranslationReplyToCommand(client, "No access to command"); - return Plugin_Handled; - } - - // If not enough arguments given, then stop. - if (argc < 2) - { - TranslationReplyToCommand(client, "AntiStick command set width syntax"); - return Plugin_Handled; - } - - // Get target model. - decl String:model[PLATFORM_MAX_PATH]; - GetCmdArg(1, model, sizeof(model)); - - // If model doesn't exist, then stop. - if (!FileExists(model)) - { - new target = FindTarget(client, model); - if (target <= 0) - { - TranslationReplyToCommand(client, "AntiStick command set width invalid model", model); - return Plugin_Handled; - } - else - { - // Get the target's model. - GetClientModel(target, model, sizeof(model)); - } - } - - // Get the given hull width.. - decl String:strHullwidth[PLATFORM_MAX_PATH]; - GetCmdArg(2, strHullwidth, sizeof(strHullwidth)); - - new Float:hull_width = StringToFloat(strHullwidth); - if (hull_width <= 0.0) - { - TranslationReplyToCommand(client, "AntiStick command set width invalid width", hull_width); - return Plugin_Handled; - } - - // Set hull width. - AntiStickSetModelHullWidth(0, model, hull_width); - - // Tell client it was successful. - TranslationReplyToCommand(client, "AntiStick command set width successful", model, hull_width); - - // Save data. - AntiStickSaveData(); - - return Plugin_Handled; -} - /** * Command callback (zr_antistick_dump_group) * Dumps collision group data. diff --git a/src/zr/cvars.inc b/src/zr/cvars.inc index dbff337..1a4532b 100644 --- a/src/zr/cvars.inc +++ b/src/zr/cvars.inc @@ -433,8 +433,6 @@ CvarsCreate() // Anti-Stick (module) // =========================== g_hCvarsList[CVAR_ANTISTICK] = CreateConVar("zr_antistick", "1", "Automatically unstick players when stuck within each others' collision hull."); - g_hCvarsList[CVAR_ANTISTICK_DEFAULT_WIDTH] = CreateConVar("zr_antistick_default_width", "32.0", "The default width of player models, don't touch if you don't know what you're doing. [Dependency: zr_antistick]"); - g_hCvarsList[CVAR_ANTISTICK_FILE_PATH] = CreateConVar("zr_antistick_file_path", "data/antistick.dat", "File to store antistick model hull data. [Dependency: zr_antistick]"); // =========================== // Spawn Protect (module)