..:: P.V Supreme ::.. Membro
Sexo : Mensagens : 241
| Assunto: Aula Avançada 4: Introdução aos sistemas online Dom Dez 19, 2010 12:51 pm | |
| IntroduçãoFinalmente 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 BaseComo 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 dadosTodas 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>325459>, 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ódigoSegue 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 13a>) <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 SwitchesComo 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 BuscaNet 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 | |
|