→ כל המדריכים
מדריך 3

בונים את הסימולטור הראשון שלכם

לוחצים על Crystal כדי לצבור כוח, מוכרים את הכוח תמורת מטבעות וקונים שדרוגים שהופכים כל לחיצה לחזקה יותר.

חינם50 דקות · מתחילים · Roblox Studio
1
צעד 1 / 8

מכינים את המקום

  1. פותחים את Roblox Studio, לוחצים על New Experience ובוחרים בתבנית Baseplate.
  2. תבנו על הרצפה שלושה דברים: Crystal ללחיצה, משטח למכירה ומשטח לקניית שדרוגים.
  3. משאירים בערך 20 studs ביניהם, כדי שהשחקנים יצטרכו ללכת.

פרטים נוספים

  • התבנית Baseplate נמצאת ברשימת התבניות במסך הפתיחה.
  • השדה Position ב-Properties מראה איפה נמצא Part. שני Parts שהמספרים הראשונים שלהם שונים ב-20 עומדים במרחק 20 studs זה מזה.
  • שומרים את שלושת הדברים קרוב ל-SpawnLocation, המשטח שבו שחקנים מופיעים.
  • ב-Mac משתמשים במקש Cmd בכל מקום שבו המדריך אומר Ctrl.
טיפ. מציירים קודם את הפריסה על דף. סימולטור מרגיש טוב כשההליכה בין ללחוץ, למכור ולשדרג קצרה.
השלב הזה לא עובד לי

בדקו קודם את שלושת הדברים האלה

  • השם של כל Part וכל סקריפט זהה בדיוק למדריך, עם אותן אותיות גדולות.
  • הסקריפט נמצא בתוך העצם הנכון. הסתכלו על התווית שמעל תיבת הקוד.
  • פתחו את החלון 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 הוא כמה כוח נותנת לחיצה אחת. הוא מתחיל ב-1.
  • Multiplier נמצא על השחקן ולא ב-leaderstats, ולכן הוא נשאר מוסתר מרשימת השחקנים.

פרטים נוספים

  • כשלוחצים על +, כותבים את המילה Script כדי למצוא אותו מהר.
  • הסקריפט נפתח בלשונית חדשה. לוחצים בתוך הקוד, לוחצים על Ctrl+A ואז על Ctrl+V כדי להחליף הכול.
  • משנים את שם הסקריפט ב-Explorer עם F2. השם הוא רק בשבילכם. הוא עוזר לכם למצוא את הסקריפט בהמשך.
  • רשימת השחקנים נמצאת בפינה הימנית העליונה של המשחק.
השלב הזה לא עובד לי

בדקו קודם את שלושת הדברים האלה

  • השם של כל Part וכל סקריפט זהה בדיוק למדריך, עם אותן אותיות גדולות.
  • הסקריפט נמצא בתוך העצם הנכון. הסתכלו על התווית שמעל תיבת הקוד.
  • פתחו את החלון Output מהתפריט Window. טקסט אדום מראה את הסקריפט ואת השורה שבה יש בעיה.

עדיין תקועים? כתבו לנו ←

3
צעד 3 / 8

בונים את ה-Crystal

  1. מוסיפים Part. מגדירים Size ל-6, 8, 6, מפעילים Anchored וקוראים לו Crystal. בוחרים צבע בהיר ומגדירים Material ל-Neon.
  2. מעבירים את העכבר מעל Crystal, לוחצים על + ומוסיפים ClickDetector.
  3. מוסיפים Script ל-Crystal ומדביקים את הקוד הזה.
  4. לוחצים על Play ולוחצים על ה-Crystal. ה-Power עולה ב-1 בכל לחיצה.
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, לצד הסקריפט.
השלב הזה לא עובד לי

בדקו קודם את שלושת הדברים האלה

  • השם של כל Part וכל סקריפט זהה בדיוק למדריך, עם אותן אותיות גדולות.
  • הסקריפט נמצא בתוך העצם הנכון. הסתכלו על התווית שמעל תיבת הקוד.
  • פתחו את החלון Output מהתפריט Window. טקסט אדום מראה את הסקריפט ואת השורה שבה יש בעיה.

עדיין תקועים? כתבו לנו ←

4
צעד 4 / 8

מוסיפים את משטח המכירה

  1. מוסיפים Part על הרצפה. מגדירים Size ל-8, 1, 8, מפעילים Anchored, צובעים אותו בצהוב וקוראים לו Sell.
  2. מוסיפים Script ל-Sell ומדביקים את הקוד הזה.
  3. לוחצים על Play, לוחצים על ה-Crystal כמה פעמים והולכים אל המשטח. ה-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.

פרטים נוספים

  • משטח הוא Part שטוח שעולים עליו בהליכה.
  • מניחים את המשטח שטוח על הרצפה. אם הוא גבוה מדי, שחקנים לא יכולים לעלות עליו.
  • כשעולים על המשטח עם 0 כוח, לא קורה כלום. זה תקין.
  • לבדיקה: לוחצים על הקריסטל 10 פעמים, עולים על המשטח, וברשימת השחקנים כתוב Power 0 ו-Coins 10.
השלב הזה לא עובד לי

בדקו קודם את שלושת הדברים האלה

  • השם של כל Part וכל סקריפט זהה בדיוק למדריך, עם אותן אותיות גדולות.
  • הסקריפט נמצא בתוך העצם הנכון. הסתכלו על התווית שמעל תיבת הקוד.
  • פתחו את החלון Output מהתפריט Window. טקסט אדום מראה את הסקריפט ואת השורה שבה יש בעיה.

עדיין תקועים? כתבו לנו ←

5
צעד 5 / 8

מוסיפים את משטח השדרוג

  1. מוסיפים עוד Part על הרצפה. מגדירים Size ל-8, 1, 8, מפעילים Anchored, צובעים אותו בכחול וקוראים לו Upgrade.
  2. מוסיפים Script ל-Upgrade ומדביקים את הקוד הזה.
  3. לוחצים על Play, מרוויחים 25 מטבעות ודורכים על המשטח. עכשיו כל לחיצה נותנת 2 כוח.
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 עולה ב-1.

פרטים נוספים

  • מניחים את המשטח כמה צעדים מהמשטח של המכירה, כדי ששחקנים לא יקנו בטעות.
  • השדרוג הראשון עולה 25 מטבעות. אחריו, Coins יורד ב-25 ולחיצה אחת נותנת 2 כוח.
  • כשיש פחות מטבעות מהמחיר, המשטח לא עושה כלום. יורדים ממנו, מרוויחים עוד וחוזרים.
  • ההמתנה של שנייה אחת היא הסיבה שמי שעומד במקום על המשטח קונה רק שדרוג אחד בכל פעם.
השלב הזה לא עובד לי

בדקו קודם את שלושת הדברים האלה

  • השם של כל Part וכל סקריפט זהה בדיוק למדריך, עם אותן אותיות גדולות.
  • הסקריפט נמצא בתוך העצם הנכון. הסתכלו על התווית שמעל תיבת הקוד.
  • פתחו את החלון 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, כדי שהכיתוב ירחף מעל ה-Crystal.

פרטים נוספים

  • בשדות Size ו-StudsOffset לוחצים על השדה ב-Properties, כותבים את המספרים בדיוק כפי שהם מופיעים, עם הסוגריים והפסיקים, ולוחצים על Enter.
  • Text היא תכונה של ה-TextLabel. לוחצים על השדה Text, כותבים את המילה ולוחצים על Enter.
  • דרך מהירה יותר: לוחצים על ה-BillboardGui המוכן ב-Explorer, לוחצים על Ctrl+C, לוחצים על ה-Part הבא ולוחצים על Ctrl+Shift+V. אחר כך משנים רק את הטקסט.
  • התוויות עוזרות לשחקנים חדשים להבין את המשחק בלי שום הסבר.
טיפ. BillboardGui תמיד מסתובב אל המצלמה, ולכן השחקנים יכולים לקרוא אותו מכל צד.
השלב הזה לא עובד לי

בדקו קודם את שלושת הדברים האלה

  • השם של כל Part וכל סקריפט זהה בדיוק למדריך, עם אותן אותיות גדולות.
  • הסקריפט נמצא בתוך העצם הנכון. הסתכלו על התווית שמעל תיבת הקוד.
  • פתחו את החלון Output מהתפריט Window. טקסט אדום מראה את הסקריפט ואת השורה שבה יש בעיה.

עדיין תקועים? כתבו לנו ←

7
צעד 7 / 8

בודקים את המעגל

  1. לוחצים על F5. לוחצים, מוכרים, משדרגים וחוזר חלילה.
  2. בודקים שמחיר השדרוג גדל: 25 מטבעות, אחר כך 50, אחר כך 75.
  3. לוחצים על Shift+F5 כדי לעצור. אם משהו לא עובד, פותחים את החלון Output מהתפריט Window וקוראים את הטקסט האדום.

פרטים נוספים

  • סופרים את הלחיצות. עם Multiplier 1, עשר לחיצות נותנות 10 כוח.
  • אחרי השדרוג הראשון עשר לחיצות נותנות 20 כוח, ואחרי השני 30.
  • שינויים שעושים בזמן שהמשחק רץ הולכים לאיבוד כשעוצרים. לוחצים קודם על Shift+F5 ורק אז עורכים.
  • בחלון Output לוחצים על שורה אדומה ו-Studio פותח את הסקריפט בשורה שבה יש שגיאה.
טעות נפוצה. המשטח לא קונה כלום: צריך לפחות 25 Coins, לא 25 Power. קודם מוכרים.
השלב הזה לא עובד לי

בדקו קודם את שלושת הדברים האלה

  • השם של כל Part וכל סקריפט זהה בדיוק למדריך, עם אותן אותיות גדולות.
  • הסקריפט נמצא בתוך העצם הנכון. הסתכלו על התווית שמעל תיבת הקוד.
  • פתחו את החלון 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, עושים את הצעד הזה יחד עם הורה.
טיפ. ההתקדמות עדיין לא נשמרת. כששחקן יוצא, המטבעות נעלמים. שמירת נתונים היא שיעור מתקדם.
השלב הזה לא עובד לי

בדקו קודם את שלושת הדברים האלה

  • השם של כל Part וכל סקריפט זהה בדיוק למדריך, עם אותן אותיות גדולות.
  • הסקריפט נמצא בתוך העצם הנכון. הסתכלו על התווית שמעל תיבת הקוד.
  • פתחו את החלון Output מהתפריט Window. טקסט אדום מראה את הסקריפט ואת השורה שבה יש בעיה.

עדיין תקועים? כתבו לנו ←

עכשיו משנים בעצמכם

  • מוסיפים Crystal שני שנותן 5 כוח ללחיצה, אבל עומד רחוק.
  • עושים שמחיר השדרוג יוכפל בכל פעם. רמז: 25 * 2 ^ (player.Multiplier.Value - 1)
  • עושים שה-Crystal יגדל קצת בכל לחיצה. רמז: משנים את crystal.Size