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:
Formação De Equipe Pra Criar RPG
Adicionar linhas no TXT pelo codigo
Unity Ads ou AdMob!
Como locomover um trem
Como fazer Escudo seguir a movimentação do Player?
Como não perder qualidade nas texturas 2d?
IDB JAM #10
MOVIMENTAÇÃO EM 8 DIREÇÕES.
animações não sendo reproduzidas
Seguir um raio no raycast a partir do ponto da tela clicado
Building System
Personagem morrer ao cair da tela
Deixar objeto invisível.
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Divulgaçao de Battle of Worlds
[Resolvido]Problema nesse pequeno script
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
[TUTORIAL] Sistema de inventário Sobrevivência
Movimentação
Puzzle para jogo de terror , abrir portas etc..
Script para mudar posição do personagem
Baixos Brasil - Jogo de Carro Brasileiro!
Como saber quando minha animação terminou?
system inventory , craft
ajuda
Aplicar roupa no Rig do blender...
Project Valley of Trees - Primeiro nome que faz sentido KK
A.S TRUCK
Som de correr não para de tocar
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Como Colocar Pontuação Final na GUI de GAME OVER
Unity 2017 Iluminação RealTime VS Baked [Comparaçâo]
DUVIDA : Raycast
Programador para equipe
Da pra colocar sisteminha em um jogo da unity pra trolar quem for piratear o jogo?
Como colocar musicas em sequencia para tocar?
Trajetória da bala com predição
Ajudinha com Bug
[RESOLVIDO] Poblema com Rigidbody
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Erro ao bulidar para Windows(.exe)
Mudar a gravidade com rotação (sensores do smartphone)
Problemas na detecção de colisão
Trabalhar simultaneamente na Unity
Movimetaçao infinita
(duvida)pq isso acontece com o inimigo?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[DUVIDA] Como alterar a intensidade do ChromaticAberration do PostProcessing?
Joystick VR não funciona no ios
Problema na minha animação feita na Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
IA para inimigo seguir o jogador ( Plataforma )
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Como Limitar Spawn de Hordas
Desmembramento
Exemplo de UI com abas - utilizando toggles e toggle group.
Ajuda Blender
Quando Instancio botão ele não aparece no canvas
Sistema de pesca 2D
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Auto-Complete do Visual Studios
Metroidvania - procuro membros
Criação de Update para Seus jogos?
Blender, animação + Unity
Preciso de alguém que desenvolva Craft, e Inventario com sistema de Bolsas, Pago bem
Detectar Hit
[MODELADOR] Procurando Projetos
Carákas que Tops WO.OW
Anexar GameObject por scrit
Como cria um sistema de seve game
[DUVIDA] Trocar botoes no teclado por joystick UI
Efeito de Audio
Bug de sumir todas as modelagens 3D na unity 2017
Quero fazer minha propria lens flare
Menu para selecao de cena
Dificuldades com programação no Unity 5 2D
Bug ? offline e online
Conflito de ações HELP
como saber a posição que a particula bateu?
Formação de Equipe Battle of Worlds
[JOGO EM BETA] Batalha de Canhão
Jogo de sobrevivência na ilha PRE-Alpha
Inimigo ao encostar morre e player leva dano UNITY 5 2D
Como faço blocos que somem so clikando neles 1 vez?
Light Bug
Como criar inventário simples no unity
Como fasso para que clico em um botao e aumente o volume junto com grave em uma musica?
como que criar um sitema tipo o do rocket league
tem como criar um modelo no sketchup e exportar pra unity, mas sem os componentes
(duvida)pq aconteçe isso com a luz
Como posso deixar o MENU do meu jogo adequado ao monitor?
Dúvida com o Update
Como eu realizo um inimigo que atira(tipo os inimigos do Warface)?
Bug Chato
Particulas de poeira
Faltando algumas opções no Unity
Audio Player C#
volume do som de acordo com distancia
Hoje à(s) 9:00 am
Hoje à(s) 8:34 am
Hoje à(s) 7:03 am
Hoje à(s) 1:07 am
Hoje à(s) 12:04 am
Ontem à(s) 11:07 pm
Ontem à(s) 9:27 pm
Ontem à(s) 7:22 pm
Ontem à(s) 7:17 pm
Ontem à(s) 6:01 pm
Ontem à(s) 5:55 pm
Ontem à(s) 9:57 am
Ontem à(s) 7:07 am
Ontem à(s) 12:13 am
Ter Set 19, 2017 11:53 pm
Ter Set 19, 2017 10:15 pm
Ter Set 19, 2017 9:12 pm
Ter Set 19, 2017 9:00 pm
Ter Set 19, 2017 8:34 pm
Ter Set 19, 2017 7:40 pm
Ter Set 19, 2017 4:29 pm
Ter Set 19, 2017 12:25 pm
Ter Set 19, 2017 12:14 pm
Ter Set 19, 2017 10:55 am
Ter Set 19, 2017 10:26 am
Ter Set 19, 2017 8:21 am
Ter Set 19, 2017 2:42 am
Seg Set 18, 2017 10:20 pm
Seg Set 18, 2017 9:16 pm
Seg Set 18, 2017 8:40 pm
Seg Set 18, 2017 8:39 pm
Seg Set 18, 2017 8:08 pm
Seg Set 18, 2017 4:33 pm
Seg Set 18, 2017 2:22 pm
Seg Set 18, 2017 12:15 pm
Seg Set 18, 2017 9:33 am
Seg Set 18, 2017 8:21 am
Seg Set 18, 2017 12:59 am
Dom Set 17, 2017 5:04 pm
Dom Set 17, 2017 3:45 pm
Dom Set 17, 2017 10:49 am
Sab Set 16, 2017 11:18 pm
Sab Set 16, 2017 5:57 pm
Sab Set 16, 2017 4:10 pm
Sab Set 16, 2017 3:05 pm
Sab Set 16, 2017 2:23 pm
Sab Set 16, 2017 12:40 pm
Sab Set 16, 2017 12:16 pm
Sab Set 16, 2017 10:17 am
Sab Set 16, 2017 9:53 am
Sab Set 16, 2017 9:26 am
Sab Set 16, 2017 9:10 am
Sex Set 15, 2017 11:51 pm
Sex Set 15, 2017 8:27 pm
Sex Set 15, 2017 7:27 pm
Sex Set 15, 2017 6:17 pm
Sex Set 15, 2017 3:08 pm
Sex Set 15, 2017 11:19 am
Sex Set 15, 2017 9:43 am
Qui Set 14, 2017 11:50 pm
Qui Set 14, 2017 9:08 pm
Qui Set 14, 2017 3:17 pm
Qui Set 14, 2017 1:55 pm
Qui Set 14, 2017 12:13 pm
Qui Set 14, 2017 10:07 am
Qua Set 13, 2017 9:52 pm
Qua Set 13, 2017 11:34 am
Ter Set 12, 2017 10:33 pm
Ter Set 12, 2017 10:21 pm
Ter Set 12, 2017 9:34 pm
Ter Set 12, 2017 8:52 pm
Ter Set 12, 2017 8:51 pm
Ter Set 12, 2017 7:05 pm
Ter Set 12, 2017 6:53 pm
Ter Set 12, 2017 6:51 pm
Ter Set 12, 2017 3:04 pm
Ter Set 12, 2017 2:04 pm
Ter Set 12, 2017 11:54 am
Ter Set 12, 2017 9:59 am
Ter Set 12, 2017 9:43 am
Ter Set 12, 2017 12:17 am
Seg Set 11, 2017 8:54 pm
Seg Set 11, 2017 8:48 pm
Seg Set 11, 2017 8:12 pm
Seg Set 11, 2017 7:18 pm
Seg Set 11, 2017 6:15 pm
Seg Set 11, 2017 6:02 pm
Seg Set 11, 2017 5:31 pm
Seg Set 11, 2017 5:22 pm
Seg Set 11, 2017 5:06 pm
Seg Set 11, 2017 4:53 pm
Seg Set 11, 2017 4:17 pm
Seg Set 11, 2017 4:15 pm
Seg Set 11, 2017 4:14 pm
Seg Set 11, 2017 3:54 pm
Seg Set 11, 2017 3:53 pm
Seg Set 11, 2017 3:51 pm
Seg Set 11, 2017 11:42 am
Seg Set 11, 2017 3:13 am
Bruno
wilex96
guimaraf
andreoliveira122010
RobinF
JorgeLuizxd
dimmuo
Weslley
Phph09
Weslley
Weslley
Bruno
GabriG07
Dom3000
Dom3000
g
Weslley
Phph09
Weslley
Zecandy
Weslley
Duarte
artplayer
PatifeCraft
Lteo
Fagner
Madness
PatifeCraft
dstaroski
eduu10
JorgeLuizxd
MateusWTP
Weslley
Brunotrinkss
guimaraf
Weslley
guimaraf
ManoTrevor
PedroL123
dstaroski
GabriG07
Brgs886
Madness
Fagner
PedroL123
glauco
Callyde Jr
JorgeLuizxd
Henrique Ramires
Weslley
Weslley
Weslley
Weslley
Weslley
Weslley
916anderson
rafaelllsd
Fagner
Fagner
rafaelllsd
PatifeCraft
Weslley
Carlin
artplayer
Ronnisz
Jhonatham1
Callyde Jr
mrariel2011
AndyShow
Fagner
PatifeCraft
Alerson Software
AndyShow
AndyShow
AndyShow
Alessandra Matheus
Lteo
Callyde Jr
Weslley
Dom3000
Dom3000
dstaroski
dstaroski
guilhermeprata
DUT
Duarte
PatifeCraft
heliab125
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
MarcosSchultz
lantreco
MarcosSchultz
MarcosSchultz
MarcosSchultz
Weslley
Encracker

(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
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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 : 9667
REPUTAÇÃO : 1664
Idade : 21
Á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.
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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 : 9667
REPUTAÇÃO : 1664
Idade : 21
Á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 ?
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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 : 9667
REPUTAÇÃO : 1664
Idade : 21
Á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);
      }
   }
}
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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 : 9667
REPUTAÇÃO : 1664
Idade : 21
Á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...
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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.
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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 : 9667
REPUTAÇÃO : 1664
Idade : 21
Á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 ?
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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 : 9667
REPUTAÇÃO : 1664
Idade : 21
Á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 : 1117
REPUTAÇÃO : 243
Idade : 33
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
avatar
Sheyk
Avançado
Avançado

PONTOS : 705
REPUTAÇÃO : 23
Idade : 18
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