SendServerData

From NPC for VCMP 0.4 Servers
Revision as of 05:45, 24 January 2023 by Habi (talk | contribs)
Jump to navigation Jump to search

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


Description:
This will send data( results in calling onClientScriptData of squirrel-server )


Parameters:

(data)

data: The blob which needs to be formatted as below.
Inorder for the squirrel-plugin of server to read what is send :
1. The length of string is written before the string as two bytes.
2. The word written in (1) should be big endian. Here swap2 function can be used (2 bytes-and hence the name)


Return Values:
true on success, false on failure( instead of blob, some other instance of a class is passed )


Example

Input npcscript

local b=blob();

b.writen( 1234, 'i' );

b.writen( 10, 'b' ); //b - byte

b.writen( swap2(5), 'w' ); //w - word 

b.writen('h','c');  //c - signed char
b.writen('e','c');
b.writen('l','c');
b.writen('l','c');
b.writen('o','c');

b.writen(100.789, 'f'); //f float

SendServerData(b);

Output from server

function onClientScriptData(p){
print(Stream.ReadInt());print(Stream.ReadByte());
print(Stream.ReadString());print(Stream.ReadFloat());
}
[SCRIPT]  1234
[SCRIPT]  10
[SCRIPT]  hello
[SCRIPT]  100.789

Related Functions

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