if (player.Stars < 20 && text[0] != '/')
{
player.SendInfo("You may only talk once per minute.");
return;
}
添加到If
的最简单方法是什么?如果玩家在一分钟内尝试发送超过1条消息,它会被停止?
答案 0 :(得分:5)
实现此目的的一种简单方法是在player
对象上存储某种时间戳,并在if
语句中对其进行检查。您还希望确保稍后在函数(或其他位置)中设置它以使其正常工作。
以下是一个示例(LastTalked
是时间戳的名称,但显然可以随意调用它):
if (player.Stars < 20 && text[0] != '/' && DateTime.UtcNow - player.LastTalked < TimeSpan.FromMinutes(1))
{
player.SendInfo("You may only talk once per minute.");
return;
}
player.LastTalked = DateTime.UtcNow;
请注意,这仅基于您问题中提供的信息;可能还有其他考虑因素需要考虑。
答案 1 :(得分:0)
您应存储上次留言时间,并将当前时间与之比较。
如果差异小于1分钟 - 阻止SendInfo