→ همه‌ی آموزش‌ها
آموزش 3

اولین simulator ات را بساز

روی یک کریستال کلیک کن تا power بگیری، power را به coins بفروش و ارتقاهایی بخر که هر کلیک را قوی‌تر می‌کنند.

رایگان50 دقیقه · مبتدی · Roblox Studio
1
قدم 1 / 8

مکان را آماده کن

  1. Roblox Studio را باز کن، روی New Experience کلیک کن و قالب Baseplate را انتخاب کن.
  2. سه چیز روی کف می‌سازی: یک کریستال برای کلیک، یک سکو برای فروش و یک سکو برای خرید ارتقا.
  3. بین آن‌ها حدود 20 studs فاصله بگذار تا بازیکن‌ها مجبور باشند راه بروند.

جزئیات بیشتر

  • قالب Baseplate در فهرست قالب‌های صفحه‌ی شروع است.
  • فیلد Position در Properties نشان می‌دهد قطعه کجاست. دو قطعه که عدد اولشان 20 با هم فرق دارد، 20 studs از هم فاصله دارند.
  • هر سه چیز را نزدیک SpawnLocation نگه دار، همان سکویی که بازیکن‌ها رویش ظاهر می‌شوند.
  • روی Mac هر جا این آموزش Ctrl می‌گوید، کلید Cmd را بزن.
نکته. اول طرح را روی کاغذ بکش. وقتی راه بین کلیک، فروش و ارتقا کوتاه باشد، simulator حس خوبی دارد.
این قدم برای من کار نمی‌کند

اول این سه چیز را بررسی کن

  • اسم هر قطعه و اسکریپت دقیقاً مثل آموزش است، با همان حروف بزرگ.
  • اسکریپت داخل شیء درست است. به برچسب بالای کادر کد نگاه کن.
  • پنجره‌ی Output را از منوی Window باز کن. متن قرمز اسکریپت و خطی را که مشکل دارد نشان می‌دهد.

هنوز گیر کرده‌ای؟ برای ما بنویس ←

2
قدم 2 / 8

آمار بازیکن را بساز

  1. موس را روی ServerScriptService ببر، روی + کلیک کن و یک Script اضافه کن. اسمش را Stats بگذار.
  2. خطی را که از قبل آنجاست پاک کن و این کد را بچسبان.
  3. Play را بزن. فهرست بازیکن‌ها Power 0 و Coins 0 را نشان می‌دهد.
ServerScriptService > Stats
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	for _, name in ipairs({"Power", "Coins"}) do
		local value = Instance.new("IntValue")
		value.Name = name
		value.Parent = stats
	end

	local multiplier = Instance.new("IntValue")
	multiplier.Name = "Multiplier"
	multiplier.Value = 1
	multiplier.Parent = player
end)

هر بخش چه کار می‌کند

  • حلقه با یک تکه کد دو مقدار می‌سازد: Power و Coins.
  • Multiplier مقدار power ای است که یک کلیک می‌دهد. از 1 شروع می‌شود.
  • Multiplier روی بازیکن است و داخل leaderstats نیست، پس در فهرست بازیکن‌ها پنهان می‌ماند.

جزئیات بیشتر

  • وقتی روی + کلیک می‌کنی، کلمه‌ی Script را بنویس تا زود پیدایش کنی.
  • اسکریپت در یک تب جدید باز می‌شود. داخل کد کلیک کن، Ctrl+A و بعد Ctrl+V را بزن تا همه‌چیز عوض شود.
  • اسم اسکریپت را در Explorer با F2 عوض کن. این اسم فقط برای خودت است. بعداً کمک می‌کند اسکریپت را پیدا کنی.
  • فهرست بازیکن‌ها در گوشه‌ی بالا سمت راست بازی است.
این قدم برای من کار نمی‌کند

اول این سه چیز را بررسی کن

  • اسم هر قطعه و اسکریپت دقیقاً مثل آموزش است، با همان حروف بزرگ.
  • اسکریپت داخل شیء درست است. به برچسب بالای کادر کد نگاه کن.
  • پنجره‌ی Output را از منوی Window باز کن. متن قرمز اسکریپت و خطی را که مشکل دارد نشان می‌دهد.

هنوز گیر کرده‌ای؟ برای ما بنویس ←

3
قدم 3 / 8

کریستال را بساز

  1. یک Part بگذار. Size را 6, 8, 6 کن، Anchored را روشن کن و اسمش را Crystal بگذار. یک رنگ روشن انتخاب کن و Material را Neon بگذار.
  2. موس را روی Crystal ببر، روی + کلیک کن و یک ClickDetector اضافه کن.
  3. یک Script به Crystal اضافه کن و این کد را بچسبان.
  4. Play را بزن و روی کریستال کلیک کن. با هر کلیک Power یکی بالا می‌رود.
Crystal > Script
local crystal = script.Parent
local clickDetector = crystal.ClickDetector

clickDetector.MouseClick:Connect(function(player)
	local power = player.leaderstats.Power
	power.Value += player.Multiplier.Value
end)

هر بخش چه کار می‌کند

  • ClickDetector باعث می‌شود Part قابل کلیک شود. با لمس در موبایل هم کار می‌کند.
  • MouseClick به اسکریپت می‌گوید کدام بازیکن کلیک کرده.
  • اسکریپت Multiplier بازیکن را به Power اضافه می‌کند، پس ارتقاها هر کلیک را قوی‌تر می‌کنند.

جزئیات بیشتر

  • اندازه را در فیلد Size در Properties بنویس و Enter را بزن. بعد کریستال را با ابزار Move بالا ببر تا روی زمین بایستد.
  • وقتی روی + کلیک می‌کنی، ClickDetector را بنویس تا پیدایش کنی. در Explorer باید یک قدم به داخل، زیر Crystal باشد.
  • در بازی وقتی موس روی کریستال است، نشانگر به شکل یک دست در می‌آید.
  • باید به اندازه‌ی کافی نزدیک بایستی. ClickDetector از فاصله‌ی 32 studs یا کمتر کار می‌کند.
اشتباه رایج. با کلیک هیچ اتفاقی نمی‌افتد: ClickDetector باید مستقیم داخل Crystal باشد، کنار اسکریپت.
این قدم برای من کار نمی‌کند

اول این سه چیز را بررسی کن

  • اسم هر قطعه و اسکریپت دقیقاً مثل آموزش است، با همان حروف بزرگ.
  • اسکریپت داخل شیء درست است. به برچسب بالای کادر کد نگاه کن.
  • پنجره‌ی Output را از منوی Window باز کن. متن قرمز اسکریپت و خطی را که مشکل دارد نشان می‌دهد.

هنوز گیر کرده‌ای؟ برای ما بنویس ←

4
قدم 4 / 8

سکوی فروش را اضافه کن

  1. یک Part روی کف بگذار. Size را 8, 1, 8 کن، Anchored را روشن کن، زردش کن و اسمش را Sell بگذار.
  2. یک Script به Sell اضافه کن و این کد را بچسبان.
  3. Play را بزن، چند بار روی کریستال کلیک کن و روی سکو برو. Power به Coins تبدیل می‌شود.
Sell > Script
local Players = game:GetService("Players")
local pad = script.Parent

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player then return end

	local stats = player.leaderstats
	if stats.Power.Value > 0 then
		stats.Coins.Value += stats.Power.Value
		stats.Power.Value = 0
	end
end)

هر بخش چه کار می‌کند

  • GetPlayerFromCharacter بازیکنی را که روی سکو رفته پیدا می‌کند.
  • سکو همه‌ی Power بازیکن را به Coins اضافه می‌کند و بعد Power را دوباره 0 می‌کند.

جزئیات بیشتر

  • سکو یک قطعه‌ی صاف است که بازیکن‌ها رویش راه می‌روند.
  • سکو را صاف روی زمین بگذار. اگر خیلی بالا باشد، بازیکن‌ها نمی‌توانند رویش بروند.
  • راه رفتن روی سکو با 0 قدرت کاری نمی‌کند. این درست است.
  • برای آزمایش: 10 بار روی کریستال کلیک کن، روی سکو برو و فهرست بازیکن‌ها Power 0 و Coins 10 را نشان می‌دهد.
این قدم برای من کار نمی‌کند

اول این سه چیز را بررسی کن

  • اسم هر قطعه و اسکریپت دقیقاً مثل آموزش است، با همان حروف بزرگ.
  • اسکریپت داخل شیء درست است. به برچسب بالای کادر کد نگاه کن.
  • پنجره‌ی Output را از منوی Window باز کن. متن قرمز اسکریپت و خطی را که مشکل دارد نشان می‌دهد.

هنوز گیر کرده‌ای؟ برای ما بنویس ←

5
قدم 5 / 8

سکوی ارتقا را اضافه کن

  1. یک Part دیگر روی کف بگذار. Size را 8, 1, 8 کن، Anchored را روشن کن، آبیش کن و اسمش را Upgrade بگذار.
  2. یک Script به Upgrade اضافه کن و این کد را بچسبان.
  3. Play را بزن، 25 coins جمع کن و روی سکو برو. حالا هر کلیک 2 power می‌دهد.
Upgrade > Script
local Players = game:GetService("Players")
local pad = script.Parent
local waiting = {}

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player or waiting[player] then return end

	local price = player.Multiplier.Value * 25
	local coins = player.leaderstats.Coins
	if coins.Value < price then return end

	waiting[player] = true
	coins.Value -= price
	player.Multiplier.Value += 1

	task.wait(1)
	waiting[player] = nil
end)

هر بخش چه کار می‌کند

  • قیمت برابر است با Multiplier بازیکن ضرب در 25، پس هر ارتقا از قبلی گران‌تر است.
  • جدول waiting جلوی این را می‌گیرد که یک بار ایستادن طولانی روی سکو چند ارتقا را یک‌جا بخرد.
  • بعد از خرید، Multiplier یکی بالا می‌رود.

جزئیات بیشتر

  • سکو را چند قدم دورتر از سکوی فروش بگذار تا بازیکن‌ها اتفاقی نخرند.
  • اولین ارتقا 25 سکه قیمت دارد. بعد از آن Coins به اندازه‌ی 25 کم می‌شود و هر کلیک 2 قدرت می‌دهد.
  • اگر سکه‌هایت از قیمت کمتر باشد، سکو کاری نمی‌کند. پایین بیا، بیشتر جمع کن و برگرد.
  • به خاطر مکث 1 ثانیه‌ای، ایستادن ساکت روی سکو هر بار فقط یک ارتقا می‌خرد.
این قدم برای من کار نمی‌کند

اول این سه چیز را بررسی کن

  • اسم هر قطعه و اسکریپت دقیقاً مثل آموزش است، با همان حروف بزرگ.
  • اسکریپت داخل شیء درست است. به برچسب بالای کادر کد نگاه کن.
  • پنجره‌ی Output را از منوی Window باز کن. متن قرمز اسکریپت و خطی را که مشکل دارد نشان می‌دهد.

هنوز گیر کرده‌ای؟ برای ما بنویس ←

6
قدم 6 / 8

روی سکوها برچسب بزن

  1. موس را روی Sell ببر، روی + کلیک کن و یک BillboardGui اضافه کن. Size آن را {0, 200}, {0, 50} و StudsOffset آن را 0, 4, 0 بگذار.
  2. یک TextLabel داخل BillboardGui اضافه کن. Size آن را {1, 0}, {1, 0} کن، TextScaled را روشن کن و این متن را بنویس: SELL
  3. همین کار را برای Upgrade با این متن بکن: UPGRADE
  4. همین کار را برای Crystal با این متن بکن: CLICK ME. آنجا از StudsOffset برابر 0, 7, 0 استفاده کن تا برچسب بالای کریستال شناور باشد.

جزئیات بیشتر

  • برای Size و StudsOffset روی فیلد در Properties کلیک کن، عددها را دقیقاً همان‌طور که نشان داده شده با پرانتزها و ویرگول‌ها بنویس و Enter را بزن.
  • Text یک ویژگی TextLabel است. روی فیلد Text کلیک کن، کلمه را بنویس و Enter را بزن.
  • راه سریع‌تر: در Explorer روی BillboardGui تمام‌شده کلیک کن، Ctrl+C را بزن، روی قطعه‌ی بعدی کلیک کن و Ctrl+Shift+V را بزن. بعد فقط متن را عوض کن.
  • برچسب‌ها کمک می‌کنند بازیکن‌های تازه‌وارد بدون هیچ توضیحی بازی را بفهمند.
نکته. BillboardGui همیشه به سمت دوربین می‌چرخد، پس بازیکن‌ها از هر طرف می‌توانند آن را بخوانند.
این قدم برای من کار نمی‌کند

