อันดับใหม่ - ภายใน

เอกสารที่เกี่ยวข้อง

บทนำเกี่ยวกับโมดูลจัดเก็บข้อมูลทางประวัติศาสตร์

โมดูลจัดเก็บข้อมูล

แม้ว่าจะได้อธิบายไว้อย่างละเอียดในเอกสารข้างต้นแล้ว แต่ที่นี่เป็นภาพรวมโดยย่อของโมดูลจัดเก็บข้อมูลการเก็บข้อมูลเป็นโมดูลเสริม เมื่อเปิดใช้งานแล้ว จะอนุญาตให้นักพัฒนาแผนที่ใช้งานตารางข้อมูลบนเซิร์ฟเวอร์สำหรับการจัดเก็บข้อมูล โดยหลักแล้วจะใช้สำหรับการซิงโครไนซ์ข้อมูลข้ามแผนที่และข้ามการจับคู่, กระดานผู้นำ, และฟังก์ชันที่คล้ายกัน บทความนี้จะเน้นเฉพาะการใช้งานตารางเก็บข้อมูลใหม่สำหรับฟังก์ชันกระดานผู้นำ

จุดเข้าถึง

โหลดโมดูลการเก็บข้อมูลจากรายการโมดูลเพื่อเริ่มกำหนดค่าข้อมูลคอลัมน์สำหรับตารางข้อมูลทั้งสี่:

image-20250806162055343

บทนำสู่ตารางใหม่

เช่นเดียวกับตารางข้อมูลทุกตาราง คุณต้องระบุคอลัมน์ “คีย์” ในแต่ละตาราง คอลัมน์นี้ทำหน้าที่เป็นคีย์หลักของตาราง ข้อมูลในคอลัมน์คีย์ต้องไม่ซ้ำกันและทำหน้าที่เป็นดัชนีสำหรับทั้งตาราง โดยการค้นหาคีย์ คุณสามารถระบุแถวข้อมูลเฉพาะในตารางที่กำหนดได้ เมื่อคุณแก้ไขแถวที่มีคีย์เดียวกันหลายครั้งโดยใช้ส่วนประกอบกราฟิก การแก้ไขครั้งถัดไปจะเขียนทับข้อมูลก่อนหน้าเสมอ

แผงข้อมูลการจัดอันดับ

แผงข้อมูลการจัดอันดับเป็นตารางหลายรายการที่มีความเฉพาะเจาะจง คุณสามารถปรับแต่งหลายคอลัมน์เพื่อเก็บข้อมูลเพิ่มเติม เช่น คะแนน ระยะเวลาการอยู่รอด หรือเวลาการเล่นทั้งหมด อย่างไรก็ตาม แผงข้อมูลการจัดอันดับต้องมีคอลัมน์ข้อมูลหนึ่งคอลัมน์ (คอลัมน์ค่า) สำหรับการจัดเรียงตามลำดับขึ้นหรือลง

image-20250806170632723
การเลือก UID เป็นคีย์จะทำการแปลงคอลัมน์คีย์เป็นไพ่ผู้เล่นโดยอัตโนมัติ:

image-20250901154851187

ตัวอย่างแผ่นข้อมูล

เอกสารข้อมูลการจัดอันดับ1

ลำดับ กุญแจ ค่า คอลัมน์กำหนดเอง1 คอลัมน์กำหนดเอง2 คอลัมน์กำหนดเอง……
1 Player1 UUID 100 อะไรก็ตามที่คุณต้องการเก็บ
2 Player2 UUID 90

ตารางข้อมูลหลายคอลัมน์

ตารางหลายคอลัมน์รองรับหลายคอลัมน์ข้อมูล (แยกจากตารางมาตรฐานที่รองรับข้อมูลเพียงคอลัมน์เดียว) คุณสามารถจัดเก็บข้อมูลประเภทต่างๆ ภายใต้คีย์เดียวได้ ในสภาพแวดล้อมของ Genscript มี API ให้สำหรับแก้ไขทั้งตารางอันดับและตารางข้อมูลหลายคอลัมน์ที่เกี่ยวข้อง เมื่อคีย์เหมือนกัน (เช่น ทั้งคู่เป็น UUID ของผู้เล่น) Genscript เฉพาะสามารถแก้ไขทั้งตารางอันดับและตารางข้อมูลหลายคอลัมน์พร้อมกันได้

image-20250806170813281

ภาพประกอบตาราง

ตารางข้อมูลหลายคอลัมน์1

คีย์ ค่า คอลัมน์กำหนดเอง1 คอลัมน์กำหนดเอง2 คอลัมน์กำหนดเอง……
Player1 UUID 100 ข้อมูลที่คุณต้องการเก็บ
Player2 UUID 90

ฟังก์ชันกระดานผู้นำ

การเปิดใช้งานฟีเจอร์

เพื่อเปิดใช้งานฟังก์ชันกระดานผู้นำ คุณต้องเปิดใช้งานโมดูลการจัดเก็บข้อมูลภายในโปรเจกต์ของคุณและสร้างตารางข้อมูลกระดานผู้นำอย่างน้อยหนึ่งตาราง

เมื่อเตรียมเสร็จแล้ว ให้แก้ไขแผนที่ที่คุณต้องการเผยแพร่ภายในอินเทอร์เฟซการเผยแพร่แผนที่ของ ศูนย์ผู้สร้าง เพื่อเข้าถึงการตั้งค่าที่เกี่ยวข้องกับกระดานผู้นำ:

image-20250806164442617

การเปิดใช้งานคุณสมบัตินี้จะทำให้ปรากฏปุ่มลีดเดอร์บอร์ดบนหน้าข้อมูลของแผนที่ของคุณ ซึ่งจะทำให้ผู้เล่นสามารถดูข้อมูลลีดเดอร์บอร์ดที่คุณได้แก้ไขไว้ได้:

image-20250806171313422 image-20250806164728942

บรรณาธิการการจัดอันดับ

ภายในอินเทอร์เฟซบรรณาธิการการจัดอันดับสำหรับแผนที่ที่เผยแพร่แล้ว คุณสามารถเลือกแสดงข้อมูลการจัดอันดับได้จากตารางข้อมูลเพียงหนึ่งตารางเท่านั้น (แม้ว่าในโครงการอาจมีการใช้ตารางข้อมูลหลายตารางเพื่อเก็บข้อมูลก็ตาม)

image-20250806164912096

คุณสามารถแก้ไขแง่มุมอื่น ๆ ของกระดานผู้นำได้: รวมถึงการแสดงผลนอกเกม, คอลัมน์ที่จะใช้สำหรับรูปแบบของกระดานผู้นำ, และลำดับของคอลัมน์เหล่านั้น
การเลือกหลายภาษาจะช่วยให้คุณสามารถแก้ไขข้อมูลหลายภาษาของชื่อกระดานผู้นำได้ด้วยตนเอง:

image-20250806173701944

ภาษาที่ไม่ได้กรอกจะใช้ชื่อคอลัมน์ตารางเริ่มต้น
หลังจากแก้ไขแล้ว หน้าเว็บข้อมูลแผนที่จะแสดงตัวอย่างอันดับผู้นำปัจจุบันของคุณ ข้อความหลายภาษาจะไม่ปรากฏในตัวอย่างนี้:

image-20250806165547462

Metadata

ใช้กราฟิกองค์ประกอบในจุดที่เหมาะสม เช่น เมื่อผู้เล่นทำคะแนนได้หรือเมื่อสิ้นสุดการแข่งขันแต่ละครั้ง เพื่อจัดเก็บข้อมูลในฐานข้อมูลของกระดานผู้นำ

image-20250806165732042

โปรดทราบว่า ตารางข้อมูลกระดานผู้นำ ต้องเชื่อมโยงกับองค์ประกอบกราฟิกสำหรับพารามิเตอร์ SheetName เพื่อให้สามารถอ่าน ตารางข้อมูลกระดานผู้นำ ที่สร้างขึ้นได้
เพื่ออำนวยความสะดวกในการแก้ไขตารางหลายรายการสองตารางที่แนะนำในบทเรียนนี้ ได้มีการเพิ่มประเภทข้อมูล Tuple โดยเฉพาะ ซึ่งเป็นรูปแบบรายการเฉพาะทาง ประเภท Tuple รองรับการจดจำค่าโดยอัตโนมัติจากตารางข้อมูลที่กำหนดหรือตารางข้อมูลกระดานผู้นำ จึงสร้างรายการเฉพาะทางที่แต่ละองค์ประกอบเป็นไปตามประเภทข้อมูลที่ระบุ

