верно понял все. А насчет ошибки - это надо смотреть в том контексте, куда ты это запихнул. Например, this в классе PlayerBase означает персонажа игрока класса PlayerBase, т.е. объект того класса. куда ты функцию впихнул. В другом своем классе этого может вовсе не существовать, т.е. будет корректнее вместо
void MyCommand() // создаем свою функцию, например, для отправки комманды на клиент
{
private PlayerIdentity v_PlayerIdentity = this.GetIdentity(); // получаем идентификатор игрока
if (v_PlayerIdentity) // проверяем, еть ли идентификатор у игрока (вдруг труп уже или отключен)
{
private string control_value = "true"; // формируем переменную для отправки игроку
private Param1< string > v_Param = new Param1< string >(control_value ); // записываем переменную для отправки игроку
GetGame().RPCSingleParam(this, My_Custom_RPC.My_Custom_RPC_1, v_Param, true, v_PlayerIdentity); // отправляем переменную игроку
}
}
использовать такую функцию например
void MyCommand(PlayerBase player) // создаем свою функцию, например, для отправки комманды на клиент
{
private PlayerIdentity v_PlayerIdentity = player.GetIdentity(); // получаем идентификатор игрока
if (v_PlayerIdentity) // проверяем, еть ли идентификатор у игрока (вдруг труп уже или отключен)
{
private string control_value = "true"; // формируем переменную для отправки игроку
private Param1< string > v_Param = new Param1< string >(control_value ); // записываем переменную для отправки игроку
GetGame().RPCSingleParam(player, My_Custom_RPC.My_Custom_RPC_1, v_Param, true, v_PlayerIdentity); // отправляем переменную игроку
}
}
с передачей персонажа игрока в функцию. Надеюсь смысл понят.
это существует лишь в классе PlayerBase, советую изучить структуру оригинального класса игры, а также хотя бы гайд-статью из темы