mirror of
https://github.com/Resxt/Plutonium-T6-Scripts.git
synced 2025-04-19 13:42:54 +00:00
chat_command_freeze 1.0.0
This commit is contained in:
parent
58eece3441
commit
56a1d9e961
@ -84,6 +84,24 @@ set cc_permission_4 ""
|
||||
| setdvar | Changes a dvar on the server | (1) the dvar name (2) the new dvar value | `!setdvar jump_height 500` | 4 |
|
||||
| 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` | 4 |
|
||||
|
||||
## chat_command_freeze.gsc
|
||||
|
||||
Toggles whether the targeted player can move or not.
|
||||
Note that this does not work during the prematch period.
|
||||
|
||||
| # | Argument | Mandatory |
|
||||
|---|---|---|
|
||||
| 1 | The name of the player to freeze/unfreeze | :white_check_mark: |
|
||||
|
||||
| Examples |
|
||||
|---|
|
||||
| `!freeze me` |
|
||||
| `!freeze Resxt` |
|
||||
|
||||
| Permission level |
|
||||
|---|
|
||||
| 3 |
|
||||
|
||||
## chat_command_god_mode.gsc
|
||||
|
||||
Toggles whether the targeted player is in god mode (invincible) or not.
|
||||
|
79
chat_commands/chat_command_freeze.gsc
Normal file
79
chat_commands/chat_command_freeze.gsc
Normal file
@ -0,0 +1,79 @@
|
||||
#include scripts\chat_commands;
|
||||
|
||||
Init()
|
||||
{
|
||||
CreateCommand(level.chat_commands["ports"], "freeze", "function", ::FreezeCommand, 3, array("default_help_one_player"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Command section */
|
||||
|
||||
FreezeCommand(args)
|
||||
{
|
||||
if (args.size < 1)
|
||||
{
|
||||
return NotEnoughArgsError(1);
|
||||
}
|
||||
|
||||
error = ToggleFreeze(args[0]);
|
||||
|
||||
if (IsDefined(error))
|
||||
{
|
||||
return error;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Logic section */
|
||||
|
||||
ToggleFreeze(playerName)
|
||||
{
|
||||
player = FindPlayerByName(playerName);
|
||||
|
||||
if (!IsDefined(player))
|
||||
{
|
||||
return PlayerDoesNotExistError(playerName);
|
||||
}
|
||||
|
||||
commandName = "freeze";
|
||||
|
||||
ToggleStatus(commandName, "Freeze", player);
|
||||
|
||||
if (GetStatus(commandName, player))
|
||||
{
|
||||
player DoFreeze(true);
|
||||
player thread ThreadFreeze();
|
||||
}
|
||||
else
|
||||
{
|
||||
player DoFreeze(false);
|
||||
player notify("chat_commands_freeze_off");
|
||||
}
|
||||
}
|
||||
|
||||
ThreadFreeze()
|
||||
{
|
||||
self endon("disconnect");
|
||||
self endon("chat_commands_freeze_off");
|
||||
|
||||
for(;;)
|
||||
{
|
||||
self waittill("spawned_player");
|
||||
|
||||
self DoFreeze(true);
|
||||
}
|
||||
}
|
||||
|
||||
DoFreeze(enabled)
|
||||
{
|
||||
if (enabled)
|
||||
{
|
||||
self FreezeControls(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
self FreezeControls(0);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user