var gameName : String = “Murate3dServer”;
private var hostData : HostData;
private var refreshing : boolean = true;
private var buttonX : float;
private var buttonY : float;
private var buttonWidth : float;
private var buttonHeight : float;
private var serverStatus : String = “Start Server”;
private var refreshStatus : String = “Refresh Master Server List”;
function Start(){
buttonX = Screen.width * 0.01;
buttonY = Screen.height * 0.01;
buttonWidth = Screen.width * 0.2;
buttonHeight = Screen.height * 0.1;
}
function StartServer(){
var useNat = !Network.HavePublicAddress();
Network.InitializeServer(32,25001, useNat);
MasterServer.RegisterHost(gameName, “Murate 3d”, “A natural interaction ambient”);
}
function RefreshHostList(){
MasterServer.RequestHostList(gameName);
refreshing = true;
}
function Update(){
if(refreshing){
if(MasterServer.PollHostList().length){
refreshing= false;
Debug.Log(MasterServer.PollHostList().length);
hostData = MasterServer.PollHostList();
refreshStatus = “MasterListServer Refreshed”;
}
}
}
function OnServerInitialized() {
Debug.Log(“Server Started”);
serverStatus = “Server Started”;
}
function OnMasterServerEvent(mse:MasterServerEvent){
if(mse == MasterServerEvent.RegistrationSucceeded){
Debug.Log(“Registered Succeded”);
serverStatus = “Registered Succeded”;
}
}
function OnGUI(){
if(GUI.Button(Rect(buttonX, buttonY, buttonWidth, buttonHeight), serverStatus)){
Debug.Log(“Starting Server”);
StartServer();
}
if(GUI.Button(Rect(buttonX, 1.5 * buttonY + buttonHeight, buttonWidth, buttonHeight), refreshStatus)){
Debug.Log(“Refreshing Hosts”);
refreshStatus = “Refreshing MasterListServer”;
RefreshHostList();
}
if(hostData){
Debug.Log(“inside host data”);
for(var i: int = 0; i < hostData.length; i++){
if(GUI.Button(Rect(buttonX * 1.5 + buttonWidth, buttonY * 1.2 + (buttonHeight * i), buttonWidth, buttonHeight), hostData*.gameName)){*
_ Network.Connect(hostData*);_
_ }_
_ }_
_ } _
_}_
_[/QUOTE]_
Here i paste the client one
_
[quote]*_
var gameName : String = “Murate3dServer”;
var spawnObject : Transform;
var playerPrefab : GameObject;
private var hostData : HostData[ ];
private var refreshing : boolean = true;
private var buttonX : float;
private var buttonY : float;
private var buttonWidth : float;
private var buttonHeight : float;
function Start(){
_ buttonX = Screen.width * 0.01;
buttonY = Screen.height * 0.01;
buttonWidth = Screen.width * 0.1;
buttonHeight = Screen.height * 0.1;_
* RefreshHostList();*
}
function Update(){
* if(refreshing){*
* if(MasterServer.PollHostList().length){*
* refreshing = false;*
* Debug.Log(MasterServer.PollHostList().length);*
* hostData = MasterServer.PollHostList();*
* }*
* }*
* if(refreshing == false){*
* RefreshHostList();*
* } *
}
function RefreshHostList(){
* Debug.Log(“Inside RefreshHostList()”);*
* MasterServer.RequestHostList(gameName);*
* refreshing = true;*
}
function OnConnectedToServer() {
* Debug.Log(“Connected to server i call SAPWNPLAYER”);*
SpawnPlayer();
}
// Create player on Scene
function SpawnPlayer(){
* Network.Instantiate(playerPrefab, spawnObject.position, spawnObject.rotation, 0);*
* Debug.Log(“istantiate player”);*
}
function OnGUI(){
* if(!Network.isClient !Network.isServer){*
* if(hostData){*
* for(var i: int = 0; i < hostData.length; i++){*
* if(GUI.Button(Rect(buttonX, buttonY, buttonWidth + 50, buttonHeight), “Connect to Murate3D”)){*
_ Network.Connect(hostData*);
Debug.Log(“ConnectHostData”);*_
* }*
* }*
* }else{*
* GUI.Button(Rect(buttonX, buttonY, buttonWidth + 50, buttonHeight), “Server is Offline”);*
* }*
* }*
}
[/QUOTE]
Then i’ve attached to my cubes a script to control if component is of the istantiated cube.
_*
[quote]
function Update () {
if (networkView.isMine)
{
//GetComponent(“MouseLook”).enabled = true;
GetComponent(“CharacterController”).enabled = true;
GetComponent(“CharacterMotor”).enabled = true;
GetComponent(“PlatformInputController”).enabled = true;
}else{*_
* GetComponent(“CharacterController”).enabled = false;*
* GetComponent(“CharacterMotor”).enabled = false;*
* GetComponent(“PlatformInputController”).enabled = false;*
* /*
* }*
}
*[/quote]
*
Camera one
_*
[quote]*
function Start (){_
if(networkView.isMine){
GetComponent(Camera).enabled = true;
}
else{
GetComponent(Camera).enabled = false;
}
}
*[/quote]
*
This is my prefab:
My client running:
*[/quote]
*