Ok so like in The Mad Murderer, you can buy diff weapons, and they load when you are the killer. My question is, how do I make a script so that when you become the murder you have the weapon from the game pass? How would I do this?
Here follow these instructions. Make a script in workspace with the following inside it :
-------------------- --| WaitForChild |-- -------------------- -- Waits for parent.child to exist, then returns it local function WaitForChild(parent, childName) assert(parent, "ERROR: WaitForChild: parent is nil") while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end return parent[childName] end ----------------- --| Variables |-- ----------------- local GamePassService = Game:GetService('GamePassService') local PlayersService = Game:GetService('Players') local InsertService = Game:GetService('InsertService') local LightingService = Game:GetService('Lighting') --TODO: Use new data store service once that exists local GamePassIdObject = WaitForChild(script, 'GamePassId') local ToolAssetsToLoad = WaitForChild(script, 'ToolAssetsToLoad') local AdminTools = LightingService:FindFirstChild('AdminTools') ----------------- --| Functions |-- ----------------- -- Makes copies of all the admin tools and puts them in target local function CloneAdminTools(target) for _, tool in pairs(AdminTools:GetChildren()) do local toolClone = tool:Clone() toolClone.Parent = target end end -- When a player with the game pass joins, give them the admin tools local function OnPlayerAdded(player) if GamePassService:PlayerHasPass(player, GamePassIdObject.Value) then local starterGear = WaitForChild(player, 'StarterGear') CloneAdminTools(starterGear) if player.Character then -- They've already loaded and won't get their StarterGear until next spawn local backpack = WaitForChild(player, 'Backpack') CloneAdminTools(backpack) end end end -------------------- --| Script Logic |-- -------------------- -- Create AdminTools if it doesn't exist if not AdminTools then AdminTools = Instance.new('Model') AdminTools.Name = 'AdminTools' -- Load all of the assets in ToolAssetsToLoad and put them in AdminTools for _, intObject in pairs(ToolAssetsToLoad:GetChildren()) do if intObject and intObject:IsA('IntValue') and intObject.Value then local assetModel = InsertService:LoadAsset(intObject.Value) if assetModel then local asset = assetModel:GetChildren()[1] if asset then asset.Parent = AdminTools end end end end AdminTools.Parent = LightingService end PlayersService.PlayerAdded:connect(OnPlayerAdded)
Then,You basically just make a model inside of the script,Name it "ToolAssetsToLoad". Then input an IntValue(Inside model),And give it the ID Of the gear you would like to be given upon spawn IF the player has baught a gamepass. And make another IntValue inside of the "SCRIPT" and name it "GamePassId" Simply input the "GAMEPASSID HERE" into value and your done.