GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[Tutorial] 39dll Tutorial - Part II(Final)

Ir para baixo

[Tutorial] 39dll Tutorial - Part II(Final) Empty [Tutorial] 39dll Tutorial - Part II(Final)

Mensagem por !!Game Play!! Sáb 16 Mar 2013, 23:25

39dll Tutorial Part II(Final)

Luke Escude




Descrição : Eu achei este tutorial sobre a 39dll no site da gmc (forum de game maker da yoyogames) , então resolvi traduzi-la e postar aqui no fórum pra ver se ajudam os usuários a entender melhor sobre esta dll , eu ainda não testei , mas pelos comentários , parece ser bom !

Part II(Final) do tutorial sobre 39dll traduzido feito pelo Luke Escude que disponibilizou este tutorial para todos!

Obs:Tutorial traduzido ,comentários das engines traduzidas , menos as imagem , voçes mesmo terão que traduzi-las

Nível de dificuldade: Avançado

Game Maker : GM7 GM8 (Não testado em outros game maker's pelo o que eu sei)

Tutorial Original: http://www.lukeescude.com/online-tutorial/


[Tutorial] 39dll Tutorial - Part II(Final) Partid



6. Gravar, e leitura de uma mensagem


Um bom conjunto de comandos existe para gravar dados, como bytes, strings, etc, para uma mensagem, e depois de ler os dados da mensagem. Se você enviar uma mensagem sobre o cliente, você pode usar os comandos de gravação para gravar dados a ele, em seguida, enviá-lo. Em seguida, o servidor lê-lo usando os comandos de leitura.

Spoiler:


Estes são apenas os típicos de leitura / gravação comandos. Há vários outros, como longs e ushorts, mas aqueles que não são necessários para você memorizar. Apenas estas as mais básicas até aqui. Usando os comandos de gravação, você pode escrever seus dados para uma mensagem, em seguida, enviá-lo para o lado de recepção. Ambos os comandos de gravação e os comandos de ler o trabalho, tanto o cliente e o servidor.


7. Enviando a mensagem



O envio da mensagem é bastante simples, uma vez que você tem todos os seus dados gravados. Lembra da ID da TCP de cada objeto jogador no servidor? Esse ID representa o cliente específico ligado a ele. Isso é para o servidor.
Por outro lado, no cliente, uma vez que estabelece uma ligação com o servidor, ele armazena a ID de TCP em uma variável, global.tcp.
Isto significa que, se você é o servidor, e você quiser enviar uma mensagem para o cliente, você usa sendmessage (tcp), enquanto no cliente, para enviar uma mensagem para o servidor, você pode usar SendMessage (global.tcp). Mais detalhadamente abaixo.

Spoiler:

O comando clearbuffer () deve ser chamado quando você está a escrevendo dados de uma mensagem. clearbuffer () limpa a leitura / gravação de buffer. Você não quer que os dados antigos que vão em sua mensagem, não é?

Após o comando clearbuffer () é chamado, em seguida, usar os comandos de gravação para gravar todos os dados que você deseja. Neste caso, a mensagem tem somente um byte, que é o valor é 0.

O comando SendMessage () envia a mensagem para a conexão especificada. No cliente, só pode haver uma ligação, certo? A conexão para o servidor. Então você usa global.tcp (ou qualquer outro nome variável) ... No servidor, uma vez que o ID TCP deve ser local, e não global, você acabou de usar tcp.

NOTA: Eu sei que nós não falamos sobre o cliente ainda, mas estamos chegando lá. Você está quase pronto!


8. O Client


Aqui é onde o jogo atua. O cliente é o que está aberta no computador do usuário. Ele faz apenas uma ligação, para o servidor. Eu tenho uma base de clientes para você que eu criei, é o esqueleto de um cliente, mas é bom trabalhar com uma vez que tem todos os scripts necessários, e objetos.

ClientBase.GMK

Tudo bem, o cliente terá dois objetos usados para a conexão. online_connect, que faz a conexão inicial, e online_receive que vai fazer todos os dados que recebem do servidor. Tem o mesmo switch () da árvore do servidor, porque como para colocar um byte no início da mensagem.

Aqui está o código para o evento de criação do objeto online_connect:

Spoiler:

No código acima, o dllinit () é o mesmo que o servidor. Aqui é a nossa variável global.tcp. Ele está a ser atribuído a ID TCP retornado pelo tcpconnect () função. O primeiro parâmetro para tcpconnect () é o endereço IP do servidor, que é uma cadeia. NOTA: 127.0.0.1 é o mesmo que "localhost". O segundo parâmetro é o número da porta. Isso está definido para 5123, mas deve ser alterado para qualquer porta que o servidor opera. O terceiro parâmetro define o bloqueio para OFF.

Spoiler:


Observe como intimamente relacionado o código Step do cliente é o código do STEP do objeto jogador. Além disso, observe, o comando receiveMessage () tem "global.tcp", em que, em vez do objeto jogador "tcp" nele.
Tudo o resto é fácil de entender se você entendeu o objeto jogador no servidor.


9. Juntando tudo


Você já sabe como configurar um servidor, conectar a ele com um cliente, ler / escrever uma mensagem e enviar a mensagem. Agora, é hora de você colocar tudo junto. Comece simples, não sobrecarregar-se. Esse tipo de coisa leva tempo.

Eu criei uma amostra de bate-papo , servidor e client para que você olhe. Basta iniciar o servidor, minimizá-lo, e lançar dois clientes. Cada cliente representa um usuário, então o que você digita em um cliente é enviada ao servidor, e o servidor repete para todos os clientes. É uma sala de chat.

ChatRoom.RAR




Emfim o tutorial acaba por aqui , espero que tenha ajudado muitos aqui no fórum , é o que eu espero
As vezes arranjo um tempo pra ''fuçar'' o site da Gmc , e qualquer dia desse traduzo mais alguns tutoriais que eu achar interessante ,porque o fórum da gmc tem um conhecimento mais amplo sobre o game maker

então , abrç , ate a próxima pessoal!



39dll Tutorial Online, Lucas Escude, 2010
!!Game Play!!
!!Game Play!!

Data de inscrição : 24/12/2011
Reputação : 4
Número de Mensagens : 159
Prêmios : [Tutorial] 39dll Tutorial - Part II(Final) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.blackcubestudio.tkk/

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos