← সব গাইড
গাইড 3

তোমার প্রথম simulator বানাও

একটা ক্রিস্টালে ক্লিক করে power জমাও, power বিক্রি করে কয়েন পাও আর এমন আপগ্রেড কেনো যা প্রতিটা ক্লিককে আরও শক্তিশালী করে।

বিনামূল্যে50 মিনিট · শুরুর স্তর · Roblox Studio
1
ধাপ 1 / 8

place টা তৈরি করো

  1. Roblox Studio খোলো, New Experience এ ক্লিক করো আর Baseplate টেমপ্লেটটা বেছে নাও।
  2. তুমি মেঝেতে তিনটা জিনিস বানাবে: ক্লিক করার একটা ক্রিস্টাল, বিক্রির একটা প্যাড আর আপগ্রেড কেনার একটা প্যাড।
  3. এগুলোর মাঝে প্রায় 20 studs ফাঁক রাখো, যাতে প্লেয়ারদের হাঁটতে হয়।

আরও বিস্তারিত

  • Baseplate টেমপ্লেটটা শুরুর স্ক্রিনের টেমপ্লেটের তালিকায় আছে।
  • Properties-এর Position ঘরটা দেখায় part কোথায় আছে। যে দুটো part-এর প্রথম সংখ্যায় 20 তফাত, সেগুলো একে অপরের থেকে 20 studs দূরে দাঁড়িয়ে।
  • তিনটা জিনিসই SpawnLocation-এর কাছাকাছি রাখো, যে প্ল্যাটফর্মে খেলোয়াড়রা আসে।
  • Mac-এ এই গাইডে যেখানেই Ctrl লেখা আছে, সেখানে প্রতিবার Cmd কী ব্যবহার করো।
টিপ. আগে কাগজে লেআউটটা এঁকে নাও। ক্লিক, বিক্রি আর আপগ্রেডের মাঝের হাঁটার পথ ছোট হলে simulator খেলতে ভালো লাগে।
এই ধাপটা আমার জন্য কাজ করছে না

আগে এই তিনটা জিনিস দেখে নাও

  • প্রতিটা part আর স্ক্রিপ্টের নাম ঠিক গাইডের মতো, একই বড় হাতের আর ছোট হাতের অক্ষরসহ।
  • স্ক্রিপ্টটা ঠিক অবজেক্টের ভেতরে আছে। কোডের বাক্সের উপরের লেবেলটা দেখো।
  • Window মেনু থেকে Output উইন্ডো খোলো। লাল লেখা দেখায় কোন স্ক্রিপ্টে আর কোন লাইনে সমস্যা।

তবুও আটকে আছ? আমাদের লেখো →

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 দিয়ে স্ক্রিপ্টের নাম বদলাও। নামটা শুধু তোমার জন্য। পরে স্ক্রিপ্টটা খুঁজে পেতে এটা সাহায্য করে।
  • খেলোয়াড়ের তালিকা গেমের উপরের ডান কোণে থাকে।
এই ধাপটা আমার জন্য কাজ করছে না

আগে এই তিনটা জিনিস দেখে নাও

  • প্রতিটা part আর স্ক্রিপ্টের নাম ঠিক গাইডের মতো, একই বড় হাতের আর ছোট হাতের অক্ষরসহ।
  • স্ক্রিপ্টটা ঠিক অবজেক্টের ভেতরে আছে। কোডের বাক্সের উপরের লেবেলটা দেখো।
  • Window মেনু থেকে Output উইন্ডো খোলো। লাল লেখা দেখায় কোন স্ক্রিপ্টে আর কোন লাইনে সমস্যা।

তবুও আটকে আছ? আমাদের লেখো →

3
ধাপ 3 / 8

ক্রিস্টালটা বানাও

  1. একটা Part যোগ করো। Size করো 6, 8, 6, Anchored চালু করো আর নাম দাও Crystal। একটা উজ্জ্বল রং বেছে নাও আর Material করো Neon।
  2. Crystal এর উপর মাউস রাখো, + এ ক্লিক করে একটা ClickDetector যোগ করো।
  3. Crystal এ একটা Script যোগ করো আর এই কোডটা পেস্ট করো।
  4. Play চাপো আর ক্রিস্টালে ক্লিক করো। প্রতি ক্লিকে 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 এর সঙ্গে যোগ করে, তাই আপগ্রেড প্রতিটা ক্লিককে আরও শক্তিশালী করে।

আরও বিস্তারিত

  • Properties-এর Size ঘরে আকারটা লিখে Enter চাপো। তারপর Move টুল দিয়ে ক্রিস্টালটা তুলে মেঝের উপর দাঁড় করাও।
  • + এ ক্লিক করে ClickDetector লেখো, তাহলে পেয়ে যাবে। Explorer-এ ওটা এক ধাপ ডানে, Crystal-এর নিচে থাকতে হবে।
  • গেমে মাউসের তীর ক্রিস্টালের উপর গেলে হাতের চিহ্নে বদলে যায়।
  • তোমাকে যথেষ্ট কাছে দাঁড়াতে হবে। ClickDetector 32 studs বা তার কম দূর থেকে কাজ করে।
সাধারণ ভুল. ক্লিকে কিছু হয় না: ClickDetector টা সরাসরি Crystal এর ভেতরে, স্ক্রিপ্টের পাশে থাকতে হবে।
এই ধাপটা আমার জন্য কাজ করছে না

আগে এই তিনটা জিনিস দেখে নাও

  • প্রতিটা part আর স্ক্রিপ্টের নাম ঠিক গাইডের মতো, একই বড় হাতের আর ছোট হাতের অক্ষরসহ।
  • স্ক্রিপ্টটা ঠিক অবজেক্টের ভেতরে আছে। কোডের বাক্সের উপরের লেবেলটা দেখো।
  • Window মেনু থেকে Output উইন্ডো খোলো। লাল লেখা দেখায় কোন স্ক্রিপ্টে আর কোন লাইনে সমস্যা।

তবুও আটকে আছ? আমাদের লেখো →

4
ধাপ 4 / 8

বিক্রির প্যাড যোগ করো

  1. মেঝেতে একটা Part যোগ করো। Size করো 8, 1, 8, Anchored চালু করো, সেটা হলুদ করো আর নাম দাও Sell।
  2. Sell এ একটা Script যোগ করো আর এই কোডটা পেস্ট করো।
  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 করে দেয়।

আরও বিস্তারিত

  • pad হলো একটা সমতল part, যার উপর খেলোয়াড়রা হেঁটে ওঠে।
  • pad-টা মেঝেতে সমতলভাবে রাখো। খুব উঁচু হলে খেলোয়াড়রা ওর উপর উঠতে পারবে না।
  • 0 power নিয়ে pad-এ হাঁটলে কিছু হয় না। এটা ঠিকই আছে।
  • টেস্ট করতে: ক্রিস্টালে 10 বার ক্লিক করো, pad-এ হাঁটো, আর খেলোয়াড়ের তালিকায় Power 0 আর Coins 10 দেখাবে।
এই ধাপটা আমার জন্য কাজ করছে না

আগে এই তিনটা জিনিস দেখে নাও

  • প্রতিটা part আর স্ক্রিপ্টের নাম ঠিক গাইডের মতো, একই বড় হাতের আর ছোট হাতের অক্ষরসহ।
  • স্ক্রিপ্টটা ঠিক অবজেক্টের ভেতরে আছে। কোডের বাক্সের উপরের লেবেলটা দেখো।
  • Window মেনু থেকে Output উইন্ডো খোলো। লাল লেখা দেখায় কোন স্ক্রিপ্টে আর কোন লাইনে সমস্যা।

তবুও আটকে আছ? আমাদের লেখো →

5
ধাপ 5 / 8

আপগ্রেডের প্যাড যোগ করো

  1. মেঝেতে আরেকটা Part যোগ করো। Size করো 8, 1, 8, Anchored চালু করো, সেটা নীল করো আর নাম দাও Upgrade।
  2. Upgrade এ একটা Script যোগ করো আর এই কোডটা পেস্ট করো।
  3. Play চাপো, 25 কয়েন জমাও আর প্যাডে পা রাখো। এখন প্রতি ক্লিকে 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 table একটানা অনেকক্ষণ প্যাডে দাঁড়িয়ে থাকলে একসঙ্গে অনেকগুলো আপগ্রেড কেনা আটকায়।
  • কেনার পর Multiplier 1 বেড়ে যায়।

আরও বিস্তারিত

  • pad-টা sell pad থেকে কয়েক পা দূরে রাখো, যাতে খেলোয়াড়রা ভুল করে কিনে না ফেলে।
  • প্রথম আপগ্রেডের দাম 25 কয়েন। এরপর Coins 25 কমে যায় আর একটা ক্লিকে 2 power পাওয়া যায়।
  • দামের চেয়ে কম কয়েন থাকলে pad কিছু করে না। সরে এসো, আরও আয় করো আর ফিরে যাও।
  • 1 সেকেন্ডের বিরতির কারণেই pad-এ স্থির দাঁড়িয়ে থাকলে একবারে মাত্র একটা আপগ্রেড কেনা হয়।
এই ধাপটা আমার জন্য কাজ করছে না

আগে এই তিনটা জিনিস দেখে নাও

  • প্রতিটা part আর স্ক্রিপ্টের নাম ঠিক গাইডের মতো, একই বড় হাতের আর ছোট হাতের অক্ষরসহ।
  • স্ক্রিপ্টটা ঠিক অবজেক্টের ভেতরে আছে। কোডের বাক্সের উপরের লেবেলটা দেখো।
  • Window মেনু থেকে Output উইন্ডো খোলো। লাল লেখা দেখায় কোন স্ক্রিপ্টে আর কোন লাইনে সমস্যা।

তবুও আটকে আছ? আমাদের লেখো →

6
ধাপ 6 / 8

প্যাডগুলোতে লেবেল দাও

  1. Sell এর উপর মাউস রাখো, + এ ক্লিক করে একটা BillboardGui যোগ করো। এর Size করো {0, 200}, {0, 50} আর StudsOffset করো 0, 4, 0।
  2. BillboardGui এর ভেতরে একটা TextLabel যোগ করো। এর Size করো {1, 0}, {1, 0}, TextScaled চালু করো আর এই লেখাটা টাইপ করো: SELL
  3. Upgrade এর জন্যও একই কাজ করো, লেখা হবে: UPGRADE
  4. Crystal এর জন্যও একই কাজ করো, লেখা হবে: CLICK ME। এখানে StudsOffset দাও 0, 7, 0, যাতে লেবেলটা ক্রিস্টালের উপরে ভাসে।

আরও বিস্তারিত

  • Size আর StudsOffset-এর জন্য Properties-এ ঘরটায় ক্লিক করো, সংখ্যাগুলো ঠিক যেমন দেখানো আছে তেমন লেখো, বন্ধনী আর কমাসহ, আর Enter চাপো।
  • Text হলো TextLabel-এর একটা property। Text ঘরে ক্লিক করো, কথাগুলো লেখো আর Enter চাপো।
  • তাড়াতাড়ি করার উপায়: Explorer-এ তৈরি BillboardGui-তে ক্লিক করো, Ctrl+C চাপো, পরের part-এ ক্লিক করো আর Ctrl+Shift+V চাপো। তারপর শুধু লেখাটা বদলাও।
  • লেবেলগুলো নতুন খেলোয়াড়দের কোনো ব্যাখ্যা ছাড়াই গেমটা বুঝতে সাহায্য করে।
টিপ. BillboardGui সবসময় ক্যামেরার দিকে ঘুরে থাকে, তাই প্লেয়াররা যেকোনো দিক থেকে পড়তে পারে।
এই ধাপটা আমার জন্য কাজ করছে না

আগে এই তিনটা জিনিস দেখে নাও

  • প্রতিটা part আর স্ক্রিপ্টের নাম ঠিক গাইডের মতো, একই বড় হাতের আর ছোট হাতের অক্ষরসহ।
  • স্ক্রিপ্টটা ঠিক অবজেক্টের ভেতরে আছে। কোডের বাক্সের উপরের লেবেলটা দেখো।
  • Window মেনু থেকে Output উইন্ডো খোলো। লাল লেখা দেখায় কোন স্ক্রিপ্টে আর কোন লাইনে সমস্যা।

তবুও আটকে আছ? আমাদের লেখো →

7
ধাপ 7 / 8

চক্রটা টেস্ট করো

  1. F5 চাপো। ক্লিক করো, বিক্রি করো, আপগ্রেড করো, আর আবার করো।
  2. দেখো আপগ্রেডের দাম বাড়ছে কি না: 25 কয়েন, তারপর 50, তারপর 75।
  3. থামাতে Shift+F5 চাপো। কিছু কাজ না করলে Window মেনু থেকে Output উইন্ডো খোলো আর লাল লেখাটা পড়ো।

আরও বিস্তারিত

  • তোমার ক্লিক গুনে দেখো। Multiplier 1 হলে দশটা ক্লিকে 10 power হয়।
  • প্রথম আপগ্রেডের পর দশটা ক্লিকে 20 power হয়, আর দ্বিতীয়টার পর 30।
  • গেম চলার সময় যে বদল করো, থামালে সেগুলো হারিয়ে যায়। সবসময় আগে Shift+F5 চাপো, তারপর এডিট করো।
  • Output উইন্ডোতে একটা লাল লাইনে ক্লিক করলে Studio স্ক্রিপ্টটা ঠিক সেই লাইনে খোলে যেখানে ভুল আছে।
সাধারণ ভুল. প্যাডটা কিছু কিনছে না: তোমার অন্তত 25 Coins লাগবে, 25 Power নয়। আগে বিক্রি করো।
এই ধাপটা আমার জন্য কাজ করছে না

আগে এই তিনটা জিনিস দেখে নাও

  • প্রতিটা part আর স্ক্রিপ্টের নাম ঠিক গাইডের মতো, একই বড় হাতের আর ছোট হাতের অক্ষরসহ।
  • স্ক্রিপ্টটা ঠিক অবজেক্টের ভেতরে আছে। কোডের বাক্সের উপরের লেবেলটা দেখো।
  • Window মেনু থেকে Output উইন্ডো খোলো। লাল লেখা দেখায় কোন স্ক্রিপ্টে আর কোন লাইনে সমস্যা।

তবুও আটকে আছ? আমাদের লেখো →

8
ধাপ 8 / 8

পাবলিশ করো

  1. File → Publish to Roblox বেছে নাও। গেমের একটা নাম আর ছোট বর্ণনা দাও।
  2. Creator Hub ওয়েবসাইটে তোমার গেমটা খোলো আর Maturity প্রশ্নমালা পূরণ করো।
  3. গেমটাকে Public করো আর লিংকটা একজন বন্ধুকে পাঠাও।

আরও বিস্তারিত

  • প্রথমবার পাবলিশ করার সময় Studio একটা নাম আর বর্ণনা চায়। Create-এ ক্লিক করো।
  • Creator Hub হলো create.roblox.com ওয়েবসাইট। একই অ্যাকাউন্ট দিয়ে সাইন ইন করো আর তালিকায় তোমার গেমে ক্লিক করো।
  • গেম সবার জন্য খোলার আগে Roblox আরও কিছু চাইতে পারে, যেমন অ্যাকাউন্টের বয়স যাচাই। পাতাটা বলে দেয় কী বাকি আছে।
  • তোমার বয়স 18-র কম হলে এই ধাপটা বাবা-মায়ের কারও সঙ্গে মিলে করো।
টিপ. অগ্রগতি এখনো সেভ হয় না। প্লেয়ার চলে গেলে কয়েন হারিয়ে যায়। ডেটা সেভ করা একটা অ্যাডভান্সড পাঠ।
এই ধাপটা আমার জন্য কাজ করছে না

আগে এই তিনটা জিনিস দেখে নাও

  • প্রতিটা part আর স্ক্রিপ্টের নাম ঠিক গাইডের মতো, একই বড় হাতের আর ছোট হাতের অক্ষরসহ।
  • স্ক্রিপ্টটা ঠিক অবজেক্টের ভেতরে আছে। কোডের বাক্সের উপরের লেবেলটা দেখো।
  • Window মেনু থেকে Output উইন্ডো খোলো। লাল লেখা দেখায় কোন স্ক্রিপ্টে আর কোন লাইনে সমস্যা।

তবুও আটকে আছ? আমাদের লেখো →

এবার নিজে বদলে দেখো

  • দ্বিতীয় একটা ক্রিস্টাল যোগ করো, যেটা প্রতি ক্লিকে 5 power দেয় কিন্তু অনেক দূরে থাকে।
  • আপগ্রেডের দাম প্রতিবার দ্বিগুণ করো। ইঙ্গিত: 25 * 2 ^ (player.Multiplier.Value - 1)
  • প্রতি ক্লিকে ক্রিস্টালটা একটু একটু বড় করো। ইঙ্গিত: crystal.Size বদলাও