Made console commands for getting and setting class knockback: zr_set/get_class_knockback.

This commit is contained in:
richard 2008-10-08 01:43:26 +02:00
parent 6d259ab83c
commit da56988372
4 changed files with 121 additions and 1 deletions

View File

@ -1,3 +1,6 @@
2008.10.08 - 2.5.1.3
* Made the console commands zr_set_class_knockback and zr_get_class_knockback.
2008.10.07 - 2.5.1.2 2008.10.07 - 2.5.1.2
* Added support for overriding class nvgs with the CVAR. -1: Disable override, 0/1: Off/On * Added support for overriding class nvgs with the CVAR. -1: Disable override, 0/1: Off/On

View File

@ -15,7 +15,7 @@
#undef REQUIRE_PLUGIN #undef REQUIRE_PLUGIN
#include <market> #include <market>
#define VERSION "2.5.1.2" #define VERSION "2.5.1.3"
#include "zr/zombiereloaded" #include "zr/zombiereloaded"
#include "zr/global" #include "zr/global"

View File

@ -120,6 +120,25 @@ GetClassName(classindex, String:name[], maxlen)
strcopy(name, maxlen, arrayClasses[classindex][data_name]); strcopy(name, maxlen, arrayClasses[classindex][data_name]);
} }
GetClassIndex(String:name[])
{
new i;
decl String:current_name[64];
// Search through all classes for the specified name.
for (i = 0; i < classCount; i++)
{
GetClassName(i, current_name, sizeof(current_name));
if (strcmp(name, current_name, false) == 0)
{
return i;
}
}
// Class not found.
return -1;
}
GetClassModel(classindex, String:model[], maxlen) GetClassModel(classindex, String:model[], maxlen)
{ {
strcopy(model, maxlen, arrayClasses[classindex][data_model]); strcopy(model, maxlen, arrayClasses[classindex][data_model]);

View File

@ -13,6 +13,9 @@ CreateCommands()
RegAdminCmd("zr_restrict", Command_Restrict, ADMFLAG_GENERIC, "Restrict a specified weapon"); RegAdminCmd("zr_restrict", Command_Restrict, ADMFLAG_GENERIC, "Restrict a specified weapon");
RegAdminCmd("zr_unrestrict", Command_UnRestrict, ADMFLAG_GENERIC, "Unrestrict a specified weapon"); RegAdminCmd("zr_unrestrict", Command_UnRestrict, ADMFLAG_GENERIC, "Unrestrict a specified weapon");
RegAdminCmd("zr_set_class_knockback", Command_SetClassKnockback, ADMFLAG_GENERIC, "Sets the knockback to the specified class. Usage: zr_set_class_knockback classname value");
RegAdminCmd("zr_get_class_knockback", Command_GetClassKnockback, ADMFLAG_GENERIC, "Gets the knockback to the specified class. Usage: zr_get_class_knockback classname");
} }
public Action:Command_Infect(client, argc) public Action:Command_Infect(client, argc)
@ -116,3 +119,98 @@ public Action:Command_UnRestrict(client, argc)
return Plugin_Handled; return Plugin_Handled;
} }
public Action:Command_SetClassKnockback(client, argc)
{
if (argc < 2)
{
if (client == 0)
{
PrintToServer("Sets the specified class knockback. Usage: zr_set_class_knockback classname value");
return Plugin_Handled;
}
else
{
PrintToConsole(client, "Sets the specified class knockback. Usage: zr_set_class_knockback classname value");
return Plugin_Handled;
}
}
decl String:classname[64];
decl String:knockback_arg[8];
new classindex;
new Float:knockback;
GetCmdArg(1, classname, sizeof(classname));
GetCmdArg(2, knockback_arg, sizeof(knockback_arg));
classindex = GetClassIndex(classname);
knockback = StringToFloat(knockback_arg);
if (classindex < 0)
{
if (client == 0)
{
PrintToServer("Could not find the class %s.", classname);
return Plugin_Handled;
}
else
{
PrintToConsole(client, "Could not find the class %s.", classname);
return Plugin_Handled;
}
}
arrayClasses[classindex][data_knockback] = knockback;
return Plugin_Handled;
}
public Action:Command_GetClassKnockback(client, argc)
{
if (argc < 1)
{
if (client == 0)
{
PrintToServer("Gets the specified class knockback. Usage: zr_get_class_knockback classname");
return Plugin_Handled;
}
else
{
PrintToConsole(client, "Gets the specified class knockback. Usage: zr_get_class_knockback classname");
return Plugin_Handled;
}
}
decl String:classname[64];
new classindex;
new Float:knockback;
GetCmdArg(1, classname, sizeof(classname));
classindex = GetClassIndex(classname);
if (classindex < 0)
{
if (client == 0)
{
PrintToServer("Could not find the class %s.", classname);
return Plugin_Handled;
}
else
{
PrintToConsole(client, "Could not find the class %s.", classname);
return Plugin_Handled;
}
}
knockback = arrayClasses[classindex][data_knockback];
if (client == 0)
{
PrintToServer("Current knockback for %s: %f", classname, knockback);
}
else
{
PrintToConsole(client, "Current knockback for %s: %f", classname, knockback);
}
return Plugin_Handled;
}