Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.


Você não está conectado. Conecte-se ou registre-se

[tutorial] minecraft: computercraft - 4º parte

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

e ae galera continuando o tutorial do computercraft nessa parte vamos aprender um pouco sobre rednet, porem antes a gente vai precisar de dois computadores e um modem na lateral (teoricamente pode ser em qualquer lado ate em baixo dele), mais uma coisa nao vou ensinar craftar os itens mesmo por que nao é complicado nem para craftar e nem para conseguir os itens (maioria deles são os itens normais do jogo)



agora basta ligar o cabo de rede em um modem ate no outro outro (deve ter cabo suficiente para a distancia ja que cada bloco é equivalente a um cabo)



agora apertamos o botao direito do mouse em cima dos dois modens para ativar eles (eles vão ficar vermelho indicando que estão ligados)



pronto agora os computadores estão pronto para se comunicar entre si, para quem ja brinco com programação e rede antes principalmente com conexao socket vai ficar um pouco mais familiarizado com isso e para quem nunca mexeu vou dar uma explicação bem basica de como duas maquinas se comunica, vamos pensar no servidor do proprio jogo minecraft onde uma maquina é o servidor e as demais são os clientes (hosts), os clientes apenas consegue se comunicar com o servidor se o servidor estiver online, e tambem existe uma comunicação entre o cliente e o servidor e vice versa levando isso para o jogo podemos pensar que o servidor tem o mapa e envia as coordenadas para o cliente e ao mesmo tempo quando o cliente se mexe ele envia as novas coordenadas para o servidor e com isso o servidor envia essas coordenadas para os outros clientes assim seus amigos ver voce se mexendo no jogo (menos quando tem lag ai voce esta em um lugar e ao mesmo tempo nao esta ~ culpa da net de 56kpbs kkk ), depois que é estabelecido a comunicação entre o cliente e o servidor os dados pode ser enviado de ambos os lados podendo partir tanto do servidor quanto do cliente (porem lembrando que é sempre o cliente que inicia a conexão e sempre o servidor deve esta rodando antes de estabelecer a conexao entre ele e o cliente), a comunicação entre o cliente e o servidor segue padrões especificos isso é chamado de protocolo de rede sendo esse protocolo que permite que ambas as maquina se comunique e interprete exatamente o que a outra manda (se a gente pegar o navegador e conectar na porta de um servidor do minecraft o jogo nao vai aparecer nele isso por que o protocolo do jogo é diferente do protocolo dos servidores web embora a conexao nos dois casos sao estabelecidas da mesma forma), no caso vamos usar um computador como cliente e outro como servidor e para começar vamos criar o codigo no servidor (que no meu caso vai ser a maquina da esquerda), criamos um arquivo como nos tutoriais anteriores que no caso vai ser na maquina que vai ser o servidor

Código:
edit kodoservidor.lua

a primeira coisa que temos que fazer é especificar para qual lado esta o modem com rednet.open no meu caso o computador da esquerda o modem esta no lado direito dele

Código:
rednet.open("right")

para esse primeiro exemplo o nosso protocolo vai ser bem simples o servidor apenas vai receber um texto vindo do cliente e mostrar na tela, para a gente receber um texto vindo da rede usamos rednet.receive porem no momento que usamos ele a maquina vai ficar travada esperando receber alguma coisa e so vai continuar depois de receber, tambem é necessario a gente atribuir o retorno daquela função para duas variaveis sendo a primeira o id da maquina que envio e a segunda o texto

Código:
rednet.open("right")
id, texto = rednet.receive()

por fim podemos exibir o texto

Código:
rednet.open("right")
id, texto = rednet.receive()
print(texto)

pronto agora basta salvar o programa e executar porem antes disso recomendo usar o comando id para saber qual o id da maquina depois execute o programa

Código:
id
sh kodoservidor.lua



no momento que voce executa ele o terminal vai ficar preso com isso nosso trabalho ali terminou agora basta a gente ir na outra maquina criar o cliente

Código:
edit kodocliente.lua

como no codigo anterior temos que especificar o lado do modem com rednet.open porem dessa vez meu modem esta para o lado esquerdo

Código:
rednet.open("left")

agora basta a gente usar a função que envia a mensagem que no caso é a rednet.send porem temos que passar dois argumentos para ela, o primeiro é o id da maquina que vamos enviar (no meu caso a outra maquina o id é 5), o segundo é o texto (lembrando texto na programação são strings que deve fica entre aspas)

Código:
rednet.open("left")
rednet.send(5,"by kodo no kami")

agora basta salvar e executar para ele enviar a mensagem para o outro

Código:
sh kodocliente.lua



se a gente olhar no servidor agora vamos perceber que ele realmente recebeu a mensagem e como nao tinha mais nada ele termino a execução do programa



a gente tambem poderia fazer o seguinte no servidor tambem fazer ele enviar uma mensagem para cliente, bastando usar rednet.send tambem com o id armazenado naquela variavel

Código:
rednet.open("right")
id, texto = rednet.receive()
print(texto)
rednet.send(id,"recebi sua msg att server")

no cliente tambem precisa esta esperando para receber essa mensagem com a função redstone.receive, ou seja toda vez que um lado enviar uma mensagem o outro deve esta esperando ela

Código:
rednet.open("left")
rednet.send(5,"by kodo no kami")
id, texto = rednet.receive()
print(texto)



quando a gente precisa enviar uma mensagem para qualquer maquina usamos rednet.broadcast seguido da string

Código:
rednet.open("left")
rednet.broadcast("mensagem para todo mundo")

tambem podemos usar os modens wireless sendo as funções as mesmas que via rede cabeada e tambem nao necessarimente precisa ser dois computadores pode ser quantos voce quiser



entao galera aqui fica mais uma parte do tutorial porem ainda tem mais coisas para falar que seria os turtles que vamos ver na proxima parte \o

by kõdo no kami

Ver perfil do usuário https://eofclub.in/forum

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

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