Страница 1 из 1

Как отправить RPC с данными о дамаге

СообщениеДобавлено: 17 июл 2014, 09:09
jimmm
На объекте оружия есть функция OnCollisionEnter вычисляющая силу удара с другим объектом.
Синтаксис:
Используется csharp
void OnCollisionEnter(Collision col) {
                if (col.relativeVelocity.magnitude > 0){
                        dmg = WeaponDamage * col.relativeVelocity.magnitude;
                        HitCol = col.gameObject.name;
                                Debug.Log (gameObject.name + " hit " + HitCol + " with " + dmg);
                }
        }

Как отправить данные по RPC о наносимом дамаге тому объекту с которым было столкновение??
Синтаксис:
Используется csharp
Health h = HitCol.transform.GetComponent<Health>(){
        if (h != null){
                h.GetComponent<PhotonView>().RPC("TakeDamage", PhotonTargets.All, dmg);
        }
}

как сделать правильно?

Re: Как отправить RPC с данными о дамаге

СообщениеДобавлено: 17 июл 2014, 14:04
gnoblin
выглядит достаточно правильно

Re: Как отправить RPC с данными о дамаге

СообщениеДобавлено: 17 июл 2014, 15:34
jimmm
Но только вот отправление значения с дамагом не происходит
Как можно подправить вторую част кода?

Сам исправил ошибку, HitCol был string,

Re: Как отправить RPC с данными о дамаге

СообщениеДобавлено: 22 авг 2014, 13:14
scorp2007
ПОдскажите пожалуйста такую вещь, я подобным образом отправляю RPC, получаю в итоге в функции RPC нужный gameObject (на который надо воздействовать), но например здоровье у меня хранится в отдельном публичном классе Storage.cs, со значение public static float PlayerHp;
Как мне воздействовать на эту переменную через нужный gameObject? В остальных местах просто вызываю в любом скрипте Storage.PlayerHp-=100 например... но как воздействовать на него через конкретный gameObject который я получаю по info.photonView.gameObject в RPC функции? (которому дамаг и надо делать)... :-?