Случайное число Одинаково как на клиенте, так и на сервере

Я хочу, чтобы случайное число было одинаковым на клиенте и сервере. Я делаю это с Random.Range(min,max)

но проблема в том, что он дает мне случайное число, отличающееся как на сервере, так и на клиенте, что портит мою игру.

Я пробовал [SyncVar] для переменной и [ServerCallBack] для метода (который возвращает только случайное число)

Но оба не работают

Может кто-нибудь помочь?

Код:

[ServerCallback]
int NewRandom(int maxLimit)
{
    //if (this.transform.parent.GetComponent<NetPlayerCheck>().isPlayer1) {
    //if (Network.isServer) { 
    return Random.Range(0, maxLimit);
    //}
}

[SyncVar] int rand = newRandom(5);

person Anamta Khan    schedule 20.04.2016    source источник
comment
Человек покажи код, SyncVar и ServerCallBack нам ничего не дают   -  person Nika Kasradze    schedule 20.04.2016
comment
если ServerCallBack не работает, то, возможно, вам нужно сначала сосредоточиться на исправлении соединения, я не знаю...   -  person Nika Kasradze    schedule 20.04.2016


Ответы (1)


Если и сервер, и клиент выбирают случайное число, конечно, они будут разными. Почему бы не получить случайное число со стороны сервера и передать клиенту, если оба должны быть одинаковыми?

person Onur Keskin    schedule 20.04.2016
comment
Я использовал [ServerCallback] для этого, но я не уверен, что это правильный способ сделать это. - person Anamta Khan; 20.04.2016
comment
Ознакомьтесь с этой статьей: forum.unity3d.com/threads/syncing- a-random-number.199433 Читать до конца.. - person Onur Keskin; 20.04.2016
comment
Я рад это слышать :) удачи! - person Onur Keskin; 21.04.2016