XDMANFROMXDWORLD

Name Stealer

Jul 29th, 2021
1,112
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var nameStealer = {
  2.     ui: {
  3.         GetValue(uiItem) {
  4.             return UI.GetString.apply(this, uiItem);
  5.         },
  6.  
  7.         GetChecked(uiCheckbox) {
  8.             return UI.GetString.apply(this, uiCheckbox) == "true";
  9.         }
  10.     },
  11.  
  12.     featureManager: {
  13.         featureList: [],
  14.  
  15.         createEmptyCallback() {
  16.             return {
  17.                 callback: function() {}
  18.             }
  19.         },
  20.  
  21.         createTimedCallback(realCallback, interval) {
  22.             return {
  23.                 lastExecution: 0,
  24.                 interval: interval,
  25.  
  26.                 callback: function() {
  27.                     var currTime =  Globals.Realtime();
  28.                     var timeSinceLastExecution = currTime - this.lastExecution;
  29.                    
  30.                     if(timeSinceLastExecution > interval) {
  31.                         this.lastExecution = currTime;
  32.                         realCallback();
  33.                     }
  34.                 },
  35.  
  36.                 realCallback: realCallback
  37.             };
  38.         },
  39.  
  40.         createFeature(name) {
  41.             var feature = {
  42.                 name: name,
  43.                 createUiElements: function() {},
  44.                 onCreateMove: this.createEmptyCallback(),
  45.                 onDraw: this.createEmptyCallback(),
  46.                 onFSN: this.createEmptyCallback()
  47.             };
  48.  
  49.             this.featureList.push(feature);
  50.             return feature;
  51.         }
  52.     },
  53.  
  54.     entryPoint() {
  55.     this.chatMessage();
  56.         this.createUI();
  57.         this.registerCallbacks();
  58.     },
  59.  
  60.     chatMessage() {
  61.         if(this.isInGame()) {
  62.             Cheat.PrintChat(" \x03Name Stealer | Wet Brick ");
  63.         }
  64.     },
  65.  
  66.     isInGame() {
  67.         return World.GetServerString().length > 0;
  68.     },
  69.  
  70.     createUI() {
  71.         UI.AddLabel("")
  72.         UI.AddLabel("             Name Stealer")
  73.         UI.AddLabel("_________________________________________")
  74.         this.featureManager.featureList.forEach(function(feature) {
  75.             UI.AddLabel(feature.name);
  76.             feature.createUiElements();
  77.         });
  78.         UI.AddLabel("_________________________________________")
  79.         UI.AddLabel("")
  80.     },
  81.  
  82.     registerCallbacks() {
  83.         Cheat.RegisterCallback("CreateMove", "onCreateMove");
  84.         Cheat.RegisterCallback("Draw", "onDraw");
  85.         Cheat.RegisterCallback("FrameStageNotify", "onFSN");
  86.     },
  87.  
  88.     onCreateMove() {
  89.         this.featureManager.featureList.forEach(function(e) {
  90.             e.onCreateMove.callback();
  91.         });
  92.     },
  93.  
  94.     onDraw() {
  95.         this.featureManager.featureList.forEach(function(e) {
  96.             e.onDraw.callback();
  97.         });
  98.     },
  99.  
  100.     onFSN() {
  101.         this.featureManager.featureList.forEach(function(e) {
  102.             e.onFSN.callback();
  103.         });
  104.     }
  105. }
  106.  
  107. function onCreateMove() {
  108.     nameStealer.onCreateMove();
  109. }
  110.  
  111. function onDraw() {
  112.     nameStealer.onDraw();
  113. }
  114.  
  115. function onFSN() {
  116.     nameStealer.onFSN();
  117. }
  118.  
  119. var featureManager = nameStealer.featureManager;
  120. var ui = nameStealer.ui;
  121.  
  122. (function() {
  123.     var nameStealerF = featureManager.createFeature("");
  124.  
  125.     var wasEnabled;
  126.     var ccCheckbox, ccTextBox, ccDropdown;
  127.  
  128.     var textModificators = {
  129.         "Teammate namesteal": {
  130.             lastIndex: 0,
  131.             processText: function(text) {
  132.                 var localplayer = Entity.GetLocalPlayer();
  133.                 var players = Entity.GetTeammates();
  134.  
  135.                 if(this.lastIndex > players.length - 1) {
  136.                     this.lastIndex = 0;
  137.                 }
  138.  
  139.                 var entId = players[this.lastIndex];
  140.  
  141.                 if(entId == localplayer) {
  142.                     this.lastIndex++;
  143.                     entId = players[this.lastIndex];
  144.                 }
  145.  
  146.                 var name = Entity.GetName(entId);
  147.                 var isBot = Entity.IsBot(entId);
  148.  
  149.                 if(isBot) {
  150.                     name = "BOT " + name;
  151.                 }
  152.  
  153.                 this.lastIndex++;
  154.  
  155.                 return name + "\n\n";
  156.             }
  157.         },
  158.         "Enemy namesteal": {
  159.             lastIndex: 0,
  160.             processText: function(text) {
  161.                 var players = Entity.GetEnemies();
  162.  
  163.                 if(this.lastIndex > players.length - 1) {
  164.                     this.lastIndex = 0;
  165.                 }
  166.  
  167.                 var entId = players[this.lastIndex];
  168.                 var name = Entity.GetName(entId);
  169.                 var isBot = Entity.IsBot(entId);
  170.  
  171.                 if(isBot) {
  172.                     name = "BOT " + name;
  173.                 }
  174.  
  175.                 this.lastIndex++;
  176.  
  177.                 return name + "\n\n";
  178.             }
  179.         },
  180.         "All namesteal": {
  181.             lastIndex: 0,
  182.             processText: function(text) {
  183.                 var localplayer = Entity.GetLocalPlayer();
  184.                 var players = Entity.GetPlayers();
  185.  
  186.                 if(this.lastIndex > players.length - 1) {
  187.                     this.lastIndex = 0;
  188.                 }
  189.  
  190.                 var entId = players[this.lastIndex];
  191.  
  192.                 if(entId == localplayer) {
  193.                     this.lastIndex++;
  194.                     entId = players[this.lastIndex];
  195.                 }
  196.  
  197.                 var name = Entity.GetName(entId);
  198.                 var isBot = Entity.IsBot(entId);
  199.  
  200.                 if(isBot) {
  201.                     name = "BOT " + name;
  202.                 }
  203.  
  204.                 this.lastIndex++;
  205.  
  206.                 return name + "\n\n";
  207.             }
  208.         }
  209.     };
  210.  
  211.     function isMessageEnabled()
  212.     {
  213.    
  214.     }
  215.  
  216.     nameStealerF.createUiElements = function() {
  217.         ccCheckbox = UI.AddCheckbox("Enable Name Steal");
  218.         UI.AddLabel("");
  219.  
  220.         var textModificatorTypes = Object.getOwnPropertyNames(textModificators);
  221.  
  222.         ccDropdown = UI.AddDropdown("Name Stealer Type", textModificatorTypes);
  223.     };
  224.  
  225.     function nameStealerFFrameStageNotify() {
  226.     var nameStealerTagEnabled = ui.GetChecked(ccCheckbox);
  227.  
  228.         if(!nameStealerTagEnabled) {
  229.             if(wasEnabled) {
  230.                 wasEnabled = false;
  231.  
  232.             }
  233.            
  234.         return;
  235.         }
  236.  
  237.     wasEnabled = true;
  238.  
  239.         var customText = ui.GetValue(ccTextBox);
  240.         var textModificator = ui.GetValue(ccDropdown);
  241.  
  242.  
  243.         var newText = textModificators[textModificator].processText(customText);
  244.  
  245.         Local.SetClanTag(newText);
  246.     }
  247.  
  248.     nameStealerF.onDraw = featureManager.createTimedCallback(nameStealerFFrameStageNotify, 0.5);
  249. })();
  250.  
  251. nameStealer.entryPoint();
RAW Paste Data