[Sistema/Aula] Salas PVP

Ir em baixo

[Sistema/Aula] Salas PVP

Mensagem por Nanzin em Qua Out 12, 2011 1:57 pm

[Você precisa estar registrado e conectado para ver esta imagem.]

ola galera, to aqui denovo para mostrar mais um trabalhinho que tava fazendo.
é um sistema de Salas PVP!;

- Explicaçoes: o sistema se basea em salas reservadas que ninguem terá acesso no game pelos mapas apenas por esse sisteminha, seriam sempre criados pelos adms! mais somente na Versao 1 que é esta;

ScreenShot:
[Você precisa estar registrado e conectado para ver esta imagem.]

- Atualizaçoes Futuras: bom como essa é a versao 1 e fiz pq tava sem nada pra fazer, tera as seguintes atualizaçoes:

* Chamada da janela por icone no Menu
* Criaçao das salas de pvp in game
* Criaçao de sala feita pelo proprio player;
* sistema de equipes para a batalha começar
* sistema de espera;

[Você precisa estar registrado e conectado para ver esta imagem.]

obs: nao liguem para a HUD era apenas um teste kkkk

bom como button ja diz começando:

crie um novo script acima do mais, (sugiro onde fica as janelas, Window_Gold, Window_Status questao de organizaçao), de o nome que desejar e cole esse script que fiz:
Código:
###################################################################
# Nome: Sistema Salas de PVP
# Scripter: Nanzin
# Equipe: Wolf Dragon Makers
# funçao: Permite ao Administrador do Game criar as salas de PVP;
##################################################################


#--------------------------------------------------------------------------------------------------------#
# * Declaraçao da Class Pvp, que englova todo os metodos abaixo #
#--------------------------------------------------------------------------------------------------------#
class Pvp < Window_Base
def initialize
super(300,300, 160, 110)
self.contents = Bitmap.new(width - 32, height - 32)
self.z = 99999
self.opacity = 200
@dragable = true
@closable = true
self.contents.draw_text(35,0,132,32,"PVP Arenas")
sala1 = Button.new(self, 30, 50, "Sala de Duelos"){sala_duelos}
sala2 = Button.new(self, 10, 70, "Floresta Negra Arena"){floresta_negra_arena}
end

#------------------------------------------------------------------------------#
# * Definiçao da Primeira Sala #
#-----------------------------------------------------------------------------#
def sala_duelos
$game_temp.player_new_map_id = 2
$game_temp.player_new_x = 10
$game_temp.player_new_y = 25
$game_temp.player_transferring = true
@move = $game_player
@move.turn_down
Audio.me_stop
Audio.bgs_stop
$scene = Scene_Map.new
Network::Main.send_start
end

#--------------------------------------------------------------#
# * Definiçao da Segunda Sala #
#--------------------------------------------------------------#
def floresta_negra_arena
$game_temp.player_new_map_id = 18
$game_temp.player_new_x = 40
$game_temp.player_new_y = 58
$game_temp.player_transferring = true
@move = $game_player
@move.turn_down
Audio.me_stop
Audio.bgs_stop
$scene = Scene_Map.new
Network::Main.send_start
end
end

voce novato tah confuso?

Código:
class Pvp < Window_Base
def initialize
super(300,300, 160, 110)
self.contents = Bitmap.new(width - 32, height - 32)
self.z = 99999
self.opacity = 200
@dragable = true
@closable = true
self.contents.draw_text(35,0,132,32,"PVP Arenas")
sala1 = Button.new(self, 30, 50, "Sala de Duelos"){sala_duelos}
sala2 = Button.new(self, 10, 70, "Floresta Negra Arena"){floresta_negra_arena}
end

aqui estamos definindo a class Pvp que é uma janela pois herda a classe Window_Base e todas as suas propriedades.

-
Código:
super(300,300,160,110)
estamos definindo o seguinte:
Código:
super(x,y,largura,altura)
onde x e y sao coordenadas do plano cartesiano onde a janela será criada.

-
Código:
self.contents
estamos dizendo que todo conteudo da janela sera um bitmap (pixel de informaçoes),

-
Código:
self.z
definimos aqui a preferencia da janela

-
Código:
self.opacity
como o nome ja sugere definimos aqui a opacidade da janela.

