String

Server & Client Supported

ภาพรวม

ฟังก์ชันสำหรับจัดการและแปลงข้อความในรูปแบบต่างๆ

ที่อยู่ไฟล์

source/modules/common/string.lua

ฟังก์ชัน

RenderTemplate

แทนที่ตัวแปรในข้อความด้วยค่าที่กำหนด (Template Engine)

พารามิเตอร์
ประเภท
คำอธิบาย

msg

string

ข้อความต้นแบบที่มีตัวแปรในรูปแบบ {{variable}}

data

table

ตารางที่เก็บค่าตัวแปรที่จะนำไปแทนที่

ค่าที่ส่งกลับ: string - ข้อความที่ถูกแทนที่ตัวแปรแล้ว

-- ตัวอย่างการใช้งาน
local template = "สวัสดี {{name}}! คุณมีเงิน ${{money}}"
local data = {
    name = "John",
    money = "1,000"
}
local result = AFUCore.String.RenderTemplate(template, data)
print(result) -- "สวัสดี John! คุณมีเงิน $1,000"

-- ถ้าไม่พบตัวแปรในตาราง data จะคงค่าเดิมไว้
local result2 = AFUCore.String.RenderTemplate("{{unknown}}", {})
print(result2) -- "{{unknown}}"

Hash

แปลงข้อความเป็นค่า hash ด้วยฟังก์ชัน joaat

พารามิเตอร์
ประเภท
คำอธิบาย

str

string

ข้อความที่ต้องการแปลง

ค่าที่ส่งกลับ: number - ค่า hash ของข้อความ

-- ตัวอย่างการใช้งาน
local hash = AFUCore.String.Hash("test")
print(hash) -- จะได้ค่า hash เป็นตัวเลข

HashString

แปลงข้อความเป็นค่า hash และจัดรูปแบบเป็น input map

พารามิเตอร์
ประเภท
คำอธิบาย

str

string

ข้อความที่ต้องการแปลง

ค่าที่ส่งกลับ: string - ค่า hash ในรูปแบบ INPUT_HASH

-- ตัวอย่างการใช้งาน
local inputMap = AFUCore.String.HashString("E")
print(inputMap) -- "~INPUT_ABCD~" (ตัวอย่าง)

-- ใช้สำหรับแสดงปุ่มกดในเกม
local text = string.format("กด %s เพื่อเปิดเมนู", AFUCore.String.HashString("E"))
-- "กด ~INPUT_ABCD~ เพื่อเปิดเมนู"

หมายเหตุ

  • RenderTemplate ใช้สำหรับสร้างข้อความที่มีตัวแปรแทรก

  • Hash และ HashString ใช้สำหรับแปลงข้อความเป็นค่า hash

  • HashString มักใช้สำหรับแสดงปุ่มกดในเกม