  | 
		  | 
	 
	 
	
	
		  | 
		
	
	
	
		| Autor | 
		Mensagem | 
	 
	
		
			kleiton157 
			Usuário 
			 
  
  
			
			
				Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai | 
			 
			  
		 | 
		
			
				| Problema no host da uma ajudinha | 
				 | 
			 
			
				bem é o seguinte
 
 
eu e meu colega alisson, criamos um projeto, 
 
 
nesse projeto colocamos os dois objetos da aba comunicacao,e dois botoes,
 
 
 um com o comando TCPClientConnect() - (Função utilizada para conectar o cliente ao servidor definido em host.) np client colocamos o IP do dedicado dele(hospedagem de um antigo game)
 
e outro com o comando TCPServerActivate para criar o servidor
 
e a porta dos nossos ta 7002, sendo que o game dele é uma copia do meu que eu passei para ele...
 
 
então ele abriu o dedicado, e clicou em criar, e eu cliquei em conectar e ele do pc dele também clicou em conectar, talz
 
conectou!!!(porque antes dava error)
 
 
soke eu  não  vejo ele no meu game, e  não  é de  não  procurar porque o mapa é um cubo esticado, itaum daria para ver ele
 
 
 
pode me ajuadr?
 
 
  _________________ ________________________________________
 
- É nescessário ver além do que os olhos mostram | 
			 
		  | 
	 
	
		| Qui Jan 05, 2012 3:35 pm | 
		  | 
	 
	
		  | 
	 
	
		
			kleiton157 
			Usuário 
			 
  
  
			
			
				Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai | 
			 
			  
		 | 
		
			
				 | 
				 | 
			 
			
				euu esqueci de dizer
 
 
no tutorial dizia:
 
 
"Bem aventurado aquele que tem paciencia, pois ele banharar seu corpo, nas aguas do eufrates"
 
 
zuera, dizia assim:
 
 
"o conceito é o mesmo do jogo de xadrez, mas dessa vez vai ser necessário envia a nova posição do jogador (x, y e z) para os outros clientes ou servidor sempre que o jogador se mover, ou então simplesmente o movimento que o personagem precisa executar."
 
 
tabom, eu intendi que eu devo ter algo no onloop que fique mandando sempre minha posição pro cara, mais como e o que usar?
 
 
la dizia:
 
 
"     A maneira como será feita troca de mensagens entre o servidor e os clientes depende muito do tipo de jogo, por exemplo, em um jogo de xadrez toda vez que um jogador mover uma das peças ele deve enviar uma mensagem para o oponente passando todas as informações daquela jogada, para isso deve-se criar um protocolo próprio para o formato dessa mensagem para que ela possa ser criada e interpretada.
 
 
        No exemplo do jogo de xadrez podemos pensar em um protocolo assim:
 
 
        Mensagem = IDPeça|Destino
 
 
        onde:
 
 
        ID : É um código identificador definido para cada peça.
 
 
        Destino : É um código identificador definido para todos os locais do tabuleiro.
 
 
        | : Separador.
 
 
        Quando um dos jogadores mover uma peça podemos identificá-la pelo seu código identificador e também o local para onde a peça foi movida pelo código identificador do local no tabuleiro, assim podemos facilmente montar a nossa mensagem. Por exemplo:
 
 
        Mensagem: “2|16?
 
 
        Ou seja, moveu a peça com o ID 2 para o local de ID 16. Montamos a nossa mensagem em uma string e enviamos para o outro oponente (cliente ou servidor). O separador | é usado para conseguirmos separa os dados depois.
 
 
        Ao receber a mensagem o oponente deve ler esta mensagem separando os dados para que eles possam ser interpretados. Isso pode ser feito facilmente percorrendo a string procurando pelo caracter separador (|) e guardando o resto em variáveis auxiliares."
 
 
então ele vai sim mandar a mensagem de protocolo, soke como eu enviaria isso, na pratica, qual comando usaria talz
  _________________ ________________________________________
 
- É nescessário ver além do que os olhos mostram | 
			 
		  | 
	 
	
		| Qui Jan 05, 2012 3:47 pm | 
		  | 
	 
	
		  | 
	 
	
		
			Edirlei 
			Administrador 
			 
  
  
			
			
				Registrado: 15/03/08 Mensagens: 760
  | 
			 
			  
		 | 
		
			
				 | 
				 | 
			 
			
				No cliente:
 
 
