RFC: Difference between revisions

From NPC for VCMP 0.4 Servers
Jump to navigation Jump to search
No edit summary
No edit summary
Line 15: Line 15:
RFC(0,"print")("Hello how are you"); //will print the text: 'Hello how are you' on npc console(console can be shown by ShowNPCConsole() ) of npc with ID 0.
RFC(0,"print")("Hello how are you"); //will print the text: 'Hello how are you' on npc console(console can be shown by ShowNPCConsole() ) of npc with ID 0.
</source>|
</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)
{| class="wikitable"  
{| class="wikitable"  
|-
|-
Line 41: Line 41:
| Functions
| Functions
| F("print")(500)<br />See [[F]]
| F("print")(500)<br />See [[F]]
|}
|}|
}}
}}

Revision as of 15:35, 26 January 2023

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


Description:
This method is used to call client functions from server script using streams as medium. 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 )

//You can also do this in one line
RFC(0,"print")("Hello how are you"); //will print the text: 'Hello how are you' on npc console(console can be shown by ShowNPCConsole() ) of npc with ID 0.