- Home /
Question by
darkal · Dec 20, 2013 at 05:01 PM ·
javascriptnetworkingcollidermultiplayertrigger
make script target player that enters collider
so my issue is that my network script creates clone of the player prefab but my wolfs trigger follow script requires the target to be set what i need is that when my player clone enters the follow trigger that player will become the target the issue is in the trigger script i will post up both to give you general idea
this is trigger script
var details : boolean = false;
var ro : boolean = false;
var target : Transform; //the enemy's target
var moveSpeed = 3; //move speed
var rotationSpeed = 3; //speed of turning
var myTransform : Transform; //current transform data of this enemy
function Awake()
{
myTransform = transform; //cache transform data for easy access/preformance
}
function Start()
{
target = GameObject.FindWithTag("Player").transform; //target the player
}
function Update () {
if (details)
if (!ro)
{
//rotate to look at the player
myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);
//move towards the player
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
}
}
function OnTriggerEnter(other : Collider)
{
if(other.tag == "Player")
{
details = true;
}
if(other.tag == "rotate")
{
ro = true;
}
}
function OnTriggerExit(other : Collider)
{
if(other.tag == "Player")
{
details = false;
}
if(other.tag == "rotate")
{
ro = false;
}
}
this is network script that spawns the player
var playerPrefab : GameObject;
var spawnObject : Transform;
var gameName : String = "level1";
private var refreshing : boolean = false;
private var hostData : HostData[];
function OnGUI () {
if(!Network.isClient && !Network.isServer) {
if (GUI.Button(Rect(Screen.width/2,Screen.height/2,100,20),"Start Server")) {
startServer();
}
if (GUI.Button(Rect(Screen.width/2,Screen.height/2 + 30,100,20),"Refresh Hosts")) {
Debug.Log("Refresh");
refreshHostList();
}
if(hostData) {
for(var i:int = 0; i<hostData.length; i++) {
if(GUI.Button(Rect(Screen.width/2,Screen.height/2 + 60,100,20),hostData[i].gameName)) {
Network.Connect(hostData[i]);
}
}
}
}
}
function Update () {
if(refreshing) {
if(MasterServer.PollHostList().Length > 0) {
refreshing = false;
Debug.Log(MasterServer.PollHostList().Length);
hostData = MasterServer.PollHostList();
}
}
}
function startServer () {
Network.InitializeServer(32,25001, !Network.HavePublicAddress);
MasterServer.RegisterHost(gameName, "Tutorial Game", " this is a tutorial");
}
function OnServerInitialized () {
Debug.Log("server initialized");
spawnPlayer();
}
function OnConnectedToServer () {
spawnPlayer();
}
function spawnPlayer () {
Network.Instantiate(playerPrefab, spawnObject.position, Quaternion.identity, 0);
}
function OnMasterServerEvent(mse:MasterServerEvent) {
if(mse == MasterServerEvent.RegistrationSucceeded) {
Debug.Log("Registered Server");
}
}
function refreshHostList () {
MasterServer.RequestHostList(gameName);
refreshing = true;
}
Comment
Your answer
Follow this Question
Related Questions
Unity networking tutorial? 6 Answers
Can't click gameobject when over another trigger? 1 Answer
Online Player Position 1 Answer
TCP and Sockets in unity 0 Answers
Collider not detecting trigger 1 Answer