Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- exec("./support.cs");
- function serverCmdRestrictBricks(%client)
- {
- if(!%client.isAdmin)
- {
- commandToClient(%client, 'centerPrint', "You must be an \c6Admin\c0 to use this command.", 2);
- return;
- }
- %client.isUnrestrictingBricks = false;
- %client.isRestrictingBricks = !%client.isRestrictingBricks;
- %msg = %client.isRestrictingBricks ? "NOW" : "NO LONGER";
- commandToClient(%client, 'centerPrint', "You are\c6" SPC %msg SPC "\c0in \c6RESTRICT\c0 bricks mode.", 2);
- }
- function serverCmdUnRestrictBricks(%client)
- {
- if(!%client.isAdmin)
- {
- commandToClient(%client, 'centerPrint', "You must be an \c6Admin\c0 to use this command.", 2);
- return;
- }
- %client.isRestrictingBricks = false;
- %client.isUnrestrictingBricks = !%client.isUnrestrictingBricks;
- %msg = %client.isUnrestrictingBricks ? "NOW" : "NO LONGER";
- commandToClient(%client, 'centerPrint', "You are\c6" SPC %msg SPC "\c0in \c6UNRESTRICT\c0 bricks mode.", 2);
- }
- function serverCmdUnrestrictAllBricks(%client)
- {
- if(!%client.isSuperAdmin)
- {
- commandToClient(%client, 'centerPrint', "You must be a \c6Super Admin\c0 to use this command.", 2);
- return;
- }
- deleteVariables("$Pref::Server::RestrictedBrick*");
- }
- function gameConnection::displayRecentRestrictedBricks(%client, %restricted)
- {
- %msg = %restricted ? "Restricted Following Bricks:" : "Unrestricted Following Bricks:";
- %realCount = getWordCount($RestrictedBricks::Recent[%client.getBLID()]);
- %count = mClampF(%realCount, 0, 5);
- %x = 5;
- for(%i = 0; %i < %count; %i++)
- {
- if(%realCount >= 6 && %x < %realCount)
- {
- %msg = %msg NL "<just:left>\c0-\c6" SPC getWord($RestrictedBricks::Recent[%client.getBLID()], %i).uiName @ "<just:right>\c0-\c6" SPC getWord($RestrictedBricks::Recent[%client.getBLID()], %x).uiName;
- %x++;
- }
- else
- {
- if(%realCount <= 5)
- {
- %msg = %msg NL "\c0-\c6" SPC getWord($RestrictedBricks::Recent[%client.getBLID()], %i).uiName;
- }
- else
- {
- %msg = %msg NL "<just:left>\c0-\c6" SPC getWord($RestrictedBricks::Recent[%client.getBLID()], %i).uiName;
- }
- }
- }
- commandToClient(%client, 'centerPrint', %msg, mClampF(%count + 1, 2, 10));
- deleteVariables("$RestrictedBricks::Recent" @ %client.getBLID());
- }
- package Script_RestrictBricks
- {
- function serverCmdInstantUseBrick(%client, %data)
- {
- if((%client.isRestrictingBricks || %client.isUnrestrictingBricks) && %client.isAdmin && isObject(%data) && %data.getClassName() $= "fxDTSBrickData" && isObject(%player = %client.player))
- {
- if(%client.isRestrictingBricks)
- {
- if($Pref::Server::RestrictedBrick[%data.getName()])
- {
- commandToClient(%client, 'centerPrint', "This brick was \c6ALREADY\c0 restricted.", 2);
- }
- else
- {
- commandToClient(%client, 'centerPrint', "Restricted Brick:" NL "-\c6" SPC %data.uiName, 2);
- $Pref::Server::RestrictedBrick[%data.getName()] = true;
- }
- }
- else if(%client.isUnrestrictingBricks)
- {
- if($Pref::Server::RestrictedBrick[%data.getName()])
- {
- commandToClient(%client, 'centerPrint', "Unrestricted Brick:" NL "-\c6" SPC %data.uiName, 2);
- deleteVariables("$Pref::Server::RestrictedBrick" @ %data.getName());
- }
- else
- {
- commandToClient(%client, 'centerPrint', "This brick \c6WASN'T\c0 restricted.", 2);
- }
- }
- return;
- }
- parent::serverCmdInstantUseBrick(%client, %data);
- }
- function serverCmdBuyBrick(%client, %slot, %data)
- {
- parent::serverCmdBuyBrick(%client, %slot, %data);
- if((%client.isRestrictingBricks || %client.isUnrestrictingBricks) && %client.isAdmin && isObject(%data) && %data.getClassName() $= "fxDTSBrickData" && isObject(%player = %client.player))
- {
- if(%client.isRestrictingBricks)
- {
- $Pref::Server::RestrictedBrick[%data.getName()] = true;
- $RestrictedBricks::Recent[%client.getBLID()] = addItemToList($RestrictedBricks::Recent[%client.getBLID()], %data);
- cancel(%client.displayRecentRestrictedBricks);
- %client.displayRecentRestrictedBricks = %client.schedule(250, displayRecentRestrictedBricks, 1);
- }
- else if(%client.isUnrestrictingBricks)
- {
- deleteVariables("$Pref::Server::RestrictedBrick" @ %data.getName());
- $RestrictedBricks::Recent[%client.getBLID()] = addItemToList($RestrictedBricks::Recent[%client.getBLID()], %data);
- cancel(%client.displayRecentRestrictedBricks);
- %client.displayRecentRestrictedBricks = %client.schedule(250, displayRecentRestrictedBricks, 0);
- }
- }
- }
- function fxDTSBrick::plant(%brick)
- {
- %parent = parent::plant(%brick);
- %data = %brick.getDataBlock();
- if(isObject(%brick.client))
- {
- %client = %brick.client;
- }
- else if(isObject(%brick.getGroup().client))
- {
- %client = %brick.getGroup().client;
- }
- else if(isObject(findClientByBL_ID(%brick.getGroup().bl_id)))
- {
- %client = findClientByBL_ID(%brick.getGroup().bl_id);
- }
- if(isObject(%client) && $Pref::Server::RestrictedBrick[%data.getName()] && $LastLoadedBrick != %brick.getID() && !%client.isAdmin)
- {
- commandToClient(%client, 'centerPrint', "You must be an \c6Admin\c0 to plant this brick.", 2);
- return 6;
- }
- return %parent;
- }
- };
- activatePackage(Script_RestrictBricks);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement