Помогите с скриптом! На unity с Photon

Мне нужно чтобы в мп с photon было оружие! Я написал скрипт. На сцене есть slider то есть это хп. Но когда я стреляю в игрока пишет что метода нету который уже в другом скрипте. метод называется setDamage.
Вот скрипт игрока -
Всё управление писать не стал.
И да почему-то [PunRPC] не пишеться.

using System;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.SceneManagement;



namespace UnityStandardAssets.Characters.ThirdPerson
{
	[RequireComponent(typeof(Rigidbody))]
	[RequireComponent(typeof(CapsuleCollider))]
	[RequireComponent(typeof(Animator))]
	public class ThirdPersonCharacter : MonoBehaviour
	{
		[SerializeField] float m_MovingTurnSpeed = 360;
		[SerializeField] float m_StationaryTurnSpeed = 180;
		[SerializeField] float m_JumpPower = 12f;
		[Range(1f, 4f)][SerializeField] float m_GravityMultiplier = 2f;
		[SerializeField] float m_RunCycleLegOffset = 0.2f; //specific to the character in sample assets, will need to be modified to work with others
		[SerializeField] float m_MoveSpeedMultiplier = 1f;
		[SerializeField] float m_AnimSpeedMultiplier = 1f;
		[SerializeField] float m_GroundCheckDistance = 0.1f;


		public GameObject cam;

		Rigidbody m_Rigidbody;
		Animator m_Animator;
		bool m_IsGrounded;
		float m_OrigGroundCheckDistance;
		const float k_Half = 0.5f;
		float m_TurnAmount;
		float m_ForwardAmount;
		Vector3 m_GroundNormal;
		float m_CapsuleHeight;
		Vector3 m_CapsuleCenter;
		CapsuleCollider m_Capsule;
		bool m_Crouching;
		public GameObject GamePlayUI;
		public Slider HPBar;
		public float Health;


		void Start()
		{
			GamePlayUI = GameObject.Find("GamePlayUI");
			GamePlayUI.transform.GetChild(0).gameObject.SetActive(true);
			HPBar = GamePlayUI.transform.GetChild(0).GetComponent<Slider>();
			GamePlayUI.SetActive(true);
			m_Animator = GetComponent<Animator>();
			m_Rigidbody = GetComponent<Rigidbody>();
			m_Capsule = GetComponent<CapsuleCollider>();
			m_CapsuleHeight = m_Capsule.height;
			m_CapsuleCenter = m_Capsule.center;

			m_Rigidbody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY | RigidbodyConstraints.FreezeRotationZ;
			m_OrigGroundCheckDistance = m_GroundCheckDistance;
		}


		 void Update()
		{
			HPBar.value = Health;
		}

		
		
		public void setDamage(float damage)
		{
			Health -= damage;
			if (Health <= 0)
			{
				Application.Quit();
			}
		}

Вот скрипт оружия -

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.Characters.ThirdPerson;

public class Gun : MonoBehaviour
{
    public float damage;
    public GameObject owner;
    Ray ray;
    RaycastHit hit;
    public float distance;
    public AudioClip clip;


    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {

        if (owner.GetComponent<PhotonView>().isMine)
        {
            ray = new Ray(owner.GetComponent<ThirdPersonCharacter>().cam.transform.position, owner.GetComponent<ThirdPersonCharacter>().cam.transform.forward);
            if (Input.GetMouseButtonDown(0))
            {
                GetComponent<AudioSource>().PlayOneShot(clip);
                if(Physics.Raycast (ray, out hit, distance))
                {
                    Debug.Log("Попал в " + hit.transform.name);
                    if(hit.transform.tag == "Player")
                    {
                        PhotonNetwork.RPC(hit.transform.GetComponent<PhotonView>(), "setDamage", PhotonTargets.All, true, damage);
                    }
                }
            }
        }

    }
}

Получаете ошибку, или что?
Кто ругается на отсутствие метода?

Я в принципе понял в чём ошибка. Мне нужно вписать [PunRPC] в скрипт ThirdPersonCharacter из стандартных ассетов, но функции Photon’a там не работают. Что делать?

У Вас есть фраза:

Что такое слайдер понятно.
Не понятно - что такое ХП, и какое имеет отношение к слайдеру?

Это здоровье игрока, но это щас не важно

Мне надо понять как это сделать

хз как фотон работает, но может тут нужен тот тип, в котором нужный метод находится?) То есть ThirdPersonCharacter.

И вы это откуда взяли, какой версии фотон? В его документации что-то не видно метода RPC с такими параметрами.

  1. Нет я уже пробовал точно не так.
  2. Photon Unity Networking Classic в Asset Store . Там есть такой метод 100%

В других скриптах эта функция работает.

Так а не проще сделать отдельный скрипт, зачем в ThirdPersonCharacter это?

Впрочем если вы и так его редактировали, то непонятно что мешает туда и PunRPC вписать. Что выдает?

Я делал ещё так копировал весь скрипт и вставлял в новый там работали функции photon, но сам этот скрипт почему-то плохо работает. Я его редачил да, но только самые обычные функции я писал там. Но я не могу написать PunRPC потому что нету методов от фотона. Как я понял что это метод фотона? Потому что я не могу писать PhotonNetwork в том скрипте.

Странно, это вроде обычный класс со static методами. А что выдает?

Именно где должно выдавать? В консоле когда я стреляю в игрока или в visual studio?

Ну вы ж как-то узнали что “не можете там писать PhotonNetwork”. Как именно это узнали?)

Не всплывают функции фотона

Обычно, когда пишешь что-то в visual studio, то показываются примеры что там можно написать.

Для начала стоит убедиться, что это не просто баг редактора попробовав запустить.

Вообще похоже тут с неймспейсами что-то не то.

Может надо добавить

using Photon;

Уже пробовал. Ладно щас ещё раз попробую

Ой, вот я как Вы жду не дождусь когда-же студия исправит баги и по бухтению с микрофона начнет отрисовывать норм функции. А то все фигня какая-то генерится. То наверное ИИ кривой. Наверное триал-версия ))

Не робит