Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Packets no NP Plus+ [Aula 2]
5 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Packets no NP Plus+ [Aula 2]
Aula 1
A pedido do leon vou ensinar mais um pouco sobre os packets, e o que você pode fazer com eles.
Quem leu a primeira aula já deve saber que para enviar um packet global para todos online basta chamar o script:
- Código:
Network::Main.socket.send("<23> função </23>\n")
Você pode receber um pacote em um método, como é utlizado no script [ABS] Evento Global do Valentine.
Nessa aula faremos métodos globais que são executados no computador de todos jogando o jogo, adicionando o nome dos administradores online!
Primeiro, vamos criar o método:
- Código:
def admin_on(nome)
$admins = [] if $admins.nil?#inicia a array, caso seja nula
#Verifica se o nome já foi adicionado, caso não, adiciona
if $admins.include?(nome) == false
$admins.push nome
end
end
- Código:
def add_admin
if Network::Main.group == 'admin'
Network::Main.socket.send("<23> admin_on(#{$game_party.actors[0].name})</23>\n")
end
end
Agora basta chamar esse script: add_admin quando algum jogador entrar, para testar deixe em processo paralelo, e você verá que se for admin, irá adicionar na var $admins o seu nome, no jogo de todos.
Para verificar os jogadores admin apenas chame o script: print($admins), Você pode até mesmo criar uma window e escrever nela os nomes(como eu fiz na lista de amigos).
Mas agora, e se o admin sair do jogo? Ele continuará na array '-' então vamos resolver isso.
Criaremos um método para remover o admin da array.
- Código:
def remove_admin(nome)
if $admins.nil? == false #verifica se a var não é nil, para evitar erros
$admins.delete(nome)
end
end
Agora vamos por para chamar esse método quando o jogo for fechado, então vão no script Network, na linha 700 +/-, procure por esse código:
- Código:
def self.close_socket
return if @socket == nil
@socket.send("<9>#{self.id}</9>\n")
Pronto! Fizemos um sistema global, bem simples, mas com essa base vocês poderão fazer algo melhor, como lista de jogadores online, ou jogadores em um mapa só, jogadores Vip, Lista de amigos!
Dúvidas postem abaixo, eu fiz todos os código aqui mesmo e não testei, mas creio que está tudo certo.
Script Completo:
- Código:
=begin
No script Network, na linha 700 +/-, procure por esse código:
def self.close_socket
return if @socket == nil
Em baixo cole esse, ele irá mandar deletar o nome da variável
quando o admin sair:
if Network::Main.group == 'admin'
Network::Main.socket.send("<23> remove_admin(#{$game_party.actors[0].name})</23>\n")
end
=end
#Adiciona o nome do Admin na variável
def admin_on(nome)
$admins = [] if $admins.nil?#inicia a array, caso seja nula
#Verifica se o nome já foi adicionado, caso não, adiciona
if $admins.include?(nome) == false
$admins.push nome
end
end
#Verifica se a pessoa é admin e chama o método para adicionar o nome na variável
def add_admin
if Network::Main.group == 'admin'
Network::Main.socket.send("<23> admin_on(#{$game_party.actors[0].name})\n")
end
end
#Remove o nome do Admin da variável
def remove_admin(nome)
if $admins.nil? == false #verifica se a var não é nil, para evitar erros
$admins.delete(nome)
end
end
Créditos: RD12
Última edição por RD12 em Dom Jul 01, 2012 12:36 pm, editado 1 vez(es)
Re: Packets no NP Plus+ [Aula 2]
Bem legal suas aulas..
Graças a outra que fiz o sistema de Mensagem Global.
Valeu,+1Cred
Aprendo muito com essas aulas,Breve poste mais,se poder!.
Graças a outra que fiz o sistema de Mensagem Global.
Valeu,+1Cred
Aprendo muito com essas aulas,Breve poste mais,se poder!.
_________________
Alguma Duvida!? Me mande uma MP
Regras do Fórum
Regras do Fórum
Maverick ~- Membro Ativo
- Mensagens : 372
Créditos : 39
Re: Packets no NP Plus+ [Aula 2]
VLW VEI
Agr posso fazer meus sistemas o/
+Cred
Atenciosamente LMM
Agr posso fazer meus sistemas o/
+Cred
Atenciosamente LMM
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Re: Packets no NP Plus+ [Aula 2]
Legal, gosto dos seus tutoriais porque ajudam muita gente, mas tenho uma dúvida: ao invéz de eu usar uma def "solta", eu não poderia coloca-la em um módulo ou em uma classe e chama-la não?
+1
+1
_________________
Re: Packets no NP Plus+ [Aula 2]
vou ver akie se consigo fazer o sistema q eu queria
Cara qnd eu chamo o script aparece assim:
Cara qnd eu chamo o script aparece assim:
_________________
Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
http://liferpgmakerv2.forumais.com/
Tópico original/Tópico de Recrutamento
Re: Packets no NP Plus+ [Aula 2]
Não me lembro,mas parece que não lê os caracteres especiais como "ç" ou "ã"Samuka_Maker escreveu:vou ver akie se consigo fazer o sistema q eu queria
Cara qnd eu chamo o script aparece assim:
não use acentos..
_________________
Alguma Duvida!? Me mande uma MP
Regras do Fórum
Regras do Fórum
Maverick ~- Membro Ativo
- Mensagens : 372
Créditos : 39
Re: Packets no NP Plus+ [Aula 2]
Eu não adicionei nenhum Character Mais eu vejo akie depois qual o erro / Bom tuto RD
_________________
Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
http://liferpgmakerv2.forumais.com/
Tópico original/Tópico de Recrutamento
Re: Packets no NP Plus+ [Aula 2]
Pela screen tem algo chamado função..
deixe só funcao e teste!
deixe só funcao e teste!
_________________
Alguma Duvida!? Me mande uma MP
Regras do Fórum
Regras do Fórum
Maverick ~- Membro Ativo
- Mensagens : 372
Créditos : 39
Re: Packets no NP Plus+ [Aula 2]
continua dando erro
_________________
Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
http://liferpgmakerv2.forumais.com/
Tópico original/Tópico de Recrutamento
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Enviando packets no Netplay plus+
» Corrigindo packets do cliente
» Continuação Da Aula De Trabalhar Com Mapas. Aula 14: Trabalhando com Mapas Pt2
» Aula de RGSS - Aula 1
» RGSS 2ª Aula
» Corrigindo packets do cliente
» Continuação Da Aula De Trabalhar Com Mapas. Aula 14: Trabalhando com Mapas Pt2
» Aula de RGSS - Aula 1
» RGSS 2ª Aula
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos