Untitled

 avatar
unknown
plain_text
a month ago
2.8 kB
1
Indexable
--// Subscriber Collectibles sa dodatnim proverama
local modelsFolder = game:GetService("ReplicatedStorage"):WaitForChild("Models", 5)  -- Folder gde je sačuvan model Subscriber
if not modelsFolder then
    error("Folder 'Models' nije pronađen u ReplicatedStorage!")
end

local collectiblesFolder = game.Workspace:FindFirstChild("Collectibles")  -- Folder za generisane collectible NPC-ove
if not collectiblesFolder then
    warn("Folder 'Collectibles' nije pronađen u Workspace! Kreiram novi...")
    collectiblesFolder = Instance.new("Folder")
    collectiblesFolder.Name = "Collectibles"
    collectiblesFolder.Parent = game.Workspace
end

local CurrencyOld = PlayerData.Currency.Value

-- Funkcija za generisanje Subscriber-a
local function generateSubscriber()
    local subscriberTemplate = modelsFolder:FindFirstChild("Subscriber")  -- Pretpostavljamo da se model zove 'Subscriber'
    if not subscriberTemplate then
        warn("Model 'Subscriber' nije pronađen u ReplicatedStorage > Models!")
        return
    end

    -- Kloniraj Subscriber-a
    local newSubscriber = subscriberTemplate:Clone()
    newSubscriber.Parent = collectiblesFolder  -- Dodaj ga u Collectibles folder

    -- Nasumično postavljanje na mapi
    local randomPosition = CFrame.new(
        math.random(-50, 50),  -- Nasumična X pozicija
        5,  -- Visina na Y osi
        math.random(-50, 50)  -- Nasumična Z pozicija
    )
    newSubscriber:SetPrimaryPartCFrame(randomPosition)
    print("Generisan Subscriber na poziciji:", randomPosition)

    -- Dodaj detekciju prikupljanja
    local function onTouched(hit)
        local player = game.Players:GetPlayerFromCharacter(hit.Parent)  -- Proverava da li je objekat igrač
        if player then
            -- Povećaj Currency vrednost
            PlayerData.Currency.Value = PlayerData.Currency.Value + 1
            print(player.Name, "je prikupio Subscriber-a!")

            -- Ukloni Subscriber iz igre
            newSubscriber:Destroy()
        end
    end

    -- Poveži funkciju za detekciju
    if newSubscriber:FindFirstChild("Humanoid") then
        newSubscriber.PrimaryPart.Touched:Connect(onTouched)
    else
        warn("Subscriber nema 'Humanoid' ili 'PrimaryPart', preskačem dodir funkcionalnost.")
    end

    -- Ukloni Subscriber nakon 30 sekundi ako nije prikupljen
    task.delay(30, function()
        if newSubscriber.Parent then
            print("Subscriber uklonjen zbog isteka vremena.")
            newSubscriber:Destroy()
        end
    end)
end

-- Generiši Subscriber-a svakih 10 sekundi
while true do
    generateSubscriber()
    task.wait(10)  -- Pauza između generisanja novih Subscriber-a
end
Leave a Comment