RFC: Difference between revisions

From NPC for VCMP 0.4 Servers
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
<poem>::npcid : The ID of the target npc on whose environment the function will be searched.
<poem>::npcid : The ID of the target npc on whose environment the function will be searched.
::funcname : The name of the remote function</poem>|
::funcname : The name of the remote function</poem>|
example=
<poem>Server Side</poem><source lang="lua">
StartPlayback <- RFC(0, "StartRecordingPlayback"); //creates a function object locally. Not yet communicate with npc.
StartPlayback(1,"runtolake"); //will search and execute StartRecordingPlayback(1, "runtolake") on npcscript.(of NPC with ID 0 )
</source>|
retvals= This will return a function object which can be used as if it is the remote function itself.(except of return values)|
retvals= This will return a function object which can be used as if it is the remote function itself.(except of return values)|
}}
}}

Revision as of 18:42, 23 January 2023

This function was added in v1.6 beta and will not work on previous versions.


Description:
Calling RFC will returns function which can be used to call remote functions of npcscripts( i.e. functions in npcscripts: StartRecordingPlayback, SendDeathInfo, .. ) when called with their parameters. Note that a single call to RFC(..) will return function and a double call RFC(..)(param1, param2, .. ) where param1, param2 are parameters of remote function only will call the remote function.


Parameters:

(npcid, [string]funcname)

npcid : The ID of the target npc on whose environment the function will be searched.
funcname : The name of the remote function


Return Values:
This will return a function object which can be used as if it is the remote function itself.(except of return values)


Example

Server Side

StartPlayback <- RFC(0, "StartRecordingPlayback"); //creates a function object locally. Not yet communicate with npc.
StartPlayback(1,"runtolake"); //will search and execute StartRecordingPlayback(1, "runtolake") on npcscript.(of NPC with ID 0 )