เอกสารตั้งค่า (
ดูหน้าสินค้า
X3D Map Events (อีเวนต์บนแผนที่)
แผงอีเวนต์บนหน้าแผนที่ pause menu ฟรี: ชื่อ + เวลานับถอยหลัง คลิกเพื่อตั้งจุดนำทาง สคริปต์อื่นส่งอีเวนต์เข้ามาได้เหมือนส่งแจ้งเตือน แอดมินสร้างอีเวนต์เองได้
ซื้อ / รับฟรีตั้งค่า configการติดตั้ง
- วางโฟลเดอร์
x3d_mapeventsในresources/ - เพิ่มใน
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) ตั้งเวลาเครื่องเซิร์ฟเวอร์ให้ตรง |