InícioFAQBuscarMembrosRegistrar-seLogin
A Equipe Central RPG Maker deseja a todos Boas Vindas!
Olá galera venho aqui pedir para ajuda a vocês pesso que postem conteúdo em nossa comunidade irei ajudar a vocês também.
Agora nossa comunidade também tem o famoso projeto de ouro porem da nossa comunidade leva um nome diferente leva o nome Osca de Ouro entre no tópico de Notícias e fique por dentro das novidades.

Compartilhe | 
 

 Aula Avançada 4: Introdução aos sistemas online

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
..:: P.V Supreme ::..
Membro
Membro


Sexo : Masculino
Mensagens : 241

MensagemAssunto: Aula Avançada 4: Introdução aos sistemas online   Dom Dez 19, 2010 12:51 pm



Introdução
Finalmente estamos chegando nas partes mais esperadas do curso! Posso dizer que agora sim vamos para os conteúdos avançados de RGSS. Hoje começaremos a aprender os segredos por trás dos NPs que tanto usamos, vocês verão que é muito simples criar e alterar comandos dentro de um NP. ATENÇÃO: para simplificar as coisas e para permitir a todos a compreenção do novo X-NP, esta aula será direcionada ao XRGSS, irei mostar detalhes de uso e desenvolvimento!


A Base
Como na maioria dos NPs, o X-NP usa para todas as operações de troca de dados com o servidor o modulo Network que nada mais é que um pacote de funções prontas que podem ser utilizadas pelos desenvolvedores, para a troca de dados em especial, usamos um socket, que é o responsável direto pelo funcionamento do NP.
Para você ter uma idéia, no X-NP, são os seguintes scripts os responsáveis pelo funcionamento do próprio:
[NET] Win32 Library
[NET] Winsock
[NET] Socket Library
[NET] TCPSocket
[X-NET] Network
Todos os demais são apenas scripts de funcionalidade, isso não significa que você pode removê-los, apenas saiba que estes são a BASE, o esqueleto de tudo!



Enviando dados
Todas as funcionalidades do NP são baseadas em Strings, ou seja, todos os comandos nada são além de linhas de texto, mensagens trocadas entre o servidor e os clients. Para distinguir as mensagens, o Network utiliza códigos especiais nas mensagens, todos esses códigos, por padrão, são enviados entre <>, por exemplo, para dizer que o jogador de id 32545 esta desconectando, a mensagem é <9>32545, veja que os <> funcionam como tags html, 9 é o código para desconecção, dentro, apenas a id é o suficiente, isso facilita e muito a vida de todos os programadores e agiliza a troca de dados. SEMPRE que você criar um sistema online, dê preferencia para mensagens curtas, quanto mais compacto, melhor!

Para enviar você mesmo uma mensagem, basta usar:
Network::Main.socket.send("mensagem\n") if $online
É totalmente aconselhável que você use o "if $online", isso porque uma das especialidades do X-NP é rodar On e Offline, só que se você enviar uma mensagem offline da erro e o game fecha! No fim das mensagens sempre use um \n, isso é o mesmo que apertar enter em um texto, ou seja, ele pula uma linha, assim la no servidor, fica uma mensagem por linha e não uma montanha de dados em uma linha só. Todas as mensagens devem ser textos, para mandar variáveis ou switches, use um ".to_s" para converter.



Tipos de código
Segue abaixo a lista completa de mensagens, não as use sem saber exatamente o que você esta fazendo, a mais usada é a 10, essa sim você pode usar bastante, mas as outras tome cuidado ou pode dar pau em seu game!

<0> : serve para a autenticação
<1> : serve para pedir um id de usuário net
<2> : serve para pegar o nome de usuário
<3> : atualmente substituido por "check", serve para pegar o grupo
<5> : envia status do personagem, a posição do mesmo no mapa ou o gold
<6> : mapa que o char se encontra
<9> : fecha a concecção(diz que o personagem saiu)(antes era <4>)
*** <10> : manda comandos como em um chamar script net global, é o mais útil e usável
<11> : para alterar a mensagem do dia
<12a> : manda a id na execução de um trade
<12> : envia itens do trade
<13a> : chama para o private chat (não feche com o )
<13> : envia uma mensagem no chat privado
<18> : comandos de admin, serve para dar "dc"
<20> : testa a conecção com o servidor
<21a> : mesmo que 13a, porém com 2 parâmetros
<21> : equivalente ao 13 para o 12a
<22a> : verifica se há pms
<22d> : envia pms
<22e> : deleta a lista de pms
<23> : meche nas local switches (pode usar o 10 tb)
<24> : chama o usuário para o trade
<24c> : envia a "trade_id"
<24d> : sai do trade
<25> : chama a função de adicionar item ao trade (envia o id)
<25a> : envia os dados do item adicionado
<25b> : remove um item do trade
<25d> : pede para trocar
<25e> : executa o trade
<25f> : cancela o trade

senha : cria uma nova conta com os dados enviados(não é recomendado usar)
: envia a versão do client
: pede a mensagem do dia
senha : envia o login do jogador
: envia erros ocorridos (fica salvo em errorlog)
: manda a id(para pvp)
: novamente a id? (pvp)
: atualiza o status do personagem (pvp)
: efeito de dano de ataque (pvp)
: personagem morreu (pvp)
: mensagens de chat global
: salvar as Server Variables
: requisitar do servidor as Server Variables
: salvar as Server Switches
: carregar do servidor as Server Switches



Como funciona a conversão de String para código?
Você ja percebeu que todos os conteúdos trocados com o servidor são meros textos, porém esses textos são interpretados pelo Network e convertidos em códigos que são executados em seguida, para localizar essas conversões, procure pelo método update_ingame e analise a conversão de textos para códigos, iremos nos aprofundar mais nisso na próxima aula.


Tags de Busca

Net Play
X-RGSS
String
socket
Network


..:: Crédito ::..
Total a: Anderson Porto...
Por Disponibilizar: ..:: P.V Supreme ::..


..:: Agradecimentos ::..
Google xD foi da onde que tirei... + sei que essas aulas são de Anderson Porto...

OBS: Chegamos ao Fim do Curso Avançado, Próxima Etapa: Extras
Voltar ao Topo Ir em baixo
http://centralrpgmaker.forumeiro.com
 
Aula Avançada 4: Introdução aos sistemas online
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» #IAJ Aula 05 - Pontuação
» Introdução ao Desenvolvimento de Sistemas Web - Dispensa - Especial "Respostas das Avaliação"
» #DGM Aula 03 - Sprites
» Aula 1 - Introdução aos vetores e Inkscape
» Game Maker - Aula 1- Introdução

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
 :: Rpg Maker XP :: Tutoriais-
Ir para: