ระบบไอเทม (Item System)
ภาพรวม
ฟังก์ชันสำหรับจัดการไอเทมในกระเป๋าผู้เล่น
ที่อยู่ไฟล์
source/client/services/item.lua
ฟังก์ชัน
HasItem
ตรวจสอบว่าไอเทมมีอยู่ในกระเป๋าหรือไม่
พารามิเตอร์
ประเภท
คำอธิบาย
name
string
ชื่อไอเทมที่ต้องการตรวจสอบ
ค่าที่ส่งกลับ: boolean
- true
ถ้ามีไอเทม, false
ถ้าไม่มี
-- ตัวอย่างการใช้งาน
if AFUCore.HasItem('bread') then
print('มีขนมปังในกระเป๋า')
end
GetPlayerItem
ดึงข้อมูลไอเทมจากชื่อไอเทม
พารามิเตอร์
ประเภท
คำอธิบาย
name
string
ชื่อไอเทมที่ต้องการดึงข้อมูล
ค่าที่ส่งกลับ: Item
- ข้อมูลไอเทม (ดูโครงสร้าง Item ในส่วน Type Definitions)
-- ตัวอย่างการใช้งาน
local bread = AFUCore.GetPlayerItem('bread')
if bread then
print(string.format('%s: จำนวน %d ชิ้น (น้ำหนัก: %.1f)',
bread.label, bread.count, bread.weight))
end
SearchInventory
ค้นหาไอเทมในกระเป๋าของผู้เล่น
พารามิเตอร์
ประเภท
คำอธิบาย
items
string|string[]
ชื่อไอเทมเดี่ยว หรือ array ของชื่อไอเทม
count
boolean
true
เพื่อดึงเฉพาะจำนวน, false
เพื่อดึงข้อมูลไอเทมทั้งหมด
ค่าที่ส่งกลับ:
table<string, count>
- ตารางของจำนวนไอเทม (ถ้า count = true)table<string, Item>
- ตารางของข้อมูลไอเทม (ถ้า count = false)count
- จำนวนไอเทม (ถ้าค้นหาไอเทมเดียวและ count = true)nil
- ถ้าไม่พบไอเทม
-- ตัวอย่างการค้นหาจำนวนไอเทมเดียว
local breadCount = AFUCore.SearchInventory('bread', true)
print('มีขนมปัง: ' .. (breadCount or 0) .. ' ชิ้น')
-- ตัวอย่างการค้นหาจำนวนหลายไอเทม
local itemCounts = AFUCore.SearchInventory({'bread', 'water'}, true)
for item, count in pairs(itemCounts) do
print(string.format('%s: %d ชิ้น', item, count))
end
-- ตัวอย่างการค้นหาข้อมูลไอเทมทั้งหมด
local items = AFUCore.SearchInventory({'bread', 'water'}, false)
for name, item in pairs(items) do
print(string.format('%s: %d ชิ้น (น้ำหนัก: %.1f)',
item.label, item.count, item.weight))
end