MRI Qbox BrasilMRI Qbox

ESX

  • Você vai precisar de uma versão compatível do ESX Legacy (1.6.0 ou superior).
  • Você pode converter inventários de jogadores com convertinventory esx.
  • Todos os itens no banco de dados serão migrados para os dados internos de item.
    • Sempre reinicie o resource quando os itens forem migrados!

Compatibilidade

Ox Inventory é um substituto completo para os sistemas existentes de item, inventário e armas; é inerentemente incompatível com ESX e quaisquer resources que dependam do comportamento padrão.

  • Loadouts não existem e armas são tratadas como itens.
  • Lojas e stashes padrão (ex.: esx_shops, esx_weaponshop e esx_policejob).
  • Resources que alteram o inventário padrão do esx ou fornecem uma ui (ex.: esx_trunkinventory, esx_inventoryhud).

Instalação

  • Use uma versão compatível do ESX Legacy (1.6.0+).
  • Modifique seu server.cfg, iniciando ox_inventory imediatamente após es_extended.
start oxmysql
start ox_lib
start es_extended
start qtarget
start ox_inventory

Converter dados de inventário ESX

  • Inicie o servidor e digite convertinventory esx no console do servidor.
  • Opcionalmente, digite convertinventory esxproperty no console do servidor.
  • Reinicie o servidor quando a conversão estiver completa.

Otimização opcional

Todas as funções relacionadas a itens do xPlayer, como xPlayer.getInventoryItem, foram modificadas para fins de compatibilidade; porém são consideradas depreciadas.

O raciocínio é bem simples - agora há referências adicionais de função e overhead a considerar. Felizmente, as novas funções de Inventário podem ser usadas diretamente e oferecem muitas melhorias sobre as antigas.

Você deve ler a seção de funções para mais informações, mas o seguinte deve dar uma boa ideia.

if xPlayer.getInventoryItem('acetone').count > 2 and xPlayer.getInventoryItem('antifreeze').count > 4 and xPlayer.getInventoryItem('sudo').count > 9 then
    xPlayer.removeInventoryItem("acetone", 3)
    xPlayer.removeInventoryItem("antifreeze", 5)
    xPlayer.removeInventoryItem("sudo", 10)
end

Adicione o código a seguir em algum lugar do seu resource para armazenar em cache a metatable de exports.

local ox_inventory = exports.ox_inventory

Você poderá referenciar quaisquer funções expostas através do export.

local items = ox_inventory:Search(source, 'count', {'acetone', 'antifreeze', 'sudo'})
if items and items.acetone > 2 and items.antifreeze > 4 and items.sudo > 9 then
    ox_inventory:RemoveItem(source, 'acetone', 3)
    ox_inventory:RemoveItem(source, 'antifreeze', 5)
    ox_inventory:RemoveItem(source, 'sudo', 10)
end

On this page

Usamos cookies para anúncios e métricas. Veja a política de privacidade.