Question by
Wesley21spelde · Jan 15, 2016 at 10:41 AM ·
destroynot workingrpc
rpc not working
hey guys i got this for my online enemy health but it still does not work in my client the Enemy is destroyed and yes it got a photonView on it looking at the enemy health script
but on my other client it does not addjust the current health so it is destroyed on all clients.
i just want to get this working for online play but you alreddy know that so if someone knows a better way or would assjust my schript that would be awsome thanks guys
using UnityEngine;
using System.Collections;
using System;
public class EnemyHealth : MonoBehaviour
{
public int maxHealth = 100;
public int curHealth = 100;
public float damage = 10.0f;
void Start()
{
//dh = GameObject.Find("HealthBar").GetComponent<DisplayHealth>();
}
void OnGUI()
{
// GUI.Box(new Rect(10, 40, healthBarLength, 20), curHealth + "/" + maxHealth);
}
[PunRPC]
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "Bullet")
{
var pv = GetComponent<PhotonView>();
if (pv == null)
{
Debug.LogError("Freak Out!");
}
else
{
pv.RPC("AddjustCurrentHealth", PhotonTargets.All, damage);
AddjustCurrentHealth(-10);
}
}
}
[PunRPC]
public void AddjustCurrentHealth(int adj)
{
curHealth += adj;
if (curHealth < 0)
curHealth = 0;
if (curHealth > maxHealth)
curHealth = maxHealth;
if (maxHealth < 1)
maxHealth = 1;
if (curHealth < 10)
Die();
// healthBarLength = (Screen.width / 2) * (curHealth / (float)maxHealth);
}
[PunRPC]
void Die()
{
Destroy(gameObject);
}
}
using UnityEngine;
using System.Collections;
public class Rocket : MonoBehaviour
{
public float damage = 10.0f;
public float lifetime = 1.0f;
void Start()
{
}
void Update()
{
}
void Awake()
{
Destroy(gameObject, lifetime);
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Enemy")
{
DestroyObject(other.gameObject);
Destroy(gameObject);
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Why wont the target be destroyed? 0 Answers
Pause Menu not showing 1 Answer
The requested feature is not implemented. 0 Answers
Destroying prefabs breaking scripting for other prefabs 0 Answers