สคริปต์นี้ยังไม่สมบูรณ์ 100% หากคุณมีสิ่งใดที่ต้องการบริจาคให้กับโครงการ โปรดส่งคำขอดึงได้เลย!
ทรัพยากรนี้จะบันทึกชาวพื้นเมืองลงในตารางแคชซึ่งจะช่วยลดจำนวนคำขอเซิร์ฟเวอร์โดยรวมจากไคลเอนต์ สิ่งนี้จะช่วยเพิ่มประสิทธิภาพโดยรวมของเซิร์ฟเวอร์และลดเวลาในการโหลดสคริปต์ใดๆ ที่ใช้แคช
ไฟล์ไคลเอ็นต์ esx_policejob เรียก PlayerPed()
ดั้งเดิม 18 ครั้ง - ข้อมูลเดียวกันสามารถดึงข้อมูลจากการโทรครั้งเดียวผ่าน Cache.PlayerPed
(หมายเหตุ: ESX ไม่ใช่ข้อกำหนดสำหรับสคริปต์นี้)
โดยสรุป มันจะลดจำนวนการโทรแบบเนทีฟลงเป็นจำนวนมาก ขึ้นอยู่กับสิ่งที่คุณแคช
นี่เป็น งาน ที่กำลังดำเนินการอยู่ ดังนั้นการสนับสนุนหรือความคิดเห็นใดๆ จะได้รับการชื่นชมอย่างมากเสมอ!
สมมติว่าคุณต้องการส่งคืน PlayerPed()
- เราสามารถเรียกมันผ่านการส่งออกจากสคริปต์ได้โดยใช้:
exports.cache:requestCache().PlayerPed
ตรวจสอบให้แน่ใจว่าชื่อทรัพยากรของทรัพยากรนี้ไม่มีขีดกลางในชื่อ (สัญลักษณ์ -) ไม่เช่นนั้นจะส่งคืนข้อผิดพลาด:
attempt to index a nil value (global 'cache')
แทรกบรรทัดนี้ลงใน client_scripts ใน fxmanifest.lua ของสคริปต์ที่คุณต้องการใช้แคช
"@cache/client/cl_cache.lua",
คุณจะต้องดำเนินการด้วยตนเอง นี่คือตัวอย่างสิ่งที่คุณต้องทำ:
ตอนนี้เราได้บันทึก PlayerPedId() ลงในแคชแล้ว:
Cache.PlayerPed = PlayerPedId()
ทุกที่ที่คุณเห็น PlayerPedId()
ในสคริปต์ของคุณ คุณจะต้องแทนที่ด้วย exports.cache:requestCache().PlayerPed
วาง start mascotte-cache
ก่อนเฟรมเวิร์ก/สคริปต์ของคุณ
ฉันจะอัปเดตสิ่งนี้เป็นประจำเท่าที่จะทำได้ แต่หากคุณต้องการเพิ่มค่าแคชของคุณเอง สิ่งที่คุณต้องทำคือทำตามรูปแบบนี้:
Cache.YourNameHere = NativeYouWantToCache()
-- เพิ่มลงในเธรด
@ d0p3t - เนื่องจากข้อมูลเดียวที่ฉันสามารถหาได้เกี่ยวกับการสร้างแคชเพื่อเริ่มต้นนั้นมาจากโพสต์ที่เขาทำบนความไม่ลงรอยกันของ CFX ซึ่งอธิบายวิธีแคชข้อมูลจากเจ้าของภาษา
@ NotSomething0 - สำหรับการมีส่วนร่วมของเขาในการล้างโค้ดจำนวนมากและผู้ที่ฉันปรึกษาด้วยมากมายระหว่างเริ่มการพัฒนาสคริปต์