Job de mineração completo: extrair minério com picareta, furadeira ou laser, quebrar e lavar pedras, garimpar, fundir minérios em lingotes, lapidar joias e vender tudo para NPCs compradores.
Este é o fork da MRI sobre o jim-mining 3.0.12 do Jimathy. O código é o do upstream. A camada nossa é pequena e está listada em O que é da MRI.
Copie o conteúdo de images/ para a pasta de imagens do inventário (ox_inventory/web/images/). São 62 imagens, uma por item.
Cadastre os itens no inventário. O recurso não traz items.lua nem SQL. Na inicialização, o servidor confere item por item e imprime avisos do tipo:
Selling: Missing Item from Items: 'goldore'CrackPool: Missing Item from Items: 'carbon'Shop: Missing Item from Items: 'pickaxe'Crafting recipe couldn't find item 'steel' in the shared
Os itens necessários vêm de Config.Items.items (loja), Config.CrackPool, Config.WashPool, Config.PanPool, Selling (shared/selling.lua) e de todas as receitas em Crafting (shared/crafting.lua).
Sem efeito prático. Logs e debugPoly seguem o debugMode do jim_bridge, controlado pela convar jim_DisableDebug
Menu
"ox"
qb, ox ou gta
ProgressBar
"ox"
qb, ox ou gta
Notify
"ox"
qb, ox ou gta
drawText
"ox"
qb, ox ou gta
As convars jim_menuScript, jim_notifyScript, jim_progressBarScript e jim_drawTextScript do jim_bridge, se definidas no server.cfg, sobrescrevem esses valores.
Cada ferramenta com true perde de 2 a 3 de durabilidade por uso, via breakTool do jim_bridge. Só funciona com inventário que tenha durabilidade, como o ox_inventory.
Quantas vezes cada ação sorteia (Successes) e quanto sai por sorteio (AmountPerSuccess). Padrão: minerar e quebrar dão de 1 a 3 do item sorteado. Lavar e garimpar fazem 1 ou 2 sorteios, cada um dando de 1 a 3.
Minerar nas pedras das minas habilitadas, com pickaxe, miningdrill ou mininglaser. Dá de 1 a 3 stone. A pedra troca pelo modelo vazio e volta depois de OreRespawn.
Quebrar pedra na bancada prop_vertdrill_01. Consome 1 stone e sorteia do CrackPool. Exige drillbit por padrão.
Lavar pedra nos pontos de Locations.Washing. Consome 1 stone e sorteia do WashPool.
Garimpar com goldpan nas áreas de Locations.Panning. Não consome nada e sorteia do PanPool.
Fundir na fundição. Minérios viram lingotes e metais pelas receitas SmeltMenu.
Lapidar na bancada gr_prop_gr_speeddrill_01c. Gemas brutas viram gemas, e lingotes viram anéis, colares e brincos.
Vender para o comprador de minérios ou de joias, pela loja de venda do inventário registrada pelo jim_bridge.
Antes de entregar qualquer recompensa, o servidor confere com canCarry se o jogador tem espaço para tudo. Se não tiver, nada é consumido e o jogador recebe "Seu inventário está cheio!". Ao lavar, a checagem cobre todos os itens sorteados de uma vez.
Se o cw-rep estiver ligado, cada recompensa dá 5 de XP na skill mining, independente de ter espaço.
A tabela Crafting em shared/crafting.lua tem cinco menus. Em cada receita, a chave externa é o item produzido, as chaves internas são os ingredientes e amount é quanto sai por fabricação (padrão 1).
Menu
Onde
Produz
SmeltMenu
Fundição
copper (x4), goldingot, silveringot, iron, steel, aluminum (x3), glass (x2). Lingotes também saem de correntes e anéis refundidos
GemCut
Bancada de lapidação
emerald, diamond, ruby, sapphire a partir das versões uncut_
RingCut
Bancada de lapidação
Anéis de ouro e prata (x3 por lingote), lisos ou com gema
NeckCut
Bancada de lapidação
Correntes (x3 por lingote) e colares de ouro e prata com gema
EarCut
Bancada de lapidação
Brincos de ouro e prata (x3 por lingote), lisos ou com gema
Ficam em shared/selling.lua, na tabela Selling. OreSell é a lista do comprador de minérios. JewelSell tem uma seção por tipo de joia (Emerald, Ruby, Diamond, Sapphire, Rings, Necklaces, Earrings). Todos os itens vêm com preço 100 do upstream e não foram ajustados.
Camada da MRI, em client/npc.lua. Com Config.General.npcTalk = true e rep-talkNPC mais pickle_waypoints ligados, um NPC (s_m_m_dockwork_01, "Seu Fábio") é criado em vec4(-599.69, 2093.15, 130.31, 347.62), na entrada da mina.
O diálogo explica o ciclo em três passos e, em cada um, oferece marcar no GPS as minas, os pontos de lavagem, a fundição, a joalheria e as áreas de garimpo. As coordenadas ficam na tabela Tutorial.waypoints no topo do arquivo, e são independentes de shared/locations.lua. Se mudar um local lá, ajuste aqui também.
O NPC é criado no onPlayerLoaded e apagado no onResourceStop.
O recurso não registra exports. O único evento de servidor é interno:
Evento
Argumentos
Descrição
jim-mining:Reward
data
Entrega a recompensa. data.mine, data.crack, data.wash ou data.pan define o tipo. data.cost é quanta stone consumir e data.setReward é o minério, no AltMining
O nome do evento usa getScript(), então renomear a pasta do recurso muda o nome do evento junto.
As lojas e a venda são registradas no onResourceStart do servidor pelo jim_bridge: registerShop("miningShop", …) para cada loja e registerSellShop para cada comprador de minérios e de joias.
No cliente, as ações ficam em Mining.Functions, Mining.MineOre, Mining.Other e Mining.Menus, globais dentro do recurso mas não exportadas.
Os textos ficam em locales/, carregados como shared_scripts, e são lidos com locale("secao", "chave"). O idioma ativo é Config.Lan, não a convar ox:locale.
Idiomas incluídos: cn, da, de, en, et, fr, nl, pt, tr. O pt.lua foi traduzido por completo pela MRI. Os outros vêm do upstream.
Fora dos locales, em português fixo: os nomes dos locais em shared/locations.lua e o diálogo do NPC em client/npc.lua.
Lan = "pt", System em ox, General.npcTalk, preços da loja
locales/pt.lua
Tradução completa
shared/locations.lua
Nomes em português, blips de garimpo, fundição e joalheria desligados, MineShaft com blip cor 43 e luz prop_worklight_01a, uma posição extra de garimpo em Wilderness
client/client.lua
Prop do garimpo gg_batera no lugar de bkr_prop_meth_tray_01b
client/npc.lua
Arquivo novo. NPC de tutorial
server/server.lua
Uma linha no evento Reward: XP no cw-rep se ele estiver ligado
MANUAL.md, .github/workflows/repo-dispatch.yml
Este manual e a publicação dele na documentação
Ao atualizar do upstream, faça merge e confira só esses arquivos. Mudança de comportamento vai em PR pro Jimathy, não aqui.
jim-mining/├── client/│ ├── client.lua — targets, props, minas, mineração, quebra, lavagem, garimpo, menus de crafting e venda│ └── npc.lua — NPC de tutorial (MRI)├── server/│ └── server.lua — recompensas com canCarry, registro de lojas e compradores, validação de itens├── shared/│ ├── shared.lua — sons da furadeira, timings, carrinho de mina│ ├── crafting.lua — receitas dos 5 menus│ ├── selling.lua — preços de venda│ └── locations.lua — minas, lavagem, garimpo, fundição e compradores├── locales/ — cn, da, de, en, et, fr, nl, pt, tr├── images/ — 62 imagens dos itens (copiar para a pasta do inventário)├── config.lua — idioma, sistema, geral, durabilidade, timings, pools e loja├── version.txt├── README.md└── fxmanifest.lua