-- Pobranie usługi Players local players = game:GetService("Players") -- Pobranie folderu z modelami zwierząt local pets = game.ReplicatedFirst.Pets -- Pobranie folderu Players z przestrzeni roboczej local playersFolder = workspace.Players -- Funkcja wywoływana, gdy gracz dołączy do gry local createTemplate = game.ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("CreateTemplate") -- Stwórz szablon dla funkcji tworzenia zwierząt players.PlayerAdded:Connect(function(player) -- Tworzenie folderu dla gracza local folder = Instance.new("Folder") folder.Name = player.Name folder.Parent = playersFolder -- Pętla, która klonuje modele zwierząt do folderu gracza --for i = 1, 20, 1 do --local newPet = pets[i]:Clone() --newPet.Parent = folder --createTemplate:FireClient(player,pets[i].Name,i) --end end) -- Podłącz funkcję do zdarzenia wyposażenia zwierzęcia game.ReplicatedStorage.Remotes.EquipPet.OnServerEvent:Connect(function(player, petName, id) -- Sklonuj model zwierzęcia local petModel = game.ReplicatedFirst.Pets:FindFirstChild(petName):Clone() -- Przenieś model do folderu gracza petModel.Parent = workspace.Players:FindFirstChild(player.Name) --player.Values.Damage.Value += petModel.Damage.Value =============Komentarz / usuń===================== petModel.Id.Value = id end) -- Podłącz funkcję do zdarzenia zdjęcia wyposażenia zwierzęcia game.ReplicatedStorage.Remotes.UnequipPet.OnServerEvent:Connect(function(player, petName, id) -- Znajdź folder gracza local playerFolder = workspace.Players:FindFirstChild(player.Name) -- Znajdź zwierzę w folderze gracza i usuń je for i, pet in pairs(playerFolder:GetChildren()) do if pet.Id.Value == id then--if pet.Name == petName then -- player.Values.Damage.Value -= pet.Damage.Value ==================Komentarz / usuń================ pet:Destroy() end end end) -- ====================================Nowy kod=================================================== game.ReplicatedStorage.Remotes.Upgrade.OnServerEvent:Connect(function(player, cost, damage) player.leaderstats.Shards.Value -= cost player.Values.Damage.Value = damage end) -- ====================================Koniec nowego kodu ================================================== -- Iteracja przez wszystkich potomków obiektu 'Areas' w przestrzeni roboczej (workspace) for i, item in pairs(workspace.Areas:GetDescendants()) do -- Sprawdzenie, czy bieżący obiekt (item) ma nazwę 'Barrier' if item.Name == "Barrier" then -- Przyłączenie funkcji obsługi zdarzeń do zdarzenia 'Triggered' -- obiektu 'ProximityPrompt' bieżącego elementu (bariery) item.Attachment.ProximityPrompt.Triggered:Connect(function(player) -- Warunek sprawdzający, czy gracz ma wystarczającą -- ilość monet, aby kupić obszar if player.leaderstats.Coins.Value >= item.AreaPrice.Value then -- Odejmowanie wartości obszaru od ilości monet gracza player.leaderstats.Coins.Value -= item.AreaPrice.Value -- Tworzenie nowego obiektu "StringValue" jako dziecko -- dla obiektu "Areas" gracza local area = Instance.new("StringValue", player.Areas) -- Przypisywanie nazwy obszaru do nowo utworzonego obiektu "area" area.Name = item.Parent.Name -- Wysłanie sygnału do klienta za pomocą zdalnego wywołania 'Area' -- przechowywanego w 'ReplicatedStorage', przekazując obiekt -- 'player' i bieżący element (barierę) game.ReplicatedStorage.Remotes.Area:FireClient(player, item) end end) -- Koniec funkcji obsługi zdarzeń end -- Koniec warunku sprawdzającego nazwę elementu end -- Koniec pętli for