Advertisement
Level7Crew

Unity 3D Mutiplayer Script

Jan 11th, 2014
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Network Mutiplayer Script developed by Jordan over at https://twitter.com/SecurityAnalyst
  2. //Unity 3D
  3.  
  4. var playerPrefab:GameObject;
  5. var spawnObject:Transform;
  6. var gameName:String = "CGCookie_Tutorial_Networking";
  7.  
  8. private var refreshing:boolean;
  9. private var hostData:HostData[];
  10.  
  11. private var btnX:float;
  12. private var btnY:float;
  13. private var btnW:float;
  14. private var btnH:float;
  15.  
  16. function Start(){
  17.     btnX = Screen.width * 0.1;
  18.     btnY = Screen.height * 0.1;
  19.     btnW = Screen.width * 0.2;
  20.     btnH = Screen.width * 0.2;
  21.  
  22. }
  23.  
  24. function startServer(){
  25.     Network.InitializeServer(32, 25001,  !Network.HavePublicAddress);
  26.     MasterServer.RegisterHost(gameName, "Tutorial Game Name", "Tutorial Game Name");
  27. }
  28.  
  29. function refreshHostList(){
  30.     MasterServer.RequestHostList(gameName);
  31.     refreshing = true;
  32. }
  33.  
  34. function Update(){
  35.    if(refreshing){
  36.        if(MasterServer.PollHostList().Length > 0){
  37.            refreshing = false;
  38.            Debug.Log(MasterServer.PollHostList().Length);
  39.            hostData = MasterServer.PollHostList();
  40.  
  41.        }
  42.    
  43.    }
  44.  
  45. }
  46.  
  47. function spawnPlayer(){
  48.     Network.Instantiate(playerPrefab, spawnObject.position, Quaternion.identity, 0);
  49. }
  50.  
  51.  
  52. //Message
  53. function OnServerInitialize(){
  54.     Debug.Log("Server initialzed!");
  55.     spawnPlayer();
  56. }
  57. function OnConnectedToServer(){
  58.     spawnPlayer();
  59. }
  60.  
  61.  
  62. function OnMasterServerEvent(mse:MasterServerEvent){
  63.     if(mse == MasterServerEvent.RegistrationSucceeded){
  64.         Debug.Log("Registered Server!");
  65.    
  66.     }
  67. }
  68.  
  69. //gui
  70. function OnGUI(){
  71.     if(Network.isClient && !Network.isServer){
  72.     if(GUI.Button(Rect(btnX, btnY, btnW, btnH), "Start Server")){
  73.        Debug.Log("Starting Server");
  74.        startServer();
  75.      }
  76.    
  77.    
  78.     if(GUI.Button(Rect(btnX, btnY * 1.2 + btnH, btnW, btnH), "refresh Host")){
  79.        Debug.Log("refreshing");
  80.        refreshHostList();
  81.     }
  82.    
  83.     if(hostData){
  84.         for(var i:int = 0; i <hostData.length; i++){
  85.             if(GUI.Button(Rect(btnX *1.5 +btnW, btnY*1.2 + (btnH * i), btnW*3, btnH*0.5), hostData[i].gameName);
  86.                Network.Connect(hostData[i]);
  87.             }
  88.          }
  89.         }
  90.     }
  91.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement