เอกสาร

X3D Map Events (อีเวนต์บนแผนที่)

แผงอีเวนต์บนหน้าแผนที่ pause menu ฟรี: ชื่อ + เวลานับถอยหลัง คลิกเพื่อตั้งจุดนำทาง สคริปต์อื่นส่งอีเวนต์เข้ามาได้เหมือนส่งแจ้งเตือน แอดมินสร้างอีเวนต์เองได้

ซื้อ / รับฟรีตั้งค่า config

การติดตั้ง

  1. วางโฟลเดอร์ x3d_mapevents ใน resources/
  2. เพิ่มใน server.cfg ก่อน สคริปต์ที่ส่งอีเวนต์เข้ามา:
ensure x3d_mapevents

ไม่มีฐานข้อมูล ไม่ต้องลงอะไรเพิ่ม เปิด pause menu ตอนมีอีเวนต์ แผงจะโผล่มุมล่างซ้าย

ตั้งค่า (config.lua)

ค่า ค่าเริ่มต้น ทำอะไร
Config.Locale 'th' ภาษา 'th' / 'en'
Config.MaxRows 5 แถวสูงสุด เรียงตามเวลาที่จะหมดก่อน
Config.HotSeconds 300 เหลือน้อยกว่านี้ (วินาที) ตัวเลขเป็นสีแดง
Config.Position { left = 28, bottom = 175 } ระยะจากมุมซ้ายล่าง (พิกเซลบนจอสูง 1080) ค่าเริ่มต้นอยู่เหนือแถบสเกลของแผนที่
Config.Scale 0.75 ขนาดแผง
Config.Clickable true คลิกแถวเพื่อตั้ง/ยกเลิกจุดนำทาง (แผนที่ยังลาก/ซูมได้) false = แผงอ่านอย่างเดียว นำทางผ่านรายการ blip ของเกม
Config.Blip { sprite = 38, colour = 5, scale = 0.9, shortRange = false, flash = false } blip ค่าเริ่มต้นของอีเวนต์ที่มีพิกัด
Config.WaypointRadius 75.0 จุดนำทางห่างจากอีเวนต์ไม่เกินนี้ (เมตร) = แถวนั้นขึ้น "ตั้งจุดนำทางแล้ว"
Config.AdminSave true อีเวนต์ที่แอดมินสร้างอยู่ต่อหลังรีสตาร์ท
Config.MaxDuration 7 วัน อีเวนต์ยาวสุด กันพิมพ์ผิด
Config.Debug false true = คำสั่ง /mapevents_test เพิ่มอีเวนต์ตัวอย่าง (เห็นคนเดียว)

ส่งอีเวนต์จากสคริปต์อื่น

-- server: ทุกคนเห็น (คนที่เข้าเซิร์ฟทีหลังก็เห็น)
exports.x3d_mapevents:Add({
    id = 'my_event',                                -- id เดิม = แทนที่ของเดิม
    title = { th = 'ผู้รับซื้อรายใหญ่', en = 'Big Buyer' }, -- หรือข้อความเดียว
    sub = { th = 'ปิดใน', en = 'Closes in' },         -- บรรทัดรอง (ไม่ใส่ก็ได้)
    icon = 'drug',          -- star flag crown fire money market car drug alert clock หรือ URL รูป
    color = 'amber',        -- amber red violet green blue
    duration = 15 * 60,     -- วินาที หรือใส่ endsAt = unix time แทน
    coords = vector3(x, y, z), -- ไม่ใส่ = แสดงแค่ชื่อกับเวลา
    blip = false,           -- false = ไม่สร้าง blip (สคริปต์ต้นทางมีอยู่แล้ว) หรือ { sprite, colour, scale, flash }
})
exports.x3d_mapevents:Remove('my_event')
exports.x3d_mapevents:Has('my_event')

-- client: เห็นคนเดียว (เช่น คูลดาวน์ของงาน)
exports.x3d_mapevents:AddLocal({ id = 'cooldown', title = 'ทำงานได้อีกครั้ง', duration = 300 })
exports.x3d_mapevents:RemoveLocal('cooldown')

หมดเวลาแล้วหายเองทั้งแผงและ blip ถ้าสคริปต์นี้รีสตาร์ท อีเวนต์ที่สคริปต์อื่นส่งมาจะหาย (ของแอดมินอยู่ต่อ)

แผงแอดมิน X3D (ไม่บังคับ)

ถ้าเซิร์ฟมี x3d_adminpanel จะมีเมนู "อีเวนต์บนแผนที่": ดูอีเวนต์ที่กำลังแสดง สร้างอีเวนต์ (ชื่อไทย/อังกฤษ เวลาเป็นนาที ใช้ตำแหน่งที่ยืน ไอคอน) ต่อเวลา +10 นาที และลบ

ต่อกับ X3D Selldrug

X3D Selldrug 1.2.4 ขึ้นไป (ในไฟล์ addons/hooks/server.lua ของ Selldrug)ส่ง event ผู้รับซื้อรายใหญ่เข้ามาเองผ่าน Hooks.OnEventBuyer ไม่ต้องตั้งค่าอะไร

ปัญหาที่พบบ่อย

อาการ แก้
ชื่อ blip ภาษาไทยเป็นสี่เหลี่ยม ต้องโหลดไฟล์ stream/font4thai.gfx ที่มากับสคริปต์ ห้ามลบโฟลเดอร์ stream
แผงทับเมนูอื่นของ pause แผงโผล่ทุกแท็บของ pause menu ปรับตำแหน่งที่ Config.Position
เวลาไม่ตรง เวลาอิงนาฬิกาของเซิร์ฟเวอร์ (unix time) ตั้งเวลาเครื่องเซิร์ฟเวอร์ให้ตรง
ดูหน้าสินค้า