[Tutorial] Como Criar Um Jogo Multiplayer Facilmente (Parte 3)
Enviado: Qua Jul 27, 2016 3:06 pm
Fala Galera,
Para Aqueles Que Exploraram O Exemplo E Não Perceberam Nada, Eu Hoje Vou Estar Dando Uma Grande Ajuda ;)
Vou Começar Por Explicar Algumas Keywords Básicas Da Extensão (GMS)
Esta é a Função Que Mostrará o Login Para Os Jogadores ao Abrirem O Jogo.
Esta Função Serve Para Mostrar O Chat
(Obs: o Número 1 Contido Na Função Apenas Para Mostrar O Chat Então Não Mexa Nele !)
Esta Função Serve Para Mandar Uma Mensagem De Chat
Como Podem Ver Onde Eu Digitei Texto é a Variável Que Mostrará o Texto e a Cor é a Variável Da Cor.
Esta Função Serve Para Alinhar O Chat Com A Visão Do Player
Copiei Esta Keyword Já Programada Do Exemplo Para Ficar Mais Simples E Não Ter De Alinhar Ela ;/
Esta Função Serve Para Mostrar Ou Escolher A Team Em Que Se Encontra O Player
No Exemplo Eles Usam Ela De Forma A Que Se o Player Tem A Variável Team = 1 Ele Será Do Time Vermelho e Que Se A Variável For Diferente De 1 Ele Será Do Time Azul
Acabando Por Ficar Assim :
Esta Função Serve Apenas Para Mostrar E Guardar No Servidor Estatísticas Como Mortes, Kills, Ect...
Foi Usada Assim No Exemplo Para Mostrar As Mortes e Para Mostrar As Kills:
(Mortes)
(Kills)
Bem Galera Eu Sei Que O Tutorial Já Está Um Pouco Longo Mas Antes De Começar-mos a Fazer o Nosso Primeiro Jogo Multiplayer Com a Extensão (GMS) Eu Vou Explicar Como Sincronizar Objetos Como Balas, Bombas, Ect...
(Obs: Com Sincronizar Eu Quis Dizer De Forma a Que Ambos Os Players Vejam a Bala/Bomba)
Ok, Podemos Ver No Script Que Quando Podemos Disparar (can_shoot) Criamos A Instancia Bala (obj_bullet) Definindo Assim a Sua Velocidade, Direção E Ativando Um Alarme Para Não Ficarem Constantemente a Disparar. Para Sincronizar a Bala Usámos a Função :
E Definimos Que Queremos Que Ele Sincronize a Variável i (a Bala) e Definimos Também a Constante is_onetime, Que Eu Ainda Não Explicarei Para Que Serve Pois O Tutorial Já Está Longo De Mais.
Espero Que Tenham Gostado Do Tutorial
Para Aqueles Que Exploraram O Exemplo E Não Perceberam Nada, Eu Hoje Vou Estar Dando Uma Grande Ajuda ;)
Vou Começar Por Explicar Algumas Keywords Básicas Da Extensão (GMS)
Esta é a Função Que Mostrará o Login Para Os Jogadores ao Abrirem O Jogo.
Código: Selecionar todos
gms_show_login();
Esta Função Serve Para Mostrar O Chat
Código: Selecionar todos
gms_chat_toggle(1);
Esta Função Serve Para Mandar Uma Mensagem De Chat
Código: Selecionar todos
gms_chat(texto,cor)
Esta Função Serve Para Alinhar O Chat Com A Visão Do Player
Código: Selecionar todos
gms_chat_bind_view(0, cp_bottom, 100);
Esta Função Serve Para Mostrar Ou Escolher A Team Em Que Se Encontra O Player
Código: Selecionar todos
gms_team_get_current
Acabando Por Ficar Assim :
Código: Selecionar todos
if(gms_team_get_current() == 1)
{
x = 96;
y = 512;
sprite_index = spr_player_red;
}else{
x = 1400;
y = 512;
sprite_index = spr_player_blue;
}
Esta Função Serve Apenas Para Mostrar E Guardar No Servidor Estatísticas Como Mortes, Kills, Ect...
Código: Selecionar todos
gms_statistic_set
(Mortes)
Código: Selecionar todos
gms_statistic_set("deaths", gms_statistic_get("deaths") + 1);
Código: Selecionar todos
switch(argument0)
{
case p2p_kill:
//Don't forget to actually add the statistics on the site!
gms_statistic_set("kills", gms_statistic_get("kills") + 1);
break;
}
(Obs: Com Sincronizar Eu Quis Dizer De Forma a Que Ambos Os Players Vejam a Bala/Bomba)
Código: Selecionar todos
if(can_shoot)
{
i = instance_create(x, y, obj_bullet);
i.speed = 8;
i.direction = point_direction(x, y, mouse_x, mouse_y)
can_shoot = 0;
alarm[0] = 6;
gms_instance_sync(i, is_onetime);
}
Código: Selecionar todos
gms_instance_sync
Espero Que Tenham Gostado Do Tutorial