คู่มือการตั้งค่า

คู่มือนี้จะอธิบายการตั้งค่าต่างๆ ของระบบ AFU Enhanced Shop พร้อมตัวอย่างและคำอธิบาย

สารบัญ

  • การตั้งค่าพื้นฐาน (settings.lua)

  • การตั้งค่าร้านค้า (shops/*.lua)

  • การตั้งค่าฮุค (hooks/)

  • การตั้งค่าฐานข้อมูล (queries.lua)

การตั้งค่าพื้นฐาน (settings.lua)

-- เส้นทางไปยังไฟล์รูปภาพสินค้า ใช้สำหรับแสดงภาพสินค้าในหน้าร้านค้า
Config.ItemsImagePath = "nui://inventory/web/assets/icons/"

-- จำนวนรายการสั่งซื้อ (Preset) สูงสุดที่ผู้เล่นสามารถบันทึกได้
Config.MaxPresetPerPlayer = 10

-- เปิดใช้งานระบบน้ำหนัก (true) หรือระบบจำกัดจำนวน (false)
Config.WeightSystem = true

-- อัตราภาษีสำหรับการชำระเงินแต่ละประเภท (หน่วย: เปอร์เซ็นต์)
Config.TaxPercent = {
    money = 0,    -- ภาษีสำหรับการชำระด้วยเงินสด (ไม่มีภาษี)
    bank = 5,     -- ภาษีสำหรับการชำระด้วยเงินในธนาคาร (5%)
}

-- นิยามชื่อส่วนลดที่มีในระบบ
ENUMDiscountPreset = {
    PRESET_1 = "PRESET_1",    -- ส่วนลดประเภทที่ 1
    -- เพิ่มส่วนลดประเภทอื่นๆ ได้ตามต้องการ
    -- PRESET_2 = "PRESET_2",
    -- GOLD_MEMBER = "GOLD_MEMBER",
}

-- รายละเอียดของส่วนลดแต่ละประเภท
Config.DiscountPresets = {
    [ENUMDiscountPreset.PRESET_1] = {
        label = "ส่วนลด VIP Card Lv.1",       -- ชื่อที่แสดงของส่วนลด
        percentDiscount = 10,                  -- เปอร์เซ็นต์ส่วนลด (10%)
        maxDiscountPrice = 1000,               -- จำนวนเงินส่วนลดสูงสุด (1,000)
        Remove = true,                         -- ลบไอเทมที่ใช้เป็นส่วนลดหลังใช้งาน (true = ลบ)
        itemsDiscount = {                      -- รายการไอเทมที่ใช้เป็นส่วนลด
           "vip_card_lv_1",                    -- ชื่อไอเทมในระบบ
        },
        -- ฟังก์ชันตรวจสอบเงื่อนไขเพิ่มเติม (เช่น เช็คสถานะ VIP)
        AlwaysHas = function(source)
            local xPlayer = ESX.GetPlayerFromId(source)
            if not xPlayer then return false end
            return true  -- ส่งคืนค่า true หากผู้เล่นมีสิทธิ์ใช้ส่วนลดนี้
        end,
    },
    
    -- ตัวอย่างส่วนลดเพิ่มเติม
    --[[
    [ENUMDiscountPreset.GOLD_MEMBER] = {
        label = "ส่วนลดสมาชิกระดับทอง",
        percentDiscount = 20,                 -- ลด 20%
        maxDiscountPrice = 2000,              -- ส่วนลดสูงสุด 2,000
        Remove = false,                       -- ไม่ลบไอเทมหลังใช้งาน
        itemsDiscount = {
           "gold_member_card",
        },
        AlwaysHas = function(source)
            local xPlayer = ESX.GetPlayerFromId(source)
            if not xPlayer then return false end
            -- ตรวจสอบเงื่อนไขเพิ่มเติม
            return xPlayer.job.grade >= 3     -- ตัวอย่าง: ตรวจสอบระดับอาชีพ
        end,
    }
    --]]
}

การตั้งค่าร้านค้า (shops/*.lua)

ตัวอย่างร้านค้าทั่วไป (general.lua)

ตัวอย่างร้านค้าเฉพาะอาชีพ (police.lua)

การตั้งค่าฮุค (hooks)

ฮุคเป็นฟังก์ชันที่ใช้เชื่อมต่อกับระบบอื่นๆ ของเซิร์ฟเวอร์ คุณสามารถปรับแต่งได้ตามการทำงานของเซิร์ฟเวอร์ของคุณ

ฮุคฝั่งไคลเอนต์ (client.lua)

ฮุคฝั่งเซิร์ฟเวอร์ (server.lua)

การตั้งค่าฐานข้อมูล (queries.lua)

ตัวอย่างการสร้างร้านค้าใหม่

หากคุณต้องการสร้างร้านค้าใหม่ คุณสามารถสร้างไฟล์ใหม่ใน config/shops/ ตามตัวอย่างด้านล่าง:

ตัวอย่างร้านค้าอาหาร (food_shop.lua)

ตัวอย่างการเพิ่มส่วนลดใหม่

หากคุณต้องการเพิ่มส่วนลดใหม่ คุณสามารถเพิ่มใน config/settings.lua ตามตัวอย่างด้านล่าง:


💬 พัฒนาโดย AFU Squad 🐌 @Copyright Danyouknowme x Txrxx x Hex ☕ ขอบคุณสำหรับการสนับสนุน 💳 ซื้อโทเคนได้ที่ awayfromus.dev