FiveM · Nivora / vRP · v2.1

A sinuca em que o servidor é o juiz.

O jogador manda três números por tacada: direção, força e efeito. A física roda no servidor, todo mundo em volta da mesa vê exatamente a mesma jogada, e falta, vez, vitória e aposta são apitadas por quem não pode ser enganado.

3números saem do cliente por tacada. O resto é calculado no servidor.
4modos de jogo: Bola 8, Bola 9, Bola da Vez e Treino Livre.
0entidades de rede. Mesa, bolas e taco são props locais.
527verificações automáticas rodam a cada versão, da física ao dinheiro.
Mesa de demonstração

Não é vídeo. Pode tacar.

A mesa abaixo roda o mesmo motor de física do resource, portado para o navegador. O placar, a barra de força, o seletor de efeito e as teclas por cima dela são a interface de verdade do jogo, recebendo as mesmas mensagens que recebem dentro do FiveM.

física no navegador · no jogo, quem calcula é o servidor
Modo
Efeito
1. Mova o mouse para mirar 2. Clique: a barra de força começa a oscilar 3. Clique de novo para tacar Efeito: clique na bola branca do painel
Servidor autoritativo

O cliente escolhe. Quem decide é o servidor.

Na sinuca comum de FiveM as bolas são entidades soltas na mesa e o cliente de quem tacou avisa onde cada uma parou. Quem controla o cliente controla o resultado. Aqui esse evento não existe.

  • A tacada inteira roda no servidor. Ele simula, aplica a regra, guarda o estado final e só então avisa os clientes.
  • Todos veem a mesma jogada. Cada cliente anima a mesma conta, em passo fixo, e no fim assume o estado que o servidor mandou.
  • Nada para forjar. Não existe evento de "encaçapei", "venci" ou "a bola parou aqui".
  • Mesa nunca fica presa. Mira com prazo, partida parada se recolhe, queda de conexão libera a vez.
JogadorPede a vez no radial ou na tecla. Mira, escolhe o efeito, solta a força.
Sobedireção força efeito — e mais nada.
ServidorConfere vez, distância e números. Roda a física. Apita falta, grupo, vez e vitória. Move o dinheiro.
DesceA tacada que ele calculou e o estado final, para todos de uma vez.
TodosAnimam a mesma jogada. O placar só muda quando a bola cai.
Jogabilidade

A linha de mira não mente.

A previsão usa a mesma geometria que a tacada vai resolver. Por isso o traço amarelo é para onde a bola sai — não uma estimativa bonita.

Mira

Bola fantasma e desvio

Mostra onde a branca vai estar no toque, para onde a bola acertada sai e para onde a branca desvia. Três níveis de ajuda na config, do completo ao nenhum.

Efeito

Puxada, seguida e lateral

Escolha onde o taco toca a bola. A puxada traz a branca de volta, a seguida leva atrás, a lateral muda a saída da tabela. A linha já mostra o resultado.

Câmera

De cima, quando quiser

Uma tecla troca para a vista de cima da mesa — para mirar com o mouse, recolocar a branca ou só assistir à partida dos outros.

Corpo

Ande em volta da mesa

O lado da tacada é o lado em que você está, como na mesa de verdade. As setas fazem o ajuste fino. O taco aparece na mão para todo mundo por perto.

Força

Barra de tempo

A força oscila e você solta na hora certa. Tacada fraca para colocar, forte para abrir o triângulo — e a animação do personagem acompanha.

Som

Batida sem arquivo

O estalo das bolas, a tabela e a caçapa são sintetizados na hora, com volume pela força do choque e pela distância. Nenhum áudio para baixar.

Modos de jogo

Quatro jogos. Todos com juiz.

O servidor sabe qual bola a branca tocou primeiro e em que ordem as bolas caíram. É isso que deixa cada regra ser aplicada de verdade, sem depender da palavra de ninguém.

1811

Bola 8

Lisas contra listradas. O grupo é de quem encaçapar primeiro. Limpou o grupo, mata a 8. Matou antes da hora, perdeu.

159

Bola 9

A branca tem que tocar primeiro a menor bola da mesa. Quem encaçapar a 9 sem falta vence, até por combinação.

147

Bola da Vez

Sete bolas valendo o próprio número. Sempre na menor. Falta dá 7 pontos ao adversário. Vence quem tiver mais pontos.

3714

Treino Livre

Sem regra e sem vez. Quem estiver com taco joga, e o placar conta as bolas de cada um.

  • Bola na mão depois de falta: o jogador recoloca a branca e o servidor confere o ponto antes de aceitar.
  • Relógio de tacada no placar. Estourou, a vez é solta.
  • Regras ajustáveis: grupo na saída e onde a branca pode ser solta são opções da config.
MomentoQuem montouAdversário
Monta a mesa valendo $1.000− $1.000—
Adversário entra na partidapote retido− $1.000
Servidor apura o vencedor+ $2.000—
…ou alguém cai no meio+ $1.000+ $1.000
Aposta

Dinheiro na mesa não dá calote.

O valor sai do bolso na hora e fica com o servidor até a partida acabar. Não existe "declarar vitória" nem esperar o outro confirmar: quem paga é quem viu a 8 cair.

  • Partida apostada não se recolhe. A saída de quem está perdendo é desistir — e desistir paga o adversário.
  • Cair a conexão devolve para os dois. Deslogar não vira um jeito de presentear ninguém.
  • Um desfecho só. Toda saída de dinheiro passa pela mesma trava; o teste confere que a soma é igual antes e depois em cada cenário.
  • A casa leva a parte dela. Montagem e taxa do pote caem no caixa do grupo dono do bar.
Para a cidade

Toda mesa do mapa já é uma mesa.

Bar, MLO, casa: na primeira vez que alguém mira numa mesa de sinuca, ela passa a valer. Sem cadastrar coordenada, sem editar config para cada interior novo.

Dono

Bar com caixa

Amarre uma mesa a um grupo e a montagem e a taxa das apostas entram no caixa que o painel do grupo já mostra.

Ranking

Ficha e top da cidade

Vitórias, derrotas, bolas, faltas e saldo de cada jogador, num painel dentro do jogo. Só conta o que o servidor apurou.

Vídeo

Demonstração automática

Um comando faz a mesa se jogar sozinha, com legenda, para gravar o vídeo da sua cidade. O piloto escolhe cada tacada simulando as opções.

Framework

Fala a língua da base

Radial do target, Notify, Progress, premium com desconto, log no Discord e o sinal de esconder HUD. Nenhuma tecla gravada no perfil do jogador.

Integração

Contrato para outros scripts

Exports para saber quem está com taco e quem está jogando, e um evento de fim de partida com vencedor, perdedor, modo e aposta.

Calibração

Desenho de conferência

Um comando de staff desenha em cima da mesa o que a física enxerga: limites, bocas das caçapas e marcas. Ajuste fino sem adivinhar.

Telas

Sem montagem: é a interface do produto.

Os três quadros abaixo são a NUI do resource rodando aqui, com os dados de exemplo. Se a interface mudar numa atualização, esta página muda junto.

Ficha técnica

O que entra no seu servidor.

Base
Nivora Framework / vRP
Obrigatórios
vrp · target
Opcionais (detectados em runtime)
oxmysql · chat · hud · discord
Banco de dados
1 tabela, criada sozinha
Entidades de rede
nenhuma
Custo no servidor
uma simulação por tacada
Modelos de mesa suportados
6
Mesas do mapa
reconhecidas automaticamente
Interface
JS puro, sem biblioteca
Configuração
cliente e servidor separados
Testes automáticos
527 verificações
Documentação
guia, contrato e roteiro de teste
Assinatura

Uma mesa que continua melhorando.

A assinatura mantém o resource atualizado e acompanha o que vem a seguir. O que já está na v2.1 é o que esta página mostra; a lista abaixo é o que está no plano, sem data prometida.

  • No planoPersonagem se posiciona sozinho atrás da bola
  • No planoTorneio com chave, inscrição e premiação
  • No planoTaco como item do inventário
  • No planoAposta de quem está assistindo
  • No planoReplay da última tacada
Evolution Sinuca
  • Resource completo, com as quatro modalidades
  • Atualizações enquanto a assinatura estiver ativa
  • Documentação e roteiro de instalação
  • Suíte de testes incluída
Perguntas

Antes de assinar.

Dá para trapacear?

O cliente só envia direção, força e efeito, e o servidor contém os três. Onde as bolas param, quem encaçapou e quem venceu são calculados no servidor. Posição do jogador também é medida por ele, não informada pelo cliente.

Preciso cadastrar cada mesa?

Não. Qualquer mesa de sinuca que exista no mapa é reconhecida quando alguém interage com ela. Cadastrar só é necessário para dar nome ou dono (caixa do grupo) a uma mesa, e o console imprime a linha pronta.

Pesa no servidor?

Não há entidade de rede nem laço por quadro no servidor. A física roda uma vez por tacada, em uma fração de segundo, e os clientes só criam os props quando estão perto da mesa.

Funciona na minha base?

Foi escrito para a Nivora Framework (vRP). Precisa do vrp e do target. Notify, Progress, Discord e oxmysql são consultados em tempo de execução: faltando qualquer um, a sinuca continua jogável.

Posso mudar preço, regras e teclas?

Sim. Preço, desconto, aposta, prazos e regras ficam na config do servidor; teclas, física, câmera e cores na config compartilhada. As teclas são lidas só durante a mira — nada é gravado no perfil do jogador.

A mesa desta página é igual à do jogo?

O motor de física é o mesmo, portado para o navegador, e a interface é a do resource. No jogo quem calcula é o servidor e a mesa é 3D, com personagem, taco e câmera.