-
Código:
@dragable = true
Comando exclusivo do Net PLay axo que se nao me engano a class que asume esse comando é a Widget ou a window (corrijam me se me equivoquei), aqui estamos dizendo que a janela pode ser arrastada;

-
Código:
sala1 = Button.new
esse comando é apra a criaçao de um botao clicavel, com os seguintes parametros, (ele_mesmo,x,y,"nome_dentro_do_botao");

-
Código:
{sala_duelos}
esse é uma chamda de metodo, onde esta todas as informaçoes para qual mapa sera redirecionado o player!;

bom a primeira parte a class Pvp foi explicada espero que tenham entendido tudo!;

Código:
#------------------------------------------------------------------------------#
# * Definiçao da Primeira Sala #
#-----------------------------------------------------------------------------#
def sala_duelos
$game_temp.player_new_map_id = 2
$game_temp.player_new_x = 10
$game_temp.player_new_y = 25
$game_temp.player_transferring = true
@move = $game_player
@move.turn_down
Audio.me_stop
Audio.bgs_stop
$scene = Scene_Map.new
Network::Main.send_start
end

bom eu acabei de falar acima, do sala_duelos? entao ai esta ele
cada sala que o adm for criar ele tera de fazer isso! criar u novo metodo;

explicaçoes:

-
Código:
$game_temp.player_new_map_id = 2
esse é o comando que calcula para qual mapa o player sera redirecionado, o numero apos o "=" indica o id do mapa no editor de mapas
screenshot:

-
Código:
$game_temp.player_new_x = 10
esse é o codigo que verifica a coordenada x que o player vai ir no mapa que foi estabelecido acima.

-
Código:
$game_temp.player_new_y = 25
faz o mesmo que o x mais calcula o y.

-
Código:
 $game_temp.player_transferring = true
esse verfica se o teleport pode ser feito

os demais nao sao importantissimos assim,(na verdade sao mais axo que é avançado demais para essa "aula/sistema").

bom axo que expliquei mei script
agora vamos para a parte final



bom se voce apenas copiar e colar meu script e quando o chama-lo atravez de um NPC
com o codigo:
Código:
Pvp.new
, a tela a aprecerá e sumira, isso por que temos uqe torna-la "global".

vá no script: [SC] Net Rmxp Hud

na linha 152, de um enter e adicione:
Código:
@sala_pvp = Pvp.new
$sala_pvp = @sala_pvp
@sala_pvp.visible = false
@sala_pvp.active = false

esse pequeno edit, vai tornar a janela global pelo fato de estar no net Hud;


agora vá na linha 350, de um enter e coloque

Código:
@sala_pvp.dispose
isso vai apagar a janela ao trocar de mapa.

va na linha 436, tambem de um enter e adicone
Código:
@sala_pvp.update
isso vai atualizar a janela contantemente.

e para terminar va na linha: 814, de o ultimo enter kkk
e adicione
Código:
if $sala_pvp.visible
$sala_pvp.visible = false
$sala_pvp.active = false
end
isso vai verificar se a visibilidade da janela foi alterada (geralmente pressionando ESC) e retira-a do mapa.

sempre que for criar mais salas, voce deve criar o button e o metodo adequado, nao é necessario sempre estar transformando a janela em global pois uma vez basta, senao estavamos ferrados, mais lembrese se modificar o nome da class Pvp voce deve modifcar no [SC] Net RMXP Hud tbm!

espero que consigam fazer pois comiga a esta funcionado,
aguardem novas atualizaçoes do sistema que ser apostado em breve!

OBS: para abrir a janela atualmente: crie um NPC va em chamar script:
Código:
$sala_pvp.visible = true

e pronto!;



Nanzin



Pequena Atualizaçao ja Concluida!

- Icone de Menu para abrir a lista de salas!;
ScreenShot:

- atualizaçoes em andamento:
ScreenShot:
avatar
Nanzin
Moderador
Moderador

Mensagens : 2
Pontuação : 51
Créditos : 1

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Sistema/Aula] Salas PVP

Mensagem por Maximus em Qua Out 12, 2011 5:44 pm

ótimo sistema ...vlw pelo post + 1 creed ..até mais.
avatar
Maximus
Administrador
Administrador

Mensagens : 84
Pontuação : 111
Créditos : 0

Ver perfil do usuário http://vilarpgbr.forumeiros.com

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum