Command
ภาพรวม
ฟังก์ชันสำหรับลงทะเบียนคำสั่งใหม่ในระบบ
ที่อยู่ไฟล์
source/modules/core/commands.lua
ฟังก์ชัน
RegisterCommand
ลงทะเบียนคำสั่งใหม่เข้าสู่ระบบ
พารามิเตอร์
ประเภท
คำอธิบาย
name
string|string[]
ชื่อคำสั่งเดี่ยว หรือ array ของชื่อคำสั่ง
group
string|string[]
กลุ่มผู้ใช้ที่สามารถใช้คำสั่งได้
cb
function
ฟังก์ชันที่จะทำงานเมื่อมีการเรียกใช้คำสั่ง
allowConsole
boolean
อนุญาตให้ใช้คำสั่งผ่าน Server Console หรือไม่
suggestion
table|nil
ข้อมูลคำแนะนำการใช้คำสั่ง (optional)
โครงสร้าง suggestion
{
help = string, -- คำอธิบายคำสั่ง
arguments = { -- พารามิเตอร์ของคำสั่ง
{
name = string, -- ชื่อพารามิเตอร์
help = string, -- คำอธิบายพารามิเตอร์
type = string, -- ประเภทข้อมูล (number, string, player, playerId, item, weapon, any, merge, coordinate)
validate = boolean -- ตรวจสอบความถูกต้องหรือไม่
}
},
validate = boolean -- ตรวจสอบจำนวนพารามิเตอร์หรือไม่
}
ตัวอย่างการใช้งาน
-- ลงทะเบียนคำสั่งพื้นฐาน
AFUCore.RegisterCommand('heal', 'admin', function(xPlayer, args, showNotification)
if xPlayer then
-- รักษา HP ผู้เล่น
xPlayer.heal()
showNotification('คุณได้รับการรักษาแล้ว')
end
end, false)
-- ลงทะเบียนคำสั่งพร้อม suggestion
AFUCore.RegisterCommand('give', 'admin', function(xPlayer, args, showNotification)
if xPlayer then
local targetPlayer = args.playerId
local itemName = args.item
local amount = args.amount
-- ให้ไอเทมกับผู้เล่น
targetPlayer.addInventoryItem(itemName, amount)
showNotification(('ให้ %s จำนวน %d ชิ้นกับ %s'):format(itemName, amount, targetPlayer.getName()))
end
end, false, {
help = 'ให้ไอเทมกับผู้เล่น',
arguments = {
{name = 'playerId', help = 'ID ผู้เล่น', type = 'playerId'},
{name = 'item', help = 'ชื่อไอเทม', type = 'item'},
{name = 'amount', help = 'จำนวน', type = 'number'}
},
validate = true
})
-- ลงทะเบียนหลายคำสั่งพร้อมกัน
AFUCore.RegisterCommand({'car', 'vehicle'}, {'admin', 'mod'}, function(xPlayer, args, showNotification)
if xPlayer then
-- สร้างรถ
local vehicleName = args[1] or 'adder'
-- ... โค้ดสร้างรถ ...
showNotification(('สร้างรถ %s แล้ว'):format(vehicleName))
end
end, false)
หมายเหตุ
คำสั่งสามารถใช้ได้ทั้งใน chat (/) และ console (ถ้า allowConsole = true)
สามารถกำหนดสิทธิ์การใช้งานผ่าน group ได้
suggestion ช่วยในการแนะนำวิธีใช้คำสั่งและตรวจสอบความถูกต้องของพารามิเตอร์