chat_command_dvars 1.0.0

This commit is contained in:
Resxt 2023-02-16 16:34:23 +01:00
parent 994e69632e
commit e120fd102a
2 changed files with 118 additions and 0 deletions

View File

@ -38,6 +38,20 @@ The player affected by the command dies and swaps to the other team.
| `!changeteam me` | | `!changeteam me` |
| `!changeteam Resxt` | | `!changeteam Resxt` |
## chat_command_dvars.gsc
3 related commands in one file:
- Print server dvar
- Change server dvar
- Change client dvar
| Name | Description | Arguments expected | Example |
|---|---|---|---|
| getdvar | Prints the (server) dvar value in the player's chat | (1) the dvar name | `!getdvar g_speed` |
| setdvar | Changes a dvar on the server | (1) the dvar name (2) the new dvar value | `!setdvar jump_height 500` |
| setclientdvar | Changes a dvar on the targeted player | (1) the name of the player (2) the dvar name (3) the new dvar value | `!setclientdvar Resxt cg_thirdperson 1` |
## chat_command_freeze.gsc ## chat_command_freeze.gsc
Toggles whether the targeted player can move or not. Toggles whether the targeted player can move or not.

View File

@ -0,0 +1,104 @@
#include scripts\chat_commands;
Init()
{
CreateCommand(level.commands_servers_ports, "getdvar", "function", ::GetDvarCommand);
CreateCommand(level.commands_servers_ports, "setdvar", "function", ::SetDvarCommand);
CreateCommand(level.commands_servers_ports, "setclientdvar", "function", ::SetPlayerDvarCommand);
}
/* Command section */
GetDvarCommand(args)
{
if (args.size < 1)
{
return NotEnoughArgsError(1);
}
error = GetServerDvar(args[0]);
if (IsDefined(error))
{
return error;
}
}
SetDvarCommand(args)
{
if (args.size < 2)
{
return NotEnoughArgsError(2);
}
error = SetServerDvar(args[0], args[1], false);
if (IsDefined(error))
{
return error;
}
}
SetPlayerDvarCommand(args)
{
if (args.size < 3)
{
return NotEnoughArgsError(3);
}
error = SetPlayerDvar(args[0], args[1], args[2]);
if (IsDefined(error))
{
return error;
}
}
/* Logic section */
GetServerDvar(dvarName)
{
if (DvarIsInitialized(dvarName))
{
self thread TellPlayer(["^5" + dvarName + " ^7is currently set to ^5" + GetDvar(dvarName)], 1);
}
else
{
return DvarDoesNotExistError(dvarName);
}
}
SetServerDvar(dvarName, dvarValue, canSetUndefinedDvar)
{
if (IsDefined(canSetUndefinedDvar) && canSetUndefinedDvar)
{
SetDvar(dvarName, dvarValue);
}
else
{
if (DvarIsInitialized(dvarName))
{
SetDvar(dvarName, dvarValue);
}
else
{
return DvarDoesNotExistError(dvarName);
}
}
}
SetPlayerDvar(playerName, dvarName, dvarValue)
{
player = FindPlayerByName(playerName);
if (!IsDefined(player))
{
return PlayerDoesNotExistError(playerName);
}
player SetClientDvar(dvarName, dvarValue);
}