🛍️AFU Enhanced Shop
รายละเอียด
AFU Enhanced Shop เป็นระบบร้านค้าขั้นสูงสำหรับเซิร์ฟเวอร์ FiveM ที่พัฒนาโดย AFU Squad (Danyouknowme x Txrxx x Hex) ระบบนี้รองรับการสร้างร้านค้าหลากหลายประเภท พร้อมฟีเจอร์ส่วนลด การซื้อสินค้าด้วยเงินสดหรือธนาคาร และการบันทึกรายการสินค้าที่ต้องการซื้อบ่อยๆ
ฟีเจอร์หลัก
🏪 ร้านค้าหลากหลายประเภท: สร้างร้านค้าได้ไม่จำกัดพร้อมหมวดหมู่สินค้าต่างๆ
💰 ระบบชำระเงินหลายช่องทาง: รองรับการชำระด้วยเงินสดหรือเงินในธนาคาร พร้อมกำหนดภาษีแยกตามช่องทางการชำระเงิน
🎯 ระบบส่วนลด: รองรับการกำหนดส่วนลดตามไอเทมที่ผู้เล่นมี เช่น บัตร VIP
🛒 บันทึกรายการสั่งซื้อ: ผู้เล่นสามารถบันทึกรายการสินค้าที่ต้องการซื้อบ่อยๆ เพื่อความสะดวกในการซื้อครั้งต่อไป
👮 ระบบจำกัดอาชีพ: สามารถกำหนดให้ร้านค้าเฉพาะอาชีพเข้าถึงได้ เช่น ร้านอาวุธตำรวจ
📦 ตรวจสอบน้ำหนักสิ่งของ: รองรับทั้งระบบน้ำหนัก (Weight System) และระบบจำกัดจำนวน (Limit System)
🖼️ ภาพสินค้า: รองรับการแสดงภาพสินค้าจากไอเทมในระบบ Inventory
การตั้งค่า
ไฟล์การตั้งค่า
config/settings.lua: ตั้งค่าพื้นฐานของระบบร้านค้า เช่น เส้นทางรูปภาพ, ภาษี, และส่วนลด
config/shops/: โฟลเดอร์สำหรับกำหนดร้านค้าประเภทต่างๆ
general.lua: ตัวอย่างร้านค้าทั่วไป
police.lua: ตัวอย่างร้านค้าสำหรับตำรวจ
การกำหนดร้านค้า
local shop = {
name = "ชื่อร้านค้า",
categories = {
{
name = "หมวดหมู่",
items = {
{
name = "ชื่อไอเทม",
type = EItemType.ITEM, -- หรือ EItemType.WEAPON สำหรับอาวุธ
price = 100, -- ราคา
},
-- เพิ่มสินค้าอื่นๆ
}
},
-- เพิ่มหมวดหมู่อื่นๆ
},
allowJobs = ESystem.ALLOW_ALL_JOBS, -- หรือระบุอาชีพเฉพาะ เช่น {"police"}
allowDiscountPresets = {
ENUMDiscountPreset.PRESET_1, -- ส่วนลดที่อนุญาตให้ใช้ในร้านนี้
},
locations = {
vector4(x, y, z, heading), -- พิกัดร้านค้า
},
}
การกำหนดส่วนลด
Config.DiscountPresets = {
[ENUMDiscountPreset.PRESET_1] = {
label = "ส่วนลด VIP Card Lv.1",
percentDiscount = 10, -- เปอร์เซ็นต์ส่วนลด
maxDiscountPrice = 1000, -- จำนวนเงินส่วนลดสูงสุด
Remove = true, -- ลบไอเทมที่ใช้เป็นส่วนลดหรือไม่
itemsDiscount = {
"vip_card_lv_1", -- ไอเทมที่ใช้เป็นส่วนลด
},
AlwaysHas = function(source)
-- ฟังก์ชันตรวจสอบเงื่อนไขอื่นๆ
return true
end,
},
}
การใช้งานระบบ
เมื่อผู้เล่นเข้าใกล้จุดร้านค้า ระบบจะแสดงหน้าต่างร้านค้า
ผู้เล่นสามารถเลือกสินค้าที่ต้องการซื้อได้
ระบบจะตรวจสอบว่าผู้เล่นมีเงินเพียงพอและสามารถพกพาสินค้าได้หรือไม่
ผู้เล่นสามารถเลือกชำระเงินด้วยเงินสดหรือเงินในธนาคาร
หากมีไอเทมส่วนลด ระบบจะนำมาคำนวณส่วนลดโดยอัตโนมัติ
ผู้เล่นสามารถบันทึกรายการสั่งซื้อสำหรับการซื้อครั้งต่อไปได้
การรองรับระบบอินเวนทอรี่
รองรับทั้งระบบน้ำหนัก (Weight System) และระบบจำกัดจำนวน (Limit System)
ตรวจสอบว่าผู้เล่นสามารถพกพาสินค้าได้หรือไม่ก่อนทำการซื้อ
ระบบฐานข้อมูล
ระบบใช้ฐานข้อมูล MySQL สำหรับเก็บข้อมูลรายการสั่งซื้อที่บันทึกไว้ (Presets) โดยจะสร้างตาราง afu_shop_preset
เมื่อเริ่มต้นใช้งาน
การแก้ไขฮุค (Hooks)
ระบบมีฮุคสำหรับปรับแต่งการทำงาน:
config/hooks/client.lua: ฮุคฝั่งไคลเอนต์สำหรับตรวจสอบไอเทม เงิน และการแสดงผล
config/hooks/server.lua: ฮุคฝั่งเซิร์ฟเวอร์สำหรับการตรวจสอบสิทธิ์ การเพิ่มลบไอเทม และการจัดการเงิน
ข้อกำหนดระบบ
ESX Framework
MySQL Async Library
คำแนะนำเพิ่มเติม
ตรวจสอบให้แน่ใจว่าไอเทมที่กำหนดในร้านค้ามีอยู่ในระบบ Inventory ของเซิร์ฟเวอร์
สามารถเพิ่มร้านค้าใหม่ได้โดยสร้างไฟล์ใหม่ในโฟลเดอร์ config/shops/
หากต้องการเพิ่มส่วนลดประเภทใหม่ ให้เพิ่มใน ENUMDiscountPreset และกำหนดค่าใน Config.DiscountPresets
💬 พัฒนาโดย AFU Squad 🐌 @Copyright Danyouknowme x Txrxx x Hex ☕ ขอบคุณสำหรับการสนับสนุน 💳 ซื้อโทเคนได้ที่ awayfromus.dev