اول این سه چیز را بررسی کن

  • اسم هر قطعه و اسکریپت دقیقاً مثل آموزش است، با همان حروف بزرگ.
  • اسکریپت داخل شیء درست است. به برچسب بالای کادر کد نگاه کن.
  • پنجره‌ی Output را از منوی Window باز کن. متن قرمز اسکریپت و خطی را که مشکل دارد نشان می‌دهد.

هنوز گیر کرده‌ای؟ برای ما بنویس ←

7
قدم 7 / 8

چرخه را امتحان کن

  1. F5 را بزن. کلیک کن، بفروش، ارتقا بخر و دوباره تکرار کن.
  2. چک کن که قیمت ارتقا بالا می‌رود: 25 coins، بعد 50، بعد 75.
  3. برای توقف Shift+F5 را بزن. اگر چیزی کار نکرد، پنجره‌ی Output را از منوی Window باز کن و نوشته‌ی قرمز را بخوان.

جزئیات بیشتر

  • کلیک‌هایت را بشمار. با Multiplier 1، ده کلیک 10 قدرت می‌دهد.
  • بعد از اولین ارتقا ده کلیک 20 قدرت می‌دهد و بعد از دومی 30.
  • تغییرهایی که وقتی بازی اجرا می‌شود می‌دهی، با توقف از بین می‌روند. اول Shift+F5 را بزن، بعد ویرایش کن.
  • در پنجره‌ی Output روی یک خط قرمز کلیک کن تا Studio اسکریپت را در خطی که خطا دارد باز کند.
اشتباه رایج. سکو چیزی نمی‌خرد: حداقل 25 Coins لازم داری، نه 25 Power. اول بفروش.
این قدم برای من کار نمی‌کند

اول این سه چیز را بررسی کن

  • اسم هر قطعه و اسکریپت دقیقاً مثل آموزش است، با همان حروف بزرگ.
  • اسکریپت داخل شیء درست است. به برچسب بالای کادر کد نگاه کن.
  • پنجره‌ی Output را از منوی Window باز کن. متن قرمز اسکریپت و خطی را که مشکل دارد نشان می‌دهد.

هنوز گیر کرده‌ای؟ برای ما بنویس ←

8
قدم 8 / 8

منتشرش کن

  1. File → Publish to Roblox را انتخاب کن. به بازی یک اسم و یک توضیح کوتاه بده.
  2. در سایت Creator Hub بازی‌ات را باز کن و پرسشنامه‌ی Maturity را پر کن.
  3. بازی را روی Public بگذار و لینکش را برای یک دوست بفرست.

جزئیات بیشتر

  • بار اول که منتشر می‌کنی، Studio اسم و توضیح می‌خواهد. روی Create کلیک کن.
  • Creator Hub همان وب‌سایت create.roblox.com است. با همان حساب وارد شو و در فهرست روی بازی‌ات کلیک کن.
  • ممکن است Roblox قبل از عمومی شدن بازی چیزهای بیشتری بخواهد، مثلاً تأیید سن حساب. صفحه می‌گوید چه چیزی کم است.
  • اگر زیر 18 سال داری، این قدم را با یکی از والدینت انجام بده.
نکته. پیشرفت هنوز ذخیره نمی‌شود. وقتی بازیکن می‌رود، coins از بین می‌رود. ذخیره‌ی داده یک درس پیشرفته است.
این قدم برای من کار نمی‌کند

اول این سه چیز را بررسی کن

  • اسم هر قطعه و اسکریپت دقیقاً مثل آموزش است، با همان حروف بزرگ.
  • اسکریپت داخل شیء درست است. به برچسب بالای کادر کد نگاه کن.
  • پنجره‌ی Output را از منوی Window باز کن. متن قرمز اسکریپت و خطی را که مشکل دارد نشان می‌دهد.

هنوز گیر کرده‌ای؟ برای ما بنویس ←

حالا خودت تغییرش بده

  • یک کریستال دوم اضافه کن که در هر کلیک 5 power می‌دهد ولی دور ایستاده است.
  • کاری کن که قیمت ارتقا هر بار دو برابر شود. راهنمایی: 25 * 2 ^ (player.Multiplier.Value - 1)
  • کریستال را با هر کلیک کمی بزرگ‌تر کن. راهنمایی: crystal.Size را عوض کن