X3D House Robbery (งัดบ้าน)
งัดบ้าน — งัดประตู ค้นของตามพื้น เจาะตู้เซฟ มีคูลดาวน์ต่อหลัง แถมมินิเกมครบในซิปเดียว
ซื้อ / รับฟรีตั้งค่า configการติดตั้ง
- วาง
x3d_houserobberyลงresources/ - เลือกมินิเกม อย่างใดอย่างหนึ่ง
- ดาวน์โหลด X3D Lockpick กับ X3D Safe Cracking (ฟรี) วางใน
resources/ - หรือใช้ ox_lib ที่เซิร์ฟมีอยู่แล้ว (skillCheck)
- ดาวน์โหลด X3D Lockpick กับ X3D Safe Cracking (ฟรี) วางใน
- เพิ่มใน
server.cfgมินิเกมต้องมาก่อน
ensure x3d_lockpick
ensure x3d_safe
ensure x3d_houserobbery
- เพิ่มไอเทมในตารางไอเทมของเซิร์ฟ: คีย์การ์ด
keycard_redkeycard_goldkeycard_silverและกุญแจตู้เซฟloot_house_redloot_house_goldloot_house_silver(ชื่อตามsv_config.lua)
ไม่ต้องรัน SQL
อัปเดตจาก 1.0.0: ตั้งแต่ 1.2.0 มินิเกมไม่ได้อยู่ในซิปแล้ว ถ้าเคยย้าย
x3d_lockpickกับx3d_safeออกมาไว้ในresources/แล้ว ใช้ของเดิมต่อได้เลย
ตั้งค่า (config.lua)
| ค่า | ทำอะไร |
|---|---|
Config.Framework |
'auto' ใช้ ESX ถ้ามี ไม่มีก็ standalone · 'esx' · 'standalone' |
Config.Minigame |
'auto' ใช้ x3d_lockpick/x3d_safe ถ้า start ไว้ ไม่มีก็ ox_lib · 'x3d' · 'ox_lib' |
Config.Locale |
'th' หรือ 'en' |
Config.InventoryResource |
inventory ที่มี export CanCarryItemSrc ไว้เช็กน้ำหนักก่อนให้ของ · false = ไม่เช็ก |
Config.RequiredJobs |
คนเข้าเวรขั้นต่ำต่ออาชีพก่อนงัด เช่น { police = 2 } · {} = ไม่เช็ก |
Config.BlockedJobs |
อาชีพที่ห้ามงัด เช่น { police = true } |
Config.Alert |
แจ้งอาชีพใน jobs เมื่อมีคนงัดเข้าบ้าน · chance 0–1 · delay หน่วง ms · blipTime วงบนแผนที่อยู่กี่วินาที · jobs = {} = ไม่แจ้ง |
Config.AdminBlips |
true = แอดมินเห็น blip บ้านทุกหลังตอนเข้าเกม (มี x3d_adminpanel กดเปิด/ปิดจากแผงได้) |
Config.Alert = { jobs = { 'police' }, chance = 1.0, delay = 15000, blipTime = 60 }
Config.Settings = {
lockpickPins = 3, -- จำนวนหมุดมินิเกมงัดประตู (ox_lib = จำนวนรอบ)
safeCombination = { {0, 20}, {30, 60}, {80, 99} }, -- รหัสตู้เซฟ สุ่มหนึ่งตัวเลขต่อช่วง
searchDuration = 10000, -- เวลาค้นแต่ละจุด (ms)
cooldownTime = 3600000, -- คูลดาวน์ต่อหลัง (ms)
portalDrawDistance = 8.0, -- ระยะที่ป้ายหน้าบ้านเริ่มโชว์
zoneDrawDistance = 3.0, -- ระยะที่ป้ายจุดค้นเริ่มโชว์
interactDistance = 1.5, -- ระยะกด E
robControl = 38, -- ปุ่ม (38 = E)
robControlLabel = 'E',
}
standalone
ไม่มี ESX ระบบใช้ ox_inventory เก็บไอเทมและเงิน (ถ้ามี) แอดมินใช้ ACE: add_ace group.admin x3d_houserobbery.admin allow
standalone ไม่มีระบบอาชีพ ถ้าตั้ง Config.RequiredJobs ต้องเขียน Framework.GetJob ใน addons/framework/server.lua เอง ไม่งั้นงัดไม่ได้เลย
เพิ่มบ้าน
Config.HouseRob เก็บบ้านทีละหลัง แต่ละหลังมี
portal— จุดเข้ากับจุดออก (type = 'entrance'/'exit') พร้อมcoordsdestinationและheadingrobzone— จุดในบ้านtype = 'search'(ค้นของ) หรือ'safe'(ตู้เซฟ)
คัดลอกบล็อกของหลังที่มีอยู่แล้วแก้พิกัดเป็นวิธีที่เร็วที่สุด
ของที่ได้ (sv_config.lua)
| ตาราง | ทำอะไร |
|---|---|
Config.Search |
ของตามพื้น ตั้ง itemName quantity = {min, max} percent |
Config.Keycard |
คีย์การ์ดแต่ละสี (itemName) แลกเป็นกุญแจตู้เซฟ (getkeyName) ตอนงัดประตูผ่าน |
Config.Safe |
ของในตู้เซฟแยกตามกุญแจ (keyName) · getItem ได้แน่นอน · randomItem สุ่มตาม percent |
งัดพลาดมีโอกาส 30% ที่คีย์การ์ดหัก ออกจากบ้านแล้วกุญแจตู้เซฟที่เหลือถูกเก็บคืน
ของทุกชิ้นต้องมีอยู่ในตารางไอเทมของเซิร์ฟอยู่แล้ว สคริปต์นี้ไม่ได้เพิ่มไอเทมให้ ส่วน money กับ black_money จ่ายเข้าบัญชีเงินของผู้เล่น
แผงแอดมิน
มี X3D Admin Panel จะมีหน้า "งัดบ้าน" ให้เอง: รายชื่อบ้านทั้งหมดพร้อมสถานะ และปุ่มเปิด/ปิด blip บ้านบนแผนที่ (เขียว = งัดได้ · แดงจาง = ติดคูลดาวน์) ไม่มีแผงก็ทำงานปกติ
export
exports['x3d_houserobbery']:forceExit(src) -- ดันผู้เล่นออกจากบ้าน (แอดมิน/กันค้าง)
ปัญหาที่เจอบ่อย
กด E หน้าบ้านแล้วงัดไม่ได้ — ต้องมีคีย์การ์ดอย่างน้อยหนึ่งใบในกระเป๋า
มินิเกมไม่ขึ้น — คอนโซลขึ้น no minigame available แปลว่ายังไม่ได้ start x3d_lockpick/x3d_safe หรือ ox_lib (ensure ก่อนตัวหลัก)
ขึ้นว่าตำรวจไม่พอ — Config.RequiredJobs นับเฉพาะคนที่เข้าเวร ตั้ง {} ถ้าไม่ต้องการ
เข้าไปแล้วไม่มีจุดค้นของ — robzone ของบ้านหลังนั้นยังไม่ได้ตั้ง
ค้นแล้วไม่ได้ของ — ชื่อไอเทมใน sv_config.lua ต้องตรงกับตารางไอเทมของเซิร์ฟ