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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
portais ajuda
COMO POSSO FAZER UMA FÍSICA PARA MOTOS NO UNITY?
AGRADECIMENTOS
-- [ COMO FAÇO PARA DESATIVAR UM UI DEPOIS DE +/-, 3 SEGUNDOS ? ] --
FPS na Unity
[____TÓPICO LIVRE____] FALE O QUE QUISER
RPG levelEnemy ?
Saber local exato da colisao
Baixe modelos 3D do meu site para uso comercial ou gratuito!
Inimigo perder vida
Blender erro?
[TUTORIAL] Como programar um VOLANTE para veículos
Tutoriais 2.5D
[TUTORIAL] Mover, Girar e lançar objetos com o mouse ( estilo Amnesia )
ANIMAÇÃO DA ARMA
Como Atacar usando uma espada na Mão!!
Batalha de Canhão
AGRADECIMENTOS <3 <3
JOGO DE SOBREVIVÊNCIA (Iniciantes)
VIRTUAL VOID
jogo 3D como fazer o personagem...
[TUTORIAL] Objeto flutuar como se estivesse no espaço ou na água
Material
Previsão de destino com Rigidbody.AddForce (Jogo de Futebol)
Ajuda com scripts
[Modelo 3D]Unity Interior 3D Estilo De Terror + Download Grátis
FÍSICA DE UM CARRO PARA JOGO EM 2D
Fazer objeto preview andar de gridsize em gridsize
Acionar funções com button ?
FORMAÇÃO DE EQUIPE - JOGO Puzzle/Plataforma
Home Simulator 2017 (Estilo The Sims em 1ª Pessoa) (Download Grátis) v1.0.2
Problema no checkpoint
Photon Network
IA zumbie veloz de mais
sistema de Entrar/Sair de veículos em Network (Photon Unity Networking)
Raycast Sol
[Script] Sistema de headshot estilo sniper elite [BÁSICO]
Foice gigante
Meus modelos 3D em fase de experimento
SITE MODELOS 3D PARA USO COMERCIAL
Instanciar objetos aonde mira
Fazer o player abrir caixas
Rotaçao de um objeto e paralizaçao de seu "filho" na hierarquia(Unity 2D)
ATUALIZAÇÃO - Joguem meu jogo [Aircraft - Space Guardian] Please !!
meu jogo feito na unity
Como otimizar meu game para android?
[RESOLVIDO] INSTANCIAR PARTICULAS
Como fazer o canvas se ajusta com o tamanho da tela?
Destruir objeto depois da animação
Sistema de marcha de carro
(Duvida) Camera Seguir Player...
[DUVIDA] "encostar" em um GameObject e Tomar Dano
TOP SECRET - Programador iniciante com experiencia em 2D
Dúvida sobre multiplayer!
PARTICULAS PLAY/STOP
ABRIR E FECHAR PORTA!
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Criação de uma mensagem notificação em objeto 3d no unity
Fazer a camera seguir o personagem porem quando ela chegar na parede ela pare de se movimenta
Tocar som ao andar.
Verificar se é a primeira vez que joga
COMO POSSO FAZER O INIMIGO MORRER COM TIRO?
Unity Microfone
OBJETO GIRAR QUANDO ARRASTAR O MOUSE
disolver/ desintegrar um objeto
BARRINHA PARA REBAIXAR O CARRO!
Chamar Metodo
Gerador de códigos
Duvida sobre patrulha aleatória
[TUTORIAL] Ligar e Desligar Lanterna
[TUTORIAL] ARMA NO UNITY 3D
SOM DO TIRO
Como usar uma animação de uma arma animada na Unity...
[Tutorial] Porta ativada por alavanca
MIRA PARA JOGO DE FPS ESTILO CSGO
Game Resistência
Parede ocas
Modificar uma barrinha!
[Quase Pronto] Survival Block. Testem e mandem os bugs pra mim.
[ME AJUDA] O player não se movimenta...
SIRENE ESTILO POLÍCIA MILITAR
Movimentaçao player
Cena Loading para carregar proximo Level
MUDAR FLOAT NO FIM DE UMA ANIMAÇÃO
RagDoll + Download Free -- feito por um gringo
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
[AJUDA] Cronometro
[PEDIDO] Designers ou Entendedores (Capa,Menu e ToolTip) 3 Imagens
[RESOLVIDO] Publicando Apk Parte 2
[TUTORIAL] IA Simples
[TUTORIAL] Ajustar o Brilho do LensFlare de Acordo com a Distância
CONTROLE ARCADE PARA JOGO DE CORRIDA
[TUTORIAL] IA Simples Parte 2 (Atirar)
[DEMO] Survival Block
Aprimoramento IA Inimiga
[RESOLVIDO] Camera Collider
Todos os inimigos morrem
Canal de tutoriais android
Area Para modeladores
Hoje à(s) 5:21 pm
Hoje à(s) 5:20 pm
Hoje à(s) 3:49 pm
Hoje à(s) 3:06 pm
Hoje à(s) 3:01 pm
Hoje à(s) 1:29 pm
Hoje à(s) 1:16 pm
Hoje à(s) 1:05 pm
Hoje à(s) 12:09 pm
Hoje à(s) 11:58 am
Hoje à(s) 11:38 am
Hoje à(s) 11:34 am
Hoje à(s) 8:34 am
Hoje à(s) 8:17 am
Ontem à(s) 10:57 pm
Ontem à(s) 10:53 pm
Ontem à(s) 9:13 pm
Ontem à(s) 7:27 pm
Ontem à(s) 5:57 pm
Ontem à(s) 4:19 pm
Ontem à(s) 1:21 pm
Ontem à(s) 1:17 pm
Ontem à(s) 1:10 pm
Ontem à(s) 12:34 am
Ter Mar 28, 2017 11:46 pm
Ter Mar 28, 2017 10:55 pm
Ter Mar 28, 2017 10:29 pm
Ter Mar 28, 2017 7:39 pm
Ter Mar 28, 2017 6:54 pm
Ter Mar 28, 2017 5:44 pm
Ter Mar 28, 2017 5:29 pm
Ter Mar 28, 2017 5:14 pm
Ter Mar 28, 2017 5:02 pm
Ter Mar 28, 2017 2:02 pm
Ter Mar 28, 2017 1:49 pm
Ter Mar 28, 2017 1:40 pm
Ter Mar 28, 2017 1:38 pm
Ter Mar 28, 2017 12:00 pm
Ter Mar 28, 2017 12:00 am
Seg Mar 27, 2017 11:46 pm
Seg Mar 27, 2017 10:30 pm
Seg Mar 27, 2017 10:05 pm
Seg Mar 27, 2017 8:52 pm
Seg Mar 27, 2017 8:01 pm
Seg Mar 27, 2017 7:32 pm
Seg Mar 27, 2017 6:33 pm
Seg Mar 27, 2017 3:57 pm
Seg Mar 27, 2017 3:39 pm
Seg Mar 27, 2017 1:42 pm
Seg Mar 27, 2017 12:13 pm
Seg Mar 27, 2017 6:41 am
Dom Mar 26, 2017 7:04 pm
Dom Mar 26, 2017 1:58 pm
Dom Mar 26, 2017 1:34 pm
Dom Mar 26, 2017 1:13 pm
Dom Mar 26, 2017 10:43 am
Dom Mar 26, 2017 1:37 am
Dom Mar 26, 2017 12:53 am
Dom Mar 26, 2017 12:52 am
Dom Mar 26, 2017 12:49 am
Dom Mar 26, 2017 12:46 am
Dom Mar 26, 2017 12:45 am
Dom Mar 26, 2017 12:34 am
Dom Mar 26, 2017 12:30 am
Dom Mar 26, 2017 12:20 am
Dom Mar 26, 2017 12:15 am
Dom Mar 26, 2017 12:05 am
Sab Mar 25, 2017 11:59 pm
Sab Mar 25, 2017 11:58 pm
Sab Mar 25, 2017 8:59 pm
Sab Mar 25, 2017 6:50 pm
Sab Mar 25, 2017 3:37 pm
Sab Mar 25, 2017 1:51 am
Sab Mar 25, 2017 1:31 am
Sex Mar 24, 2017 8:54 pm
Sex Mar 24, 2017 8:05 pm
Sex Mar 24, 2017 7:43 pm
Sex Mar 24, 2017 7:18 pm
Sex Mar 24, 2017 6:52 pm
Sex Mar 24, 2017 6:48 pm
Sex Mar 24, 2017 3:46 pm
Sex Mar 24, 2017 1:50 pm
Sex Mar 24, 2017 12:29 pm
Qui Mar 23, 2017 6:55 pm
Qui Mar 23, 2017 4:50 pm
Qui Mar 23, 2017 4:38 pm
Qui Mar 23, 2017 4:33 pm
Qui Mar 23, 2017 12:46 pm
Qui Mar 23, 2017 8:56 am
Qua Mar 22, 2017 7:47 pm
Qua Mar 22, 2017 7:35 pm
Qua Mar 22, 2017 7:30 pm
Qua Mar 22, 2017 3:28 pm
Ter Mar 21, 2017 11:50 pm
Ter Mar 21, 2017 10:14 pm
Ter Mar 21, 2017 6:08 pm
Ter Mar 21, 2017 5:00 pm
Ter Mar 21, 2017 3:22 pm
Ter Mar 21, 2017 3:08 pm
John Rambo
lucasfera15
Weverton Borges da Silva
MrTFGamer1
dstaroski
John Rambo
Callyde Jr
PauloFR
joabr
Callyde Jr
Callyde Jr
HeF Soft
dstaroski
garden
Gabriel César O
PauloFR
PauloFR
Gabriel César O
MikaelSteam
weslleyFx
rafaelllsd
rafaelllsd
rafaelllsd
artplayer
willtuck
MateusWTP
Gabriel César O
hackernew404
wender
MikaelSteam
zZAndersonZz
Jogos mini
wender
Callyde Jr
LegendGames
lucasfera15
dstaroski
Mic4el
joabr
joabr
hackernew404
rafaelllsd
niao
Junim
hackernew404
PauloFR
Junim
Callyde Jr
rafaelllsd
PauloFR
Édipo
DuViDoSo34
masterjohn12
artplayer
Junim
Gabriel César O
Atiradogamer
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
wender
MarcosSchultz
MarcosSchultz
MarcosSchultz
MateusWTP
Gabriel César O
Gabriel César O
Sheyk
PauloFR
Gabriel César O
Weverton Borges da Silva
maikonluis
HeF Software
Junim
Junim
wender
bravoent
Marc7
rafaelllsd
MateusWTP
Gabriel César O
Gabriel César O
Madness
Paizudo
Gabriel César O
AnderGames
Gabriel César O
Matrirxp
rafaelllsd
Matrirxp
ffabim
rafaelllsd
MikaelSteam
PauloFR

(FPS MULTIPLAYER) COMO CRIAR UM MODO DE JOGO ?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

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

Mensagem por Sheyk em Sab 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  Very Happy Very Happy Very Happy Very Happy Very Happy

Sheyk
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por MarcosSchultz em Sab 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é
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8132
REPUTAÇÃO : 1146
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

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

Mensagem por Sheyk em Sab Jul 23, 2016 2:43 pm

Sim, já está pronto.

Sheyk
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por MarcosSchultz em Sab Jul 23, 2016 3:17 pm

Poste para que possamos trabalhar em cima disso
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8132
REPUTAÇÃO : 1146
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

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

Mensagem por Sheyk em Sab Jul 23, 2016 3:19 pm

postar oque mano ?
o script ?

Sheyk
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por MarcosSchultz em Sab 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.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8132
REPUTAÇÃO : 1146
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

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

Mensagem por Sheyk em Sab 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
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Sheyk em Sab Jul 23, 2016 3:40 pm

ta ae  Very Happy

Sheyk
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por MarcosSchultz em 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.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8132
REPUTAÇÃO : 1146
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

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

Mensagem por Sheyk em 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
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Sheyk em 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
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por MarcosSchultz em 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
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8132
REPUTAÇÃO : 1146
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

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

Mensagem por Sheyk em 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
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por MarcosSchultz em 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.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8132
REPUTAÇÃO : 1146
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

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

Mensagem por artplayer em 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.  Crying or Very sad
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 755
REPUTAÇÃO : 157
Idade : 32
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

Very Happy Very Happy cheers bounce Basketball

Sheyk
Avançado
Avançado

PONTOS : 472
REPUTAÇÃO : 6
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum