Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- This can money wipe in rare cases since
- the antisave isn't yet present in this version.
- Made By Ancestor#4476/FindFirst
- ]]
- local Ancestor={};
- -->Dupe Money Variables
- local DupeMoneyQuantity=2;
- -->Optimisation Shit
- local RunService=game:GetService'RunService';
- local Stepped=RunService.Stepped;
- 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;
- local LP=game.Players.LocalPlayer;
- local Is_Client_Loaded=false;
- local PropertyPurchasingClient=getsenv(LP.PlayerGui.PropertyPurchasingGUI.PropertyPurchasingClient);
- local RepStore=game:GetService'ReplicatedStorage';
- -->Remotes
- local Client_May_Load=RepStore.LoadSaveRequests.ClientMayLoad;
- local Donate=RepStore.Transactions.ClientToServer.Donate;
- local Request_Load=game.ReplicatedStorage.LoadSaveRequests.RequestLoad;
- local Request_Save=game.ReplicatedStorage.LoadSaveRequests.RequestSave;
- -->Load freeze bug fix
- local BumpModule=R_Module(LP.PlayerGui.BumpButton);
- hook_func(BumpModule.Bump,function()
- return true;
- end);
- --Antikick
- lstring([[
- local LP=game.Players.LocalPlayer;
- local hook_func=hookfunction or replaceclosure or hookfunc;
- local Antikick;
- Antikick=hookmetamethod(game,'__namecall',function(...)
- if getnamecallmethod()=='Kick'and ...==LP then
- return;
- end;
- return Antikick(...);
- end)hook_func(LP.Kick,function()return;end)]])();
- --CS Anticheat remover
- pcall(function()
- LP.PlayerGui.LoadSaveGUI.LoadSaveClient.LocalScript:Destroy();
- end);
- --Function library
- function Ancestor:GetClientMoney()
- return LP.leaderstats.Money.Value;
- end;
- function Ancestor:GetLoadedSlot()
- return LP.CurrentSaveSlot.Value;
- end;
- function Ancestor:CanClientLoad()
- if not Client_May_Load:InvokeServer(LP)then
- repeat Stepped:wait()until Client_May_Load:InvokeServer(LP);
- end;
- return true;
- end;
- function Ancestor:LoadSlot(Slot)
- Ancestor:CanClientLoad();
- C_R(C_C(function()
- Is_Client_Loaded=Request_Load:InvokeServer(Slot,LP);
- end));
- repeat Stepped:wait()
- PropertyPurchasingClient:selectionMade();
- until Is_Client_Loaded~=false;
- LP.CurrentSaveSlot.Value=Slot;
- return true;
- end;
- function Ancestor:SaveSlot()
- Request_Save:InvokeServer(Ancestor:GetLoadedSlot(),LP);
- end;
- function Ancestor:DupeMoney()
- for i=1,DupeMoneyQuantity do
- Ancestor:CanClientLoad();
- C_R(C_C(function()
- local Success=Donate:InvokeServer(LP,Ancestor:GetClientMoney(),Ancestor:GetLoadedSlot());
- if not Success then
- repeat Stepped:wait()until Donate:InvokeServer(LP,Ancestor:GetClientMoney(),Ancestor:GetLoadedSlot());
- end;
- end));
- repeat Stepped:wait()until Ancestor:GetClientMoney()==0;
- Ancestor:LoadSlot(Ancestor:GetLoadedSlot());
- Ancestor:SaveSlot();--Forces duped money to come back quicker
- local DupeConnection;
- DupeConnection=LP.leaderstats.Money:GetPropertyChangedSignal'Value':Connect(function()
- if Ancestor:GetClientMoney()~=0 then
- Ancestor:SaveSlot();
- DupeConnection:Disconnect();
- print('Completed Iteration '..tostring(i));
- end;
- end);
- end;
- print('Duped Money '..tostring(DupeMoneyQuantity)..' Times!');
- end;Ancestor:LoadSlot(1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement