@code
// example sending
void Send()
{
ScriptRPC rpc = new ScriptRPC();
rpc.Write(645);
rpc.Write("hello");
array<float> farray = {1.2, 5.6, 8.1};
rpc.Write(farray);
rpc.Send(m_Player, ERPCs.RPC_TEST, true, m_Player.GetIdentity());
}
// example receive
void OnRPC(ParamsReadContext ctx)
{
int num;
string text;
array<float> farray;
ctx.Read(num);
ctx.Read(text);
ctx.Read(farray);
}
@endcode
You will need RPCs. ERPCs is an enum in 3_Game\Enum, you can just create your own. As far as I understand, to open a window for one specific player, this player has to sent an RPC to the server, which allows the player to open that window/menu/whatever.
Search the script.pbo for RPCSingleParam() and and OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)