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 มักใช้สำหรับแสดงปุ่มกดในเกม