Advertisement
bennytrt2

Ancestor money dupe script

Jan 27th, 2022
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. --[[
  2.  
  3. This can money wipe in rare cases since
  4. the antisave isn't yet present in this version.
  5.  
  6. Made By Ancestor#4476/FindFirst
  7. ]]
  8.  
  9. local Ancestor={};
  10.  
  11. -->Dupe Money Variables
  12. local DupeMoneyQuantity=2;
  13.  
  14. -->Optimisation Shit
  15. local RunService=game:GetService'RunService';
  16. local Stepped=RunService.Stepped;
  17. local C_R,C_C,R_Module,hook_func,fwait,tdelay,lstring=coroutine.resume,coroutine.create,require,hookfunction or replaceclosure or hookfunc,task.wait,task.delay,loadstring;
  18. local LP=game.Players.LocalPlayer;
  19. local Is_Client_Loaded=false;
  20. local PropertyPurchasingClient=getsenv(LP.PlayerGui.PropertyPurchasingGUI.PropertyPurchasingClient);
  21. local RepStore=game:GetService'ReplicatedStorage';
  22.  
  23. -->Remotes
  24. local Client_May_Load=RepStore.LoadSaveRequests.ClientMayLoad;
  25. local Donate=RepStore.Transactions.ClientToServer.Donate;
  26. local Request_Load=game.ReplicatedStorage.LoadSaveRequests.RequestLoad;
  27. local Request_Save=game.ReplicatedStorage.LoadSaveRequests.RequestSave;
  28.  
  29. -->Load freeze bug fix
  30. local BumpModule=R_Module(LP.PlayerGui.BumpButton);
  31. hook_func(BumpModule.Bump,function()
  32. return true;
  33. end);
  34.  
  35. --Antikick
  36. lstring([[
  37. local LP=game.Players.LocalPlayer;
  38. local hook_func=hookfunction or replaceclosure or hookfunc;
  39. local Antikick;
  40. Antikick=hookmetamethod(game,'__namecall',function(...)
  41. if getnamecallmethod()=='Kick'and ...==LP then
  42. return;
  43. end;
  44. return Antikick(...);
  45. end)hook_func(LP.Kick,function()return;end)]])();
  46.  
  47. --CS Anticheat remover
  48. pcall(function()
  49. LP.PlayerGui.LoadSaveGUI.LoadSaveClient.LocalScript:Destroy();
  50. end);
  51.  
  52. --Function library
  53. function Ancestor:GetClientMoney()
  54. return LP.leaderstats.Money.Value;
  55. end;
  56.  
  57. function Ancestor:GetLoadedSlot()
  58. return LP.CurrentSaveSlot.Value;
  59. end;
  60.  
  61. function Ancestor:CanClientLoad()
  62. if not Client_May_Load:InvokeServer(LP)then
  63. repeat Stepped:wait()until Client_May_Load:InvokeServer(LP);
  64. end;
  65. return true;
  66. end;
  67.  
  68. function Ancestor:LoadSlot(Slot)
  69. Ancestor:CanClientLoad();
  70. C_R(C_C(function()
  71. Is_Client_Loaded=Request_Load:InvokeServer(Slot,LP);
  72. end));
  73. repeat Stepped:wait()
  74. PropertyPurchasingClient:selectionMade();
  75. until Is_Client_Loaded~=false;
  76. LP.CurrentSaveSlot.Value=Slot;
  77. return true;
  78. end;
  79.  
  80. function Ancestor:SaveSlot()
  81. Request_Save:InvokeServer(Ancestor:GetLoadedSlot(),LP);
  82. end;
  83.  
  84. function Ancestor:DupeMoney()
  85. for i=1,DupeMoneyQuantity do
  86. Ancestor:CanClientLoad();
  87. C_R(C_C(function()
  88. local Success=Donate:InvokeServer(LP,Ancestor:GetClientMoney(),Ancestor:GetLoadedSlot());
  89. if not Success then
  90. repeat Stepped:wait()until Donate:InvokeServer(LP,Ancestor:GetClientMoney(),Ancestor:GetLoadedSlot());
  91. end;
  92. end));
  93. repeat Stepped:wait()until Ancestor:GetClientMoney()==0;
  94. Ancestor:LoadSlot(Ancestor:GetLoadedSlot());
  95. Ancestor:SaveSlot();--Forces duped money to come back quicker
  96. local DupeConnection;
  97. DupeConnection=LP.leaderstats.Money:GetPropertyChangedSignal'Value':Connect(function()
  98. if Ancestor:GetClientMoney()~=0 then
  99. Ancestor:SaveSlot();
  100. DupeConnection:Disconnect();
  101. print('Completed Iteration '..tostring(i));
  102. end;
  103. end);
  104. end;
  105. print('Duped Money '..tostring(DupeMoneyQuantity)..' Times!');
  106. end;Ancestor:LoadSlot(1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement