Quantcast
Channel: Questions in topic: "parenting"
Viewing all articles
Browse latest Browse all 302

Error with parenting spawned weapon on client side

$
0
0
Hi guys! After week "having fun" with parenting I gave up. So my game is TPS, where i have two weapons: rifle and pistol. In game player will have option to change it. On the host side everything works beautiful, but on client no :( . Objects, that i spawned, aren't parented. Probably weapon change part also wouldn't going to work. using UnityEngine; using System.Collections; using UnityEngine.Networking; public class bodyanimcontroler : NetworkBehaviour { Animator animator; int indeks; float rotation; float xRotate; public static bool busy = false; public static int direction = 1; public GameObject secondary; public Transform main; public GameObject holder; GameObject sec; GameObject prim; public GameObject pist; public GameObject rifle; // Use this for initialization void Start () { animator = GetComponent(); Cmdspawngun(); } [Command] public void Cmdspawngun() { prim = (GameObject)Instantiate(rifle, holder.transform.position, holder.transform.rotation); sec = (GameObject)Instantiate(pist, secondary.transform.position, secondary.transform.rotation); prim.transform.SetParent(holder.transform); sec.transform.SetParent(secondary.transform); NetworkServer.Spawn(sec); NetworkServer.Spawn(prim); } // Update is called once per frame void Update() { if (Input.GetKey("r") && busy == false) { StartCoroutine(Reload()); } xRotate = Input.GetAxis("Mouse Y") * CameraControl.mouseSens; float oldrot = rotation; rotation = xRotate + rotation; if (rotation > -60 && rotation < 60) { animator.SetFloat("look", rotation); } else { rotation = oldrot; } if (Input.GetButtonDown("Change weapon") && busy == false) { StartCoroutine(change()); } } IEnumerator change() { busy = true; animator.SetFloat("chg", -direction); animator.SetTrigger("change"); yield return new WaitForSeconds(0.25f); if (direction == 1) { prim.transform.parent = main.transform; prim.transform.position = main.transform.position; prim.transform.rotation = main.transform.rotation; } else { sec.transform.parent = secondary.transform; sec.transform.position = secondary.transform.position; sec.transform.rotation = secondary.transform.rotation; } yield return new WaitForSeconds(0.5f); if (direction == 1) { sec.transform.parent = holder.transform; sec.transform.position = holder.transform.position; sec.transform.rotation = holder.transform.rotation; } else { prim.transform.parent = holder.transform; prim.transform.position = holder.transform.position; prim.transform.rotation = holder.transform.rotation; } yield return new WaitForSeconds(0.25f); direction *= -1; busy = false; } IEnumerator Reload() { busy = true; animator.SetTrigger("reload"); yield return new WaitForSeconds(1.1f); busy = false; } } Please help me guys. i haven't any ideas...

Viewing all articles
Browse latest Browse all 302

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>