Plutonium-IW5-Scripts/chat_commands/chat_command_permissions.gsc
2023-03-18 02:01:18 +01:00

76 lines
1.5 KiB
Plaintext

#include scripts\chat_commands;
Init()
{
CreateCommand(level.chat_commands["ports"], "getpermission", "function", ::GetPlayerPermissionCommand, 2);
CreateCommand(level.chat_commands["ports"], "setpermission", "function", ::SetPlayerPermissionCommand, 4);
}
/* Command section */
GetPlayerPermissionCommand(args)
{
if (args.size < 1)
{
return NotEnoughArgsError(1);
}
error = GetPlayerPermission(args[0]);
if (IsDefined(error))
{
return error;
}
}
SetPlayerPermissionCommand(args)
{
if (args.size < 2)
{
return NotEnoughArgsError(2);
}
error = SetPlayerPermission(args[0], args[1]);
if (IsDefined(error))
{
return error;
}
}
/* Logic section */
GetPlayerPermission(playerName)
{
player = FindPlayerByName(playerName);
if (!IsDefined(player))
{
return PlayerDoesNotExistError(playerName);
}
self thread TellPlayer(["^5" + player.name + " ^7permission level is ^5" + player GetPlayerPermissionLevel()], 1);
}
SetPlayerPermission(playerName, newPermissionLevel)
{
player = FindPlayerByName(playerName);
if (!IsDefined(player))
{
return PlayerDoesNotExistError(playerName);
}
newPermissionLevel = int(newPermissionLevel);
if (newPermissionLevel < 0 || newPermissionLevel > GetDvarInt("cc_permission_max"))
{
return InvalidPermissionLevelError(newPermissionLevel);
}
player SetPlayerPermissionLevel(newPermissionLevel);
}