warleysr / autopix

Plugin para vender por código QR no Minecraft
22 stars 7 forks source link

TPS drop after getting a Map #21

Closed Eisenbahn closed 10 months ago

Eisenbahn commented 10 months ago

Oi, então... to usando no 1.7.10 né, tá funcionando mas tem um problema que notei que quando gera um pedido e recebe o mapa, ele começa a comer o tps imediatamente :( Até chegar ao ponto de ficar injogável.

Existe alguma opção pra desativar o mapa? nós usamos outra forma de gerar o QR Se não existe, fica de sugestão!

Um abraço!

warleysr commented 10 months ago

Um único mapa tá fazendo o tps do servidor inteiro cair? Posso adicionar uma opção na config pra não gerar o mapa já que ele vai estar em outro local.

Eisenbahn commented 10 months ago

Correto. 1 Mapinha, servidor vazio só eu testando e ocorreu :( Uma config pra não receber o mapa seria mara. Quem sabe config pra definir a mensagem após clicar para gerar o Pix

warleysr commented 10 months ago

Adicionei na v1.0.15. A mensagem você pode adicionar o titulo-qr e subtitulo-qr já que os títulos só são enviados na versão 1.9+, nas inferiores será enviado como mensagem. Todas as mensagens podem ser transformadas em uma lista caso necessite de mais linhas.

Eisenbahn commented 10 months ago

Olá, testei aqui

Gerei um arquivo novo de config:


token-mp: '<SEU TOKEN DO MERCADO PAGO>'

# Configuracoes do PIX
pix:
  # CPF, CNPJ, Celular com +55 e DDD, email ou aleatoria 
  chave: '<SUA CHAVE PIX>'
  # Nome do beneficiario com ate 25 caracteres
  nome: 'Fulano de Tal'
  # Ative essa opcao para receber a payload dos codigos gerados
  debug: false
  # Desative essa opcao para nao enviar o mapa para o jogador no modo manual
  mapa: false

# Modo de ativacao automatico
automatico:
  ativado: false
  intervalo: 10
  notificacoes: 'http://meusite.com/autopix/notification.php'

# Servidor MySQL para salvamento dos dados
database:
  type: mysql
  db: tests
  host: localhost
  port: 3306
  user: root
  pass: admin

# Tempo de espera para cada acao em segundos
tempos:
  validar: 60
  lista: 30
  criar-pedido: 300

# Mapa de pagamento
mapa:
  nome: '&aQR code de pagamento'
  descricao:
  - '&7Data: &f{data}'
  - '&7Jogador: &f{jogador}'
  - '&7Produto: &f{produto}'
  # Tempo em MINUTOS que o jogador tem
  # para pagar antes que o mapa seja removido
  tempo-pagar: 30
  # Intervalo em SEGUNDOS que a verificacao ira ocorrer
  intervalo: 60

# Menus para compra de produtos por PIX
menu:
  principal:
      titulo: '&9&lCompre produtos por &c&lPIX'
      tamanho: 54
      # Lista de produtos disponiveis
      produtos:
        VIP1:
          preco: 0.23
          comandos:
          - 'say {player} pagou por PIX!'
          icone:
            slot: 5
            material: diamond_sword
            nome: '&6&lVIP 1 &7- &aR${preco}'
            descricao:
            - '&7Vip por &c30 &7dias'
            - '&7Clique para comprar por &aPIX'
  # Menu para confirmar compra
  confirmar:
    titulo: '&9&lConfirmar compra por &c&lPIX'
    tamanho: 27
    cancelar:
      slot: 19
      icone:
        material: wool
        data: 14
        nome: '&cCancelar'
    confirmar:
      slot: 27
      icone:
        material: wool
        data: 5
        nome: '&aConfirmar'
        descricao:
        - '&7Gerar codigo &bQR &7para'
        - '&7pagar por PIX.'
    desconto:
        slot: 14
        icone:
            material: paper
            nome: '&bAplicar cupom'
            descricao:
            - '&7Clique para informar um cupom no chat'

# Cadastrar cupons de desconto
cupons:
    desconto15:
        porcentagem: 15
        # (Opcional, pode ser removida) A validade considera as 0h do dia informado
        validade: 31/12/2023
        itens:
        - vip1

# Som ao pagamento ser validado
som:
  ativar: true
  efeito: BLOCK_NOTE_BLOCK_BASS

# Livro de ajuda com instrucoes
info:
  titulo: '&aInfo PIX'
  autor: '&bAutoPix'
  paginas:
    1:
    - ' &2&nPagamentos por PIX&r'
    - ' '
    - '&8Para pagar com &cPIX &8 use o comando:'
    - ' '
    - '      &9/comprarpix'
    - ' '
    - '&8Um menu ira aparecer mostrando os produtos disponiveis.'
    2:
    - '&8Escolha o produto que deseja e ao confirmar sera gerado um &8codigo &4&lQR.'
    - ' '
    - '&8Com o app do seu banco scaneie e realize o pagamento.'
    3:
    - '&8Após finalizar obtenha o ID da transacao.'
    - ' '
    - '&8Ele e mostrado no comprovante, tem &c32 &8caracteres e começa com &8a letra &c&lE&8.'
    - ' '
    - '&8Exemplo:'
    - '&7E00416968202301162037NF2oRtQ73bY'
    4:
    - '&8Com o código em maos digite:'
    - ' '
    - ' &9/pix validar <Codigo>'
    - ' '
    - '&8seu PIX sera validado'
    - '&8e voce receberá seu produto.'```

----
Mas infelizmente não gerou a config da mensagem, apenas a config de desativar o mapa (que funcionou corretamente quando desativado!)

-----
Mas tive uma idéia que fica de sugestão:

Como o mapa fica desativado, talvez fosse possível add uma config para cada ENTRY de produto no menu onde o usuário possa, por exemplo, executar o comando ao gerar o pedido.

Dessa forma, o usuário, por exemplo, poderia forçar um teleporte do jogador para o /warp qrvip30dias, onde o warp seria definido para uma imagem. 

O único requerimento para o comando seria usar a variável do player, que já existe no plugin

Abraço!
Eisenbahn commented 10 months ago

Exemplo prático: image

Eisenbahn commented 10 months ago

@warleysr desculpe marcar, Warley. Como está marcado como resolvido, não sei se você recebe notificação se há uma postagem nova.

Abraço

warleysr commented 10 months ago

Recebo sim a notificação, mas durante a semana não costumo ter muito tempo para olhar. Nesses casos é melhor abrir outro issue com a requisição/problema já que este foi fechado. Não entendi a questão da mensagem, a mensagem é no arquivo mensagens.yml, nas chaves titulo-qr e subtitulo-qr, ex:

titulo-qr:
- '&bPara pagar digite /warp codigos'
- '&bE scaneie o QR para fazer o PIX'
Eisenbahn commented 10 months ago

Pois é. Foi ignorância minha mesmo, vi aqui no arquivo de mensagens. Tinha esquecido dele totalmente. Vou criar outro post então como a sugestão acima. Abraço