กลับหน้าแรก
Showcase

Barter Shop — ร้านแลกเปลี่ยน/คราฟต์

ฐานข้อมูล YAML สำหรับร้านแลกไอเทมและคราฟต์ — กำหนดใน npc/barters.yml และเรียกจากสคริปต์ NPC ด้วย bartershop

อัปเดต: พ.ค. 2026 อ่าน ~10 นาที

Barter YML คืออะไร

ฐานข้อมูลที่กำหนด ร้านแลกเปลี่ยน/คราฟต์ ให้ผู้เล่นแลกไอเทมกับไอเทม หรือคราฟต์โดยใช้ของหลายชิ้นร่วมกัน แทนการขายด้วย Zeny อย่างเดียว

ตำแหน่งไฟล์

ไฟล์หน้าที่
npc/barters.ymlไฟล์หลักที่โหลด Barter ทั้งหมด
npc/barters-npc/*.ymlไฟล์ร้านแต่ละประเภท (refine, craft ฯลฯ)

โครงสร้างพื้นฐาน (YAML)

Header:
  Type: BARTER_DB
  Version: 2

Body:
  - Name: ชื่อ NPC           # ชื่อร้าน (ใช้เรียกจากสคริปต์)
    Map: morocc
    X: 133
    Y: 68
    Direction: south
    Sprite: 1_m_01
    WaitingRoom: Craft Charm
    CraftBarter: true        # true = คราฟต์, false = ซื้อ Zeny
    Items:
      - Index: 1
        Item: Charm_All_Status   # ไอเทมที่ได้
        Zeny: 1000000            # ราคา Zeny
        Rate: 3000               # โอกาสสำเร็จ (%)
        RequiredItems:
          - Index: 0
            Item: Cash_Coin
            Amount: 10
          - Index: 1
            Item: Oridecon
            Amount: 50

ฟิลด์สำคัญ

ฟิลด์คำอธิบาย
Nameชื่อ NPC (เรียกจากสคริปต์ด้วย bartershop)
Map, X, Yตำแหน่งบนแผนที่
Spriteรูปร่าง NPC
Itemไอเทมที่ได้รับ
Zenyราคา Zeny (ถ้าไม่ใช้ RequiredItems)
RequiredItemsไอเทมที่ต้องใช้แลก (สูงสุด 5 ชิ้น: Index 0–4)
Stockจำนวนสต็อก (0 = ไม่จำกัด)
Rateโอกาสสำเร็จสำหรับคราฟต์ (เช่น 3000 = 30%)
CraftBartertrue = คราฟต์ไอเทม, false = ร้านขายธรรมดา

วิธีเพิ่มไฟล์ Barter ใหม่

  1. สร้างไฟล์ใน npc/barters-npc/ เช่น my_shop.yml
  2. เขียนโครงสร้างตามตัวอย่างด้านบน
  3. เพิ่ม path ใน npc/barters.yml ส่วน Footer Imports
Footer:
  Imports:
    - Path: npc/barters-npc/refine.yml
    - Path: npc/barters-npc/craft_charm.yml
    - Path: npc/barters-npc/my_shop.yml   # เพิ่มบรรทัดนี้

การเรียกใช้จากสคริปต์ NPC

ใช้คำสั่ง bartershop "ชื่อร้าน"; เช่น:

prontera,150,150,4    script    NPC_Test    123,{
    bartershop "Craft Item";
    end;
}

รีโหลดหลังแก้ไข

ใช้คำสั่ง GM: @reloadbarterdb

ไฟล์ Barter ที่มีในโปรเจกต์

  • refine.yml — แลกแร่
  • craft_charm.yml — คราฟต์ Charm
  • craft_mineral.yml — คราฟต์แร่
  • craft_headgears.yml — คราฟต์หมวก
  • craft_dye_making.yml — ทำสีย้อม
  • craft_juice_making.yml — ทำน้ำผลไม้
  • และอื่นๆ ในโฟลเดอร์ barters-npc