Do primeiro sim
ao para sempre.
Namoro, pedido de joelhos, noivado, cerimônia conduzida por um jogador e uma jornada de 20 níveis que acompanha o casal a vida inteira. Um resource só, com o servidor decidindo cada regra.
- 20níveis de jornada, cada um com título e recompensa
- 7lugares da cidade que valem como encontro
- 8itens na floricultura, todos com uso em jogo
- 10etapas no roteiro da cerimônia
- 4câmeras ancoradas no altar
- 48assentos para convidados no cenário
Seis passos, e nenhum deles prende o casal.
Cada estágio tem saída própria. Recusa, prazo vencido e cerimônia desmarcada devolvem o casal ao passo anterior — nunca a um estado travado que só o admin resolve.
-
Namoro
O primeiro sim. A jornada do casal começa a contar aqui.
Termina pelo painel do casal, em dois cliques. -
Pedido
De joelhos, com a caixinha erguida. Quem recebe responde com uma tecla.
Recusa impõe espera para pedir de novo. Silêncio, não. -
Noivado
A cidade é avisada. O casal tem 30 dias para marcar o dia.
Vencido ou desfeito: voltam a namorar, jornada intacta. -
Paróquia
Data, padrinhos e pacote, com o Padre. Um dos dois marca e paga.
Desmarcou antes do dia: 70% de volta. -
Cerimônia
Votos, alianças e beijo, conduzidos por um padre jogador ou pelo NPC.
Se a falha for da casa, o estorno é integral. -
Casados
Estado civil gravado, aliança no dedo e a faixa de recém-casados na tela da cidade.
Só termina no divórcio, com custo e tempo de reflexão.
Um pedido que espera a resposta.
-
60 e 90 segundos, não 15
O pedido tem painel próprio, com prazo folgado e resposta explícita em
EouBACKSPACE. A caixa padrão do vRP fecha em 15 segundos e devolve o silêncio como recusa — quem foi buscar água teria dito não. -
Recusa e silêncio são coisas diferentes
Só o "não" deliberado impõe a espera de 45 segundos para pedir de novo. Pedido sem resposta simplesmente expira.
-
A caixinha existe para todo mundo
Quem pede ajoelha na pose própria do resource, com a caixinha erguida. Ela é um objeto de rede criado pelo servidor: quem recebe o pedido — e quem está passando na rua — vê o anel.
-
Duas joias, dois destinos
O anel de noivado passa para quem disse sim. A aliança fica com quem pediu, guardada para a cerimônia.
-
Um par por vez
Quem namora não recebe pedido de mais ninguém, nem de namoro nem de casamento. Quem decide é o banco, não uma checagem no cliente.
-
Nada é cobrado no pedido
Ele cai sozinho se os dois se afastarem, se alguém sair da cidade ou se quem pediu desistir. Sem valor queimado em pedido que não deu certo.
O Padre só oferece o que faz sentido agora.
-
Menu contextual
Noivo vê marcar a cerimônia. Com data marcada, vê desmarcar. Na hora, vê iniciar agora. Casado vê divórcio. Membro do clero vê assumir o altar.
-
O consentimento já foi dado
Marcar não pede confirmação do parceiro: o "sim" do pedido é o consentimento. Um dos dois escolhe data, padrinhos e pacote, e paga.
-
O servidor refaz a conta
Data entre 1 hora e 14 dias, padrinhos que existem e não são os noivos, saldo no banco. O total que a tela manda é descartado e recalculado pelo config.
O pacote do grande dia
Estornos
| O que aconteceu | Volta |
|---|
A regra: culpa do casal devolve pouco, culpa da casa devolve tudo. Cada desfecho fica gravado no banco com status próprio — são 13, de completed a cancelled_nocelebrant.
Um jogador no altar, e a igreja inteira assistindo.
O padre da sua cidade conduz de verdade: diz cada fala, decide o ritmo, improvisa. Se ninguém do clero aparecer, o Padre Mendoza celebra sozinho. Em qualquer dos casos, o estado da cerimônia mora no servidor — o cliente só desenha.
Quem conduz
| Modo | Quem | Ritmo |
|---|---|---|
| Manual | Jogador do grupo da igreja, no altar | Cada etapa espera ele |
| Automático | Padre Mendoza (NPC) | Corre pelo tempo de cada etapa |
O painel do celebrante
| ENTER | Diz a fala do roteiro, que vai para a legenda de todos na igreja |
| E | Avança a etapa |
| L | Improvisa: digita a própria fala, até 180 caracteres |
| BACK | Interrompe a cerimônia |
-
O casamento não se perde porque o padre caiu
Sem padre jogador, o sistema espera 45 segundos antes de o NPC assumir — a janela para o padre da cidade chegar. Se o celebrante desconectar ou sair do altar no meio, o NPC continua de onde ele parou.
-
O celebrante não decide o voto
Etapa com resposta do casal só passa depois que o casal responde. E quem conduz recebe $15.000 por cerimônia concluída.
O roteiro, etapa por etapa
O ritual é uma tabela no config: editar essa lista é a única coisa necessária para mudar a cerimônia.
Três papéis na mesma igreja
| Papel | Câmera | Painel | O que faz |
|---|---|---|---|
| Noivos | Cinematográfica, por etapa | Objetivo pessoal e tecla | Respondem aos votos, trocam as alianças, selam com o beijo |
| Celebrante | Livre | Condução, deixas e elenco | Fala, avança, improvisa, interrompe |
| Convidados | Livre | Reduzido | G aplaudem · H jogam pétalas |
-
O que o casal pagou vira cenário
Decoração, músicos, fotógrafo, pajem e convidados nos bancos. Nada é sincronizado em rede: cada cliente monta a sua cópia ao entrar na igreja, então um casamento lotado não custa nada para quem está do outro lado do mapa.
-
A plateia participa
Os aplausos são contados e aparecem para todo mundo — um por pessoa por etapa. É o que faz a igreja parecer cheia de gente, e não de estátuas.
-
Depois do beijo
Estado civil gravado, aliança presa ao dedo dos dois, faixa de recém-casados na cidade e a pergunta do sobrenome em painel próprio. O nome antigo fica guardado e volta no divórcio.
Uma jornada que só sobe, e que ninguém compra.
O painel do casal abre com /casal ou mirando o próprio par. Nele estão os 20 níveis, o diário escrito a quatro mãos e os encontros da cidade. Nenhum botão dá experiência: o cliente diz o que fez, e o servidor decide quanto isso vale agora.
O que rende experiência
| Ação | XP | Intervalo |
|---|
-
Teto de 420 por dia
Cada ação tem intervalo próprio e o dia tem limite. Não adianta repetir abraço: a jornada pede variedade e tempo junto.
-
Marcos valem uma vez por casal
Namoro (60), noivado (250) e casamento (600) ficam fora do teto. Noivar, desfazer e noivar de novo não rende o marco outra vez.
-
Diário com dois autores
Os marcos entram sozinhos. As páginas, o casal escreve — e cada um só apaga a própria.
-
Afeto é outra coisa
Com o
evolution_sensacoesinstalado, o painel e o selo mostram também o afeto, que sobe e desce. A jornada é a história acumulada; um não substitui o outro, e nenhum depende do outro.
Os 20 níveis
Cada um dos dois resgata a sua recompensa. Títulos, valores e itens são uma tabela no config.
Encontros
O romance que acontece fora do menu.
Um buquê que vai na mão até a entrega. Uma carta que se sela e não muda mais. Uma pulseira que deixa os dois se acharem no mapa. São 8 itens, todos com uso de verdade em jogo.
-
Presente que não duplica
Segurar não consome o item: ele só muda de mochila na entrega, numa operação só, no servidor. Não existe o estado "saiu do inventário e está só na mão", que é onde presente se perde quando alguém cai.
-
O carrinho só diz qual e quantos
Item, preço e limite são relidos do config no servidor na hora de pagar. Dinheiro primeiro; faltando, sai do banco.
-
A loja não depende do vendedor
O vendedor nasce no servidor, mas se o ped sumir o
Eno balcão e o/floriculturacontinuam abrindo o catálogo.
-
Abraço e beijo sincronizados
Um pede pelo target, os dois se viram um para o outro e animam juntos. Dentro de veículo, caído ou algemado, o gesto não acontece: ninguém é arrancado do que está fazendo.
-
Pulseira com consentimento
Usada perto do par, pede a ele — só depois do sim o item sai da mochila. O servidor nunca manda a posição de quem não aceitou, nem entre mundos diferentes (casa, apartamento).
-
Pensando em você
Um carinho que chega ao par onde ele estiver na cidade, direto do painel do casal. Vale na jornada, a cada 15 minutos.
O ícone sobre a cabeça. Um coração no namoro, uma aliança no noivado e no casamento, flutuando sobre a cabeça do seu par — e só você vê. Cada um escolhe a cor do ícone que aparece sobre a própria cabeça. São os sprites do jogo; clique numa cor.
Uma peça só no canto da tela. E solteiro não desenha nada.
O estado civil cabe num sigilo, na única faixa livre da borda esquerda. O anel em volta é um medidor, e o que ele mede muda com o estado. A lâmina com o nome do par abre quando algo muda e fecha sozinha em 8 segundos.
O selo some junto com a HUD no inventário, no banco e no screenshot, e respira devagar quando o cônjuge está por perto.
Feito para não virar chamado no suporte.
Dinheiro, experiência e estado civil são decididos no servidor. O que o cliente manda é intenção — nunca valor.
Preço refeito no servidor
O total da cerimônia e o do carrinho da floricultura são recalculados pelo config. Opção inválida é rejeitada, não vira preço zero.
Experiência sem botão
Intervalo por ação, teto por dia e marcos de uma vez só. Encontro é medido pela posição dos dois peds — sair do raio zera a contagem.
Entidades do servidor
A caixinha do anel, o presente na mão e o vendedor nascem no servidor, com um vigia que recria o que sumir.
Uma cerimônia por vez, com trava
Dois casais clicando no mesmo quadro não se sobrepõem: a trava fecha antes da primeira consulta ao banco.
Quem decide é o banco
Um vínculo por pessoa e uma recompensa por nível saem de uma única instrução SQL, não de uma checagem em Lua que cede a thread no meio.
Consulta de ID com limite
O campo de padrinho aceita 20 consultas por minuto por jogador. Sem isso, seria uma varredura livre dos nomes da cidade.
Texto de jogador nunca vira HTML
Nome, página de diário, carta e assinatura entram na tela como texto puro. Nenhum deles passa por
innerHTML.NUI escrita para o CEF do FiveM
Sem
color-mix, semdrop-shadow, sembackdrop-filter— as três causas de painel preto ou transparente. Fontes locais, nenhum CDN.Limpeza periódica
Noivado vencido e cerimônia a que ninguém compareceu são encerrados sozinhos, com o estorno da regra. Ninguém fica travado para sempre.
Uma igreja em quatro coordenadas
Só altarPoint, priestPoint, processionStart e churchCenter são coordenadas de mundo. Marcas, assentos, decoração, músicos, fotógrafo e as quatro câmeras são deslocamentos ancorados no altar: mover o altar move a igreja inteira junto, inclusive o enquadramento.
priestPoint
altarPoint
-- frente (+) em direção ao padre · lado (+) à direita de quem olha o altar
Config.Locations.Marks = {
proposer = Config.Place( 0.70, -0.70), -- quem agendou
target = Config.Place( 0.70, 0.70), -- o par
witness1 = Config.Place(-0.60, -1.05),
witness2 = Config.Place(-0.60, 1.05),
ringBuddy = Config.Place( 1.65, 0.00) -- pajem
}
Com Config.Debug ligado, /casamentodebug desenha cada ponto com nome e coordenada dentro da igreja, mais a linha do eixo altar → padre.
{
id = "voto_a", kind = "vow", who = "proposer",
duration = 45, cam = "vow", manual = true,
objective = "Faça os seus votos",
line = "{WHO}, você aceita {OTHER} como seu legítimo esposo(a)...",
prompt = "[E] Aceito · [BACKSPACE] Não aceito",
cue = "Pergunte a {WHO}. A etapa só passa quando ele(a) responder."
}
Config.Journey = {
maxLevel = 20,
dailyCap = 420,
-- { xp, intervalo em segundos }
gains = {
hug = { 12, 90 },
kiss = { 15, 90 },
gift = { 35, 1800 }, -- presente entregue em mãos
letter = { 45, 3600 } -- carta entregue por quem escreveu
},
milestones = { dating = 60, engaged = 250, married = 600 }
}
Integração com outros resources
-- Estado civil de qualquer passaporte. nil se não estiver casado.
local Marital = exports["casamento"]:GetMarital(Passport)
-- { status, partnerId, partnerName, since }
-- O casal: namoro, noivado ou casamento. nil sem par.
local Bond = exports["casamento"]:GetBond(Passport)
-- { id, stage, partnerId, level, xp, since }
-- A cerimônia marcada (ou em andamento) de um passaporte.
local Wedding = exports["casamento"]:GetWedding(Passport)
-- Sua boate, seu restaurante ou seu evento premiando o casal.
-- Passa pelo mesmo teto diário e devolve o XP que entrou.
local Gained = exports["casamento"]:AddBondXp(Passport, 30)
AddEventHandler("casamento:BondChanged", function(Passport, Stage, Partner) end)
AddEventHandler("casamento:Divorced", function(Passport, When) end)
No cliente, Player(serverId).state.Casal traz o estágio de quem tem par.
Comandos
/casal | Abre o painel do casal |
/namorar · /pedir | Os pedidos, para quem não usa o target |
/entregar | Entrega o que está na mão a quem está perto |
/pulseira | Tira a pulseira do casal |
/floricultura | Abre a loja, no balcão |
/convidar [ID] | Envia um convite da cota contratada |
/casamentoadmin iniciar [id] | Começa uma cerimônia marcada sem esperar o horário |
/casamentoadmin cancelar [id] | Cancela com estorno total |
/casamentoadmin encerrar | Derruba a cerimônia em andamento |
/casamentoadmin divorciar [passaporte] | Desfaz um casamento |
Dependências
| Resource | Precisa? | Para quê |
|---|---|---|
vrp | Sim | Passaporte, banco, itens, identidade |
chat | Sim | Notificações e anúncios |
inventory | Sim | Uso dos itens do relacionamento |
target | Não | Opções em jogador, padre e vendedor. Sem ele, comandos e E |
anims | Não | Abraço e beijo passam por ele; sem ele, tocam direto |
xsound | Não | Marcha nupcial e música ambiente |
evolution_sensacoes | Não | Preenche o afeto no selo e no painel |
Instalação
- Rode o sql/install.sql. As tabelas do relacionamento, o resource cria sozinho ao subir.
- Cadastre os sete itens no Item.lua do vRP e o bloco de uso no inventory, como o README descreve.
- Aponte os quatro pontos da sua igreja e a posição da floricultura.
- Reinicie o servidor: a pose do pedido e os props do anel, do buquê e do balão vêm por stream.
O que vem no pacote
client/— 8 arquivos: padre, selo, pedido, presentes, cenário, celebrante, cerimônia e a camada do casalserver/— 7 arquivos: estado civil, vínculo, pedido, jornada, presentes, celebrante e a máquina de estados da cerimôniaconfig.lua·config_bond.lua— a igreja, o roteiro, o pacote, a jornada, os encontros e a lojahtml/— a NUI em JavaScript puro, sem build, com as fontes locaisstream/— a pose do pedido e os props do anel, do buquê e do balãosql/install.sql— o esquema completo, com a migração de quem vem de versão anteriorREADME.md— instalação, fluxo, tabelas de estorno e os status do banco
A sua cidade já tem os casais.
Falta a igreja.
Namoro, noivado, cerimônia e a vida a dois, num resource só — pronto para vRP / EvolutionInc.