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

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

Сообщение jimmm 17 июл 2014, 09:09

На объекте оружия есть функция 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);
        }
}

как сделать правильно?
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

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

Сообщение gnoblin 17 июл 2014, 14:04

выглядит достаточно правильно
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

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

Сообщение jimmm 17 июл 2014, 15:34

Но только вот отправление значения с дамагом не происходит
Как можно подправить вторую част кода?

Сам исправил ошибку, HitCol был string,
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

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

Сообщение scorp2007 22 авг 2014, 13:14

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


Вернуться в Photon

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1