- Home /
Instantiate when Online or Offline.
Hello I wanna make a zombie spawned and spawned differently if the player is on a server or not online. But It only makes 1 not any more so please Help Heres my code.
using UnityEngine; using System.Collections;
public class ZombieSpawner : MonoBehaviour {
public Transform _Zombie;
public bool HasZombieSpawnedOn = false;
public bool HasZombieSpawnedOff = false;
public float SpawnTimer = 0;
public GameObject ZombiePrefab;
public void Update(){
if(Network.isServer){
SpawnOnlineZombie();
}
else{
SpawnOfflineZombie();
}
}
public void SpawnOnlineZombie(){
if(HasZombieSpawnedOn == false){
SpawnTimer += Time.deltaTime;
if(SpawnTimer >= 1){
HasZombieSpawnedOn = true;
GameObject SpawnedZombie = Network.Instantiate(ZombiePrefab, Vector3.zero, Quaternion.identity,1) as GameObject;
SpawnedZombie.transform.position = gameObject.transform.position;
SpawnTimer = 0;
_Zombie = SpawnedZombie.transform;
}
if(_Zombie == null){
HasZombieSpawnedOn = false;
}
}
}
public void SpawnOfflineZombie(){
if(HasZombieSpawnedOff == false){
SpawnTimer += Time.deltaTime;
if(SpawnTimer >= 1){
HasZombieSpawnedOff = true;
GameObject SpawnedZombie = Instantiate(ZombiePrefab, Vector3.zero, Quaternion.identity) as GameObject;
SpawnedZombie.transform.position = gameObject.transform.position;
SpawnTimer = 0;
_Zombie = SpawnedZombie.transform;
}
if(_Zombie == null){
HasZombieSpawnedOff = false;
}
}
}
}
I have encountered such a problem before: Here's what I think might be the case:
1) SpawnedZombie.transform.position = gameObject.transform.position;
This might be causing a problem as in a network, changing positions is best done using a RPC. Put a Debug.Log("Spawned") in each function and see how many times they are spawned. And if they "Spawned" comes out quite often, pause the game, go to your hierarchy and check if those zombies are spawned.
Your answer
Follow this Question
Related Questions
Network spawning 1 Answer
How can I create a simple chat system for my multiplayer game? 1 Answer
How to avoid spawn delay on client? 0 Answers
Networking Basics Big Problem 1 Answer
Spawning twice upon joining server 0 Answers