RemoteFunction
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
วัตถุ RemoteFunction ช่วยให้การสื่อสารซิงค์ได้สองทางระหว่าง เครื่องคอมพิวเตอร์-เซิร์ฟเวอร์ ของเรา ผู้รับ
เพื่อให้ทั้งเซิร์ฟเวอร์และลูกค้าสามารถเข้าถึง RemoteFunction ริงค์ของได้โดยทั้งสองด้านต้องเห็นได้ เช่น ReplicatedStorage หรือในบางกรณีอาจเหมา
หากผลลัพธ์คือ ไม่จำเป็นต้องใช้ แทน, จะแนะนำให้คุณใช้ RemoteEvent แทน, เนื่องจากการโทรของมันเป็นการโทรแบบเรียลไทม์และไม่จำเป็นต้อ
คำแนะนำการถ่ายทอดสด
หมายเหตุว่าหาก RemoteFunction ที่
ข้อจํากัดของตัวแปร
ใด ๆ ประเภทของ Roblox เช่น Datatype.Enum``Class.Instance หรืออื่น ๆ สามารถส่งเป็นพารามิเตอร์เมื่อ RemoteFunction ถูกเรียกใช้ เช่นเดียวกับ Luau เช่นตัวเ
สรุป
วิธีการ
เรียกใช้ Class.RemoteFunction ซึ่งในทางหนึ่งเรียกว่า Class.RemoteFunction.OnClientHandle|OnClientHandle ซึ่งเรียกคืน Class.RemoteFunction คู่มือ
เรียกใช้ Class.RemoteFunction ซึ่งในทางหลังเรียกว่า Class.RemoteFunction.OnServerExecute|OnServerExecute
Callbacks
การโทรกลับเมื่อ RemoteFunction ถูกเรียกด้วย InvokeClient()
การโทรกลับเมื่อ RemoteFunction ถูกเรียกด้วย InvokeServer()
คุณสมบัติ
วิธีการ
InvokeClient
เรียกวิธีการ RemoteFunction ซึ่งในทางหลังจะเรียกวิธีการ OnClientInvoke โดยใช้วิธีนี้ ตัววิธีการนี้จะทำงานเฉพาะใน Script เท่านั้น
ใด ๆ ของวัตถุ Roblox เช่น Datatype.Enum``Class.Instance หรืออื่น ๆ สามารถส่งเป็นพารามิเตอร์ไปยัง Class.RemoteFunction:ExecuteClient()|ExecuteClient() ได้, นอกจากนี้ยังเป็นไปได้ที
ดู เหตุการณ์รีโมทและคอลแบ็ค สำหรับตัวอย่างโค้ดและรายละเอียดเพิ่มเติมเกี่ยวกับ RemoteFunction
คำเตือน
ในประกายดาวน์โหลดเซิร์ฟเวอร์ไม่มักจะเรียกตัวแทน เนื่องจากลูกค้ามักจะไม่มีข้อมูลที่เซิร์ฟเวอร์ไม่มีและการกระทําที่เฉพาะเจาะที่เฉพาะเจาะที
หากคุณจำเป็นต้องเรียกลูกค้าจากเซิร์ฟเวอร์อย่างถูกต้องตามกฎหมายโปรดทราบความเสี่ยงต่อไปนี้:
- หากลูกค้าส่งข้อผิดพลาด เซิร์ฟเวอร์ก็จะส่งข้อผิดพลาดเช่นกัน
- หากลูกค้าตัดการเชื่อมต่อในขณะที่มันถูกเรียกใช้, InvokeClient() จะโยนข้อผิดพลาด
- หากลูกค้าไม่ส่งค่ากลับไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์จะยืนตำแหน่งตลอดไป
พารามิเตอร์
Class.Player ที่เกี่ยวข้องกับลูกค้าเพื่อเรียก
มีค่าที่จะส่งไปยัง OnClientInvoke คอลแล็ก
ส่งค่ากลับ
ค่าที่กลับมาจากการโทรกลับ OnClientInvoke ของคําเรียก Class.RemoteFunction.OnClient
InvokeServer
เรียกวิธีการ RemoteFunction ซึ่งในทางหลังจะเรียกวิธีการ OnServerInvoke เมื่อใดก็ตามที่วิธีนี้ใช้เพื่อสื่อสารจากลูกค้าไปยังเซิร์ฟเวอร์จะทำงานเฉพาะใน Class
หากผลลัพธ์ที่กลับมาไม่จำเป็นต้องใช้ RemoteEvent:FireServer() แทนที่ในทางกลับกันเนื่องจากการโทรกรรมเป็นสินค้าและไม่จำเป็นต้องรอการตอบกลับเพื่อดำเนินการต่อ
ใด ๆ ของวัตถุ Roblox เช่น Datatype.Enum``Class.Instance หรืออื่น ๆ สามารถส่งเป็นพารามิเตอร์ไปยัง Class.RemoteFunction:ExecuteServer()|ExecuteServer() ได้, นอกจากนี้ยังเป็นไปได้ที
ดู เหตุการณ์รีโมทและคอลแบ็ค สำหรับตัวอย่างโค้ดและรายละเอียดเพิ่มเติมเกี่ยวกับ RemoteFunction
พารามิเตอร์
มีค่าที่จะส่งไปยัง OnServerInvoke คอลลีก
ส่งค่ากลับ
ค่าที่กลับมาจากการโทรกลับ OnServerInvoke คือ
อีเวนต์
Callbacks
OnClientInvoke
คอลแล็กนี้จะเรียกเมื่อ RemoteFunction ถูกเรียกด้วย InvokeClient() เมื่อคุณสมบัติติดตั้งกลับมา ค่าที่กลับส่งจะส่งกลับไปยังเซิร์ฟเวอร์ที่เรียก
ดู กิจกรรมและคอลแบ็ครีโมท สำหรับตัวอย่างโค้ดและรายละเอียดเพิ่มเติมเกี่ยวกับ OnClientInvoke
พารามิเตอร์
พารามิเตอร์ที่ส่งผ่าน InvokeClient()
ส่งค่ากลับ
มูลค่าที่กลับมาจากคุณสมบัติ
OnServerInvoke
คอลแล็กชันนี้จะเรียกเมื่อ RemoteFunction ถูกเรียกด้วย InvokeServer() เมื่อคุณสมบัติติดตั้งกลับมาที่ผู้เรียก ค่าที่ส่งกลับไปยังผู้เรียกจะเป็นข้อมูลกลับ
ดู กิจกรรมและคอลแบ็ครีโมท สำหรับตัวอย่างโค้ดและรายละเอียดเพิ่มเติมเกี่ยวกับ OnServerInvoke
พารามิเตอร์
Class.Player ที่เกี่ยวข้องกับลูกค้าที่ InvokeServer() เรียกมาจาก
พารามิเตอร์ที่ส่งผ่าน InvokeServer()
ส่งค่ากลับ
มูลค่าที่กลับมาจากคุณสมบัติ