Skip to content

Loja de roupas ​

Lojas de roupa, vestiário de corporação, guarda-roupa com outfits, compra pelo tablet com entrega e etiquetas do admin. Os preços variam por dia e por tipo de loja, e o admin cria promoções.

Precisa de: krs, oxmysql, hud

Este script usa o krs diretamente. Ele não usa o krs_helper e não roda em outros frameworks.

Instalação ​

cfg
ensure skinshop

Coloque depois do krs e do oxmysql. As tabelas são criadas sozinhas. Veja a ordem no server.cfg.

Estes scripts são opcionais:

ScriptPara quê
hoverfyAviso de tecla nas lojas
phoneApp de compra no tablet e notificações dos pedidos
kay_housingEntrega em casa e guarda-roupa da casa

Como usar ​

O jogador chega a até 2,5 m da loja e aperta E. Não abre dentro de veículo, procurado ou em repouso.

ModoOnde abreO que muda
LojaPonto com TypePeças pagas no banco ou em dinheiro, com o multiplicador do ponto
VestiárioPonto com GroupGrátis, só para o grupo. Tem trajes da corporação
Guarda-roupaskinshop:Wardrobe ou skinshop:Open, sem ser adminSó as peças do jogador. Salva outfits e presenteia peças
Adminskinshop:Open, com o grupo de adminTudo liberado. Tem etiquetas, promoções e vendas
CriaçãoOpenCreationPrimeiro visual, uma vez por personagem

Pedidos pelo tablet ​

Com phone ligado, o app Loja de roupas vende para entrega. O app é registrado com defaultApp = false. O pagamento é no banco. O pedido chega em Delivery minutos, ou em Express com o preço a mais.

JogadorDestino
Tem casa no kay_housingEntregue em casa
Sem casaRetirada em uma loja de roupas, na aba Pedidos

Etiquetas do admin ​

O admin marca cada peça, ou um pacote inteiro, com nome, preço, lojas, VIP, grupo, oculta e exclusiva. Peça exclusiva não pode ser presenteada. A verificação de Watch tira exclusiva vestida por quem não é dono, avisa os admins em serviço e registra no log.

Permissão ​

Admin é quem tem o grupo de Config.AdminGroup, por padrão Admin. O script não registra comando: o modo admin abre pelo evento skinshop:Open.

Quem gerencia trajes de um vestiário é o cargo de Corp.Manage[grupo] ou, sem ele, de Corp.ManageLevel.

Configuração ​

Tudo fica em shared-side/config.lua.

Lugares ​

lua
{ Coords = vec3(71.29,-1398.68,29.37), Name = "Binco", Area = "Strawberry", Type = "binco" },
{ Coords = vec3(480.78,-1009.08,30.68), Name = "Vestiário", Area = "Mission Row", Group = "Policia" },
OpçãoPadrãoO que muda
Locations14 lojas e 2 vestiáriosCoords, Name, Area, Type, Price, Group e Permission
ShopTypesbinco, discount, suburban, ponsonbysTipos de loja e rótulos
ShopOrderos 4 tiposOrdem dos tipos

Peças e acesso ​

OpçãoPadrãoO que muda
Categories15 categoriasLabel, Id, Prop, Region e Price
Orderas 15 categoriasOrdem na tela
RegionsCabeça, Tronco, Braços, Pernas, PésRegiões e câmera
Nakedpor modeloPeça usada como "sem roupa"
Vip"Bronze", "Prata", "Ouro"Grupos de VIP, do menor ao maior
VipLaddertrueVIP maior usa as peças dos menores
AdminGroup"Admin"Grupo de admin
CashItem"dollar"Item de dinheiro
CameraEnter = 1400, Travel = 1100, Zoom = 350, Leave = 800, Arc = 0.18Tempos em ms e curva
CategoriaPreço
hat150
glass180
mask250
ear200
torso350
tshirt120
vest, backpack300
accessory150
decals60
arms0
watch400
bracelet250
pants250
shoes220

Guarda-roupa e tablet ​

OpçãoPadrãoO que muda
Wardrobe.Slots5Outfits de um guarda-roupa com chave
Wardrobe.MaxSlots30Limite de outfits
Wardrobe.PersonalSlots5Outfits do armário pessoal
Wardrobe.AccessfunçãoQuem abre cada chave. p: é do próprio personagem e casa: consulta o kay_housing
Tablet.EnabledtrueLiga o app
Tablet.Name, Tablet.Description"Loja de roupas", textoNome e descrição do app
Tablet.Shopsos 4 tiposLojas do app e multiplicador
Tablet.DeliveryMin = 5, Max = 15Minutos de entrega
Tablet.Freight0Frete
Tablet.ExpressEnabled = true, Price = 500, Min = 1, Max = 3Entrega expressa
Tablet.MaxItems20Peças por pedido
Tablet.Check30Segundos entre as verificações de pedidos
HasHomefunçãoSe o personagem recebe em casa

Corporação, preços e registros ​

OpçãoPadrãoO que muda
Corp.ManageLevel3Cargo que gerencia trajes
Corp.ManagevazioCargo por grupo
Corp.PersonalMax5Trajes pessoais. O mais antigo sai ao passar disso
Market.EnabledtrueLiga a variação de preço
Market.Min, Market.Max0.8, 1.25Limites do fator de preço
Market.Variation6Variação por dia, em porcentagem
Market.History7Dias de histórico
LogsBuy = "Shopping", Admin = "Skin", Gift = "Send", Watch = "Hackers"Canais do log. Tire a chave para não registrar
Gift.EnabledtrueLiga presentes no guarda-roupa
Watch.EnabledtrueLiga a verificação de exclusivas
Watch.Interval120Segundos entre as rodadas
Watch.Batch32Jogadores por rodada

Para programadores ​

Servidor:

lua
exports.skinshop:Apply(source, roupas, salvar)  -- true/false
exports.skinshop:Add({ Coords = vec3(x, y, z), Name = "Loja", Type = "binco" })  -- ponto salvo no banco
AddEventHandler("skinshop:Sold", function(charId, sessao, modelo, linhas, total, metodo) end)

Cliente:

lua
exports.skinshop:Apply()                      -- aplica a roupa salva
exports.skinshop:Apply(dados, ped)
exports.skinshop:OpenCreation(function() end) -- uma vez por personagem
exports.skinshop:OpenWardrobe()               -- armário pessoal
exports.skinshop:OpenWardrobe("casa:1", 10)   -- guarda-roupa com chave e número de outfits
exports.skinshop:Find(categoria, texto)
EventoLadoO que faz
skinshop:OpenClienteAbre o modo admin ou o guarda-roupa
skinshop:WardrobeCliente, localAbre o armário pessoal
skinshop:ApplyClienteAplica uma tabela de roupas
skinshop:SendServidorOferece a roupa atual ao jogador mais perto
skinshop:RemoveServidorGrupo Emergencia: tira uma peça do jogador mais perto
skinshop:Backpack, skinshop:BackpackRemoveClientePõe e tira a mochila

Problemas comuns ​

MensagemCausa
Seu personagem não usa roupas da loja.O modelo não é mp_m_freemode_01 nem mp_f_freemode_01
Só membros da corporação usam este vestiário.Sem o grupo de Group
Loja restrita.Sem o grupo de Permission
Sem saldo no banco ou sem o cartão do banco.Falta saldo ou o cartão
Retire numa loja de roupas.A retirada foi pedida fora de uma loja