[NPD] Janela de Termos

    Compartilhe
    avatar
    Dromeda
    Moderador Local
    Moderador Local

    Mensagens : 902
    Créditos : 102

    [NPD] Janela de Termos

    Mensagem por Dromeda em Dom Jul 23, 2017 11:41 pm

    [aviso]O sistema[/aviso]

    Bom basicamente o sistema mostra uma janela de termos antes de se registrar:

    Print:

    [aviso]Script[/aviso]

    Código:
    #==============================================================================
    # ** Window_Terms
    #------------------------------------------------------------------------------
    # Esta classe trata da janela de termos.
    #------------------------------------------------------------------------------
    # Autor: Kies~
    #==============================================================================
     
    class Window_Terms < Window_Base
      #--------------------------------------------------------------------------
      # * Inicialização dos objetos
      #--------------------------------------------------------------------------
      def initialize
        super(210, 153, 380, 325)
        self.contents = Bitmap.new(width - 32, height - 32)
        self.visible = self.active = false
        self.windowskin = RPG::Cache.windowskin('Windowskin02')
        draw_title(Vocab::TERMS)
        @Accept_button = Button.new(self, 195, 285, Vocab::ACCEPT) { accept }
        @Refused_button = Button.new(self, 120, 285, Vocab::CANCEL) { refusal }
        @dragable = true
      end
      
      #--------------------------------------------------------------------------
      # * Fechar janela
      #--------------------------------------------------------------------------
      def accept
        trigger
        $scene.register_window.on_open
        $scene.alert_window.on_close
      end
      
      #--------------------------------------------------------------------------
      # * Fechar janela
      #--------------------------------------------------------------------------
      def refusal
        p "Você deve aceitar os termos para jogar!"
        $scene.motd_window.on_close
        Audio.bgm_fade(800)
        Audio.bgs_fade(800)
        Audio.me_fade(800)
        exit
      end
      
      #--------------------------------------------------------------------------
      # * Atualização
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        for c in 0..Vocab::REGRAS.size-1
          rect = Rect.new(10, 0, 640, (c+1)*40)
          self.contents.draw_text(rect, Vocab::REGRAS[c], 0)
        end
      end
    end



    [aviso]Tutorial[/aviso]

    Adicione o script dessa forma:


    Bom deixando de enrolar procure o script: [ND] Vocab e no final dele adicione:
    Código:
    TERMS                = 'Deseja aceitar os termos?'
      
      # Termos
      REGRAS = ["                             Regras do Jogo:",
      "",
      " Leia todos os termos abaixo:",
      "É Proíbido:",
      "* Linguajar inadequado para menores de 18 anos",
      "* Humilhar outros jogadores, xingar, e derespeitar.",
      "* Usar algum programa ou falha para se beneficiar.",
      "* Pedir Senhas para jogadores e tentar roubar contas.",
      "* Enganar jogadores com mentiras afim de rouba-los.",
      "* O jogador que desrespeitar essas regras será punido!",
      "",
      "                          Tenha um Bom Jogo             ",
      ]

    feito isso procure def create_windows que esta no script [ND] Scene_Login
    Dentro do Def create_windows antes do @register_window = Window_Register.new adicione:
    Código:
    @terms_window = Window_Terms.new

    no mesmo script desça ate encontrar def dispose
    Dentro do def dispose antes do @register_window.dispose adicione:
    Código:
    @terms_window.dispose

    no mesmo script procure def update e antes do @register_window.update if @register_window.visible
    adicione:
    Código:
    @terms_window.update if @terms_window.visible

    para terminar procure attr_reader   :register_window e antes adicione:
    Código:
    attr_reader   :terms_window             # janela de termos


    Agora para ativar o sistema basta procurar no script [ND] Window_Login e achar # * Registro depois de encontrar substitua por isso: 
    Código:
    def register
        trigger
        $scene.motd_window.on_close
        $scene.terms_window.on_open
        $scene.alert_window.on_close
      end



    Última edição por Kies~ em Seg Jul 24, 2017 7:27 pm, editado 2 vez(es)
    avatar
    Darkio
    Iniciante
    Iniciante

    Mensagens : 49
    Créditos : 1

    Re: [NPD] Janela de Termos

    Mensagem por Darkio em Seg Jul 24, 2017 10:28 am

    Encontrei alguns erros, substitua o código de [ND] Vocabs por;
    [ND] Vocab:
    TERMS                = 'Deseja aceitar os termos?'
      
      # Termos
      REGRAS = ["                             Regras do Jogo:",
      "",
      " Leia todos os termos abaixo:",
      "É Proíbido:",
      "* Linguajar inadequado para menores de 18 anos",
      "* Humilhar outros jogadores, xingar, e derespeitar.",
      "* Usar algum programa ou falha para se beneficiar.",
      "* Pedir Senhas para jogadores e tentar roubar contas.",
      "* Enganar jogadores com mentiras afim de rouba-los.",
      "* O jogador que desrespeitar essas regras será punido!",
      "",
      "                          Tenha um Bom Jogo             ",
      ]
    Fora isso o script continua não funcionando, a janela simplesmente não aparece, eu tentei mudar o código de  [ND] Window_Terms de false para true; 
    Trecho de [ND] Window_Terms:
    self.visible = self.active = false
    Mas aí a janela aparece bugada logo na inicializaçao sem nenhum texto, e independente no que se refere a criação de conta ou loguin.
    avatar
    Dromeda
    Moderador Local
    Moderador Local

    Mensagens : 902
    Créditos : 102

    Re: [NPD] Janela de Termos

    Mensagem por Dromeda em Seg Jul 24, 2017 7:26 pm

    Darkio escreveu:Encontrei alguns erros, substitua o código de [ND] Vocabs por;
    [ND] Vocab:
    TERMS                = 'Deseja aceitar os termos?'
      
      # Termos
      REGRAS = ["                             Regras do Jogo:",
      "",
      " Leia todos os termos abaixo:",
      "É Proíbido:",
      "* Linguajar inadequado para menores de 18 anos",
      "* Humilhar outros jogadores, xingar, e derespeitar.",
      "* Usar algum programa ou falha para se beneficiar.",
      "* Pedir Senhas para jogadores e tentar roubar contas.",
      "* Enganar jogadores com mentiras afim de rouba-los.",
      "* O jogador que desrespeitar essas regras será punido!",
      "",
      "                          Tenha um Bom Jogo             ",
      ]
    Fora isso o script continua não funcionando, a janela simplesmente não aparece, eu tentei mudar o código de  [ND] Window_Terms de false para true; 
    Trecho de [ND] Window_Terms:
    self.visible = self.active = false
    Mas aí a janela aparece bugada logo na inicializaçao sem nenhum texto, e independente no que se refere a criação de conta ou loguin.


    Vlw por reportar, isso tudo foi falta de atenção pois já estava cansado, então basta você repetir o tutorial que agora esta funcionando 100%
    avatar
    Darkio
    Iniciante
    Iniciante

    Mensagens : 49
    Créditos : 1

    Re: [NPD] Janela de Termos

    Mensagem por Darkio em Seg Jul 24, 2017 9:42 pm

    Por nada, testei e está funcional agora, e muito obrigado pela contribuição! 
    +2 Cred  Very Happy

    XFallSeane
    Iniciante
    Iniciante

    Mensagens : 30
    Créditos : 1

    Re: [NPD] Janela de Termos

    Mensagem por XFallSeane em Seg Set 04, 2017 6:55 am

    On NM 1.0.2 tested in 1.0.2 ? but i have a bug for vocabs.

    [NM]Vocabs : Line 113, SyntaxError occured.

      Data/hora atual: Ter Set 19, 2017 4:02 pm