image-20250806174722968

ตัวแปรพื้นฐานแบบเทพลูอ่านตารางทั้งหมดโดยอัตโนมัติและใช้ประเภทข้อมูลของคอลัมน์ในตารางเป็นประเภทข้อมูลสำหรับรายการในลิสต์:

image-20250806175459462

สำหรับตารางข้อมูลการจัดอันดับ เมื่อสร้างคอลัมน์ข้อมูลที่กำหนดเองแล้ว ค่าที่เก็บไว้จะมีคอลัมน์ข้อมูลจริง N คอลัมน์ ซึ่งจะทำให้เกิดเป็นทูเพิล:

image-20250806175601013
ดังนั้น ในการใช้งานจริง ทูเพิลอาจซ้อนกันเป็นลำดับได้:

image-20250806180055942

ตัวแปรพื้นฐานแบบเทปูลจะไม่ปรับปรุงชื่อคอลัมน์ของตารางหรือข้อมูลอื่น ๆ โดยอัตโนมัติ ดังนั้นการเปลี่ยนแปลงใด ๆ จะต้องทำการรีเฟรชตัวแปรพื้นฐานแบบเทปูลด้วยตนเอง

โค้ด

ตัวอย่างโค้ด:

  1. เขียน
WriteDBLeaderboardAssociationValue(``"rank"``, ``"test_uid_1"``, {``60``, ``"1:00"``}, ``""``, out var c, out var d)```
2. อ่าน
```go
ReadDBLeaderboardAssociationValue(``"rank"``, ``"test_uid_1"``, out var data, ``""``, out var a, out var b)``var data_normal List<object> = data[``2``] as List<object>``LogWarning(data_normal[``1``])
go

รายการ API ที่เกี่ยวข้อง

  1. SetTuple
  2. GetTuple
  3. WriteDBLeaderboardAssociationValue
  4. RemoveFromLeaderboardDataStoreByKey
  5. ReadDBLeaderboardAssociationValue
  6. WriteToLeaderboardDataStore
  7. RemoveFromLeaderboardDataStoreByKey
  8. ReadFromLeaderboardDataStore

โดยเฉพาะอย่างยิ่ง สำหรับฟังก์ชัน: ReadDBLeaderboardAssociationValue ค่าที่ส่งคืนคือเทปูล:
ผลลัพธ์: ประเภทคือ {rankname_value}Tuple

  • {rank, key, value}
  • rank: int
  • key: string
  • value: tuple
  • {value, GameCompletionTime}

สำหรับฟังก์ชัน: WriteDBLeaderboardAssociationValue, พารามิเตอร์ Key และ Value:

  • Key: แนะนำให้แปลง UID ของผู้เล่นเป็นสตริงเพื่อใช้เป็นคีย์ เพื่อให้สามารถแสดงชื่อเรียกของผู้เล่นใน Craftland ได้
  • Value: ประเภทคือ {rankname} Tuple หลังจากเลือก SheetName แล้ว ให้ดับเบิลคลิกที่ Value เพื่อเพิ่มบล็อกที่สอดคล้องกันอย่างรวดเร็ว

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ของ API และเอกสารประกอบ โปรดดูที่: เอกสารอย่างเป็นทางการ

การดีบักในเครื่อง

ระหว่างการแก้ไขแผนที่ ข้อมูลผู้เล่นแบบเรียลไทม์จะไม่สามารถใช้งานได้ อย่างไรก็ตาม Craftland Studio PC อนุญาตให้ดูข้อมูลดีบักที่จัดเก็บไว้ผ่านไฟล์ JSON ในเครื่องได้

image-20250806170248163

หลังจากข้อมูลถูกจัดเก็บระหว่างการดีบั๊ก การคลิกตัวเลือกที่แสดงในภาพจะนำทางไปยังโฟลเดอร์ JSON ในเครื่อง ข้อมูลตารางจะถูกจัดเก็บในรูปแบบ JSON ซึ่งช่วยให้ผู้พัฒนาสามารถตรวจสอบความถูกต้องของตรรกะได้

image-20250806170420358