|
|
|
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 |
|
|
|
|
|
|
|
|