SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Unity Admob Erro
Mais Um jogo!
DEATH ISLAND 0.2.5 SURVIVAL GAME 4 ANOS EM DESENVOLVIMENTO
Player travando na colisão com o chão Unity 2D
Sombras estão quadradas na build
nao consigo fazer o player sentar no sofa alguem me ajuda
Unity - Ao mudar de scene, todas as Lights são deletadas
210 Linhas de código para inimigo é muito grande?
modelar avatar e skins para um jogo web
Collider (mesh?)
ShapeKeys do Blender para a Unity altera áreas próximas
COMO EVITAR QUE UM OBJETO (PLAYER,ITEM ETC...) ATRAVESSE UMA PAREDE.
Ajuda em Script de Verificação de Ação e Reação
unity Failed to load PlayerSettings (internal index #0). Most likely data f
PRECISO FAZER QUE MEU GAME FIQUE ONLINE
Materiais do Blander não aparecem no MeshRendere do Objeto na Unity
Repetiçoes de Textura no Terreno
SERVER IS DOWN - UNITY+MSQL
Procuro programadores - Novo jogo
Problema com o MS VEHICLES
Preciso de ajuda com a Unity
Problema com vídeo em 360° na Unity
Problemas no MS Vehicles
unity- eventos na Animação com Armature/Bones vinda do blender não funciona
ajuda exibir resultados simulados em uma liga Game Unity
Unity - ParticleSystem não é redirecionado no rawimage no canvas
Como resolver o problema de "face orientation" no Blender.
[DÚVIDA] Tive um problema com meu Canvas
erro na Directional Light
Problemas com o Directional Light da Unity 3D
Novo jogo da franquia Sphere game em desenvolvimento
malha da roda não girando com wheel collider unity
Problemas com ambiguidade
Touch mobile
INVALID TOKEN
Como acessar o "HD Render Pipeline" do HDRP por script?
CHAT GPT PRA JOGO DE TIRO? comentem
Tutorial script inimigo segue e foge do player
Ainda vale a pena lançar Asset na Asset Store?
Ajuda com tabela de historico de pontuaçao.
[TUTORIAL] Entrar no carro estilo GTA
Como derrapar um Whell Collider
Como altertar o valor do "Asymptote Value" do Whell Collider via Script
Preciso de ajuda para substituir valor de variavel em outro script
Ajuda com Top Down Shooter utilizando Photon
Duvida com Netcode
[RESOLVIDO] Unity - Movendo a Câmera na Horizontal/Vertical com Touch
Alguém me ajuda com os anúncios pfv
Segundo Trailer do jogo Dark Age, Feliz Natal a todos!
Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
Coleta de itens
Unity - Cadastro do email do jogador
[GRATIS] PACK DE MODELOS 3D PARA JOGO DE TERROR
Onde Conseguir músicas para meu Jogo?
error CS0246 em Script
Alguem teve ja esse problema?
[Projeto em Andamento] Draug, um jogo de hordas
DISPONIVEL PARA FAZER MODELOS 3D
Unity-Loja.Como os Jogadores terão acesso aos ítens comprados na PlayStore?
Bugando depois do Build.
Primeiro Trailer do jogo Dark Age
Problema com sombra
Mesh e Material do objeto trocando para uma instancia no inicio do jogo
[RESOLVIDO] Unity - RawImages_Layer_Camera
INVESTIMENTO EM JOGOS E BANCO DE TALENTO
Teaser do meu novo projeto pessoal, Dark Age
Preciso de ajuda com mudança para mobile androide.
[RESOLVIDO] Posição final do objeto em jogo 2D
Input.GetAxis() obedercer a orientação de um objeto.
Interação com elementos UI
Meu primeiro jogo na steam
Minimap/Radar/GPS Estilo GTA V
[RESOLVIDO] Erro no console depois que formatei o pc
PACK GRÁTIS de Músicas ELETRÔNICAS para ajudar vocês em seus Jogos Indies!
[TUTORIAL] Entenda como funciona: ENUM, SWITCH, BREAK, CASE no C#
O Labirinto II - Baixe o Jogo
Qual e o codigo de Botões na unity para saber seus estados?
Como carregar itens pequenos dentro do carro sem que atravesse os colliders
[Duvida] Script pegar itens
Travamento ao trocar de cena
Colisão zoada e movimentação
Salvar objetos que foram destruidos entre cenas na unity
Quero começa a desenvolver um jogo de luta porem eu queria aprender a faze
Pegar qual objeto colidiu com o Linecast.
movimentação e camera?
[RESOLVIDO] Unity - SceneManager.LoadScene abre scene com objeto "vazio"
[RESOLVIDO] ajuda sobre skybox
MEU SIMULADOR DE CARRO
[_____IMPORTANTE_____] ALTERAÇÕES NA POLÍTICA DE COBRANÇA DA UNITY
[RESOLVIDO] Ausencia da funçao NavMesh na Unity 2022.2.12
[_____IMPORTANTE_____] ALTERAÇÕES NA POLÍTICA DE COBRANÇA DA UNITY - 2
Roll Up Um jogo de aventura e desáfios
Terminologia da Unity em outras engines
Como criar a iluminação do Sol no Sistema Solar?
Conexão de lobby pelo OnConnectedToMaster
Problema na exportção de projeto unity
[RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Unity - Banco de Dados Online junto ao Jogo
Player virar para o inimigo(Prefab)
Seg Abr 15, 2024 12:23 pm
Sáb Abr 13, 2024 11:37 am
Qua Abr 10, 2024 1:33 am
Ter Abr 09, 2024 10:28 am
Seg Abr 08, 2024 9:27 pm
Seg Abr 08, 2024 8:01 am
Sáb Abr 06, 2024 8:05 pm
Qui Abr 04, 2024 11:34 pm
Qui Abr 04, 2024 11:13 pm
Qui Abr 04, 2024 11:10 pm
Sex Mar 22, 2024 2:41 pm
Dom Mar 10, 2024 2:30 pm
Sex Mar 01, 2024 1:27 pm
Qui Fev 22, 2024 9:57 pm
Ter Fev 20, 2024 9:28 am
Ter Fev 20, 2024 12:15 am
Seg Fev 19, 2024 1:06 pm
Seg Fev 12, 2024 1:56 pm
Seg Fev 12, 2024 1:17 pm
Dom Fev 11, 2024 8:55 pm
Dom Fev 11, 2024 11:16 am
Seg Fev 05, 2024 4:18 pm
Dom Fev 04, 2024 9:39 pm
Qua Jan 31, 2024 11:59 pm
Ter Jan 30, 2024 7:37 pm
Ter Jan 23, 2024 6:33 pm
Dom Jan 21, 2024 6:03 pm
Sáb Jan 20, 2024 7:03 pm
Sáb Jan 20, 2024 6:58 pm
Sáb Jan 20, 2024 6:39 pm
Sex Jan 19, 2024 8:40 am
Dom Jan 14, 2024 5:30 pm
Qua Jan 10, 2024 10:29 pm
Qua Jan 10, 2024 8:55 pm
Qua Jan 10, 2024 7:14 pm
Ter Jan 09, 2024 3:55 pm
Ter Jan 09, 2024 8:04 am
Sáb Jan 06, 2024 8:02 pm
Sex Jan 05, 2024 7:01 am
Sex Jan 05, 2024 12:12 am
Qui Jan 04, 2024 6:55 pm
Qui Jan 04, 2024 12:52 pm
Qui Jan 04, 2024 4:34 am
Ter Jan 02, 2024 11:48 pm
Dom Dez 31, 2023 7:25 pm
Qua Dez 27, 2023 5:44 pm
Qua Dez 27, 2023 3:08 pm
Sáb Dez 23, 2023 7:27 pm
Sáb Dez 23, 2023 5:06 pm
Qui Dez 21, 2023 8:10 pm
Seg Dez 18, 2023 2:04 pm
Sex Dez 15, 2023 5:11 pm
Qui Dez 14, 2023 9:13 pm
Qui Dez 14, 2023 2:47 pm
Qui Dez 14, 2023 1:48 pm
Qua Dez 13, 2023 8:58 pm
Ter Dez 12, 2023 2:32 pm
Seg Dez 11, 2023 1:53 pm
Qua Dez 06, 2023 8:13 pm
Sáb Dez 02, 2023 8:06 pm
Qui Nov 30, 2023 7:49 am
Seg Nov 27, 2023 1:35 am
Qua Nov 22, 2023 7:37 am
Qui Nov 09, 2023 1:22 pm
Seg Nov 06, 2023 11:59 am
Ter Out 31, 2023 9:53 am
Dom Out 29, 2023 8:05 pm
Dom Out 29, 2023 3:03 am
Sex Out 27, 2023 3:43 pm
Sex Out 27, 2023 3:28 pm
Qua Out 25, 2023 1:20 pm
Seg Out 23, 2023 10:34 am
Dom Out 22, 2023 6:55 pm
Qui Out 19, 2023 11:57 pm
Qui Out 19, 2023 6:39 pm
Ter Out 17, 2023 6:37 pm
Ter Out 17, 2023 6:18 pm
Seg Out 16, 2023 1:59 pm
Sáb Out 14, 2023 12:15 pm
Qua Out 11, 2023 6:07 pm
Seg Out 09, 2023 4:19 pm
Qua Out 04, 2023 12:12 pm
Qua Out 04, 2023 12:11 pm
Ter Out 03, 2023 9:18 pm
Ter Out 03, 2023 9:08 pm
Ter Out 03, 2023 6:05 pm
Ter Set 26, 2023 12:45 pm
Seg Set 25, 2023 9:02 pm
Seg Set 25, 2023 9:47 am
Sáb Set 23, 2023 2:10 pm
Sex Set 22, 2023 9:01 pm
Qui Set 21, 2023 11:04 am
Qua Set 20, 2023 4:40 pm
Qua Set 20, 2023 9:15 am
Dom Set 17, 2023 12:17 pm
Sex Set 15, 2023 7:24 pm
Sex Set 15, 2023 5:41 pm
Sex Set 15, 2023 4:28 pm
Sex Set 15, 2023 10:56 am



































































































(FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

3 participantes

Ir para baixo

DÚVIDA (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Sáb Jul 23, 2016 1:55 pm

OLÁ GALERA, EU GOSTARIA DE SABER COMO EU POSSO CRIAR UM MODO DE JOGO; exemplo: eu quero criar uma sala em que apenas sniper são permitidos e as outras armas não...

lá no lobby quando vou criar uma sala aparece uma tela de configurações da sala. Exemplo : tempo, quantos jogadores e etc...
eu queria por ali mais uma opção que seria qual tipo de arma será permitido...

tipo assim

[Todas]
[Apenas Sniper]
[Apenas pistola]
[Apenas Rifles]
[Apenas granadas]
[Apenas faca] 

ME AJUDEM POR FAVOR  :D :D :D :D :D
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por MarcosSchultz Sáb Jul 23, 2016 2:40 pm

Você já tem todo o loby pronto? Por que essa escolha de salas da para apenas separar em cenas ué
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64760
REPUTAÇÃO : 2651
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Sáb Jul 23, 2016 2:43 pm

Sim, já está pronto.
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por MarcosSchultz Sáb Jul 23, 2016 3:17 pm

Poste para que possamos trabalhar em cima disso
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64760
REPUTAÇÃO : 2651
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Sáb Jul 23, 2016 3:19 pm

postar oque mano ?
o script ?
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por MarcosSchultz Sáb Jul 23, 2016 3:21 pm

O script do loby, informando como você o fez, para que possamos entender como fazer a separação das salas em cima disso, pois os sistemas não são todos iguais, então precisamos saber o que você tem.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64760
REPUTAÇÃO : 2651
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Sáb Jul 23, 2016 3:38 pm

Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using Hashtable = ExitGames.Client.Photon.Hashtable; //Replace default Hashtables with Photon hashtables

public class ConnectMenu : Photon.MonoBehaviour
{

   //This is main menu where users will browse and create new rooms

   public enum CurrentWindow { Main, PlayNow, Options, Profile, None }
   [HideInInspector]
   public CurrentWindow currentWindow = CurrentWindow.Main;

   public GameObject roomControllerPrefab;
   public GameObject buySpotPrefab;
   public Texture2D background;
   public Texture2D defaultMapPreview;

   [System.Serializable]
   public class AvailableMaps
    {
      public string mapName;
      public Texture mapPreview;
   }

   public AvailableMaps[] availableMaps;

   Vector2 browseWindowSize = new Vector2(750, 500);
   Vector2 roomBrowserScroll = Vector2.zero;
   string buildVersion = "0.1";

   //Networking
   CloudRegionCode selectedRegion = CloudRegionCode.eu; //Photon Cloud Region we will connect to
   int totalPlayers = 0;
   int totalRooms = 0;

#if UNITY_ANDROID || UNITY_IOS || UNITY_WP8 || UNITY_WP8_1
    //Network version for Mobile
    string networkVersion = "v2.7.7";
#else
    //Network version for Desktop
    string networkVersion = "v1.7.5";
#endif


    bool createRoom = false;
   string roomName = "";

   //Available room creation settings
   int[] playerLimits = { 2, 4, 6, 8, 10, 12, 14, 16 };
   string[] gameModes = { "TDM", "FFA" };
   int[] roundDurations = { 600, 900 }; //Each field must correspond to gameMode index, time in seconds
   int[] killLimits = { 25, 50, 75, 100 };

   int selectedPlayerLimit = 0;
   int selectedGameMode = 0;
   int selectedMap = 0;
   int selectedKillLimit = 1;

   bool loadingMap = false;
   bool refreshingRooms = false;
   int roomFieldCurrentlyHovering = -1;
   int selectedRoom = -1;
   int currentPing = -1;

   RoomInfo[] availableRooms = new RoomInfo[0];

   string playerName = "";
   string tmpPlayerName;

   OptionsSettings os;

   string playerNamePrefsName = "PlayerName";
   string playerLimitPrefsName = "SelectedPlayerLimit";
   string gameModePrefsName = "SelectedGameMode";
   string selectedMapPrefsName = "SelectedMap";

   // Use this for initialization
   void Start ()
    {
      //Limit game Frames PEr Seconds
      DontDestroyOnLoad(gameObject);

      currentWindow = CurrentWindow.Main;

      os = GetComponent<OptionsSettings>();
      os.cm = this;

      if(GameSettings.errorText != "")
        {
         loadingMap = true;
      }

      PhotonNetwork.PhotonServerSettings.PreferredRegion = selectedRegion;

#if UNITY_ANDROID || UNITY_IOS || UNITY_WP8 || UNITY_WP8_1
        //Enable connection timeout on mobile
        PhotonNetwork.BackgroundTimeout = 45;
#endif

        Cursor.lockState = CursorLockMode.None;
      Cursor.visible = true;

      roomName = "Gaming Room " + Random.Range(11111, 99999).ToString();
       
        //aq fica a parte de nickname
        //Load stored values if there any
        if (GameObject.FindObjectOfType<LoginRegisterUser>().newuser == "0"){
            currentWindow = CurrentWindow.Profile;

        }
        //playerName = GameObject.FindObjectOfType<LoginRegisterUser>().username;

      /*playerName = "Player " + Random.Range(11111, 99999).ToString();
      if(PlayerPrefs.HasKey(playerNamePrefsName))
        {
         playerName = PlayerPrefs.GetString(playerNamePrefsName);
      }
        else
        {
         currentWindow = CurrentWindow.Profile;
         tmpPlayerName = playerName;
      }*/

      selectedPlayerLimit = PlayerPrefs.HasKey(playerLimitPrefsName) ? PlayerPrefs.GetInt(playerLimitPrefsName) : (int)playerLimits.Length/2;
      selectedPlayerLimit = selectedPlayerLimit > -1 && selectedPlayerLimit < playerLimits.Length ? selectedPlayerLimit : (int)playerLimits.Length/2;

      selectedGameMode = PlayerPrefs.HasKey(gameModePrefsName) ? PlayerPrefs.GetInt(gameModePrefsName) : 0;
      selectedGameMode = selectedGameMode > -1 && selectedGameMode < gameModes.Length ? selectedGameMode : 0;

      selectedMap = PlayerPrefs.HasKey(selectedMapPrefsName) ? PlayerPrefs.GetInt(selectedMapPrefsName) : 0;
      selectedMap = selectedMap > -1 && selectedMap < availableMaps.Length ? selectedMap : 0;

#if (UNITY_ANDROID || UNITY_IOS || UNITY_WP8 || UNITY_WP8_1) && !UNITY_EDITOR
        //Limit screen resolution on Android
        int highestVal = 1000; //Width or height cant be more than this value
      if(Screen.width == Screen.height)
        {
         Screen.SetResolution(highestVal, highestVal, true);
      }
        else
        {
         if(Screen.width > Screen.height)
            {
            float aspectRatio = (float)Screen.height/(float)Screen.width;
            Screen.SetResolution(highestVal, (int)(highestVal *  aspectRatio), true);
         }
            else
            {
            float aspectRatio = (float)Screen.width/(float)Screen.height;
            Screen.SetResolution((int)(highestVal *  aspectRatio), highestVal, true);
         }
      }

      //Also limit framerate
      Application.targetFrameRate = 60;
#else
        Application.targetFrameRate = 150;
         //AudioListener.volume = 0.5f;
#endif

    }
   
   // Update is called once per frame
   void Update ()
    {
      os.enabled = currentWindow == CurrentWindow.Options;
   }

   void OnGUI ()
    {
      GUI.skin = GameSettings.guiSkin;

      //GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), background);

      GUI.Label(new Rect(15, Screen.height - 35, 300, 30), buildVersion);

      if(loadingMap)
        {
         if(GameSettings.errorText == "")
            {
            GUI.Label(new Rect(Screen.width/2 - 150, Screen.height/2 - 15, 300, 30), "Connecting, please wait...", GameSettings.createRoomOptionsStyle);
         }
            else
            {
            GUI.color = Color.red;
            GUI.Label(new Rect(Screen.width/2 - 150, Screen.height/2 - 15, 700, 30), GameSettings.errorText, GameSettings.createRoomOptionsStyle);
         }

         GUI.color = Color.white;
         if(SceneManager.GetActiveScene().buildIndex == 0)
            {
            if(GUI.Button(new Rect(Screen.width - 265, Screen.height - 45, 250, 30), "Main Menu"))
                {
               this.StopAllCoroutines();
               if(PhotonNetwork.room != null)
                    {
                  PhotonNetwork.LeaveRoom();
               }
               GameSettings.errorText = "";
               loadingMap = false;
            }
         }
      }
        else
        {
         //Initial Screens
         if(currentWindow == CurrentWindow.Main)
            {
            GUI.Label(new Rect(Screen.width/2 - 150, Screen.height/2 - 160, 300, 100), "<color=#FFC240>ALPHA</color>", GameSettings.headerStyle);

            if(GUI.Button(new Rect(Screen.width/2 - 125, Screen.height/2 - 45, 250, 30), "Play Now"))
                {
               currentWindow = CurrentWindow.PlayNow;
               createRoom = false;

               if(availableRooms.Length == 0)
                    {
                  this.StopAllCoroutines();
                  this.StartCoroutine(RefreshRooms());
               }
            }

            if(GUI.Button(new Rect(Screen.width/2 - 125, Screen.height/2, 250, 30), "Options"))
                {
               currentWindow = CurrentWindow.Options;
            }

            if(GUI.Button(new Rect(Screen.width/2 - 125, Screen.height/2 + 45, 250, 30), "Profile"))
                {
               currentWindow = CurrentWindow.Profile;
               tmpPlayerName = playerName;
            }
         }

         if(currentWindow == CurrentWindow.PlayNow)
            {
            GUI.Window (0, new Rect(Screen.width/2 - browseWindowSize.x/2, Screen.height/2 - browseWindowSize.y/2,  browseWindowSize.x, browseWindowSize.y), BrowseRoomsWindow, "");
         }

         if(currentWindow == CurrentWindow.Options)
            {

         }

         if(currentWindow == CurrentWindow.Profile)
            {
            GUI.Window (0, new Rect(Screen.width/2 - 150, Screen.height/2 - 100,  300, 200), ProfileWindow, "");
         }

#if !UNITY_ANDROID && !UNITY_IOS && !UNITY_WP8 && !UNITY_WP8_1
         if(GUI.Button(new Rect(Screen.width - 105, 5, 100, 20), "Fullscreen"))
            {
            os.SetFullscreen();
         }
#endif

            //Replace button name nad url with your own site and uncomment it so players can visit your site from game
            /*if(GUI.Button(new Rect(5, 5, 150, 20), "nsdevstore.com"))
            {
            Application.OpenURL("http://nsdevstore.com/");
         }*/
        }
    }

   void ProfileWindow(int windowID)
    {
      GUI.Label(new Rect(15, 0, 300, 35), "User Profile");

      if(GUI.Button(new Rect(300 - 30, 5, 25, 25), "", GameSettings.closeButtonStyle))
        {
         currentWindow = CurrentWindow.Main;

         if(!PlayerPrefs.HasKey(playerNamePrefsName))
            {
            PlayerPrefs.SetString(playerNamePrefsName, playerName);
         }
      }

      GUI.Label(new Rect(15, 40, 300, 30), "Player Name");
      tmpPlayerName = GUI.TextField(new Rect(15, 70, 300 - 30, 25), tmpPlayerName, 19);

      //ToDO remove this before final build
      string tmpNameCheck = (tmpPlayerName.ToLower()).Replace(" ", "");

      GUI.enabled = tmpNameCheck.Length > 0;

        //salvando o nome novo

      /*if(GUI.Button(new Rect(160, 160, 125, 25), "Save"))
        {
         playerName = tmpPlayerName;
         PlayerPrefs.SetString(playerNamePrefsName, playerName);
         currentWindow = CurrentWindow.Main;
      }*/

      GUI.enabled = true;
   }

   void BrowseRoomsWindow(int windowID)
    {
      if(!createRoom)
        {
         GUI.Label(new Rect(15, 0, 450, 35), "Browse Rooms - " + totalPlayers.ToString() + " players - " + totalRooms.ToString() + " rooms - " + PhotonNetwork.PhotonServerSettings.PreferredRegion.ToString());
      }
        else
        {
         GUI.Label(new Rect(15, 0, 300, 35), "Create Room");
      }

      if(GUI.Button(new Rect(browseWindowSize.x - 30, 5, 25, 25), "", GameSettings.closeButtonStyle))
        {
         currentWindow = CurrentWindow.Main;
      }

      if(!createRoom)
        {
         if(refreshingRooms )
            {
            GUI.enabled = false;
         }
            else
            {
            GUI.enabled = true;
         }

         if(GUI.Button(new Rect(browseWindowSize.x - 360, browseWindowSize.y - 40, 165, 25), "Create New Room"))
            {
            createRoom = true;
         }

         //Refresh rooms
         if(GUI.Button(new Rect(browseWindowSize.x - 180, browseWindowSize.y - 40, 75, 25), "Refresh"))
            {
            this.StopAllCoroutines();
            this.StartCoroutine(RefreshRooms());
         }

         if(refreshingRooms || selectedRoom == -1)
            {
            GUI.enabled = false;
         }
            else
            {
            GUI.enabled = true;
         }

         if(GUI.Button(new Rect(browseWindowSize.x - 90, browseWindowSize.y - 40, 75, 25), "Connect"))
            {
            StartCoroutine(JoinCreateRoom(availableRooms[selectedRoom].name,
                                          (string)availableRooms[selectedRoom].customProperties["MapName"],
                                          availableRooms[selectedRoom].maxPlayers,
                                          (string)availableRooms[selectedRoom].customProperties["GameMode"],
                                          (float)availableRooms[selectedRoom].customProperties["RoundDuration"],
                                          availableRooms[selectedRoom].customProperties["KillLimit"] != null ? (int)availableRooms[selectedRoom].customProperties["KillLimit"] : -1
                                          ));
         }

         GUI.enabled = true;

         GUI.Label(new Rect(10, 39, 270, 21), "Room name", GameSettings.roomBrowserHeadersStyle);
         GUI.Label(new Rect(288, 39, 100, 21), "Game mode", GameSettings.roomBrowserHeadersStyle);
         GUI.Label(new Rect(396, 39, 100, 21), "Players", GameSettings.roomBrowserHeadersStyle);
         GUI.Label(new Rect(504, 39, 100, 21), "Map", GameSettings.roomBrowserHeadersStyle);
         GUI.Label(new Rect(612, 39, 100, 21), "Ping", GameSettings.roomBrowserHeadersStyle);

         GUILayout.Space(50);

         roomBrowserScroll = GUILayout.BeginScrollView(roomBrowserScroll, true, true, GUILayout.Height(browseWindowSize.y - 115));
            if(!refreshingRooms)
                {
               if(availableRooms.Length == 0)
                    {
                  GUILayout.Space(15);
                  GUILayout.BeginHorizontal();
                     GUILayout.Space(15);
               GUILayout.Label("No rooms created at the moment, be first one to create", GUILayout.Width(browseWindowSize.x - 50));
                  GUILayout.EndHorizontal();
               }
                    else
                    {
                  for(int i = 0; i < availableRooms.Length; i++)
                        {
                     if(roomFieldCurrentlyHovering != i)
                            {
                        GUI.color = new Color(1, 1, 1, 0.35f);
                     }
                            else
                            {
                        GUI.color = Color.white;
                     }
                     
                     GUILayout.BeginHorizontal("box");
                        GUI.color = selectedRoom == i ? Color.yellow : Color.white;
                        GUILayout.Label(availableRooms[i].name, GUILayout.Width(260), GUILayout.Height(20));
                        GUILayout.Space(18);
                        GUILayout.Label((string)availableRooms[i].customProperties["GameMode"], GUILayout.Width(90), GUILayout.Height(20));
                        GUILayout.Space(18);
                        GUILayout.Label(availableRooms[i].playerCount.ToString() + " / " + availableRooms[i].maxPlayers.ToString(), GUILayout.Width(90), GUILayout.Height(20));
                        GUILayout.Space(18);
                        GUILayout.Label((string)availableRooms[i].customProperties["MapName"], GUILayout.Width(90), GUILayout.Height(20));
                        GUILayout.Space(18);
                        GUILayout.Label(currentPing.ToString(), GUILayout.Width(90), GUILayout.Height(20));
                     GUILayout.EndHorizontal();
                     
                     if(GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition))
                            {
                        roomFieldCurrentlyHovering = i;
                        if(Input.GetMouseButtonDown(0))
                                {
                           selectedRoom = i;
                        }
                     }
                  }

                  GUILayout.BeginVertical();
                     GUILayout.FlexibleSpace();
                  GUILayout.EndVertical();

                  if(GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition))
                        {
                     roomFieldCurrentlyHovering = -1;
                  }
               }
            }
         GUILayout.EndScrollView();

         if(Event.current.mousePosition.y < 60 || Event.current.mousePosition.y > (60 + browseWindowSize.y - 115))
            {
            roomFieldCurrentlyHovering = -1;
         }
      }else{
         GUI.Label(new Rect(15, 40, 300, 30), "Room Name");
         roomName = GUI.TextField(new Rect(15, 70, (int)(browseWindowSize.x * 0.75f), 25), roomName, 55);

         GUI.Label(new Rect(15,100, 300, 30), "Player Limit");
         GUI.enabled = selectedPlayerLimit > 0;
         if(GUI.Button(new Rect(15, 130, 25, 25), "<"))
            {
            selectedPlayerLimit --;
         }
         GUI.enabled = true;
         GUI.Label(new Rect(45,130, 75, 25), playerLimits[selectedPlayerLimit].ToString(), GameSettings.createRoomOptionsStyle);
         GUI.enabled = selectedPlayerLimit < playerLimits.Length - 1;
         if(GUI.Button(new Rect(125, 130, 25, 25), ">"))
            {
            selectedPlayerLimit ++;
         }

         GUI.enabled = true;

         GUI.Label(new Rect(15,160, 300, 30), "Game Mode");
         GUI.enabled = selectedGameMode > 0;
         if(GUI.Button(new Rect(15, 190, 25, 25), "<"))
            {
            selectedGameMode --;
         }
         GUI.enabled = true;
         GUI.Label(new Rect(45,190, 75, 25), gameModes[selectedGameMode], GameSettings.createRoomOptionsStyle);
         GUI.enabled = selectedGameMode < gameModes.Length - 1;
         if(GUI.Button(new Rect(125, 190, 25, 25), ">"))
            {
            selectedGameMode ++;
         }

         if(gameModes[selectedGameMode] == "FFA")
            {
            GUI.enabled = true;

            GUI.Label(new Rect(185,160, 300, 30), "Kill Limit");
            GUI.enabled = selectedKillLimit > 0;
            if(GUI.Button(new Rect(185, 190, 25, 25), "<"))
                {
               selectedKillLimit --;
            }
            GUI.enabled = true;
            GUI.Label(new Rect(210,190, 75, 25), killLimits[selectedKillLimit].ToString(), GameSettings.createRoomOptionsStyle);
            GUI.enabled = selectedKillLimit < killLimits.Length - 1;
            if(GUI.Button(new Rect(290, 190, 25, 25), ">"))
                {
               selectedKillLimit ++;
            }
         }
         
         GUI.enabled = true;

         GUI.Label(new Rect(15,220, 300, 30), "Game Map");
         GUI.enabled = selectedMap > 0;
         if(GUI.Button(new Rect(15, 250, 25, 25), "<"))
            {
            selectedMap --;
         }
         GUI.enabled = true;
         GUI.Label(new Rect(45 , 250, 240, 30), availableMaps[selectedMap].mapName, GameSettings.createRoomOptionsStyle);
         GUI.enabled = selectedMap < availableMaps.Length - 1;
         if(GUI.Button(new Rect(290, 250, 25, 25), ">"))
            {
            selectedMap ++;
         }
         GUI.enabled = true;
         GUI.DrawTexture(new Rect(15, 285, 300, 150), availableMaps[selectedMap].mapPreview ? availableMaps[selectedMap].mapPreview : defaultMapPreview);

         if(GUI.Button(new Rect(browseWindowSize.x - 90, browseWindowSize.y - 40, 75, 25), "Create"))
            {
            StartCoroutine(JoinCreateRoom(
               roomName, availableMaps[selectedMap].mapName, playerLimits[selectedPlayerLimit], gameModes[selectedGameMode], (float)roundDurations[selectedGameMode], gameModes[selectedGameMode] == "FFA" ? killLimits[selectedKillLimit] : -1
            ));

            //Remember player settings when creating new room
            PlayerPrefs.SetInt(playerLimitPrefsName, selectedPlayerLimit);
            PlayerPrefs.SetInt(gameModePrefsName, selectedGameMode);
            PlayerPrefs.SetInt(selectedMapPrefsName, selectedMap);
         }

         if(GUI.Button(new Rect(15, browseWindowSize.y - 40, 75, 25), "Back"))
            {
            createRoom = false;
         }
      }

      if(refreshingRooms)
        {
         GUI.Box(new Rect(browseWindowSize.x/2 - 75, browseWindowSize.y/2 - 30, 150, 30), "Refreshing...");
      }
      //GUI.DragWindow (new Rect (0, 0, 10000, 35));
   }

   //Networking Part ********************************************************************************************************************************************
   IEnumerator RefreshRooms ()
    {
      refreshingRooms = true;
      selectedRoom = -1;

        while (PhotonNetwork.connected)
        {
            if (PhotonNetwork.connectionState != ConnectionState.Disconnecting)
            {
                PhotonNetwork.Disconnect();
            }
         yield return null;
      }

        while (!PhotonNetwork.connected)
        {
            if(PhotonNetwork.connectionState != ConnectionState.InitializingApplication && PhotonNetwork.connectionState != ConnectionState.Connecting &&
                PhotonNetwork.connectionState != ConnectionState.Disconnecting && PhotonNetwork.connectionState != ConnectionState.Connected)
            {
                PhotonNetwork.ConnectUsingSettings(networkVersion);
            }
            yield return null;
        }

        yield return new WaitForSeconds(0.75f);

      currentPing = PhotonNetwork.GetPing();

      availableRooms = PhotonNetwork.GetRoomList();

      //print (availableRooms.Length.ToString() + " available rooms");

      totalPlayers = PhotonNetwork.countOfPlayers;
      totalRooms = availableRooms.Length;

      refreshingRooms = false;
   }

   IEnumerator JoinCreateRoom (string newRoomName, string newMapName, int newMaxPlayers, string newGameMode, float roundDuration, int newKillLimit)
    {
      loadingMap = true;

      print ("Begin joining/creating new room");

      while(!PhotonNetwork.connected)
        {
         if(PhotonNetwork.connectionState != ConnectionState.InitializingApplication && PhotonNetwork.connectionState != ConnectionState.Connecting &&
              PhotonNetwork.connectionState != ConnectionState.Disconnecting && PhotonNetwork.connectionState != ConnectionState.Connected)
            {

            PhotonNetwork.ConnectUsingSettings(networkVersion);
         }
         yield return null;
      }
      
      yield return new WaitForSeconds(0.5f);

      PhotonNetwork.playerName = playerName;
      
      //Create Room
      if(PhotonNetwork.connected)
        {
         Hashtable roomProperties = new Hashtable();
         roomProperties["MapName"] = newMapName;
         roomProperties["GameMode"] = newGameMode;
         roomProperties["RoundDuration"] = roundDuration;
         if(newKillLimit > 0)
            {
            roomProperties["KillLimit"] = newKillLimit; //Used only for FFA mode
         }
         string[] exposedProps = new string[newKillLimit > 0 ? 4 : 3];
         exposedProps[0] = "MapName";
         exposedProps[1] = "GameMode";
         exposedProps[2] = "RoundDuration";
         if(newKillLimit > 0)
            {
            exposedProps[3] = "KillLimit";
         }

         RoomOptions roomOptions = new RoomOptions();
         roomOptions.cleanupCacheOnLeave = true;
         roomOptions.isOpen = true;
         roomOptions.isVisible = true;
         roomOptions.maxPlayers = (byte)newMaxPlayers;
         roomOptions.customRoomProperties = roomProperties;
         roomOptions.customRoomPropertiesForLobby = exposedProps;
         
         PhotonNetwork.JoinOrCreateRoom(newRoomName, roomOptions, null);
      }else{
         GameSettings.errorText = "Unable to connect to Photon Server, please try again";
         yield return null;      
      }
   }

   void OnJoinedRoom()
    {
      //Load room map
      print ("Done joining/creating new room");
      PhotonNetwork.isMessageQueueRunning = false;
        SceneManager.LoadSceneAsync((string)PhotonNetwork.room.customProperties["MapName"]);
   }

   void OnPhotonCreateGameFailed()
    {
      GameSettings.errorText = "Unable to create / join new room, please try again";
      this.StopAllCoroutines();
   }
   
   void OnPhotonJoinRoomFailed()
    {
      GameSettings.errorText = "Unable to create / join new room, please try again";
      this.StopAllCoroutines();
   }

   void OnFailedToConnectToPhoton()
    {
      GameSettings.errorText = "Connection problem, pelase try again";
      this.StopAllCoroutines();
   }

   void OnLevelWasLoaded(int index)
    {
      if(index > 0)
        {
         //Spawn all required objects
         Transform allPoints = GameObject.Find("_ReferencePoints").transform;

         Transform welcomeCameraRef = allPoints.Find("WelcomeCamera");
         GameObject roomControllerObject = Instantiate(roomControllerPrefab,  welcomeCameraRef.position,  welcomeCameraRef.rotation) as GameObject;
         RoomController roomController = roomControllerObject.GetComponent<RoomController>();

         Transform buySpots = allPoints.Find("BuySpots");

         foreach(Transform child in buySpots)
            {
            GameObject buySpotObj = Instantiate(buySpotPrefab, child.position, child.rotation) as GameObject;
            AmmoSpot bs = buySpotObj.GetComponent<AmmoSpot>();
            bs.rc = roomController;
            bs.thisT = buySpotObj.transform;
         }

         Transform ladders = allPoints.Find("Ladders");

         foreach(Transform child in  ladders)
            {
            child.gameObject.AddComponent<LadderScript>();
         }

         Transform spawnPoints = allPoints.Find("SpawnPoints");

         foreach(Transform child in spawnPoints)
            {
            if(child.name.StartsWith("TeamASpawn"))
                {
               roomController.teamASpawnPoints.Add (child);
            }
            if(child.name.StartsWith("TeamBSpawn"))
                {
               roomController.teamBSpawnPoints.Add (child);   
            }
         }

         Destroy(gameObject);
      }
   }
}
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Sáb Jul 23, 2016 3:40 pm

ta ae  :D
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por MarcosSchultz Dom Jul 24, 2016 7:52 pm

Ok, o único lugar do script que vi algum load foi aqui:
Código:
void OnJoinedRoom()
   {
      //Load room map
      print ("Done joining/creating new room");
      PhotonNetwork.isMessageQueueRunning = false;
      SceneManager.LoadSceneAsync((string)PhotonNetwork.room.customProperties["MapName"]);
   }

aonde o SceneManager faz o load na cena informada pelas suas propriedades do PhotonNetwork...

Você pode mudar esta cena para cada tipo de mapa, basta separar ali. E em cada mapa fazer um gerenciamento diferente de armas.

Não pude testar muito por que estão faltando muitas coisas para que eu consiga testar este script, como o PhotonNetwork, dentre outras coisas.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64760
REPUTAÇÃO : 2651
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Dom Jul 24, 2016 8:00 pm

pode fazer um exemplo de como separar ai pra min por favor, eu não entendi direito...
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Ter Jul 26, 2016 3:05 am

Eu, quero fazer isso para por modos bacanas que vem em minha mente...

Por enquanto o jogo só tem dois modos que são eles : TDM e FFA.
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por MarcosSchultz Ter Jul 26, 2016 2:00 pm

Como você informa a cena que vai ser carregada a esta variável?

((string)PhotonNetwork



Você precisa chamar aquela void, mas algum outro script que chama ela, pois não há nenhuma referência dela no script atual.

Neste outro script que está chamando a void e informando a cena que vai ser carregada que você precisa fazer o gerenciamento. Precisaria ver como é este outro script
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64760
REPUTAÇÃO : 2651
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Dom Jul 31, 2016 5:58 pm

Código:
 }else{
 GUI.Label(new Rect(15, 40, 300, 30), "Room Name");
 roomName = GUI.TextField(new Rect(15, 70, (int)(browseWindowSize.x * 0.75f), 25), roomName, 55);

 GUI.Label(new Rect(15,100, 300, 30), "Player Limit");
 GUI.enabled = selectedPlayerLimit > 0;
 if(GUI.Button(new Rect(15, 130, 25, 25), "<"))
            {
 selectedPlayerLimit --;
 }
 GUI.enabled = true;
 GUI.Label(new Rect(45,130, 75, 25), playerLimits[selectedPlayerLimit].ToString(), GameSettings.createRoomOptionsStyle);
 GUI.enabled = selectedPlayerLimit < playerLimits.Length - 1;
 if(GUI.Button(new Rect(125, 130, 25, 25), ">"))
            {
 selectedPlayerLimit ++;
 }

 GUI.enabled = true;

 GUI.Label(new Rect(15,160, 300, 30), "Game Mode");
 GUI.enabled = selectedGameMode > 0;
 if(GUI.Button(new Rect(15, 190, 25, 25), "<"))
            {
 selectedGameMode --;
 }
 GUI.enabled = true;
 GUI.Label(new Rect(45,190, 75, 25), gameModes[selectedGameMode], GameSettings.createRoomOptionsStyle);
 GUI.enabled = selectedGameMode < gameModes.Length - 1;
 if(GUI.Button(new Rect(125, 190, 25, 25), ">"))
            {
 selectedGameMode ++;
 }

 if(gameModes[selectedGameMode] == "FFA")
            {
 GUI.enabled = true;

 GUI.Label(new Rect(185,160, 300, 30), "Kill Limit");
 GUI.enabled = selectedKillLimit > 0;
 if(GUI.Button(new Rect(185, 190, 25, 25), "<"))
                {
 selectedKillLimit --;
 }
 GUI.enabled = true;
 GUI.Label(new Rect(210,190, 75, 25), killLimits[selectedKillLimit].ToString(), GameSettings.createRoomOptionsStyle);
 GUI.enabled = selectedKillLimit < killLimits.Length - 1;
 if(GUI.Button(new Rect(290, 190, 25, 25), ">"))
                {
 selectedKillLimit ++;
 }
 }
 
 GUI.enabled = true;

 GUI.Label(new Rect(15,220, 300, 30), "Game Map");
 GUI.enabled = selectedMap > 0;
 if(GUI.Button(new Rect(15, 250, 25, 25), "<"))
            {
 selectedMap --;
 }
 GUI.enabled = true;
 GUI.Label(new Rect(45 , 250, 240, 30), availableMaps[selectedMap].mapName, GameSettings.createRoomOptionsStyle);
 GUI.enabled = selectedMap < availableMaps.Length - 1;
 if(GUI.Button(new Rect(290, 250, 25, 25), ">"))
            {
 selectedMap ++;
 }
 GUI.enabled = true;
 GUI.DrawTexture(new Rect(15, 285, 300, 150), availableMaps[selectedMap].mapPreview ? availableMaps[selectedMap].mapPreview : defaultMapPreview);

 if(GUI.Button(new Rect(browseWindowSize.x - 90, browseWindowSize.y - 40, 75, 25), "Create"))
            {
 StartCoroutine(JoinCreateRoom(
 roomName, availableMaps[selectedMap].mapName, playerLimits[selectedPlayerLimit], gameModes[selectedGameMode], (float)roundDurations[selectedGameMode], gameModes[selectedGameMode] == "FFA" ? killLimits[selectedKillLimit] : -1
 ));

 //Remember player settings when creating new room
 PlayerPrefs.SetInt(playerLimitPrefsName, selectedPlayerLimit);
 PlayerPrefs.SetInt(gameModePrefsName, selectedGameMode);
 PlayerPrefs.SetInt(selectedMapPrefsName, selectedMap);
 }

 if(GUI.Button(new Rect(15, browseWindowSize.y - 40, 75, 25), "Back"))
            {
 createRoom = false;
 }
 }


seria essa parte do gerenciamento da cena ?
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por MarcosSchultz Dom Jul 31, 2016 11:34 pm

Está aqui no GUI.Label

Código:
availableMaps[selectedMap].mapName

Você deve ter em alguma array no código, um lugar aonde você linka todos os "availableMaps"

e através dos botões, você seleciona o mapa que você quer, por este trecho que você postou. E o interessante desta parte é que já tem uma variável que define o modo de jogo 

Código:
gameModes[selectedGameMode]

Você está utilizando ela para alguma coisa?



Bom, em todos os casos, você pode criar cenas específicas no meio deste monte de cenas que devem estar nessa array ali, e separar em uma segunda array, para a seleção. Mas fica complicado dar detalhes sem poder ver o código todo.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 64760
REPUTAÇÃO : 2651
Idade : 27
Áreas de atuação : Administrador do fórum
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? Aad8pUi

https://www.schultzgames.com

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por artplayer Seg Ago 01, 2016 10:49 am

Eu espero de coração que você esteja escrevendo teu FPS se baseando em um servidor autoritário, ou um dia você terá que reescrever ele.  😢
artplayer
artplayer
Instrutor

Masculino PONTOS : 3903
REPUTAÇÃO : 412
Idade : 39
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? Aad8pUi

https://artplayergames.com

Ir para o topo Ir para baixo

DÚVIDA Re: (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Mensagem por Sheyk Seg Ago 01, 2016 12:11 pm

:D :D Cheers :bounce: :bball:
Sheyk
Sheyk
Avançado
Avançado

PONTOS : 3136
REPUTAÇÃO : 27
Idade : 24
Respeito as regras : (FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ? WvDYdlf

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos