Advertisement
Guest User

Untitled

a guest
Feb 9th, 2023
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1. exec("./support.cs");
  2.  
  3. function serverCmdRestrictBricks(%client)
  4. {
  5. if(!%client.isAdmin)
  6. {
  7. commandToClient(%client, 'centerPrint', "You must be an \c6Admin\c0 to use this command.", 2);
  8.  
  9. return;
  10. }
  11.  
  12. %client.isUnrestrictingBricks = false;
  13. %client.isRestrictingBricks = !%client.isRestrictingBricks;
  14.  
  15. %msg = %client.isRestrictingBricks ? "NOW" : "NO LONGER";
  16.  
  17. commandToClient(%client, 'centerPrint', "You are\c6" SPC %msg SPC "\c0in \c6RESTRICT\c0 bricks mode.", 2);
  18. }
  19.  
  20. function serverCmdUnRestrictBricks(%client)
  21. {
  22. if(!%client.isAdmin)
  23. {
  24. commandToClient(%client, 'centerPrint', "You must be an \c6Admin\c0 to use this command.", 2);
  25.  
  26. return;
  27. }
  28.  
  29. %client.isRestrictingBricks = false;
  30. %client.isUnrestrictingBricks = !%client.isUnrestrictingBricks;
  31.  
  32. %msg = %client.isUnrestrictingBricks ? "NOW" : "NO LONGER";
  33.  
  34. commandToClient(%client, 'centerPrint', "You are\c6" SPC %msg SPC "\c0in \c6UNRESTRICT\c0 bricks mode.", 2);
  35. }
  36.  
  37. function serverCmdUnrestrictAllBricks(%client)
  38. {
  39. if(!%client.isSuperAdmin)
  40. {
  41. commandToClient(%client, 'centerPrint', "You must be a \c6Super Admin\c0 to use this command.", 2);
  42.  
  43. return;
  44. }
  45.  
  46. deleteVariables("$Pref::Server::RestrictedBrick*");
  47. }
  48.  
  49. function gameConnection::displayRecentRestrictedBricks(%client, %restricted)
  50. {
  51. %msg = %restricted ? "Restricted Following Bricks:" : "Unrestricted Following Bricks:";
  52.  
  53. %realCount = getWordCount($RestrictedBricks::Recent[%client.getBLID()]);
  54. %count = mClampF(%realCount, 0, 5);
  55.  
  56. %x = 5;
  57.  
  58. for(%i = 0; %i < %count; %i++)
  59. {
  60. if(%realCount >= 6 && %x < %realCount)
  61. {
  62. %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;
  63.  
  64. %x++;
  65. }
  66.  
  67. else
  68. {
  69. if(%realCount <= 5)
  70. {
  71. %msg = %msg NL "\c0-\c6" SPC getWord($RestrictedBricks::Recent[%client.getBLID()], %i).uiName;
  72. }
  73.  
  74. else
  75. {
  76. %msg = %msg NL "<just:left>\c0-\c6" SPC getWord($RestrictedBricks::Recent[%client.getBLID()], %i).uiName;
  77. }
  78. }
  79. }
  80.  
  81. commandToClient(%client, 'centerPrint', %msg, mClampF(%count + 1, 2, 10));
  82.  
  83. deleteVariables("$RestrictedBricks::Recent" @ %client.getBLID());
  84. }
  85.  
  86. package Script_RestrictBricks
  87. {
  88. function serverCmdInstantUseBrick(%client, %data)
  89. {
  90. if((%client.isRestrictingBricks || %client.isUnrestrictingBricks) && %client.isAdmin && isObject(%data) && %data.getClassName() $= "fxDTSBrickData" && isObject(%player = %client.player))
  91. {
  92. if(%client.isRestrictingBricks)
  93. {
  94. if($Pref::Server::RestrictedBrick[%data.getName()])
  95. {
  96. commandToClient(%client, 'centerPrint', "This brick was \c6ALREADY\c0 restricted.", 2);
  97. }
  98.  
  99. else
  100. {
  101. commandToClient(%client, 'centerPrint', "Restricted Brick:" NL "-\c6" SPC %data.uiName, 2);
  102.  
  103. $Pref::Server::RestrictedBrick[%data.getName()] = true;
  104. }
  105. }
  106.  
  107. else if(%client.isUnrestrictingBricks)
  108. {
  109. if($Pref::Server::RestrictedBrick[%data.getName()])
  110. {
  111. commandToClient(%client, 'centerPrint', "Unrestricted Brick:" NL "-\c6" SPC %data.uiName, 2);
  112.  
  113. deleteVariables("$Pref::Server::RestrictedBrick" @ %data.getName());
  114. }
  115.  
  116. else
  117. {
  118. commandToClient(%client, 'centerPrint', "This brick \c6WASN'T\c0 restricted.", 2);
  119. }
  120. }
  121.  
  122. return;
  123. }
  124.  
  125. parent::serverCmdInstantUseBrick(%client, %data);
  126. }
  127.  
  128. function serverCmdBuyBrick(%client, %slot, %data)
  129. {
  130. parent::serverCmdBuyBrick(%client, %slot, %data);
  131.  
  132. if((%client.isRestrictingBricks || %client.isUnrestrictingBricks) && %client.isAdmin && isObject(%data) && %data.getClassName() $= "fxDTSBrickData" && isObject(%player = %client.player))
  133. {
  134. if(%client.isRestrictingBricks)
  135. {
  136. $Pref::Server::RestrictedBrick[%data.getName()] = true;
  137.  
  138. $RestrictedBricks::Recent[%client.getBLID()] = addItemToList($RestrictedBricks::Recent[%client.getBLID()], %data);
  139.  
  140. cancel(%client.displayRecentRestrictedBricks);
  141. %client.displayRecentRestrictedBricks = %client.schedule(250, displayRecentRestrictedBricks, 1);
  142. }
  143.  
  144. else if(%client.isUnrestrictingBricks)
  145. {
  146. deleteVariables("$Pref::Server::RestrictedBrick" @ %data.getName());
  147.  
  148. $RestrictedBricks::Recent[%client.getBLID()] = addItemToList($RestrictedBricks::Recent[%client.getBLID()], %data);
  149.  
  150. cancel(%client.displayRecentRestrictedBricks);
  151. %client.displayRecentRestrictedBricks = %client.schedule(250, displayRecentRestrictedBricks, 0);
  152. }
  153. }
  154. }
  155.  
  156. function fxDTSBrick::plant(%brick)
  157. {
  158. %parent = parent::plant(%brick);
  159.  
  160. %data = %brick.getDataBlock();
  161.  
  162. if(isObject(%brick.client))
  163. {
  164. %client = %brick.client;
  165. }
  166.  
  167. else if(isObject(%brick.getGroup().client))
  168. {
  169. %client = %brick.getGroup().client;
  170. }
  171.  
  172. else if(isObject(findClientByBL_ID(%brick.getGroup().bl_id)))
  173. {
  174. %client = findClientByBL_ID(%brick.getGroup().bl_id);
  175. }
  176.  
  177. if(isObject(%client) && $Pref::Server::RestrictedBrick[%data.getName()] && $LastLoadedBrick != %brick.getID() && !%client.isAdmin)
  178. {
  179. commandToClient(%client, 'centerPrint', "You must be an \c6Admin\c0 to plant this brick.", 2);
  180.  
  181. return 6;
  182. }
  183.  
  184. return %parent;
  185. }
  186. };
  187. activatePackage(Script_RestrictBricks);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement