วิธีค้นหาพิกัดของคุณใน Roblox
การรู้วิธีเข้าถึงพิกัดของผู้เล่นใน Roblox อาจเป็นกระบวนการที่ซับซ้อนและคลุมเครือ อย่างไรก็ตาม หากคุณพบวิธีที่จะเข้าถึงพิกัดและจัดการพวกมัน คุณจะมีพื้นฐานที่มั่นคงในการใช้ฟังก์ชันสร้างสรรค์อื่นๆ ของเกมและทดสอบทักษะการเขียนโปรแกรมของคุณ
ในบทความนี้เราจะแสดงวิธีค้นหาพิกัดผู้เล่นใน Roblox
คุณได้รับพิกัดใน Roblox ได้อย่างไร?
ในการค้นหาพิกัดของตัวละคร วัตถุ และสถานที่ คุณต้องเรียนรู้วิธีเขียนสคริปต์ใน Roblox Studio แพลตฟอร์มนี้ช่วยให้คุณสร้างโลกและพื้นที่ของคุณเองและปรับแต่งได้ตามที่คุณต้องการ
ในขณะที่คุณเขียนสคริปต์ คุณจะต้องใช้ข้อมูลพื้นฐานที่ช่วยให้คุณเพิ่มศักยภาพของการเขียนสคริปต์ในสตูดิโอได้อย่างเต็มที่ ตัวอย่างที่ดีของข้อมูลดังกล่าวคือพิกัด เช่น ตำแหน่งของผู้เล่น
การไปถึงตำแหน่งของผู้เล่น (ฝั่งเซิร์ฟเวอร์) คุณจะต้องไปที่คุณสมบัติตัวละครของผู้เล่น (ผู้เล่น.ตัวละคร). แต่ก่อนหน้านั้น คุณจะต้องค้นหาวัตถุของผู้เล่น คุณสามารถทำได้โดยรับวัตถุของผู้เล่นทันทีที่พวกเขาเข้าสู่เซิร์ฟเวอร์ด้วยสคริปต์ปกติที่ใดที่หนึ่งในเวิร์กสเปซของคุณ
หากเกมของคุณมีผู้เล่นเพียงคนเดียว คุณสามารถวางวัตถุของผู้เล่นในที่เก็บวัตถุของคุณได้ คอนเทนเนอร์นี้สามารถเข้าถึงได้ทุกเมื่อที่คุณต้องการหาค่าในสคริปต์ฝั่งเซิร์ฟเวอร์ของคุณ
เพื่อแสดงให้เห็น:
game.Players.PlayerAdded:Connect(function(player) workspace.Data.Player.Value = ผู้เล่นสิ้นสุด)
'ข้อมูล' หมายถึงโฟลเดอร์ที่วางอยู่ในเวิร์กสเปซของคุณ และ 'ผู้เล่น' แสดงถึงคอนเทนเนอร์ ObjectValue ที่ชื่อว่า 'ผู้เล่น' ซึ่งมีวัตถุประสงค์เพื่อบันทึกวัตถุของผู้เล่น
แต่รหัสนี้ไม่ใช่ตัวเลือกเดียวของคุณ อย่าลังเลที่จะตั้งชื่อหรือแก้ไขตามที่คุณต้องการ หรือวางวัตถุของเครื่องเล่นตามที่คุณต้องการ
สคริปต์นี้ทำงานเมื่อผู้เล่นเข้าสู่เกม ในกรณีของเกมเล่นคนเดียว เซิร์ฟเวอร์มีผู้เล่นเพียงคนเดียว อย่างไรก็ตาม คุณสามารถแก้ไขโค้ดเพื่อติดตามผู้เล่นคนอื่น ๆ ได้ตามต้องการ
ในการเข้าถึงคุณสมบัติของผู้เล่นพร้อมกับตำแหน่งของมัน นี่คือลักษณะสคริปต์ปกติของคุณ:
ผู้เล่นในพื้นที่ = Workspace.Data.Player.Value – รับวัตถุของผู้เล่นและเก็บไว้ในตัวแปร 'ผู้เล่น'
local var = player.Character.UpperTorso.Position — รับตำแหน่ง vector3
สิ่งที่เกี่ยวกับการเข้าถึงแต่ละพิกัด?
คุณสามารถเข้าถึงพิกัด X, Y, Z ด้วยวิธีนี้:
local varX = player.Character.UpperTorso.Position.X local varY = player.Character.UpperTorso.Position.Y ท้องถิ่น varZ = player.Character.UpperTorso.Position.Z
ที่นี่ คุณสามารถใช้ UpperTorso เพื่อเป็นตัวแทนของ R15 Humanoids ด้วยเหตุนี้ มันจึงอาจใช้กลอุบายสำหรับโมเดลฮิวแมนนอยด์อื่นที่ไม่ใช่ R15 ได้
ฉันสามารถเลือกส่วนอื่นๆ ของร่างกายที่จะติดตามได้ไหม
ส่วนของร่างกายที่คุณติดตามไม่ได้สงวนไว้สำหรับ UpperTorso เท่านั้น วิธีเข้าถึงรายการเพิ่มเติมมีดังนี้
- ใช้ Developer Studio เพื่อเปิดเกมของคุณ
- ขณะที่เกมเปิดอยู่ ให้เลือก StarterPlayer
- ไปที่ HumanoidDefaultBodyParts (ค้นหาโดยใช้ "มุมมอง Explorer")
- นี่จะแสดงรายการส่วนต่างๆ ของร่างกายที่สามารถติดตามได้
(เครดิต: Derrick Bouchard – //gamedev.stackexchange.com/users/138624/derrick-bouchard)
คุณสามารถใช้พิกัดเพื่อเทเลพอร์ตที่ไหนสักแห่งได้หรือไม่
เมื่อคุณได้ค้นพบวิธีเปิดเผยพิกัดใน Roblox แล้ว คุณจะต้องการทราบว่ามีกิจกรรมในจินตนาการใดบ้างที่คุณสามารถใช้ความรู้นั้นได้ ตัวอย่างเช่น คุณสามารถอำนวยความสะดวกในการเคลื่อนย้ายข้อมูลได้ หากคุณดึงข้อมูลตำแหน่งของเคอร์เซอร์ได้ นี่เป็นวิธีง่ายๆ ในการทำ:
เป้าหมาย = game.Players.LocalPlayer:GetMouse() .Hit x = target.X y = target.Y z = target.Z game.Players.LocalPlayer.Character:MoveTo(Vector3.new(x,y,z))
(เครดิต: มักซ์ - //www.roblox.com/users/234079075/profile)
โดยทั่วไปแล้วการเทเลพอร์ตใน Roblox เป็นอย่างไร?
Teleportation เป็นหนึ่งในคุณสมบัติที่มีประโยชน์ที่สุดใน Roblox ช่วยให้ผู้เล่นสามารถเคลื่อนที่ไปรอบๆ แผนที่ขนาดใหญ่ได้อย่างรวดเร็ว และทำให้มีปฏิสัมพันธ์มากขึ้น
อย่างไรก็ตาม การดำเนินการอย่างถูกต้องอาจเป็นเรื่องยาก โดยเฉพาะอย่างยิ่งหากคุณเพิ่งเริ่มใช้สคริปต์ ปัญหาที่พบบ่อยที่สุดปัญหาหนึ่งที่อาจเกิดขึ้นขณะเทเลพอร์ตคือการแตกของโมเดล ตัวอย่างเช่น หากคุณใช้สคริปต์ต่อไปนี้ คุณจะต้องแยกส่วนหัวออกจากลำตัว:
game.Workspace.Player.Torso.Position = Vector3.new(0, 50, 0)
คุณต้องใช้คุณสมบัติ CFframe และประเภทข้อมูล CFframe แทน นี่คือวิธีการทำและเคลื่อนย้ายผู้เล่นอย่างถูกต้อง:
game.Workspace.Player.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0, 50, 0))
เป็นไปได้ไหมที่จะเทเลพอร์ตผู้เล่นทุกคน?
คุณสามารถเคลื่อนย้ายผู้เล่นทั้งหมดบนแผนที่ อย่างไรก็ตาม คุณต้องระวังตำแหน่งเป้าหมายเพื่อให้ลำตัวของผู้เล่นไม่เสียหาย นี่คือลักษณะของรหัส:
1. เป้าหมาย = CFrame.new(0, 50, 0) --อาจจะอยู่ใกล้อิฐหรือในพื้นที่ใหม่ 2. สำหรับผม ผู้เล่นใน ipairs(game.Players:GetChildren()) ทำ 3. --ตรวจสอบให้แน่ใจ มีตัวละครอยู่และ HumanoidRootPart มีอยู่ 4. ถ้า player.Character และ player.Character:FindFirstChild("HumanoidRootPart") แล้ว 5. --เพิ่มออฟเซ็ตของ 5 สำหรับอักขระแต่ละตัว 6. player.Character.HumanoidRootPart.CFrame = target + Vector3 .new(0, i * 5, 0) 7. end 8. end
งานจำนวนมากนำไปสู่ความสนุกสนานมากมาย
การเข้ารหัสทั้งหมดที่นำไปใช้ในการดำเนินการต่างๆ เช่น การรับพิกัดและการเคลื่อนย้ายข้อมูล อาจทำให้คุณคิดว่า Roblox ไม่คุ้มกับปัญหา อย่างไรก็ตาม การเขียนโค้ดทำให้คุณสามารถจัดเตรียมเกมและความเป็นจริงที่โดดเด่นของคุณได้ ไม่เพียงแต่จะให้ผลตอบแทนคุ้มค่าในระยะยาวเท่านั้น แต่ยังเปลี่ยนเป็นกิจกรรมยามว่างได้อีกด้วย
คุณได้ลองเขียนโค้ดใน Roblox แล้วหรือยัง? มันไปได้อย่างไร? แจ้งให้เราทราบในส่วนความคิดเห็นด้านล่าง?