TCPClientWrite("Mensagem")
 
 
Ou no servidor:
 
 
TCPServerWrite("IP do Cliente", "Mensagem")
 
 
E para ler a mensagem no servidor:
 
 
TCPServerRead():String
 
 
E no cliente:
 
 
TCPClientRead():String
  | 
			 
		  | 
	 
	
		| Qui Jan 05, 2012 4:07 pm | 
		  | 
	 
	
		  | 
	 
	
		
			kleiton157 
			Usuário 
			 
  
  
			
			
				Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai | 
			 
			  
		 | 
		
			
				 | 
				 | 
			 
			
				bem eu  não  intendi muito não    
 
você poderia me dar um exemplo, tipo usando o player
 
 
 
bem até onde eu vi seria mais ou menos assim:
 
o game que entrase como cliente, teria no Onloop algo tipo TCPClientWrite(getobjectpositionx('Player'),getobjectpositionY('Player'),getobjectpositionZ('Player')); 
 
 
 
e no cara que criou a rede('no caso a hospedagem'), teria algo do tipo TCPClientRead(getTCPClientWrite):String
 
 
 
eu  não  intendi muito não, se puder me da um exemplo do comando pronto
  _________________ ________________________________________
 
- É nescessário ver além do que os olhos mostram | 
			 
		  | 
	 
	
		| Qui Jan 05, 2012 7:35 pm | 
		  | 
	 
	
		  | 
	 
	
		
			kleiton157 
			Usuário 
			 
  
  
			
			
				Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai | 
			 
			  
		 | 
		
			
				 | 
				 | 
			 
			
				outra pergunta,  não  averia um conflito no sistema, quando dois players entracem no game, primeiro pelo fato de ter 2 objetos com o mesmo nome, e depois pelos eventos, assim, se tem um evento que leva o objeto perto do player,  não  daria uma confusão no sistema, tipo para qual player ir?
 
 
e também a vida do player, será que todos os players assumiriam a mesma variavel?, então se um morrer todos morrem?
 
 
  _________________ ________________________________________
 
- É nescessário ver além do que os olhos mostram | 
			 
		  | 
	 
	
		| Sex Jan 06, 2012 6:11 pm | 
		  | 
	 
	
		  | 
	 
	
		
			Viciadao 
			Usuário 
			 
  
  
			
			
				Registrado: 27/11/11 Mensagens: 202 Localização: Morro do Alemão | 
			 
			  
		 | 
		
			
				 | 
				 | 
			 
			
				uma solução para isso é criar variáveis ramdom com letras e numeros exemplo:
 
5454545
 
9236045723
 
0214523402
 
jsflsdhgj450985
 
ghff67dfjkdf988
 
Assim toda vez que um jogador entrar sera criado uma variável diferente para ele!
  | 
			 
		  | 
	 
	
		| Sex Jan 06, 2012 8:11 pm | 
		  | 
	 
	
		  | 
	 
	
		
			kleiton157 
			Usuário 
			 
  
  
			
			
				Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai | 
			 
			  
		 | 
		
			
				 | 
				 | 
			 
			
				hm...
 
 
mais tipo, qual nome receberá o proximo player quando ele entrar no game, tipo, o primeiro vai ser o player é claro
 
 
 
mais o segundo  não  podera receber o nome de player porque já tem, então qual ele recebera?
 
 
  _________________ ________________________________________
 
- É nescessário ver além do que os olhos mostram | 
			 
		  | 
	 
	
		| Sex Jan 06, 2012 9:43 pm | 
		  | 
	 
	
		  | 
	 
	
		
			kleiton157 
			Usuário 
			 
  
  
			
			
				Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai | 
			 
			  
		 | 
		
			
				 | 
				 | 
			 
			
				mais ainda quero saber, como fica o comando e onde eu coloco ele?
  _________________ ________________________________________
 
- É nescessário ver além do que os olhos mostram | 
			 
		  | 
	 
	
		| Sex Jan 06, 2012 9:47 pm | 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
		 | 
		  | 
	 
	 
	
	
		  | 
		  | 
	 
	 
	 |