Ranking do Jogo Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ranking do Jogo

+3
DeaN
Nanzin
RD12
7 participantes

Ir para baixo

Ranking do Jogo Empty Ranking do Jogo

Mensagem por RD12 Dom Jun 10, 2012 1:19 am

Ranking


Esse script mostra o rank de 1 a 10 de quem finalizou o jogo, no computador local. Mostra de acordo com a variável 10 do jogador, então ela seria a pontuação, caso queira que seja o level, só por o valor dela o Level.

O script salva com o nome do primeiro herói, então se for usar é necessário por para o jogador escolher o nome do herói.

Para atualizar O rank com a pontuação atual do jogador, chame o script Rank.Salvar . Para resetar o rank, chame o script Rank.Reset

obs: O ranking fica salvo no arquivo game.rank na pasta do jogo.

Screenshots

Spoiler:

Antes de postar o script vou ensinar como por a opção rank na scene Title:
É Opcional por essa opção na scene_title
Vá até o script Window_TitleCommand na linha 37, onde tem add_command("Rank", :rank). Em baixo adicione esse código:
add_command("Rank", :rank)

Agora vá no Scene_Title, na linha 96, onde tem @command_window.set_handler... Adicione:
@command_window.set_handler(:rank, method(:command_rank))

Pronto, agora podemos ir ao script.

Código:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#  |Autor: RD12|                  Rank Local
#------------------------------------------------------------------------------
#          Mostra o Rank de 1 a 10 de quem jogou no computador local
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Atualizar o Rank: Rank.Salvar
# Resetar o rank: Rank.Reset
# O script atualiza o rank de acordo com a pontuação, que é a variável de ID
#escolhida no modulo abaixo.
# Ao salvar o Rank irá salvar com o nome do primeiro Herói, então é bom por
#para escolher o nome ao iniciar o jogo.
#        Aparecer a scene de rank: SceneManager.goto(Scene_Rank)
#                        www.aldeiarpgbr.com


module Rank_Conf
  Text_1 = "Jogador"
  Text_2 = "Pontuação"#Level
  Imagem = Cache.picture("rank")
  #ID Variável que armazena o ponto do jogador no jogo
  Var_Ponto = 10
end

class Scene_Rank < Scene_Base

  def start
    super
     
    File.open("game.rank", "rb") do |file|
      contents = Marshal.load(file)
      $jogadores        = contents[:jogadores]
      $pontos          = contents[:pontos]
    end
show_rank
  end
 
  def terminate
    super
    @sprite.bitmap.dispose
    @sprite.dispose
  end
 
  def update
    super
    SceneManager.goto(Scene_Title) if Input.trigger?(:C)
  end

  def show_rank
    @sprite = Sprite.new
    @sprite.bitmap = Rank_Conf::Imagem
    @sprite.bitmap.draw_text(120, 10, 300, 32, Rank_Conf::Text_1, 0)
    @sprite.bitmap.draw_text(300, 10, 300, 32, Rank_Conf::Text_2, 0)
    #Rank 1
    @sprite.bitmap.draw_text(90, 50+27, 300, 32, "1- "+$jogadores[0], 0)
    @sprite.bitmap.draw_text(330, 50+27, 300, 32, $pontos[0], 0)
    #Rank 2
    @sprite.bitmap.draw_text(90, 50+27*2, 300, 32, "2- "+$jogadores[1], 0)
    @sprite.bitmap.draw_text(330, 50+27*2, 300, 32, $pontos[1], 0)
    #Rank 3
    @sprite.bitmap.draw_text(90, 50+27*3, 300, 32, "3- "+$jogadores[2], 0)
    @sprite.bitmap.draw_text(330, 50+27*3, 300, 32, $pontos[2], 0)
    #Rank 4
    @sprite.bitmap.draw_text(90, 50+27*4, 300, 32, "4- "+$jogadores[3], 0)
    @sprite.bitmap.draw_text(330,50+27*4, 300, 32, $pontos[3], 0)
    #Rank 5
    @sprite.bitmap.draw_text(90, 50+27*5, 300, 32, "5- "+$jogadores[4], 0)
    @sprite.bitmap.draw_text(330,50+27*5, 300, 32, $pontos[4], 0)
    #Rank 6
    @sprite.bitmap.draw_text(90, 50+27*6, 300, 32, "6- "+$jogadores[5], 0)
    @sprite.bitmap.draw_text(330,50+27*6, 300, 32, $pontos[5], 0)
    #Rank 7
    @sprite.bitmap.draw_text(90, 50+27*7, 300, 32, "7- "+$jogadores[6], 0)
    @sprite.bitmap.draw_text(330,50+27*7, 300, 32, $pontos[6], 0)
    #Rank 8
    @sprite.bitmap.draw_text(90, 50+27*8, 300, 32, "8- "+$jogadores[7], 0)
    @sprite.bitmap.draw_text(330,50+27*8, 300, 32, $pontos[7], 0)
    #Rank 9
    @sprite.bitmap.draw_text(90, 50+27*9, 300, 32, "9- "+$jogadores[8], 0)
    @sprite.bitmap.draw_text(330,50+27*9, 300, 32, $pontos[8], 0)
    #Rank 10
    @sprite.bitmap.draw_text(80, 50+27*10, 300, 32, "10- "+$jogadores[9], 0)
    @sprite.bitmap.draw_text(330,50+27*10, 300, 32, $pontos[9], 0)
   
    @sprite.bitmap.font.size = 20
    @sprite.bitmap.draw_text(370, 50+27*12, 150, 32, "Enter - Voltar", 0)
  end

end

 class Rank

 def self.Salvar

    File.open("game.rank", "rb") do |file|
      rank = Marshal.load(file)
      $jogadores  =  rank[:jogadores]
      $pontos      =  rank[:pontos]
    end
    if $game_variables[Rank_Conf::Var_Ponto] >= $pontos[0]
      atualizar_rank(0)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[1]
      atualizar_rank(1)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[2]
      atualizar_rank(2)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[3]
      atualizar_rank(3)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[4]
      atualizar_rank(4)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[5]
      atualizar_rank(5)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[6]
      atualizar_rank(6)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[7]
      atualizar_rank(7)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[8]
      atualizar_rank(8)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[9]
      atualizar_rank(9)
    elsif $game_variables[Rank_Conf::Var_Ponto] >= $pontos[10]
      atualizar_rank(10)
    end
   
  end
 
    def self.atualizar_rank(new_rank)
      msgbox("Você ficou no rank: "+(new_rank+1).to_s)
      @old_pontos = $pontos
      $jogadores[new_rank] = $game_party.members[0].name
    if new_rank == 0
      $pontos[9] = @old_pontos[8]
      $pontos[8] = @old_pontos[7]
      $pontos[7] = @old_pontos[6]
      $pontos[6] = @old_pontos[5]
      $pontos[5] = @old_pontos[4]
      $pontos[4] = @old_pontos[3]
      $pontos[3] = @old_pontos[2]
      $pontos[2] = @old_pontos[1]
      $pontos[1] = @old_pontos[0]
      $pontos[0] = $game_variables[Rank_Conf::Var_Ponto]
    elsif new_rank == 1
      $pontos[9] = @old_pontos[8]
      $pontos[8] = @old_pontos[7]
      $pontos[7] = @old_pontos[6]
      $pontos[6] = @old_pontos[5]
      $pontos[5] = @old_pontos[4]
      $pontos[4] = @old_pontos[3]
      $pontos[3] = @old_pontos[2]
      $pontos[2] = @old_pontos[1]
      $pontos[1] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[0] = @old_pontos[0]
    elsif new_rank == 2
      $pontos[9] = @old_pontos[8]
      $pontos[8] = @old_pontos[7]
      $pontos[7] = @old_pontos[6]
      $pontos[6] = @old_pontos[5]
      $pontos[5] = @old_pontos[4]
      $pontos[4] = @old_pontos[3]
      $pontos[3] = @old_pontos[2]
      $pontos[2] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[1] = @old_pontos[1]
      $pontos[0] = @old_pontos[0]
    elsif new_rank == 3
      $pontos[9] = @old_pontos[8]
      $pontos[8] = @old_pontos[7]
      $pontos[7] = @old_pontos[6]
      $pontos[6] = @old_pontos[5]
      $pontos[5] = @old_pontos[4]
      $pontos[4] = @old_pontos[3]
      $pontos[3] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[2] = @old_pontos[2]
      $pontos[1] = @old_pontos[1]
      $pontos[0] = @old_pontos[0]
    elsif new_rank == 4
      $pontos[9] = @old_pontos[8]
      $pontos[8] = @old_pontos[7]
      $pontos[7] = @old_pontos[6]
      $pontos[6] = @old_pontos[5]
      $pontos[5] = @old_pontos[4]
      $pontos[4] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[3] = @old_pontos[3]
      $pontos[2] = @old_pontos[2]
      $pontos[1] = @old_pontos[1]
      $pontos[0] = @old_pontos[0]
    elsif new_rank == 5
      $pontos[9] = @old_pontos[8]
      $pontos[8] = @old_pontos[7]
      $pontos[7] = @old_pontos[6]
      $pontos[6] = @old_pontos[5]
      $pontos[5] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[4] = @old_pontos[4]
      $pontos[3] = @old_pontos[3]
      $pontos[2] = @old_pontos[2]
      $pontos[1] = @old_pontos[1]
      $pontos[0] = @old_pontos[0]
    elsif new_rank == 6
      $pontos[9] = @old_pontos[8]
      $pontos[8] = @old_pontos[7]
      $pontos[7] = @old_pontos[6]
      $pontos[6] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[5] = @old_pontos[5]
      $pontos[4] = @old_pontos[4]
      $pontos[3] = @old_pontos[3]
      $pontos[2] = @old_pontos[2]
      $pontos[1] = @old_pontos[1]
      $pontos[0] = @old_pontos[0]
    elsif new_rank == 7
      $pontos[9] = @old_pontos[8]
      $pontos[8] = @old_pontos[7]
      $pontos[7] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[6] = @old_pontos[6]
      $pontos[5] = @old_pontos[5]
      $pontos[4] = @old_pontos[4]
      $pontos[3] = @old_pontos[3]
      $pontos[2] = @old_pontos[2]
      $pontos[1] = @old_pontos[1]
      $pontos[0] = @old_pontos[0]
    elsif new_rank == 8
      $pontos[9] = @old_pontos[8]
      $pontos[8] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[7] = @old_pontos[7]
      $pontos[6] = @old_pontos[6]
      $pontos[5] = @old_pontos[5]
      $pontos[4] = @old_pontos[4]
      $pontos[3] = @old_pontos[3]
      $pontos[2] = @old_pontos[2]
      $pontos[1] = @old_pontos[1]
      $pontos[0] = @old_pontos[0]
    elsif new_rank == 9
      $pontos[9] = $game_variables[Rank_Conf::Var_Ponto]
      $pontos[8] = @old_pontos[8]
      $pontos[7] = @old_pontos[7]
      $pontos[6] = @old_pontos[6]
      $pontos[5] = @old_pontos[5]
      $pontos[4] = @old_pontos[4]
      $pontos[3] = @old_pontos[3]
      $pontos[2] = @old_pontos[2]
      $pontos[1] = @old_pontos[1]
      $pontos[0] = @old_pontos[0]
    end
   
    contents = {}
    contents[:jogadores]  = $jogadores
    contents[:pontos]      = $pontos
    File.open("game.rank", "wb") do |file|
      Marshal.dump(contents, file)
    end
  end
  def self.Reset
    contents = {}
    contents[:jogadores]  = ["Vazio", "Vazio", "Vazio", "Vazio", "Vazio", "Vazio", "Vazio", "Vazio", "Vazio", "Vazio",]
    contents[:pontos]      = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    File.open("game.rank", "wb") do |file|
      Marshal.dump(contents, file)
    end
