Я делаю командную игру Deathmatch, когда кто-то умер, умерший парень вызывает метод RPC, который добавляет счет против команды через PhotonTargets. Все размещено в моем скрипте менеджера игр.
У меня проблема:
Обычные клиенты убивают друг друга, и счет команды 2-2, но когда мастер-клиент убивает кого-то, это должно быть 3-2, это работает только для тех, кто играет в это время. Но если кто-то присоединится к игре позже, они все еще видят Счет 2-2. Так что это не работает только для добавленной оценки главного клиента.
Это скрипт здоровья игрока
[PunRPC]
public void TestDmg(int damage,string shootername)
{
health -= damage;
if (health <= 0)
{
if (photonView.isMine)
{
if (GetComponent<TeamBase>().myTeam == TeamBase.Team.team1)
{
gameManager.photonView.RPC("AddScoreToTeam2", PhotonTargets.AllBuffered,10);
}
else if (GetComponent<TeamBase>().myTeam == TeamBase.Team.team2)
{
gameManager.photonView.RPC("AddScoreToTeam1", PhotonTargets.AllBuffered, 10);
}
}
health = 100;
}
}
Это скрипт диспетчера игр
[PunRPC]
public void AddScoreToTeam1(int score)
{
team1Score += score;
}
[PunRPC]
public void AddScoreToTeam2(int score)
{
team2Score += score;
}