TacoServer/Classic/scripts/autoexec/ObserverCooldown.cs
ChocoTaco1 0e6e0bdfd8 Rewrote VoteMenu Func
Rewrote VoteMenu Func
Added Restricted Voting
Integrated SetNextMission
Added Description Details
Added ClearCenterPrint for FIRE when obs
2022-05-13 14:55:25 -04:00

39 lines
1.2 KiB
C#

// Observer Cooldown Script
//
// Made as a preventative measure to ensure no rapid observer/spawning
// Limits how fast a client can spawn and go to observer
//
package ObserverTimeout
{
function serverCmdClientMakeObserver(%client)
{
//10 second cooldown on becoming an observer
%timeDif = getSimTime() - %client.observerTimeout;
%timeDif1 = getSimTime() - %client.observerMsg;
if(%timeDif > 10000 || !%client.observerTimeout || %client.isAdmin)
{
%client.observerProtectStart = getSimTime();
%client.observerTimeout = getSimTime();
if (isObject(Game) && Game.kickClient != %client)
Game.forceObserver(%client, "playerChoose");
if($Host::TournamentMode) //Added to clear FIRE centerPrint
ClearCenterPrint(%client);
}
//1 second cooldown on message
else if((%timeDif1 > 1000 || !%client.observerMsg))
{
%wait = mFloor((10000 - (getSimTime() - %client.observerProtectStart)) / 1000);
messageClient(%client, 'MsgObserverCooldown', '\c3Observer Cooldown:\cr Please wait another %1 seconds.', %wait );
%client.observerMsg = getSimTime();
}
}
};
// Prevent package from being activated if it is already
if (!isActivePackage(ObserverTimeout))
activatePackage(ObserverTimeout);