เอกสาร
ตั้งค่าทั้งหมด:
ปรับให้เข้ากับเซิร์ฟ:
ดูหน้าสินค้า
X3D Banking (ธนาคาร)
ธนาคารและตู้ ATM ฟรีสำหรับ ESX: ฝาก ถอน โอนด้วย ID ผู้เล่น ประวัติรายการ ใช้ได้ทุกตู้บนแผนที่ เซิร์ฟเวอร์เช็คทุกรายการ
ซื้อ / รับฟรีตั้งค่า configการติดตั้ง
- วางโฟลเดอร์
x3d_bankingไว้ในresources/ห้ามเปลี่ยนชื่อโฟลเดอร์ - รัน
install.sqlเพื่อสร้างตารางx3d_banking_history(รันซ้ำได้) - เพิ่มใน
server.cfg:
ensure oxmysql
ensure es_extended # ไม่บังคับ ถ้าไม่มีจะรันแบบ standalone (ดู Config.Framework)
ensure x3d_banking
ใช้สคริปต์ธนาคารได้ทีละตัว: ปิด esx_atm, esx_banking หรือสคริปต์ ATM ตัวอื่น ไม่งั้นตู้เดียวจะขึ้นปุ่มสองอัน
ต้องมี
| resource | จำเป็นไหม | ใช้ทำอะไร |
|---|---|---|
es_extended |
ไม่บังคับ | ESX Legacy บัญชี money และ bank ถ้าไม่มีจะรันแบบ standalone แต่ต้องต่อบัญชีธนาคารเอง (ดู Config.Framework) |
oxmysql |
จำเป็น | เก็บประวัติรายการ |
ตั้งค่าทั้งหมด: config/config.lua
ทั่วไป
| ค่า | ค่าเริ่มต้น | ความหมาย |
|---|---|---|
Config.Framework |
'auto' |
'auto' (มี ESX ใช้ ESX ไม่มีเป็น standalone) | 'esx' | 'standalone' standalone ไม่มีบัญชีธนาคารในตัว ต้องต่อ Framework.GetMoney/AddMoney/RemoveMoney('bank', ...) เองที่ addons/framework/server.lua ไม่งั้นฝาก ถอน โอน ใช้ไม่ได้จริง |
Config.Locale |
'th' |
'th' หรือ 'en' |
Config.Debug |
false |
true = เปิดคำสั่ง /atm และ /bank สำหรับทดสอบ |
Config.DrawDistance |
15.0 |
ระยะที่เห็นมาร์กเกอร์ |
Config.InteractRadius |
1.5 |
ระยะกด [E] |
Config.ServerRadius |
5.0 |
ห่างตู้หรือธนาคารได้ไม่เกินเท่านี้ เซิร์ฟเวอร์ถึงยอมให้ทำรายการ |
Config.Blur |
true |
เบลอฉากหลังตอนเปิดหน้าต่าง |
Config.UseMarkers / MarkerType / MarkerSize / MarkerColor |
เปิด, 27 |
มาร์กเกอร์บนพื้น |
Blip
| ค่า | ค่าเริ่มต้น | ความหมาย |
|---|---|---|
Config.ShowBlips |
true |
blip ธนาคารและตู้ ATM |
Config.BlipRadius |
100.0 |
blip ตู้ ATM ขึ้นเมื่ออยู่ใกล้เท่านี้ ส่วนธนาคารขึ้นตลอด |
Config.ATMBlip / Config.BankBlip |
sprite 108 |
sprite, color, scale, name = { th, en } |
วงเงิน
| ค่า | ค่าเริ่มต้น | ความหมาย |
|---|---|---|
Config.MinTransaction |
1 |
จำนวนต่ำสุด |
Config.MaxWithdraw / MaxDeposit |
100000000 |
ถอน / ฝากสูงสุดต่อครั้ง |
Config.MaxTransfer |
10000000 |
โอนสูงสุดต่อครั้ง |
Config.QuickWithdrawAmounts |
500 … 500,000 | ปุ่มถอนด่วน |
Config.HistoryLimit |
20 |
จำนวนรายการในประวัติ |
โอนเงิน
| ค่า | ค่าเริ่มต้น | ความหมาย |
|---|---|---|
Config.TransferByPhone |
false |
โอนด้วยเบอร์โทร ปิดไว้เป็นค่าเริ่มต้น เพราะ addons/phone/server.lua เป็น hook เปล่า ต้องต่อกับโทรศัพท์ของคุณเอง |
Config.TransferByServerId |
true |
โอนด้วย ID ผู้เล่นในเซิร์ฟ เปิดคู่กับ TransferByPhone ได้ (ช่องเดียวพิมพ์ได้ทั้งสองแบบ เช็คเบอร์ก่อน) ปิดทั้งคู่ = ไม่มีแท็บโอน |
Config.TransferShowName |
true |
false = ซ่อนชื่อทุกจุดในการโอน (บรรทัดค้นหา หน้ายืนยัน ประวัติ และแจ้งเตือนของผู้รับ) ผู้เล่นเห็นแค่ ID หรือเบอร์ที่พิมพ์เอง ฐานข้อมูลยังเก็บชื่อจริงไว้ให้แอดมิน |
Config.TransferAtATM |
true |
false = โอนได้เฉพาะที่ธนาคาร |
เช็คเบอร์โทรก่อน แล้วค่อยเช็ค ID ผู้รับต้องออนไลน์ และหน้ายืนยันจะแสดงชื่อผู้รับให้ดูก่อนกด (ยกเว้นตั้ง Config.TransferShowName = false)
ตำแหน่งและแอดมิน
| ค่า | ความหมาย |
|---|---|
Config.AtmModels |
โมเดลตู้ ATM ทุกตู้บนแผนที่ที่เป็นโมเดลนี้กดใช้ได้ |
Config.ATMs |
พิกัดตู้ ATM ใช้วาด blip และให้เซิร์ฟเวอร์เช็คระยะ |
Config.Banks |
สาขาธนาคาร: coords, name = { th, en } |
Config.AdminGroups |
กลุ่มที่ใช้ /atmscan ได้ |
Config.AtmScanCommand |
atmscan: ยืนใกล้ตู้แล้วพิมพ์ เพื่อเพิ่มตู้ที่ไม่มีใน Config.ATMs (เก็บใน KVP ของ resource) |
ตู้ที่ไม่มีใน
Config.ATMsยังเปิดหน้าต่างได้ แต่เซิร์ฟเวอร์จะไม่ยอมให้ทำรายการจนกว่าแอดมินจะเพิ่มด้วย/atmscanรายการเริ่มต้นครอบคลุมตู้หลักแล้ว
ปรับให้เข้ากับเซิร์ฟ: addons/
| ไฟล์ | ฟังก์ชัน | ค่าเริ่มต้น |
|---|---|---|
addons/framework/server.lua / client.lua |
ตัวเชื่อมเฟรมเวิร์ก (Framework.*) เหมือนกันทุกสินค้า X3D |
ESX ถ้ามี ไม่มีเป็น standalone |
addons/phone/server.lua |
Phone.FindIdentifier(number), Phone.GetNumber(identifier), Phone.NotifyTransfer(target, data) |
hook เปล่า (คืน nil / ไม่ทำอะไร) ต่อกับโทรศัพท์ของคุณเอง |
addons/notify/client.lua |
Notify(message, kind) |
esx_notify, ox_lib, ฟีดของเกม ตามลำดับ |
addons/prompt/client.lua |
Prompt.Draw3D, Prompt.SetBlipName, Prompt.IsInteractPressed |
ป้าย 3D, [E] |
addons/locale/shared.lua |
T(th, en) |
ตาม Config.Locale |
addons/text3d/client.lua |
Text3D.* ป้ายลอย 3 มิติ |
ป้าย 3D มาตรฐาน X3D (ใช้ระบบป้ายของตัวเองได้ด้วยการเขียนทับฟังก์ชัน) |
สำหรับสคริปต์อื่น
-- client
exports['x3d_banking']:OpenBank('atm') -- หรือ ('bank', 'ชื่อสาขา') เช่นเรียกจาก ox_target
exports['x3d_banking']:CloseBank()
exports['x3d_banking']:IsOpen() --> boolean
AddEventHandler('x3d_banking:uiState', function(open) end) -- ซ่อน HUD ตอนหน้าต่างเปิด
เซิร์ฟเวอร์ยังเช็คระยะถึงตู้หรือธนาคารทุกครั้ง เรียก OpenBank จากที่อื่นก็ทำรายการไม่ได้
ปัญหาที่พบบ่อย
| อาการ | สาเหตุ / วิธีแก้ |
|---|---|
| ยืนที่ตู้แล้วขึ้น "ต้องอยู่ที่ตู้ ATM หรือธนาคาร" | ตู้นั้นไม่มีใน Config.ATMs ให้แอดมินไปยืนข้างตู้แล้วพิมพ์ /atmscan |
| ประวัติว่างตลอด | ยังไม่ได้รัน install.sql (คอนโซลเซิร์ฟเวอร์จะแจ้งตอนเปิด) |
เปิด Config.TransferByPhone แล้วโอนไม่ได้ |
addons/phone/server.lua เป็น hook เปล่าโดยตั้งใจ ต้องต่อฟังก์ชันทั้ง 3 ตัวกับโทรศัพท์ของคุณก่อน |
| standalone: ฝาก ถอน โอน ใช้ไม่ได้จริง | standalone ไม่มีบัญชีธนาคารในตัว ต้องต่อ Framework.GetMoney/AddMoney/RemoveMoney('bank', ...) ที่ addons/framework/server.lua เอง |
| ภาษาไทยเป็นกล่อง | ต้องมี resource ที่สตรีมฟอนต์ font4thai เปลี่ยนเป็นภาษาอังกฤษ หรือเพิ่มฟอนต์ |