end
    end

Créditos RD12

obs: Na primeira vez que usar o script chame o script: Rank.Reset só para criar o arquivo na pasta do jogo.
RD12
RD12
Lenda
Lenda

Medalhas : Ranking do Jogo 48080450Ranking do Jogo Trophy11Ranking do Jogo GIueZRanking do Jogo ZgLkiRU
Mensagens : 1946
Créditos : 745

Ir para o topo Ir para baixo

Ranking do Jogo Empty Re: Ranking do Jogo

Mensagem por Nanzin Dom Jun 10, 2012 2:58 am

Bem legal cara, parabens :))

mas ainda da para melhorar com algumas coisas, tipo colocar por paginas. cada pagina mostrar ate 10 jogadores por exemplo, limpar um pouco o codigo, enfim esta muito bom parabens :)

_________________
Ranking do Jogo Npvo

Para Aqueles que gostam de Min e de meu Trabalho;
Upem Meu Pet nao custa nda!!


Pet:
Nanzin
Nanzin
Membro de Honra
Membro de Honra

Mensagens : 1550
Créditos : 252

Ir para o topo Ir para baixo

Ranking do Jogo Empty Re: Ranking do Jogo

Mensagem por DeaN Dom Jun 10, 2012 9:54 am

Muito legal RD12, ta ficando massa 1+

_________________
Dean, Programador Geral :)

Contato: Skype:matucarvalho e Facebook
The Enze - Vulzt

Shield Block
Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
www.shieldblock.net
fb.com/shieldblockoficial

Ranking do Jogo MiB0H
DeaN
DeaN
Colaborador
Colaborador

Mensagens : 1243
Créditos : 48

http://www.shieldblock.net

Ir para o topo Ir para baixo

Ranking do Jogo Empty Re: Ranking do Jogo

Mensagem por Valentine Dom Jun 10, 2012 10:11 am

Bem lega, só não sei porque o Lief está em um rank maior que o meu Megusta
Valentine
Valentine
Administrador
Administrador

Medalhas : Ranking do Jogo ZgLkiRU
Mensagens : 5345
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Ranking do Jogo Empty Re: Ranking do Jogo

Mensagem por Komuro Takashi Dom Jun 10, 2012 11:16 am

Legal mesmo ainda mais que eu to na frente do Valentine Very Happy passei esse maldito. kkkkk

+1 Crédit

_________________
Ranking do Jogo Takashi_komuro_by_minato8-d51g9o4

Paga um café? Patreon
Komuro Takashi
Komuro Takashi
Colaborador
Colaborador

Mensagens : 1047
Créditos : 130

Ir para o topo Ir para baixo

Ranking do Jogo Empty Re: Ranking do Jogo

Mensagem por Hatsurugi Dom Jun 10, 2012 1:42 pm

Adorei o script, pode ser util para diversos jogos, (inclusive um projeto de jogo de shoot'en All)

+1 cred.


De sua atiradora
Hatsurugi

_________________
Fanbars:



Minha deusa:


Ranking do Jogo JCx9e
Hatsurugi
Hatsurugi
Diva
Diva

Mensagens : 236
Créditos : 125

Ir para o topo Ir para baixo

Ranking do Jogo Empty Re: Ranking do Jogo

Mensagem por Dooolly Dom Jun 10, 2012 2:39 pm

Muito bom + 1 cred
ainda n sei pq n tou no rank Fury
Dooolly
Dooolly
Colaborador
Colaborador

Medalhas : Ranking do Jogo Trophy12
Mensagens : 1227
Créditos : 153

Ficha do personagem
Nível: 1
Experiência:
Ranking do Jogo Left_bar_bleue0/0Ranking do Jogo Empty_bar_bleue  (0/0)
Vida:
Ranking do Jogo Left_bar_bleue30/30Ranking do Jogo Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

Ranking do Jogo Empty Re: Ranking do Jogo

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos