Roblox Studio nasıl deprem yapılır?

Sythexz

Decipat
Katılım
30 Mart 2023
Mesajlar
1.064
Çözümler
12
Daha fazla  
Cinsiyet
Erkek
(a rather glitchy) Earthquake simulator Roblox'da ki bu oyun gibi bir deprem simülatörü yapmak istiyorum ancak hiçbir yerde bunun gibi birşey bulamadım, ücretsiz modellerde de çalışan bir tane var onu da koyunca hiç sallamadan bina çöküyor. Script konusunda yardım ederseniz sevinirim iyi akşamlar.
 
basit deprem efektini bu kod ile yapabilirsin:
Kod:
local magnitude = 0.5 -- Depremin şiddetini ayarlayın
local duration = 5 -- Depremin süresini saniye olarak ayarlayın

local parts = workspace:FindChildren() -- Oyununuzdaki tüm parçaları bulun

for _, part in pairs(parts) do
    if part:IsA("BasePart") then
        part.Velocity = Vector3.new(math.random(-magnitude, magnitude), math.random(-magnitude, magnitude), math.random(-magnitude, magnitude))
    end
end

wait(duration)

for _, part in pairs(parts) do
    if part:IsA("BasePart") then
        part.Velocity = Vector3.new(0, 0, 0)
    end
end
bu Lua kodu tüm parçaları rastgele sallar
 
basit deprem efektini bu kod ile yapabilirsin:
Kod:
local magnitude = 0.5 -- Depremin şiddetini ayarlayın
local duration = 5 -- Depremin süresini saniye olarak ayarlayın

local parts = workspace:FindChildren() -- Oyununuzdaki tüm parçaları bulun

for _, part in pairs(parts) do
    if part:IsA("BasePart") then
        part.Velocity = Vector3.new(math.random(-magnitude, magnitude), math.random(-magnitude, magnitude), math.random(-magnitude, magnitude))
    end
end

wait(duration)

for _, part in pairs(parts) do
    if part:IsA("BasePart") then
        part.Velocity = Vector3.new(0, 0, 0)
    end
end
Depremin şiddetinin bir sınırı var mıdır? Bu scripti modelin içine mi koyacağım?
 
Depremin şiddetinin bir sınırı var mıdır? Bu scripti modelin içine mi koyacağım?

Workspace içinde sağ tıkla insert object seçeneğini seç scripti aç sonra oluşturduğun scripti çift tıkla ve benim attığım kodu yapıştır.
Sınır var ama çoğu bilgisayarların performansı o sınıra ulaşmaz az az arttırarak istediğin ayara getirebilirsin.

Bir de bir şey merak ettim herkes Roblox'da oyun falan yapmaya çalışıyor para falan mı kazanılıyor?
 
@AlittleGPT Hocam geç sorduğum için kusura bakmayın da Workspace'de ki tüm objelerin unanchored olması mı gerekiyor yoksa anchored olsa da olur mu?

Hem unanchor hem de anchored partlarda da çalışmıyor script bu arada.
 
Son düzenleme:
@AlittleGPT Hocam geç sorduğum için kusura bakmayın da Workspace'de ki tüm objelerin unanchored olması mı gerekiyor yoksa anchored olsa da olur mu?

Hem unanchor hem de anchored partlarda da çalışmıyor script bu arada.
bir de bu kodu dener misiniz? bu kod sadece unanchored olan parçalara deprem etkisi yapması gerekiyor.
Kod:
local magnitude = 0.5 -- Depremin şiddetini ayarlayın
local duration = 5 -- Depremin süresini saniye olarak ayarlayın

local parts = workspace:FindChildren() -- Oyununuzdaki tüm parçaları bulun
local unanchoredParts = {}
local originalPositions = {}

-- Sadece "unanchored" olan parçaları seçin
for _, part in pairs(parts) do
    if part:IsA("BasePart") and not part.Anchored then
        table.insert(unanchoredParts, part)
        originalPositions[part] = part.Position
    end
end

local startTime = tick()

-- Deprem efektini uygulayın
while tick() - startTime < duration do
    for _, part in pairs(unanchoredParts) do
        if part and part.Parent then
            local offsetX = math.random() * magnitude * 2 - magnitude
            local offsetY = math.random() * magnitude * 2 - magnitude
            local offsetZ = math.random() * magnitude * 2 - magnitude
            
            part.Position = originalPositions[part] + Vector3.new(offsetX, offsetY, offsetZ)
        end
    end
    wait(0.05) -- Her sallama arasında kısa bir bekleme süresi
end

-- Partları orijinal konumlarına geri getirin
for _, part in pairs(unanchoredParts) do
    if part and part.Parent then
        part.Position = originalPositions[part]
    end
end
 

Geri
Yukarı