LibRPC Z: Difference between revisions

From NPC for VCMP 0.4 Servers
Jump to navigation Jump to search
No edit summary
No edit summary
Line 24: Line 24:
{{!}}  
{{!}}  
{{!}}-
{{!}}-
{{!}} print( b ); <br />where b is some global variable
{{!}} '''print( b )''' <br />where b is some global variable
{{!}} RFC("print")(Z("b"))
{{!}} RFC("print")(Z("b"))
{{!}}  
{{!}}  
{{!}} -
{{!}}-
{{!}} print(b.x) <br />b is Vector
{{!}} '''print(b.x)''' <br />b is Vector
{{!}} RFC("print")(Z("b", "x") )
{{!}} RFC("print")(Z("b", "x") )
{{!}}   
{{!}}   
{{!}}}
{{!}}}
|
|
retval=Returns userdata which can be passed to F/Fa/RFC/RFCa or Z itself.|
retvals=Returns userdata which can be passed to F/Fa/RFC/RFCa or Z itself.|
relfuncs=*[[LibRPC_F|F]]}}
relfuncs=*[[LibRPC_F|F]]}}

Revision as of 05:06, 27 June 2023

This function was added in LibRPC (API 1.3) (not released as on writing this page) and will not work on previous versions.


Description:
Creates userdata when passed to RFC/F/Fa/RFCa has the effect of rawget. Unlike other functions, this is a first order function.


Parameters:

( p1, p2, ... )

p1 : If string, a rawget will be performed on the roottable and if p2 is present rawget will be performed on this object. If p1 is not string, then p2 is required.
Optional Parameters
p2, p3, ... : A key which will be popped and get operation performed on p(i-1)


Return Values:
Returns userdata which can be passed to F/Fa/RFC/RFCa or Z itself.


Example

Goal Corresponding code
FindPlayer( 0 ).Name Z( F("FindPlayer")(0), "Name" )
FindPlayer( 0 ).Pos.x Z( F("FindPlayer")(0), "Pos", "x" )
print( b )
where b is some global variable
RFC("print")(Z("b"))
print(b.x)
b is Vector
RFC("print")(Z("b", "x") )

Related Functions

The following functions may be helpful as they relate to this function in one way or another.