FiveM Minimap คืออะไร ต่างจาก Radar, Blip และ Map อย่างไร
FiveM Minimap คือแผนที่ขนาดเล็กที่แสดงบริเวณรอบตัวผู้เล่นระหว่างเล่น GTA V/FiveM โดยมักอยู่บริเวณมุมล่างซ้ายของหน้าจอ ใช้ดูถนน ทิศทาง ตำแหน่งผู้เล่น Blip จุดหมาย และเส้นทาง GPS โดย FiveM สามารถควบคุมการแสดง Radar/Minimap ผ่าน Native DISPLAY_RADAR.
สิ่งที่ทำให้หลายคนสับสนคือคำว่า Minimap, Radar, Map, GPS และ Blip ถูกพูดรวมกันบ่อย แต่จริง ๆ มีหน้าที่ต่างกัน
บทความนี้จาก comsiam จะอธิบายตั้งแต่ Minimap พื้นฐาน การเปิด–ปิด Radar, Zoom, Big Map, Blip, GPS Route ไปจนถึงการปรับตำแหน่งและแก้ปัญหา Minimap หายหรือผิดตำแหน่ง
① FiveM Minimap คืออะไร
Minimap คือแผนที่ขนาดเล็กที่ผู้เล่นเห็นระหว่าง Gameplay
ตัวอย่างข้อมูลที่ปรากฏได้ เช่น
ตำแหน่งผู้เล่นถนนทิศทางBlipGPS Routeจุดหมายสถานที่สำคัญผู้เล่น/NPC บางประเภท
FiveM ใช้ระบบ HUD/Map ของ GTA V และเปิดให้ Scripts ควบคุมหลายส่วนผ่าน Natives.
② Minimap กับ Radar เหมือนกันไหม
ในบริบท FiveM คำว่า
MinimapRadar
มักถูกใช้เรียกองค์ประกอบเดียวกันหรือส่วนที่เกี่ยวข้องกันอย่างใกล้ชิด
Native ที่ใช้เปิดหรือปิด Minimap มีชื่อว่า
DisplayRadar(true)
Cfx.re เองใช้ DisplayRadar(false) ใน Tutorial เพื่อสาธิตการปิด Minimap.
ดังนั้นเวลาเจอคำว่า “Radar หาย” ใน FiveM หลายครั้งกำลังพูดถึง Minimap ที่หาย
③ Minimap ต่างจาก Main Map อย่างไร
จำง่าย ๆ
Minimap= แผนที่เล็กระหว่างเล่นMain Map= แผนที่เต็มใน Pause Menu
Minimap เน้นพื้นที่ใกล้ผู้เล่น
Main Map ใช้ดูพื้นที่เมืองขนาดใหญ่กว่าและเลือกจุดหมายได้สะดวกกว่า
④ Minimap ต่างจาก HUD อย่างไร
HUD เป็นคำกว้างกว่า
HUD├── Health├── Armor├── Money├── Voice├── Speedometer└── Minimap
Minimap จึงถือเป็นองค์ประกอบหนึ่งของ Interface ขณะเล่นเกม ไม่ใช่ HUD ทั้งระบบ
⑤ Minimap ต่างจาก Blip อย่างไร
Minimap คือแผนที่
ส่วน Blip คือ Marker ที่วางบน Map/Minimap
เช่น
Minimap└── Hospital Blip└── Police Blip└── Garage Blip└── Bank Blip
FiveM มีรายการ Blip Sprites และ Native สำหรับสร้าง Blip ที่ Coordinates โดยตรง.
⑥ Blip คืออะไร
Blip คือ Marker หรือ Icon ที่แสดงตำแหน่งบน Map
เช่น
โรงพยาบาลสถานีตำรวจอู่รถธนาคารร้านค้างานผู้เล่นรถNPC
FiveM มี ADD_BLIP_FOR_COORD สำหรับสร้าง Blip ที่พิกัด และสามารถปรับคุณสมบัติด้วยตระกูล SET_BLIP_*.
⑦ ตัวอย่างสร้าง Blip
local blip = AddBlipForCoord(200.0,200.0,30.0)
จากนั้นจึงตั้งค่า Icon, สี, Scale, Display หรือ Route ตามที่ Resource ต้องการ
ADD_BLIP_FOR_COORD ถูกออกแบบสำหรับสร้าง Blip ณ Coordinates ที่กำหนด.
⑧ Blip แสดงบนทั้ง Map และ Minimap ได้ไหม
ได้
SET_BLIP_DISPLAY มีค่าที่กำหนดว่า Blip จะแสดงใน Main Map, Minimap หรือทั้งสองอย่าง โดยเอกสาร Cfx.re ระบุว่าค่า 2 ใช้แสดงทั้ง Main Map และ Minimap.
ดังนั้น Blip ที่ไม่เห็นบน Minimapไม่ได้หมายความว่า Blip ไม่มีเสมอไป
อาจเป็น Display Mode
⑨ Blip เห็นบน Map แต่ไม่เห็นบน Minimap
ตรวจ
SET_BLIP_DISPLAYSET_BLIP_AS_SHORT_RANGEDistance
ก่อน
เพราะ Blip สามารถถูกตั้งให้แสดงเฉพาะบางบริบทได้.
⑩ SET_BLIP_AS_SHORT_RANGE คืออะไร
FiveM มี
SET_BLIP_AS_SHORT_RANGE
สำหรับกำหนดว่า Blip จะแสดงแบบ Short Range หรือไม่.
เหมาะกับจุดที่ไม่จำเป็นต้องเห็นจากระยะไกล เช่นร้านย่อยหรือจุด Interaction เฉพาะพื้นที่
⑪ Minimap เปิดหรือปิดด้วยอะไร
ใช้
DisplayRadar(true)
หรือ
DisplayRadar(false)
Tutorial อย่างเป็นทางการของ FiveM ใช้ DisplayRadar(false) เพื่อปิด Minimap.
⑫ ตัวอย่างเปิด Minimap
DisplayRadar(true)
เหมาะเมื่อ Server ต้องการให้ Radar แสดงตลอดเวลา
⑬ ตัวอย่างปิด Minimap
DisplayRadar(false)
สามารถใช้กับ Server ที่ต้องการ Gameplay แบบ
ไม่มี Minimap ตอนเดิน
หรือซ่อนระหว่าง Character Selection/Cinematic
Native นี้เป็นวิธีที่ Cfx.re ใช้ใน Scripting Tutorial โดยตรง.
⑭ ทำไม Server บางแห่งเปิด Minimap เฉพาะตอนขับรถ
เป็น Design ที่พบได้บ่อย
แนวคิดคือ
เดิน→ Minimap OFFขึ้นรถ→ Minimap ON
ตัวอย่าง Logic
local ped = PlayerPedId()if IsPedInAnyVehicle(ped, false) thenDisplayRadar(true)elseDisplayRadar(false)end
การเปิด–ปิด Minimap ใช้ DISPLAY_RADAR.
⑮ Minimap เปิดตลอดได้ไหม
ได้
ถ้า Server ต้องการ
DisplayRadar(true)
ก็สามารถแสดง Minimap ระหว่าง Gameplay ได้
แต่ต้องตรวจว่าไม่มี Resource อื่นเรียก DisplayRadar(false) แข่งกัน
⑯ Minimap หายเกิดจากอะไรบ่อยที่สุด
เริ่มตรวจ
DisplayRadar(false)Resource HUDMinimap ResourceVehicle HUDCharacter SelectionDeath ScreenCinematic Script
ก่อน
โดยเฉพาะถ้า Map ใน Pause Menu ยังใช้งานได้ตามปกติ
⑰ ค้นหา DisplayRadar ใน Resources
ถ้า Minimap หายโดยไม่ทราบสาเหตุ ให้ค้นหา
DisplayRadar(
ใน Resources ที่เกี่ยวข้อง
เช่น
hudspeedometerminimapcinematicmulticharacterdeathscreen
Resource ตัวหนึ่งอาจปิด Radar หลัง Resource อื่นเพิ่งเปิด
⑱ Minimap หายตอนเดินแต่ขึ้นตอนขับรถ
นี่อาจเป็น Design ไม่ใช่ Bug
ตรวจ Code ว่ามี Logic
IsPedInAnyVehicle
ควบคุม DisplayRadar
ถ้ามี ก็เป็นระบบ Vehicle-only Minimap
⑲ Minimap หายตอนขึ้นรถแต่ตอนเดินมี
นี่มีแนวโน้มเป็น State Logic ผิด
เช่น
Enter Vehicle→ DisplayRadar(false)
ทั้งที่ควรเป็น true
หรือมี Vehicle HUD Resource ตัวอื่นเข้ามาควบคุม Radar
⑳ Minimap หายหลังลงรถ
ตัวอย่าง Bug
ขึ้นรถ→ Radar ONลงรถ→ Radar OFFแต่ Server ต้องการ Radar ON ตลอด
กรณีนี้แก้ Vehicle State Logic ไม่ใช่ติดตั้ง Map ใหม่
㉑ Minimap หายหลัง Respawn
ตรวจ Flow
Death→ Radar OFFRespawn→ Radar ON
ถ้าขั้นสุดท้ายไม่ทำงาน Minimap จะถูกปิดค้าง
㉒ Minimap หายหลังเลือก Character
Multicharacter Resource อาจซ่อน HUD/Radar ระหว่างหน้าเลือกตัวละคร
หลัง Spawn ต้อง Restore Minimap ตาม Server Design
หากไม่ Restore ผู้เล่นจะคิดว่า Minimap พังทั้งที่ Radar ถูก Script ปิดไว้
㉓ Minimap หายหลัง Restart HUD Resource
ให้ตรวจ Initial State
ถ้า HUD Resource Start แล้ว Default เป็น
radar = false
และกำลังรอ Vehicle Event เพื่อเปิด Radar
ผู้เล่นที่อยู่ใน State อื่นอาจไม่เห็น Minimap จน Event นั้นเกิด
㉔ Minimap ค้างต้องแยกอะไรบ้าง
คำว่า “ค้าง” อาจหมายถึง
Map ไม่หมุนPlayer Marker ไม่ขยับGPS Route ไม่เปลี่ยนZoom ไม่เปลี่ยนBig Map ไม่ปิดBlip ไม่อัปเดต
แต่ละอาการเป็นคนละ Layer
㉕ Radar Zoom คืออะไร
FiveM มี
SET_RADAR_ZOOM
สำหรับปรับระดับ Zoom ของ Radar และเอกสาร Cfx.re ระบุช่วง zoomLevel ตั้งแต่ 0 ถึง 200.
ตัวอย่าง
SetRadarZoom(100)
㉖ Zoom มากหรือน้อยหมายความว่าอย่างไร
ไม่ควรเดาพฤติกรรม Visual จากตัวเลขเพียงอย่างเดียว
ควรทดสอบ
050100150200
ในเกมจริง
สิ่งที่ Documentation ยืนยันคือ Parameter มีช่วง 0–200.
㉗ Minimap Zoom เปลี่ยนตามรถได้ไหม
ได้ในเชิง Script Design
ตัวอย่าง
เดิน→ Zoom Aรถช้า→ Zoom Bรถเร็ว→ Zoom C
โดยเรียก SET_RADAR_ZOOM ตาม State ที่ต้องการ.
แต่ไม่ควรเปลี่ยน Zoom ทุก Tick หากค่าไม่ได้เปลี่ยน
㉘ Big Minimap คืออะไร
FiveM มี Native
SET_BIGMAP_ACTIVE
สำหรับ Toggle สถานะ Big Minimap คล้ายพฤติกรรมใน GTA Online.
นี่ทำให้ Minimap ขยายใหญ่กว่าปกติ
㉙ ตัวอย่างเปิด Big Map
SetBigmapActive(true, false)
Native รับ Parameters สำหรับ
toggleBigMapshowFullMap
ตาม Cfx.re Reference.
㉚ ปิด Big Map อย่างไร
SetBigmapActive(false, false)
ใช้คืน Minimap กลับสู่ State ปกติตาม Logic ของ Resource
㉛ ตรวจว่า Big Map เปิดอยู่ได้ไหม
ได้
FiveM มี
IS_BIGMAP_ACTIVE
และเอกสารระบุว่าจะคืน true เมื่อ Minimap อยู่ในสถานะ Expanded.
จึงไม่จำเป็นต้องเก็บ Boolean เองเสมอไปหากต้องการตรวจ Engine State
㉜ Big Map ค้างหลังปล่อยปุ่มเกิดจากอะไร
ตรวจ
Input releaseSetBigmapActive(false, ...)Resource State
ถ้า Resource เรียกเปิดแต่ไม่ได้เรียกปิด Minimap สามารถค้างอยู่ใน Expanded State
㉝ Full Map ใน Minimap คืออะไร
SET_BIGMAP_ACTIVE มี Parameter showFullMap
เอกสาร Cfx.re ระบุว่าสามารถใช้ร่วมกับ Big Map State เพื่อควบคุมการเปิดเผยแผนที่เต็มใน Minimap.
ควรทดสอบ Combination ตาม UI ที่ Server ต้องการ
㉞ Minimap แบบสี่เหลี่ยมทำได้ไหม
FiveM มี
SET_MINIMAP_CLIP_TYPE
ซึ่ง Cfx.re ระบุว่าใช้เปลี่ยนรูปแบบ Clipping ของ Minimap ระหว่างลักษณะ Rectangular กับ Rounded.
จึงเป็น Native ที่เกี่ยวข้องกับ Custom Minimap Shape
㉟ Circular Minimap กับ Square Minimap ต่างกันอย่างไร
ต่างกันด้าน Presentation
Rounded/Circular→ สไตล์ GTA-likeRectangular/Square→ ใช้พื้นที่ Map มากขึ้นในบาง HUD
แต่ต้องจัด Mask, Border และตำแหน่งองค์ประกอบที่เกี่ยวข้องให้ตรงกัน
㊱ SET_MINIMAP_COMPONENT_POSITION คืออะไร
FiveM มี Native
SET_MINIMAP_COMPONENT_POSITION
สำหรับ Override ข้อมูลตำแหน่งของ Minimap Components ที่ปกติอ้างจาก ui/frontend.xml.
สามารถกำหนด
AlignmentPosition XPosition YSize XSize Y
ของ Component ที่ระบุได้
㊲ Minimap ย้ายตำแหน่งได้ไหม
ได้
โดยใช้ SET_MINIMAP_COMPONENT_POSITION ตามองค์ประกอบที่ต้องการปรับ.
แต่ Custom Minimap มักมีหลาย Components จึงไม่ควรปรับเพียง Main Mask แล้วปล่อย Border/Blur อยู่ตำแหน่งเดิม
㊳ Minimap Border ไม่ตรงกับ Map เกิดจากอะไร
หากปรับ
minimap
แต่ไม่ได้ปรับ Component อื่นที่เกี่ยวข้อง
อาจเกิด
Map อยู่ซ้ายBorder อยู่ขวาMask ไม่ตรงBlur เหลื่อม
ดังนั้น Custom Position ต้องตรวจทุก Component ที่ HUD ใช้
㊴ Aspect Ratio มีผลกับ Minimap ไหม
มีผลกับการจัดตำแหน่ง Custom UI
Cfx.re มี Cookbook สำหรับคำนวณตำแหน่งมุมซ้ายบนของ Minimap ใน Screen Coordinates และระบุว่าแนวทางนี้ใช้ช่วย Alignment กับ NUI/Screen-space Draws รวมถึงหลาย Aspect Ratios.
นี่สำคัญเมื่อวาง Custom HUD รอบ Minimap
㊵ ทำไม HUD รอบ Minimap เบี้ยวบน Ultrawide
ถ้า UI ใช้ Pixel Hard-code เช่น
left: 20px;bottom: 180px;
โดยไม่คำนวณตาม Safe Zone/Aspect Ratio
ตำแหน่งอาจไม่ตรงกับ Minimap จริงบนจอกว้าง
Cfx.re มีตัวอย่างการคำนวณ Screen Coordinates ของ Minimap โดยอิง Aspect Ratio และ Safe Zone.
㊶ Custom Minimap กับ NUI ใช้ร่วมกันได้ไหม
ได้
เช่น
GTA Minimap+NUI Border+Custom Street Name+Compass
จึงต้อง Align NUI กับตำแหน่ง Minimap จริง
Cookbook ของ Cfx.re ถูกเผยแพร่โดยเฉพาะเพื่อช่วยหา Minimap Screen Position สำหรับการ Align กับ NUI หรือ Screen-space Elements.
㊷ Blip Route คืออะไร
Blip สามารถถูกกำหนดให้มี Route ไปยังจุดหมายได้ผ่าน
SET_BLIP_ROUTE
Cfx.re ระบุว่า Native นี้ใช้เปิดหรือปิดการแสดง Route สำหรับ Blip ที่กำหนด.
นี่คือเส้นทางนำทางที่ผู้เล่นมักเห็นบน Minimap
㊸ ตัวอย่างเปิด Route ไปยัง Blip
SetBlipRoute(blip, true)
จะเปิด Route สำหรับ Blip นั้นตาม Native.
㊹ ปิด Route อย่างไร
SetBlipRoute(blip, false)
ใช้เมื่อผู้เล่นถึงจุดหมายหรือยกเลิกงาน
㊺ ClearAllBlipRoutes คืออะไร
FiveM มี
CLEAR_ALL_BLIP_ROUTES
สำหรับล้าง Routes ที่ถูกตั้งผ่าน SET_BLIP_ROUTE.
มีประโยชน์หาก Mission/Job ต้อง Reset Navigation
㊻ GPS กับ Blip เหมือนกันไหม
ไม่
จำแบบนี้
Blip= จุด MarkerRoute= เส้นทางไป MarkerMinimap= พื้นที่ที่ใช้แสดงทั้งสองอย่าง
Blip สามารถมีหรือไม่มี Route ก็ได้.
㊼ Custom GPS Route ทำได้ไหม
FiveM มี Map Natives สำหรับ Custom GPS Routes เช่น ADD_POINT_TO_GPS_CUSTOM_ROUTE ซึ่งเป็นส่วนหนึ่งของชุด GPS/Map APIs.
เหมาะกับระบบที่ต้องการเส้นทางหลาย Points มากกว่า Route ไป Blip จุดเดียว
㊽ Minimap แสดง Police Blip ได้ไหม
ได้ หาก Resource สร้าง Blip สำหรับ Ped/Vehicle/Coordinate ที่ต้องการ
FiveM มี ADD_BLIP_FOR_ENTITY ซึ่งรองรับ Entities อย่าง Objects, Vehicles และ Peds.
จากนั้นสามารถกำหนด Visibility, Sprite หรือ Property อื่นผ่าน Blip Natives
㊾ Player Blip ควร Update Coordinates ทุก Tick ไหม
หาก Blip ถูก Attach กับ Entity ผ่าน
ADD_BLIP_FOR_ENTITY
ก็ไม่จำเป็นต้องสร้าง Blip Coordinates ใหม่ทุก Frameเพียงเพื่อให้ Marker ตาม Entity เพราะ Blip ถูกผูกกับ Entity อยู่แล้ว.
เลือก Blip Type ให้ตรงกับงานช่วยลด Script Logic ได้
㊿ Static Location ควรใช้ Blip แบบไหน
ถ้าเป็น
HospitalBankGaragePolice Station
ใช้
ADD_BLIP_FOR_COORD
เหมาะกว่า เพราะตำแหน่งไม่ได้ผูกกับ Entity ที่เคลื่อนที่.
51. Moving Vehicle ควรใช้ Blip แบบไหน
ถ้าต้องการ Marker ติด Vehicle
ADD_BLIP_FOR_ENTITY
เป็นตัวเลือกที่ตรงกว่า เพราะรองรับ Vehicle Entity โดยตรง.
52. Radius Blip คืออะไร
FiveM มี
ADD_BLIP_FOR_RADIUS
สำหรับสร้างพื้นที่วงรัศมีรอบ Coordinates และเอกสารระบุว่า Radius Blip ไม่ได้สร้าง Sprite Icon เอง หากต้องการ Icon ต้องสร้าง Blip อีกตัวเพิ่ม.
เหมาะกับ Zone เช่น
Search AreaGang ZoneMission AreaDanger Zone
53. ทำไมมีวงกลมแต่ไม่มี Icon
ถ้าใช้เฉพาะ
ADD_BLIP_FOR_RADIUS
นี่อาจเป็น Behavior ตาม Design
Cfx.re ระบุว่า Radius Blip ไม่ได้สร้าง Blip Sprite จึงต้องเพิ่ม Coordinate Blip หากต้องการ Icon ด้วย.
54. SET_BLIP_ALPHA ใช้ทำอะไร
FiveM มี SET_BLIP_ALPHA สำหรับปรับ Alpha Channel ของสี Blip.
ใช้ทำ Blip โปร่งบางลงได้ เช่น Zone Background
55. Blip จางจนเหมือนหาย
ตรวจ Alpha
หากถูกตั้งใกล้โปร่งใส
Marker อาจมีอยู่แต่แทบมองไม่เห็น
จึงไม่ควรสร้าง Blip ซ้ำก่อนตรวจ Display/Alpha
56. Minimap Blip เยอะเกินไปควรทำอย่างไร
อย่าแสดงทุกอย่างตลอดเวลาโดยไม่จำเป็น
ใช้
Short RangeCategoryDisplay ModeJob/PermissionDistance
เพื่อควบคุมข้อมูล
FiveM มี SET_BLIP_AS_SHORT_RANGE, SET_BLIP_CATEGORY และ SET_BLIP_DISPLAY สำหรับควบคุมลักษณะการแสดง Blip.
57. Blip Category คืออะไร
FiveM มี
SET_BLIP_CATEGORY
เพื่อกำหนด Category Index ของ Blip และบาง Categories จะแสดงในรายการ Legend ของ Map ตามการตั้งค่า.
มีประโยชน์กับ Server ที่มี Blip จำนวนมาก
58. Custom Minimap ทำให้ FPS ตกได้ไหม
มีโอกาส แต่ต้องหาสาเหตุจริง
อาจมาจาก
HUD LoopPosition UpdateCustom NUICompassStreet NameBlip Update
มากกว่า GTA Minimap เพียงตัวเดียว
อย่าโทษ Radar ก่อนตรวจ Resource ที่กำลังทำงานร่วมกัน
59. Blip หลายร้อยตัวทำให้หนักไหม
จำนวน Entity/UI State ที่เพิ่มขึ้นย่อมเพิ่มสิ่งที่เกมและ Scripts ต้องจัดการ แต่ผลจริงขึ้นกับว่า Resource สร้าง/อัปเดตอย่างไร
ข้อผิดพลาดที่ชัดกว่าคือสร้าง Blip เดิมซ้ำทุก Tick แทนสร้างครั้งเดียวแล้วเก็บ Handle
60. อย่าสร้าง Static Blip ทุก Frame
ไม่ควรทำ
while true doWait(0)AddBlipForCoord(...)end
เพราะจะพยายามสร้าง Blips ใหม่ต่อเนื่อง
Static Blip ควรถูกสร้างครั้งเดียวตาม Resource Lifecycle แล้วเก็บ Handle
61. Blip ซ้ำหลัง Restart Resource เกิดจากอะไร
ตรวจ
CreationCleanupResource StartResource Stop
หาก Resource สร้าง Blip ใหม่ทุก Start แต่ Blip เก่าไม่ได้ถูกจัดการตาม Lifecycle อาจเห็น Marker ซ้ำ
62. Minimap หายแต่ Blip Route ยังทำงานได้ไหม
องค์ประกอบเหล่านี้เกี่ยวข้องกันแต่ไม่เหมือนกัน
Radar Visibility อาจถูกปิดด้วย DISPLAY_RADAR ขณะที่ Blip/Route State ยังถูก Script จัดการอยู่.
ดังนั้นการเปิด Radar กลับอาจทำให้ Route เดิมกลับมามองเห็นได้
63. Minimap อยู่ผิดตำแหน่งหลังเปลี่ยน HUD
ตรวจว่า HUD ตัวใหม่เรียก
SET_MINIMAP_COMPONENT_POSITION
หรือไม่
Native นี้สามารถ Override Position/Size ของ Minimap Component ได้.
ถ้าปิด HUD Resource แล้ว Minimap กลับตำแหน่งเดิม นี่เป็นเบาะแสสำคัญ
64. Minimap ใหญ่เกินหลังเปลี่ยน HUD
ตรวจทั้ง
SET_BIGMAP_ACTIVESET_MINIMAP_COMPONENT_POSITION
เพราะตัวแรกเปลี่ยน Big Minimap State ส่วนตัวหลังเปลี่ยน Component Geometry.
65. Minimap Zoom ผิดหลัง Restart Resource
ถ้า Resource เคยตั้ง
SET_RADAR_ZOOM
แล้วไม่มี Initialization ที่ถูกต้องหลัง Restart Zoom อาจไม่ตรงตาม Design
ควร Restore Zoom State เมื่อ Resource เริ่มทำงานใหม่.
66. Big Map เปิดค้างหลัง Restart ได้ไหม
ควรตรวจ Big Map State ด้วย
FiveM มี IS_BIGMAP_ACTIVE สำหรับตรวจว่า Expanded Minimap เปิดอยู่หรือไม่.
จากนั้น Resource สามารถ Reset State ตามที่ต้องการ
67. Custom Minimap ต้องใช้ ESX ไหม
ไม่
Native เช่น
DISPLAY_RADARSET_RADAR_ZOOMSET_BIGMAP_ACTIVEADD_BLIP_FOR_COORD
เป็น FiveM/GTA APIs ไม่ได้ขึ้นกับ ESX.
ESX อาจเกี่ยวข้องเฉพาะ Blip/Route ที่ขึ้นกับ Job หรือ Player Data
68. Custom Minimap ต้องใช้ QBCore ไหม
ไม่จำเป็นเช่นเดียวกัน
Minimap/Radar เป็นระบบของ Game/FiveM
Framework จะเกี่ยวข้องเมื่อ Logic เช่น
Police-only BlipsJob RoutesGarage LocationsGang Zones
ดึงข้อมูลจาก Framework
69. Police-only Blip ควรทำอย่างไร
แนวคิดคือ
ตรวจ Job↓ถ้า Police→ Create/Show Blipถ้าไม่ใช่→ Remove/Hide Blip
ไม่จำเป็นต้องสร้าง Blip ให้ทุกคนแล้วซ่อนด้วย CSS เพราะ Blip เป็น Game Map Element ไม่ใช่ NUI Element
70. Minimap ไม่ใช่ NUI เสมอไป
GTA Minimap/Radar เป็น Native Game UI
แต่ Custom HUD รอบ Minimap อาจเป็น NUI
จึงมี Architecture เช่น
GTA Minimap+FiveM Native Position+NUI Border+NUI Compass
ถ้า Border หายแต่ Map ยังอยู่ ให้ตรวจ NUI
ถ้า Map หายแต่ Border ยังอยู่ ให้ตรวจ Radar Native
71. Minimap Border มีแต่แผนที่ข้างในหาย
นี่เป็นอาการที่แยกได้ดี
NUI Border= ทำงานGTA Radar= ไม่แสดง
ให้ตรวจ DisplayRadar ก่อน
ไม่ต้องแก้ Border CSS
72. แผนที่มีแต่ Border หาย
กรณีตรงข้าม
Radar = ปกติNUI Custom Border = หาย
ให้ตรวจ HUD/NUI Resource
อย่าแก้ DisplayRadar
73. Square Minimap มี Map แต่ Mask เพี้ยน
ตรวจ
SET_MINIMAP_CLIP_TYPEMinimap ComponentsMaskBlurCustom Border
เพราะ FiveM รองรับการปรับ Clip Type ของ Minimap โดยตรง.
74. Minimap บน 21:9 ควรทดสอบไหม
ควร
โดยเฉพาะ Custom Minimap ที่มี NUI Border หรือ HUD Elements รอบข้าง
Cfx.re Cookbook สำหรับหา Minimap Screen Coordinates ถูกออกแบบให้คำนึงถึง Aspect Ratio/Safe Zone เพื่อใช้ Align Elements ให้เหมาะสม.
75. Minimap บน 4K ควรทดสอบอะไร
ตรวจ
ตำแหน่งขนาดNUI BorderFontCompassStreet Name
ไม่ใช่เพียงว่า Map Render หรือไม่
HUD ที่ดูดีบน 1080p อาจมี Alignment ผิดบน Resolution อื่น
76. วิธี Debug FiveM Minimap หายแบบเร็วที่สุด
ขั้นที่ 1 — ทดสอบเปิด Radar
DisplayRadar(true)
FiveM ใช้ Native นี้ควบคุม Minimap/Radar.
ขั้นที่ 2 — ถ้ากลับมา
ค้นหา Resource ที่เรียก
DisplayRadar(false)
ขั้นที่ 3 — ถ้า Map ใหญ่ผิดปกติ
ตรวจ
SET_BIGMAP_ACTIVE
ขั้นที่ 4 — ถ้า Zoom ผิด
ตรวจ
SET_RADAR_ZOOM
ขั้นที่ 5 — ถ้าตำแหน่งผิด
ตรวจ
SET_MINIMAP_COMPONENT_POSITION
ขั้นที่ 6 — ถ้ารูปทรงผิด
ตรวจ
SET_MINIMAP_CLIP_TYPE
ขั้นที่ 7 — ถ้าเฉพาะ Marker หาย
ตรวจ Blip แทน Radar
ขั้นที่ 8 — ถ้า Route หาย
ตรวจ
SET_BLIP_ROUTE
ขั้นที่ 9 — ถ้า Border/HUD รอบ Map หาย
ตรวจ NUI Resource
ขั้นที่ 10 — A/B Test Resources
ปิด HUD/Minimap Resources ทีละตัวเพื่อหา Conflict
77. ตารางสรุปปัญหา FiveM Minimap
| อาการ | จุดที่ควรตรวจ |
|---|---|
| Minimap หายทั้งหมด | DISPLAY_RADAR |
| Minimap หายตอนเดิน | Vehicle-only Logic |
| Minimap หายตอนขึ้นรถ | Vehicle HUD State |
| Minimap หายหลัง Respawn | Death/Respawn State |
| Big Map ค้าง | SET_BIGMAP_ACTIVE |
| Zoom แปลก | SET_RADAR_ZOOM |
| Map อยู่ผิดตำแหน่ง | Minimap Component Position |
| Square Minimap เพี้ยน | Clip Type / Mask |
| Border มีแต่ Map หาย | Radar State |
| Map มีแต่ Border หาย | NUI |
| Blip หาย | Blip Logic |
| Blip เห็น Map แต่ไม่เห็น Minimap | Display/Short Range |
| Route ไม่ขึ้น | SET_BLIP_ROUTE |
| Radius มีแต่ไม่มี Icon | Radius Blip ไม่มี Sprite |
| Ultrawide เบี้ยว | Aspect Ratio / NUI Alignment |
| Restart แล้ว Minimap ผิด | Initialization State |
78. Checklist FiveM Minimap
☐ DisplayRadar ถูก☐ Big Map State ถูก☐ Radar Zoom ถูก☐ Clip Type ถูก☐ Minimap Position ถูก☐ Minimap Size ถูก☐ Border ตรง☐ Mask ตรง☐ Blips ถูก☐ Short Range ถูก☐ Blip Display ถูก☐ GPS Route ถูก☐ Vehicle State ถูก☐ Death/Respawn State ถูก☐ Character Load State ถูก☐ Resource Restart แล้ว Restore ถูก☐ 16:9 ถูก☐ 21:9 ถูก☐ 4K ถูก
ตัวอย่าง Minimap เปิดเฉพาะตอนอยู่ในรถ
CreateThread(function()local radarVisible = nilwhile true dolocal ped = PlayerPedId()local shouldShow = IsPedInAnyVehicle(ped, false)if shouldShow ~= radarVisible thenradarVisible = shouldShowDisplayRadar(shouldShow)endWait(250)endend)
แนวคิดสำคัญคือไม่จำเป็นต้องเรียก DisplayRadar ซ้ำตลอดหาก State ไม่เปลี่ยน
Native ที่ควบคุม Radar/Minimap คือ DISPLAY_RADAR.
ตัวอย่าง Toggle Big Minimap
local bigMap = falseRegisterCommand('bigmap', function()bigMap = not bigMapSetBigmapActive(bigMap,false)end)
SET_BIGMAP_ACTIVE ใช้ Toggle Expanded Minimap State.
ตัวอย่างสร้าง Blip พร้อม Route
local blip = AddBlipForCoord(300.0,-500.0,30.0)SetBlipRoute(blip, true)
ADD_BLIP_FOR_COORD ใช้สร้าง Marker ที่ Coordinates และ SET_BLIP_ROUTE เปิด Route ไปยัง Blip.
Minimap ที่ดีควรออกแบบอย่างไร
สำหรับ Server Roleplay ควรกำหนด Ownership ให้ชัด
Minimap Visibility→ Resource AMinimap Position→ Resource ASpeedometer→ Resource BCompass→ Resource BJob Blips→ Resource C
หรือรวมระบบบางส่วนไว้ใน Resource เดียว
สิ่งสำคัญคืออย่าให้หลาย Resources ควบคุม
DisplayRadarSetRadarZoomSetBigmapActive
พร้อมกันโดยไม่มี State กลาง
อย่ามี Minimap Resources หลายตัวแข่งกัน
ตัวอย่าง
custom_hudsquaremapvehicle_hudcinematic
ต่างคนต่างเรียก
DisplayRadarSetBigmapActiveSetMinimapComponentPosition
ผลคือ
บางครั้งขึ้นบางครั้งหายRestart แล้วผิดเข้า Vehicle แล้วเปลี่ยน
ควรเลือกผู้ควบคุมหลักให้ชัด
อย่าสร้าง Blip ใหม่ทุก Frame
Static Location ไม่ควรทำ
while true doWait(0)AddBlipForCoord(...)end
ให้สร้าง Blip หนึ่งครั้งและเก็บ Handle
เพราะ ADD_BLIP_FOR_COORD สร้าง Blip ใหม่ ไม่ใช่ Update Blip เดิม.
อย่าแก้ Minimap ด้วยการล้าง Cache เป็นอันดับแรก
หากปัญหาเกิดจาก
DisplayRadar(false)SetBigmapActive ค้างSetRadarZoom ผิดPosition Override ผิดBlip Display ผิด
การล้าง Cache ไม่แก้ Script Logic
ควรตรวจ Native State ก่อน
อย่าแก้ Blip หายด้วยการเปิด Radar อย่างเดียว
ถ้า Minimap แสดงถนนปกติแต่ Hospital Blip หาย
Radar ทำงานแล้ว
ให้ตรวจ
Blip ถูกสร้างไหมDisplay ModeShort RangeAlpha
แทน
FiveM มี Natives แยกสำหรับ Blip Visibility และ Range โดยตรง.
สูตรจำง่ายสำหรับ FiveM Minimap
RADAR= เปิด/ปิด MinimapZOOM= ระยะการมองBIG MAP= Minimap แบบขยายBLIP= MarkerROUTE= เส้นทาง GPS
ถ้าแยกห้าส่วนนี้ออกจากกันได้ การ Debug Minimap จะง่ายขึ้นมาก
สรุป FiveM Minimap คืออะไร
FiveM Minimap คือแผนที่ขนาดเล็กระหว่าง Gameplay ที่ใช้แสดงพื้นที่รอบผู้เล่น รวมถึง Blips และเส้นทาง Navigation โดย FiveM ใช้ Radar APIs ของ GTA สำหรับควบคุมระบบนี้
การเปิดหรือปิด Minimap ใช้
DISPLAY_RADAR
ซึ่ง Cfx.re ใช้ใน Official Tutorial สำหรับการปิด Minimap โดยตรง.
หากต้องการปรับ Zoom ใช้
SET_RADAR_ZOOM
โดย Parameter มีช่วง 0–200.
หากต้องการ Minimap แบบขยายใช้
SET_BIGMAP_ACTIVE
และสามารถตรวจ Expanded State ผ่าน IS_BIGMAP_ACTIVE.
หากต้องการเปลี่ยนตำแหน่งหรือขนาด Components ของ Minimap FiveM มี
SET_MINIMAP_COMPONENT_POSITION
สำหรับ Override Geometry ของ Minimap Components.
และหากต้องการ Square/Rectangular Minimap FiveM มี SET_MINIMAP_CLIP_TYPE สำหรับเปลี่ยนลักษณะ Clipping ระหว่าง Rounded และ Rectangular.
ส่วน Marker ต่าง ๆ บน Minimap คือ Blips ซึ่งสามารถสร้างจาก Coordinates หรือ Entity และกำหนดว่าจะให้แสดงบน Map/Minimap อย่างไรได้.
หากต้องการ GPS Route ไปยัง Blip ใช้
SET_BLIP_ROUTE
และสามารถ Clear Routes ด้วย CLEAR_ALL_BLIP_ROUTES.
ถ้า Minimap หายทั้งหมด ให้ตรวจ DISPLAY_RADAR
ถ้า Minimap ใหญ่ค้าง ให้ตรวจ SET_BIGMAP_ACTIVE
ถ้า Zoom ผิด ให้ตรวจ SET_RADAR_ZOOM
ถ้า ตำแหน่ง Minimap ผิด ให้ตรวจ SET_MINIMAP_COMPONENT_POSITION
ถ้า Map มีแต่ Marker หาย ให้แก้ Blip ไม่ใช่ Radar
ถ้า Border Custom หายแต่ Map ยังอยู่ ให้ตรวจ NUI
และถ้า HUD/Border รอบ Minimap ไม่ตรงบน 16:9, 21:9 หรือ Ultrawide ควรคำนวณ Alignment ตาม Screen/Aspect Ratio มากกว่าล็อกตำแหน่ง Pixel เดียว โดย Cfx.re มีแนวทางเฉพาะสำหรับหา Minimap Screen Coordinates เพื่อ Align กับ NUI.
แนวทางของ comsiam คือแยก Minimap ออกเป็น Radar Visibility → Zoom → Position → Blips → Route ก่อนแก้ปัญหา เพราะเมื่อรู้ว่าชั้นไหนเสีย จะไม่ต้องลบ HUD, เปลี่ยน Map หรือล้าง Cache ทั้งระบบโดยไม่จำเป็น
Comments
Post a Comment