- Home /
attching old script to Network game
I am having a problem attaching a script for an enemy tank to server, can anyone help me?
var target : Transform;
var range = 10.0;
var CannonFlame: GameObject;
static var mode = "idle";
function Awake()
{
if(Network.isServer){
target = GameObject.FindWithTag("PlayerFINAL2").transform;
CannonFlame.renderer.enabled = false;
Debug.Log("tank is alive");
networkView.RPC("MyFunction", RPCMode.Server, "someValue");
}
}
@RPC
function Update()
{
if(target && CanAttactTarget())
{
//transform.LookAt(target);
var targetRotation = Quaternion.LookRotation(target.position - transform.position, Vector3.up);
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime *1.0);
}
}
@RPC
function CanAttactTarget()
{
// check if the target is clost enough
if(Vector3.Distance(transform.position, target.position) > range)
{
Disengage();
return false;
}
var hit : RaycastHit;
//check if there is collision inbetween turret en target
if(Physics.Linecast(transform.position, target.position, hit))
{
if(hit.collider.gameObject.tag != "PlayerFINAL2")
{
Disengage();
return false;
}
else
{
Attack();
return true;
}
}
return true;
}
function Attack()
{
if(mode != "attack")
{
InvokeRepeating("FalconAnimate", 1, 0.05);
mode = "attack";
}
}
function Disengage()
{
if(mode != "idle")
{
CancelInvoke();
mode = "idle";
CannonFlame.renderer.enabled = false;
}
}
function FalconAnimate()
{
if(CannonFlame && CannonFlame)
{
if(CannonFlame.renderer.enabled)
{
CannonFlame.renderer.enabled = false;
}
else
{
CannonFlame.renderer.enabled = true;
}
}
else
{
print("Effect on Turrent not set!");
}
}
Comment
Your answer
Follow this Question
Related Questions
Networked level loading 0 Answers
network.RPC behavior 1 Answer
Server/Client problem : rpc call 1 Answer
RPC and multiplayer networking 2 Answers
Network Instantiate PlayerPrefab Problem 2 Answers