Skip to content

Pelúcias ​

Roleta de pelúcias paga com diamantes, que são as gemas do krs_helper. O jogador coleciona o que ganha, equipa uma pelúcia no corpo e pode dar uma a outro jogador, que precisa aceitar.

Precisa de: oxmysql, ox_lib, krs_helper

Instalação ​

cfg
ensure kay_pelucia

Coloque depois do krs_helper. A tabela é criada sozinha e não há itens para cadastrar. Veja a ordem no server.cfg.

Krs e Creative usam os diamantes do framework. QBCore, vRP e o modo sem framework usam os do krs_helper.

Pacote opcional de pelúcias ​

O catalog.lua começa vazio e procura o resource kay_pelucia_assets. Inicie o pacote antes do script:

cfg
ensure kay_pelucia_assets
ensure kay_pelucia
Sem o pacoteCom o pacote
CatálogoVazio, ou só o que você puser em catalog.luaAs pelúcias, categorias e posições do pacote
RoletaFechada: nada é cobradoSorteia pela raridade
ConsoleAvisa nenhuma raridade com peso maior que 0 em Config.Rates: a roleta fica fechada.Sem esse aviso
Pelúcia que o jogador já temSome da tela. A linha no banco ficaVolta a aparecer

Como usar ​

ComandoO que faz
/peluciasAbre a tela. Esc ou o X fecham

Com o resource phone ligado, a tela também vira um app do tablet.

  • Girar: cada giro cobra Price e sorteia uma pelúcia. Primeiro a raridade, pelo peso, depois igual entre as dela. Pode sair repetida.
  • Equipar: clique na pelúcia, escolha a posição e equipe. Só uma fica equipada por vez e ela continua ao reconectar.
  • Dar: digite o passaporte do outro jogador e confirme. Ele precisa estar online e aceitar. Se recusar, a pelúcia continua sua.

Pelúcia com Blocks = true bloqueia correr, pular, mirar e atirar enquanto equipada.

FrameworkPassaporte
krs, CreativeNúmero do personagem
vRPuser_id
QBCorecitizenid
Sem frameworkLicense, sem o license: na frente

Configuração ​

Tudo fica em config.lua.

OpçãoPadrãoO que muda
Price25Diamantes por giro. Inteiro, 1 ou mais
Ratescommon = 70, rare = 20, epic = 8, legendary = 2Peso de cada raridade. Para tirar uma, use 0: apagar a linha volta o padrão
Command"pelucias"Comando da tela. "" desliga
Key""Tecla padrão. Com "", o comando não aparece em Configurações > Teclas
Tablet.EnabledtrueLiga o app do tablet
Tablet.Identifier"pelucia"Nome interno do app
Tablet.Name, Tablet.Description"app.name", "app.description"Texto ou chave de locales/*.json
Tablet.Developer"Kroma"Desenvolvedor mostrado no app
Tablet.DefaulttrueApp já instalado no tablet
Transfer.EnabledtrueLiga dar pelúcia
Transfer.Distance0Metros máximos entre os dois. 0 aceita qualquer distância
NotifyColor = "verde", Time = 5000Aviso de quem recebe
Sound.File"roulette"Arquivo em sounds/, sem .mp3, ou endereço https://. "" tira o som
Sound.Volume0.35Volume da roleta
ThemeAccent = "#b3c0ff", Gold = "#ead6a4", Background = "#0d0e12"Cores da tela
LogtrueRegistra giros e transferências no log do krs_helper, canal Pelucia

O arquivo catalog.lua é aberto. A chave de cada entrada é o Id salvo no banco: não troque o Id de uma pelúcia que jogadores já têm.

lua
Catalog.minha_pelucia = {
	Name = "Minha pelúcia",
	Category = "Minhas",
	Rarity = "rare",
	Model = "meu_prop",
	Positions = {
		{ Id = "ombro", Label = "Ombro", Bone = 64729, Pos = vec3(0.10,0.0,-0.15), Rot = vec3(-180.0,14.0,20.0) }
	}
}
CampoO que é
Name, Category, LabelTexto direto ou chave de locales/*.json
Raritycommon, rare, epic ou legendary
ModelModelo do prop. Uma posição pode ter Model próprio
PositionsId, Label, Bone, Pos, Rot. Anim = { dict, clip } e Order são opcionais
Blockstrue bloqueia controles enquanto equipada
ImageArquivo em images/ ou URL. Sem Image, usa images/<Id>.webp. Sem imagem, a tela mostra a inicial

Pelúcia sem raridade válida ou sem posição é ignorada, com aviso no console. Modelos novos precisam de stream/ e, com .ytyp, de uma linha data_file "DLC_ITYP_REQUEST" no manifesto.

Para programadores ​

O script não tem exports. O evento de cliente kay_pelucia:Detach tira a pelúcia equipada. Callbacks do krs_helper: kay_pelucia:Data, kay_pelucia:Spin, kay_pelucia:Equip, kay_pelucia:Equipped e kay_pelucia:Transfer.

client-side/ganchos.lua registra o app do tablet. A tela é web-side/index.html?app=tablet.

Problemas comuns ​

MensagemCausa
A roleta está fechada no momento.Catálogo vazio, sem o pacote, ou todos os pesos de Rates em 0
pelúcia "X" ignorada no catalog.lua: raridade fora de Config.Rates ou sem posições.Entrada inválida em catalog.lua
Diamantes insuficientes.Falta saldo ou Price abaixo de 1
O destinatário precisa estar na cidade para aceitar.O passaporte não está online
[REEMBOLSO FALHOU] no logDevolva os diamantes à mão. Esse registro sai mesmo com Log = false