Plutonium-T6-Scripts/chat_commands/zm/chat_command_points.gsc
2023-03-21 03:05:02 +01:00

97 lines
1.6 KiB
Plaintext

#include scripts\chat_commands;
Init()
{
CreateCommand(level.chat_commands["ports"], "setpoints", "function", ::SetPointsCommand, 3);
CreateCommand(level.chat_commands["ports"], "addpoints", "function", ::AddPointsCommand, 3);
CreateCommand(level.chat_commands["ports"], "takepoints", "function", ::TakePointsCommand, 3);
}
/* Command section */
SetPointsCommand(args)
{
if (args.size < 2)
{
return NotEnoughArgsError(2);
}
error = SetPlayerPoints(args[0], args[1]);
if (IsDefined(error))
{
return error;
}
}
AddPointsCommand(args)
{
if (args.size < 2)
{
return NotEnoughArgsError(2);
}
error = AddPlayerPoints(args[0], args[1]);
if (IsDefined(error))
{
return error;
}
}
TakePointsCommand(args)
{
if (args.size < 2)
{
return NotEnoughArgsError(2);
}
error = TakePlayerPoints(args[0], args[1]);
if (IsDefined(error))
{
return error;
}
}
/* Logic section */
SetPlayerPoints(playerName, points)
{
player = FindPlayerByName(playerName);
if (!IsDefined(player))
{
return PlayerDoesNotExistError(playerName);
}
player.score = int(points);
}
AddPlayerPoints(playerName, points)
{
player = FindPlayerByName(playerName);
if (!IsDefined(player))
{
return PlayerDoesNotExistError(playerName);
}
player.score += int(points);
}
TakePlayerPoints(playerName, points)
{
player = FindPlayerByName(playerName);
if (!IsDefined(player))
{
return PlayerDoesNotExistError(playerName);
}
player.score -= int(points);
}