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.
Isto é o jogo rodando.
Trinta segundos de uma partida de verdade: o radial na mesa, o painel de montagem, a mira de cima, a barra de força e a tacada. Nada foi desenhado por cima da interface — é a tela de quem joga.
Mesa montadaTaco na mão, placar na lateral e as bolas no triângulo.
Mira de cimaA linha sai da branca e mostra onde ela encosta.
Mira em volta da mesaO lado da tacada é o lado em que o jogador está.
Barra de forçaSolta na hora certa; o seletor de efeito fica ao lado.
Montar a mesaModo, aposta e a conta antes de confirmar.
RankingA ficha do jogador e os melhores da cidade.
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.
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.
direção força efeito — e mais nada.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.
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.
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.
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.
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.
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.
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.
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.
Bola 8
Lisas contra listradas. O grupo é de quem encaçapar primeiro. Limpou o grupo, mata a 8. Matou antes da hora, perdeu.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.