HowToRoblox

CodesHandler

Jun 23rd, 2021
870
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local codes = {FreeSword = script.Sword, FreeGun = script.Gun}
  2.  
  3.  
  4. local dss = game:GetService("DataStoreService")
  5. local ds = dss:GetDataStore("CodesEntered")
  6.  
  7.  
  8.  
  9. game.ReplicatedStorage.CodeEntered.OnServerEvent:Connect(function(plr, codeEntered)
  10.    
  11.    
  12.    
  13.     local reward = codes[codeEntered]
  14.    
  15.     if not reward then
  16.        
  17.         game.ReplicatedStorage.CodeEntered:FireClient(plr, "Code Invalid!")
  18.        
  19.    
  20.     else
  21.            
  22.            
  23.         local alreadyRedeemed = false
  24.  
  25.         pcall(function()
  26.  
  27.             alreadyRedeemed = ds:GetAsync(codeEntered .. plr.UserId) or false
  28.         end)
  29.            
  30.            
  31.         if not alreadyRedeemed then
  32.                
  33.             reward:Clone().Parent = plr.Backpack
  34.                
  35.                
  36.             pcall(function()
  37.  
  38.                 ds:SetAsync(codeEntered .. plr.UserId, true)
  39.             end)
  40.            
  41.            
  42.             game.ReplicatedStorage.CodeEntered:FireClient(plr, "Code Redeemed!")
  43.            
  44.            
  45.         else
  46.            
  47.             game.ReplicatedStorage.CodeEntered:FireClient(plr, "Code Already Redeemed!")
  48.         end
  49.     end
  50. end)
RAW Paste Data