Devil HunterDevil Docs
Payment In Game

ตั้งค่าหลักของร้านค้า

ตั้งค่าหลักของร้านค้า สินค้า และตำแหน่ง Zone (config_main.lua)

ไฟล์ config_main.lua เป็นไฟล์ตั้งค่าหลักที่กำหนดพฤติกรรมพื้นฐานของร้านค้า ตำแหน่งจุดเปิดร้าน และรายการสินค้าทั้งหมด

การตั้งค่าทั่วไป

ตั้งค่าหลัก (Settings)

config_main.lua
ImagePath = "nui://nc_inventory/html/img/items"
License = "your-secret-license-key" 
InventorySystem = "weight"          -- weight | limit
OpenUIKey = 57                      -- 57 = F10, 999 = ปิด hotkey
InteractionKey = 38                 -- 38 = E
ViewDistance = 15                   -- ระยะมองเห็น marker (เมตร)
InteractionText = "Press [E] Open Devil Market"
ค่าคำอธิบายค่าแนะนำ
ImagePathที่อยู่รูปภาพไอเทมnui://nc_inventory/html/img/items
Licenseรหัส License สำหรับเชื่อมต่อกับ addonตั้งเป็นค่า secret ยาว ๆ
InventorySystemระบบ inventory ที่ใช้weight หรือ limit
OpenUIKeyปุ่มเปิดร้านค้า57 (F10), 999 = ปิด hotkey
InteractionKeyปุ่มกดเปิดร้าน38 (E)
ViewDistanceระยะมองเห็น marker (เมตร)15
InteractionTextข้อความแจ้งเตือนตอนเดินเข้าใกล้Press [E] Open Devil Market

ตั้งค่า Zone เริ่มต้น (ZoneDefaults)

ค่าที่ใช้เมื่อ Zone ไม่ได้ระบุ override:

config_main.lua
ZoneDefaults = {
    interactionDistance = 2.0, -- ระยะที่ผู้เล่นต้องเข้าใกล้ (เมตร)
    marker = { ... },          -- รูปแบบ marker ที่แสดงบนแผนที่
    blip = { ... },            -- ไอคอนบนแผนที่
}
  • interactionDistance - ระยะที่ผู้เล่นต้องเข้าใกล้เพื่อกดปุ่ม (เมตร)
  • marker - รูปแบบ marker ที่แสดงบนแผนที่
  • blip - ไอคอนบนแผนที่

การตั้งค่าตำแหน่งร้านค้า (Zones)

คุณสามารถเพิ่มจุดเปิดร้านได้หลายจุด มี 2 รูปแบบ:

แบบ Object Form (ปรับแต่งได้)

config_main.lua
{
    coords = vector3(398.18, -822.82, 29.29),
    label = "Devil Market - Legion Square",
    marker = {
        size = vector3(1.4, 1.4, 0.6),
        color = { r = 217, g = 160, b = 76, a = 140 },
        rotate = true,
    },
}

แบบ Vector3 ตรง ๆ (ใช้ค่า default)

config_main.lua
vector3(-1192.0, -890.0, 13.0)

การตั้งค่าสินค้า (Products)

สินค้าแบ่งเป็นหมวดหมู่ แต่ละหมวดมีรายการสินค้าภายใน

โครงสร้างสินค้าพื้นฐาน

ค่าคำอธิบาย
categoryชื่อหมวดหมู่
labelชื่อสินค้าที่แสดง
priceราคาขาย (Point)
pointPriceราคาเมื่อใช้ Point (อาจต่างจาก price)
descriptionคำอธิบายสินค้า
earnPointsPoint ที่ได้รับเมื่อซื้อ (สำหรับระบบการันตี)
typeประเภทสินค้า: item, weapon, car
spawnNameชื่อไอเทม/อาวุธ/รถ ในเกม
limitIdผูกกับระบบจำกัดสต็อก

ประเภทสินค้า

ไอเทมทั่วไป (item)

config_main.lua
{
    label = "Bread",
    price = 15,
    pointPrice = 15,
    description = "ขนมปัง",
    earnPoints = 1,
    type = "item",
    spawnName = "bread",
    limitId = { enabled = false, id = "bread_basic" },
}

อาวุธ (weapon) - เพิ่ม ammo ได้

config_main.lua
{
    label = "Pistol Ammo Stock",
    price = 1500,
    pointPrice = 1000,
    description = "ปืนพก + 50 นัด",
    earnPoints = 10,
    type = "weapon",
    spawnName = "WEAPON_PISTOL",
    ammo = 50, 
    limitId = { enabled = true, id = "pistol_stock" },
}

ยานพาหนะ (car)

config_main.lua
{
    label = "Jester",
    price = 9500,
    pointPrice = 6500,
    description = "รถสปอร์ต",
    earnPoints = 100,
    type = "car",
    spawnName = "jester",
    limitId = { enabled = true, id = "jester_car" },
}

ระบบการันตี (Guarantee)

ระบบสะสมยอดซื้อเพื่อรับรางวัล กำหนดได้ในตัวสินค้า:

config_main.lua
guarantee = {
    enabled = true,
    resetOnClaim = false, -- false = สะสมต่อหลังรับครบ | true = รีเซ็ต
    tiers = {
        { amount = 100,  description = "ครบ 100 บาท",  reward = { name = "water", count = 1,  label = "Water x1"  } },
        { amount = 500,  description = "ครบ 500 บาท",  reward = { name = "water", count = 5,  label = "Water x5"  } },
        { amount = 2000, description = "ครบ 2,000 บาท", reward = { name = "water", count = 12, label = "Water x12" } },
    },
}

ค่าที่ปรับได้:

  • enabled - เปิด/ปิดระบบการันตี
  • resetOnClaim - รีเซ็ตยอดสะสมหลังรับรางวัลครบทุก tier หรือไม่
  • tiers - รายการขั้นบันได แต่ละ tier มี:
    • amount - ยอดสะสมที่ต้องถึง (บาท)
    • description - คำอธิบายขั้น
    • reward.name - ชื่อไอเทมที่ได้รับ
    • reward.count - จำนวน
    • reward.label - ป้ายกำกับ

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

คัดลอกบล็อกสินค้าเดิม แล้วแก้ค่าต่าง ๆ ตามต้องการ:

config_main.lua
{
    label = "ชื่อสินค้า",
    price = 100,
    pointPrice = 100,
    description = "คำอธิบาย",
    earnPoints = 5,
    type = "item",
    spawnName = "item_name",
    limitId = {
        enabled = true,
        id = "my_item_id", -- ต้องตรงกับ key ใน config_limit.lua
    },
}

ข้อควรระวัง

  • ถ้าเปิด limitId.enabled = true ต้องมี key เดียวกันใน config_limit.lua มิฉะนั้นระบบจะสร้างค่า default 100/100 ให้อัตโนมัติ
  • ชื่อ spawnName ต้องตรงกับชื่อในระบบ inventory/garage ของเซิร์ฟเวอร์
  • pointPrice คือราคาเมื่อจ่ายด้วย Point ส่วน price คือราคาเต็ม (กรณีจ่ายด้วยเงินสดในเกม)

On this page