Skip to content

Inventário ​

Mochila do framework krs. Tem slots, peso, itens no chão, hotbar, missões, compra de slots, uso de itens e armas com condição e skins.

Precisa de: krs, PolyZone

O script carrega @krs/import.lua, então não roda em outro framework nem sem framework. Os textos são só em português, sem suporte a ox:locale.

Instalação ​

cfg
ensure inventory

Coloque depois do krs e do PolyZone. Veja a ordem de instalação.

Os itens são cadastrados no krs. O uso de cada item fica em server-side/itens.lua.

Como usar ​

Comando ou teclaO que faz
OEM_3, a tecla de aspas no teclado ABNT2Abre e fecha a mochila
Tab, segurandoEscolhe um dos 4 primeiros slots. A roda do mouse ou as setas trocam, E usa e Esc cancela
/objects <modelo>Coloca um objeto no mapa. Exige o grupo Admin

O jogador troca as teclas em Configurações > Teclas > FiveM.

Na mochila:

  • Clique duas vezes ou com o botão direito para usar o item.
  • Arraste para mover entre a mochila, o painel da direita e o chão.
  • O botão Organizar arruma os itens.
  • A aba Missões entrega itens e dá recompensa e experiência.
  • O botão de slots compra mais espaço, pelo banco ou com diamantes.

Permissão ​

Admin em serviço vê o botão de itens na mochila. Ele entrega um item nos modos jogador, área e todos. O servidor confere o nível de admin exigido pelo item. Se o jogador estiver fora, o item vai para uma lista de entregas.

Admin em serviço também pode guardar objetos de outro jogador.

Configuração ​

Fica em shared-side/shared.lua.

OpçãoPadrãoO que muda
DistanceDrops25Distância em que os itens no chão aparecem
Spraysspray_ballas, spray_vagos, spray_familiesItens de spray e o grupo dono de cada um
Missions4 missões de exemploLista de missões
WeaponDirt.Shots10Tiros para a arma perder 1 ponto de condição
WeaponDirt.Start80Condição abaixo da qual a arma começa a piorar
WeaponDirt.Spread0.6Quanto a dispersão aumenta
WeaponDirt.Recoil0.5Quanto o recuo aumenta
WeaponDirt.Shake0.3Quanto a arma treme

As missões que vêm no arquivo são de exemplo. Troque antes de abrir o servidor:

lua
Missions = {
	{
		Xp = 100,
		Code = "MISSION01",
		Title = "Entrega de essências",
		Description = "Entregue 10 essências azuis.",
		Required = { blue_essence = 10 },
		Rewards = { purple_essence = 10 }
	}
}

Code identifica a missão. Trocar o código permite que ela seja feita de novo.

As skins de arma ficam na lista Weapons, em shared-side/skins.lua. Os campos id, weapon e component ligam a skin à arma, e price é o valor em diamantes.

Na config do krs, em Theme.inventory:

OpçãoPadrãoO que muda
missionstruefalse esconde a aba Missões
slots.max100Máximo de slots
slots.default25Slots iniciais
slots.bankLista de preçosPreço de cada slot extra pelo banco
slots.gemstoneLista de preçosPreço de cada slot extra em diamantes

Para programadores ​

Exports de servidor:

lua
-- uso de item por outro script. Recusa item que já tem uso próprio do inventário
exports.inventory:RegisterUse("meu_item", function(source, Slot, Amount, Full) end)

-- solta um item no chão
exports.inventory:Drops(CharId, source, Item, Amount, Force, Coords)

-- buffs: consumível ou cinto. "Luck" ativo devolve true em metade das chamadas
exports.inventory:Buffs("Dexterity", CharId)

-- valor de buff dos itens do cinto
exports.inventory:GirdleBuffs("Charisma", CharId)

-- arma equipada e melhorias
exports.inventory:Equipped(CharId)
exports.inventory:WeaponUpgrades(CharId, Full)
exports.inventory:SetWeaponUpgrades(CharId, Full, List)

-- skins
exports.inventory:ActiveSkin(CharId, Weapon)
exports.inventory:ExistSkin(CharId, Skin)

-- limpa acessórios e munição guardados
exports.inventory:CleanWeapons(CharId)

-- troca o dono dos objetos colocados
exports.inventory:UpdateObjects(OldCharId, NewCharId)

Buffs de GirdleBuffs: Strenght, Luck, Dexterity, MovimentSpeed, Charisma e CooldownReduction.

Eventos de cliente:

EventoO que faz
inventory:OpenAbre a tela com os dados enviados
inventory:CloseFecha
inventory:UpdateAtualiza o conteúdo
inventory:NotifyTitulo, Mensagem, Tipo. Aviso dentro da mochila
inventory:NotifyItemAviso de item recebido ou perdido