लावा, चेकपॉइंट, गायब होने वाले प्लेटफ़ॉर्म और फ़िनिश लाइन वाला एक बाधा दौड़ का रास्ता।
मुफ़्त45 मिनट · शुरुआती · Roblox Studio
1
कदम 1 / 10
नया place बनाओ
Roblox Studio खोलो और साइन इन करो।
New Experience पर क्लिक करो और Baseplate टेम्पलेट चुनो।
अब तुम्हारे पास एक सपाट स्लेटी फ़र्श है। तुम्हारा रास्ता इसी पर खड़ा होगा।
और जानकारी
Roblox Studio Windows और Mac के लिए एक मुफ़्त प्रोग्राम है। अगर वह अभी इंस्टॉल नहीं है, तो उसे create.roblox.com से डाउनलोड करो और अपने Roblox अकाउंट से साइन इन करो।
Baseplate टेम्पलेट शुरुआती स्क्रीन की टेम्पलेट सूची में है। यह वही है जिसमें खाली स्लेटी फ़र्श दिखता है।
place एक टैब में खुलता है। टैब का नाम तुम्हारे place का नाम है।
Mac पर, जहाँ भी इस गाइड में Ctrl लिखा हो, वहाँ हर बार Cmd कुंजी इस्तेमाल करो।
सुझाव. File → Save to Roblox से बार-बार सेव करो। Studio पुराने वर्ज़न रखता है, इसलिए तुम हमेशा पीछे जा सकते हो।
यह कदम मेरे लिए काम नहीं कर रहा
पहले ये तीन बातें जाँचो
हर part और स्क्रिप्ट का नाम बिल्कुल गाइड जैसा हो, बड़े और छोटे अक्षरों के साथ।
स्क्रिप्ट सही चीज़ के अंदर रखी हो। कोड वाले बॉक्स के ऊपर लिखा लेबल देखो।
Window मेनू से Output विंडो खोलो। लाल लिखावट बताती है कि स्क्रिप्ट में किस लाइन पर गड़बड़ है।
दो प्लेटफ़ॉर्मों के बीच एक नया Part जोड़ो। उसे लाल करो, Material को Neon करो, Anchored चालू करो और उसका नाम Lava रखो।
Explorer में Lava पर माउस ले जाओ, + बटन पर क्लिक करो और Script चुनो।
वहाँ पहले से लिखी लाइन को मिटाओ और यह कोड पेस्ट करो।
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)
हर हिस्सा क्या करता है
script.Parent वह part है जिसमें स्क्रिप्ट रखी है। यहाँ वह लावा है।
Touched तब चलता है जब भी कोई चीज़ part को छूती है। hit वह चीज़ है जिसने छुआ, जैसे कोई पैर।
hit.Parent पूरा कैरेक्टर है। अगर उसमें Humanoid है, तो वह खिलाड़ी है, इसलिए स्क्रिप्ट Health को 0 कर देती है।
और जानकारी
Material Properties में एक सूची है। उस पर क्लिक करो और Neon चुनो। Neon से part चमकने लगता है।
Script जोड़ने पर वह एक नए टैब में खुलती है, जिसमें कोड की एक लाइन पहले से होती है। कोड के अंदर क्लिक करो, सब कुछ चुनने के लिए Ctrl+A दबाओ और उसके ऊपर पेस्ट करने के लिए Ctrl+V।
अपने place के नाम वाले टैब पर क्लिक करके वापस अपनी दुनिया में आओ।
टेस्ट करने के लिए F5 दबाओ और लावा में चलो। तुम्हारा कैरेक्टर बिखर जाता है और शुरुआत में लौट आता है।
लावा को चौड़ा और सपाट बनाओ, जैसे Size 12, 1, 6, और उसे प्लेटफ़ॉर्मों से थोड़ा नीचे रखो, ताकि चूकी हुई छलाँग उसी में गिरे।
यह कदम मेरे लिए काम नहीं कर रहा
पहले ये तीन बातें जाँचो
हर part और स्क्रिप्ट का नाम बिल्कुल गाइड जैसा हो, बड़े और छोटे अक्षरों के साथ।
स्क्रिप्ट सही चीज़ के अंदर रखी हो। कोड वाले बॉक्स के ऊपर लिखा लेबल देखो।
Window मेनू से Output विंडो खोलो। लाल लिखावट बताती है कि स्क्रिप्ट में किस लाइन पर गड़बड़ है।
Explorer में Workspace पर माउस ले जाओ, + पर क्लिक करो और एक Folder जोड़ो। उसका नाम Checkpoints रखो।
रास्ते में तीन anchored part रखो और उन्हें फ़ोल्डर में खींच दो। उनके नाम 1, 2 और 3 रखो। part 1 शुरुआती प्लेटफ़ॉर्म पर जाएगा।
ServerScriptService पर माउस ले जाओ, + पर क्लिक करो और एक Script जोड़ो। यह कोड पेस्ट करो।
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
हर हिस्सा क्या करता है
leaderstats एक ख़ास फ़ोल्डर का नाम है। उसके अंदर की वैल्यू खिलाड़ियों की सूची में दिखती हैं, इसलिए सबको अपना Stage दिखता है।
जब कोई कैरेक्टर आता है, तो स्क्रिप्ट उसे उस चेकपॉइंट पर ले जाती है जिसका नाम खिलाड़ी के Stage के बराबर है।
चेकपॉइंट को छूने पर Stage तभी बढ़ता है जब वह अगला चेकपॉइंट हो। इससे खिलाड़ी आगे की छलांग नहीं लगा पाते।
और जानकारी
Folder दूसरी चीज़ों को रखता है, कंप्यूटर के फ़ोल्डर की तरह। वह गेम में अपने आप कुछ नहीं करता।
किसी part को folder में डालने के लिए Explorer में उसका नाम खींचकर Checkpoints नाम पर छोड़ दो। फिर part एक कदम दाईं ओर, folder के नीचे दिखता है।
चेकपॉइंट वाले part पतले और चौड़े बनाओ, जैसे Size 6, 0.4, 6, और उन्हें प्लेटफ़ॉर्मों के ऊपर रखो। अलग रंग से खिलाड़ियों को वे दिख जाते हैं।
टेस्ट करने के लिए F5 दबाओ और ऊपर दाएँ कोने में खिलाड़ियों की सूची देखो। उसमें Stage 1 दिखता है। चेकपॉइंट 2 को छुओ, तो वह 2 हो जाता है।
चेकपॉइंट क्रम से छूने होंगे। 2 से पहले 3 को छूने पर कुछ नहीं होता।
आम गलती. part के नाम Checkpoint1 या One रखना। स्क्रिप्ट ठीक 1, 2 और 3 नाम ढूँढती है।
यह कदम मेरे लिए काम नहीं कर रहा
पहले ये तीन बातें जाँचो
हर part और स्क्रिप्ट का नाम बिल्कुल गाइड जैसा हो, बड़े और छोटे अक्षरों के साथ।
स्क्रिप्ट सही चीज़ के अंदर रखी हो। कोड वाले बॉक्स के ऊपर लिखा लेबल देखो।
Window मेनू से Output विंडो खोलो। लाल लिखावट बताती है कि स्क्रिप्ट में किस लाइन पर गड़बड़ है।
अंत में एक बड़ा anchored part रखो और उसका नाम Finish रखो। उसे सुनहरा बनाओ, ताकि खिलाड़ियों को मंज़िल दिखे।
Finish में एक Script जोड़ो और यह कोड पेस्ट करो।
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)
हर हिस्सा क्या करता है
GetPlayerFromCharacter पता लगाता है कि फ़िनिश को किस खिलाड़ी ने छुआ।
cooldown table कोड को एक ही सेकंड में कई बार चलने से रोकता है।
Stage वापस 1 हो जाता है और LoadCharacter खिलाड़ी को दोबारा दौड़ने के लिए शुरुआत पर भेज देता है।
और जानकारी
उसे सुनहरा बनाने के लिए Properties में Color वाले खाने पर क्लिक करो और पीला चुनो। Material Neon उसे चमकदार बना देता है।
Size 12, 1, 12 एक अच्छा फ़िनिश है। उसे आख़िरी छलाँग के बाद रखो, बाकी से थोड़ा ऊँचा।
टेस्ट करने के लिए F5 दबाओ, कोर्स पूरा करो और सुनहरे part पर कदम रखो। तुम शुरुआत में लौट आते हो और Stage फिर से 1 दिखाता है।
2 सेकंड का इंतज़ार इसलिए रखा है क्योंकि एक कदम part को कई बार छूता है।
यह कदम मेरे लिए काम नहीं कर रहा
पहले ये तीन बातें जाँचो
हर part और स्क्रिप्ट का नाम बिल्कुल गाइड जैसा हो, बड़े और छोटे अक्षरों के साथ।
स्क्रिप्ट सही चीज़ के अंदर रखी हो। कोड वाले बॉक्स के ऊपर लिखा लेबल देखो।
Window मेनू से Output विंडो खोलो। लाल लिखावट बताती है कि स्क्रिप्ट में किस लाइन पर गड़बड़ है।
खेलने के लिए F5 दबाओ। पूरा रास्ता शुरू से अंत तक दौड़कर देखो।
जान-बूझकर लावा में गिरो। तुम्हें अपने आख़िरी चेकपॉइंट पर वापस आना चाहिए।
रोकने के लिए Shift+F5 दबाओ।
Window मेनू से Output window खोलो। लाल लिखावट का मतलब है कि स्क्रिप्ट में गलती है, और वह लाइन नंबर भी बताती है।
और जानकारी
F5 गेम को तुम्हारे कैरेक्टर के साथ शुरू करता है। गेम चलते समय टूलबार बदल जाता है।
गेम चलते समय किए गए बदलाव रोकने पर खो जाते हैं। पहले Shift+F5 दबाओ, फिर बदलाव करो।
Output विंडो में किसी लाल लाइन पर क्लिक करो, तो Studio स्क्रिप्ट को उसी लाइन पर खोल देता है जहाँ गलती है।
कुछ काम न करे, तो तीन चीज़ें जाँचो: part का नाम, स्क्रिप्ट कहाँ रखी है, और Anchored चालू है या नहीं।
आम गलती. गेम शुरू होते ही कोई प्लेटफ़ॉर्म गिर जाता है: Anchored बंद है। part छूने पर कुछ नहीं होता: स्क्रिप्ट गलत चीज़ में है, या किसी नाम में स्पेलिंग की गलती है।
यह कदम मेरे लिए काम नहीं कर रहा
पहले ये तीन बातें जाँचो
हर part और स्क्रिप्ट का नाम बिल्कुल गाइड जैसा हो, बड़े और छोटे अक्षरों के साथ।
स्क्रिप्ट सही चीज़ के अंदर रखी हो। कोड वाले बॉक्स के ऊपर लिखा लेबल देखो।
Window मेनू से Output विंडो खोलो। लाल लिखावट बताती है कि स्क्रिप्ट में किस लाइन पर गड़बड़ है।