Start'ı seç ve kopyalamak için Ctrl+D'ye bas. Kopyayı Move aracıyla (Ctrl+2) ileri çek.
Scale aracıyla (Ctrl+3) küçült. 6, 1, 6 boyutu iyi çalışır.
Platformlar arasında 5 ile 7 studs boşluk bırak. 6 ile 8 platformun olana kadar tekrarla.
Parkur yukarı doğru çıksın diye bazı platformları biraz yükselt.
Daha fazla ayrıntı
Kopya tam olarak orijinalin üstünde belirir, bu yüzden hiçbir şey olmamış gibi görünür. Move aracının mavi veya kırmızı okunu sürükle, kopya dışarı kayar.
Scale aracıyla parçanın üstündeki küçük toplardan birini sürükleyerek boyutunu değiştir. Boyutu Properties'e de yazabilirsin.
Properties'teki Position alanı bir parçanın nerede olduğunu gösterir. İki platformun sayılarını karşılaştırarak aralarındaki boşluğu ölç.
Her platform Anchored olmalı. Anchored bir parçanın kopyaları da anchored olur, o yüzden bunu yalnızca yeni oluşturduğun parçalar için kontrol et.
Zıplamaları kendin denemek için F5'e, durdurmak için Shift+F5'e bas. Bunu her iki üç platformdan sonra yap.
İpucu. Varsayılan bir karakter 7.2 studs yükseğe zıplar ve yaklaşık 8 studs ileri atlar. 8 studs'tan büyük boşlukları geçmek neredeyse imkansızdır.
Bu adım bende çalışmıyor
Önce şu üç şeyi kontrol et
Her parçanın ve script'in adı rehberdekiyle tam olarak aynı, büyük harfleriyle birlikte.
Script doğru nesnenin içinde duruyor. Kod kutusunun üstündeki etikete bak.
Window menüsünden Output penceresini aç. Kırmızı yazı, script'i ve sorunlu satırı gösterir.
İki platformun arasına yeni bir Part ekle. Kırmızı yap, Material'i Neon olarak ayarla, Anchored'ı aç ve adını Lava koy.
Explorer'da Lava'nın üstüne gel, + düğmesine tıkla ve Script'i seç.
Zaten yazılı olan satırı sil ve bu kodu yapıştır.
Lava > Script
local lava = script.Parent
lava.Touched:Connect(function(hit)
local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 0
end
end)
Her parça ne yapar
script.Parent, script'in içinde durduğu parçadır. Burada o parça lavdır.
Touched, bir şey parçaya her dokunduğunda çalışır. hit, ona dokunan şeydir, örneğin bir ayak.
hit.Parent karakterin tamamıdır. İçinde bir Humanoid varsa bu bir oyuncudur, o yüzden script Health değerini 0 yapar.
Daha fazla ayrıntı
Material, Properties'te bir listedir. Ona tıkla ve Neon'u seç. Neon parçayı parlatır.
Script'i eklediğinde yeni bir sekmede açılır ve içinde tek satır kod olur. Kodun içine tıkla, hepsini seçmek için Ctrl+A'ya, üstüne yapıştırmak için Ctrl+V'ye bas.
Yerinin adını taşıyan sekmeye tıklayarak dünyana geri dön.
Denemek için: F5'e bas ve lavın içine yürü. Karakterin dağılır ve başlangıçta geri gelir.
Lavı geniş ve yassı yap, örneğin Size 12, 1, 6, ve platformlardan biraz daha aşağıya koy, böylece kaçırılan bir zıplama lavın içine düşer.
Bu adım bende çalışmıyor
Önce şu üç şeyi kontrol et
Her parçanın ve script'in adı rehberdekiyle tam olarak aynı, büyük harfleriyle birlikte.
Script doğru nesnenin içinde duruyor. Kod kutusunun üstündeki etikete bak.
Window menüsünden Output penceresini aç. Kırmızı yazı, script'i ve sorunlu satırı gösterir.
Explorer'da Workspace'in üstüne gel, + düğmesine tıkla ve bir Folder ekle. Adını Checkpoints koy.
Parkur boyunca üç tane Anchored parça yerleştir ve onları klasörün içine sürükle. Adlarını 1, 2 ve 3 yap. 1 numaralı parça başlangıç platformunda olsun.
ServerScriptService'in üstüne gel, + düğmesine tıkla ve bir Script ekle. Bu kodu yapıştır.
ServerScriptService > Script
local Players = game:GetService("Players")
local checkpoints = workspace:WaitForChild("Checkpoints")
Players.PlayerAdded:Connect(function(player)
local stats = Instance.new("Folder")
stats.Name = "leaderstats"
stats.Parent = player
local stage = Instance.new("IntValue")
stage.Name = "Stage"
stage.Value = 1
stage.Parent = stats
player.CharacterAdded:Connect(function(character)
local root = character:WaitForChild("HumanoidRootPart")
local point = checkpoints:FindFirstChild(tostring(stage.Value))
if point then
task.wait(0.1)
root.CFrame = point.CFrame + Vector3.new(0, 4, 0)
end
end)
end)
for _, point in ipairs(checkpoints:GetChildren()) do
point.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
local stats = player and player:FindFirstChild("leaderstats")
if not stats then return end
local number = tonumber(point.Name)
if number == stats.Stage.Value + 1 then
stats.Stage.Value = number
end
end)
end
Her parça ne yapar
leaderstats özel bir klasör adıdır. İçindeki değerler oyuncu listesinde görünür, böylece herkes senin Stage değerini görür.
Bir karakter doğduğunda script onu, adı oyuncunun Stage değerine eşit olan kontrol noktasına taşır.
Bir kontrol noktasına dokunmak Stage değerini sadece sıradaki noktaysa artırır. Bu, oyuncuların bölümleri atlamasını engeller.
Daha fazla ayrıntı
Folder, bilgisayardaki bir klasör gibi başka nesneleri tutar. Oyunda kendi başına hiçbir şey yapmaz.
Bir parçayı klasöre sürüklemek için Explorer'da adını Checkpoints adının üstüne sürükle ve bırak. Parça bir adım sağa kayar ve klasörün altında durur.
Kontrol noktası parçalarını ince ve geniş yap, örneğin Size 6, 0.4, 6, ve platformların üstüne yerleştir. Farklı bir renk oyuncuların onları fark etmesine yardım eder.
Denemek için: F5'e bas ve sağ üst köşedeki oyuncu listesine bak. Orada Stage 1 yazar. 2. kontrol noktasına dokun, 2 olarak değişir.
Kontrol noktalarına sırayla dokunulmalı. 2'den önce 3'e dokunmak hiçbir şey yapmaz.
Sık yapılan hata. Parçalara Checkpoint1 veya One adını vermek. Script tam olarak 1, 2 ve 3 adlarını arar.
Bu adım bende çalışmıyor
Önce şu üç şeyi kontrol et
Her parçanın ve script'in adı rehberdekiyle tam olarak aynı, büyük harfleriyle birlikte.
Script doğru nesnenin içinde duruyor. Kod kutusunun üstündeki etikete bak.
Window menüsünden Output penceresini aç. Kırmızı yazı, script'i ve sorunlu satırı gösterir.
Sona büyük bir Anchored parça koy ve adını Finish yap. Oyuncular hedefi görsün diye altın rengi yap.
Finish'e bir Script ekle ve bu kodu yapıştır.
Finish > Script
local Players = game:GetService("Players")
local finish = script.Parent
local cooldown = {}
finish.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
local stats = player and player:FindFirstChild("leaderstats")
if not stats or cooldown[player] then return end
cooldown[player] = true
stats.Stage.Value = 1
player:LoadCharacter()
task.wait(2)
cooldown[player] = nil
end)
Her parça ne yapar
GetPlayerFromCharacter, bitişe hangi oyuncunun dokunduğunu bulur.
cooldown tablosu, kodun aynı saniyede birçok kez çalışmasını engeller.
Stage tekrar 1 olur ve LoadCharacter oyuncuyu yeni bir tur için başlangıca gönderir.
Daha fazla ayrıntı
Altın yapmak için Properties'te Color alanına tıkla ve bir sarı seç. Material olarak Neon onu parlak yapar.
Size 12, 1, 12 iyi bir bitiş boyutudur. Son zıplamadan sonra, diğerlerinden biraz daha yüksek bir yere koy.
Denemek için: F5'e bas, parkuru bitir ve altın parçaya bas. Başlangıca dönersin ve Stage yine 1 gösterir.
2 saniyelik bekleme süresi var, çünkü tek bir adım parçaya birçok kez dokunur.
Bu adım bende çalışmıyor
Önce şu üç şeyi kontrol et
Her parçanın ve script'in adı rehberdekiyle tam olarak aynı, büyük harfleriyle birlikte.
Script doğru nesnenin içinde duruyor. Kod kutusunun üstündeki etikete bak.
Window menüsünden Output penceresini aç. Kırmızı yazı, script'i ve sorunlu satırı gösterir.
Bile bile lavın içine düş. Son kontrol noktanda geri gelmen gerekir.
Durdurmak için Shift+F5'e bas.
Window menüsünden Output penceresini aç. Kırmızı yazı, bir script'te hata olduğu anlamına gelir ve satır numarasını gösterir.
Daha fazla ayrıntı
F5 oyunu, içinde karakterinle birlikte başlatır. Oyun çalışırken araç çubuğu değişir.
Oyun çalışırken yaptığın değişiklikler durdurunca kaybolur. Önce her zaman Shift+F5'e bas, sonra düzenle.
Output penceresinde kırmızı bir satıra tıkla, Studio script'i hatalı satırda açar.
Bir şey çalışmadığında üç şeyi kontrol et: parçanın adı, script'in nerede durduğu ve Anchored'ın açık olup olmadığı.
Sık yapılan hata. Oyun başlayınca bir platform düşüyorsa: Anchored kapalıdır. Bir parçaya dokununca hiçbir şey olmuyorsa: script yanlış nesnenin içindedir veya bir adda yazım hatası vardır.
Bu adım bende çalışmıyor
Önce şu üç şeyi kontrol et
Her parçanın ve script'in adı rehberdekiyle tam olarak aynı, büyük harfleriyle birlikte.
Script doğru nesnenin içinde duruyor. Kod kutusunun üstündeki etikete bak.
Window menüsünden Output penceresini aç. Kırmızı yazı, script'i ve sorunlu satırı gösterir.
File → Publish to Roblox'u seç. Oyuna bir ad ve kısa bir açıklama ver.
Creator Hub web sitesinde oyununu aç ve Maturity anketini doldur. Başkalarının oynayabilmesi için Roblox bunu ister.
Oyunu Public yap ve bağlantıyı bir arkadaşına gönder.
Daha fazla ayrıntı
İlk yayınlayışında Studio senden bir ad ve bir açıklama ister. Create'e tıkla. Bundan sonra File → Publish to Roblox en yeni değişikliklerini gönderir.
Creator Hub, create.roblox.com web sitesidir. Aynı hesapla giriş yap ve listeden oyununa tıkla.
Maturity anketi oyunda neler olduğunu sorar. Dürüstçe cevapla. Bunun gibi bir obby'de şiddet ve korkutucu hiçbir şey yoktur.
Roblox, bir oyun herkese açık olmadan önce daha fazlasını isteyebilir, örneğin hesapta yaş doğrulaması. Sayfa neyin eksik olduğunu söyler.
18 yaşından küçükse bu adımı bir ebeveynle birlikte yap.
İpucu. Sen izlerken bir arkadaşından oynamasını iste. Takıldığı yerler, ilk düzeltmen gereken yerlerdir.
Bu adım bende çalışmıyor
Önce şu üç şeyi kontrol et
Her parçanın ve script'in adı rehberdekiyle tam olarak aynı, büyük harfleriyle birlikte.
Script doğru nesnenin içinde duruyor. Kod kutusunun üstündeki etikete bak.
Window menüsünden Output penceresini aç. Kırmızı yazı, script'i ve sorunlu satırı gösterir.