• Topics

  • Ultimos Posts

    • tbm gostaria de saber
    • Já foi corrigido transfer com itens? estou com set parado em citeron para levar para danae
    • É necessário explorar e se aventurar em um jogo de RPG, descobrir, notar e anotar novas mecanicas, se adaptar aos novos ambientes, isso acontece em quase qualquer jogo, que por mais que os jogos tenham um wiki sempre alguem foi la primeiro e fez anotações para os proximos saberem como as coisas funcionam. Esse não é o tipo de informação que é divulgada para o jogador, quanto aos icones, tanto fear quanto o root eles enviam icone para o otclient porem como o otclient não possui os novos icones e programação, então eles n aparecem, estamos vendo de como podemos fazer pra implementar eles no nosso client. trancado
    • Bom dia, segue cavebot e script para mineração 100% afk.  O setup pode parecer um pouco complicado mas é pq botei um monte de gambiarra. É assim que uso aqui a muito tempo sem problemas. Vou tentar explicar. Segue imagens https://imgur.com/a/tgLIhxR: #1 - Setup das backpacks e do char No meu caso meu minerador é level baixo, então carrego somente a pick e moneyrune no corpo do char. A BP principal carrega outras 3 bps DIFERENTES dentro (diretamente dentro da BP principal). Dessa forma podemos garantir que teremos todas abertas evitando acumulo de pedras caso alguma fique fechada. O templo principal do minerador é em enigma mesmo. Caso esteja rolando invasão a hora que ele for repotar existe chance dele morrer sim, mas o script vai fazer ele voltar pra área de mineração depois disso e não vai se rookar.  Para o item acima funcionar, não podemos esperar atingir sempre o limite de capacidade para ir repotar. Vou explicar como fazer para forçar um refill a cada 6 horas +-.    #2 Configurar o "open container" No menu tools, na parte Container Panel, clique em setup. Vai abrir a janelinha mostrada no item #2 da imagem enviada acima. Será necessário adicionar uma BP de cada tipo que vc vai carregar, e selecionar as opções Sort Itens e Keep Open conforme a imagem. Lembre de adicionar todos os tipos de BP que vc vai carregar.    #3 Configurar o VBot Settings - Hunting round limits Essa configuração deve ser feita na guia MAIN, clicando no botão vBot Settings and Scripts. Basicamente o único ajuste necessário nesse menu é deixar o Hounting Round Limits em 70.  Dessa forma, após 70 ciclos do cavebot será forçado um refill, pois o cavebot tem delay de 5 minutos por round. Isso gera um refill a cada aprox. 6 horas. Faço isso para garantir que o char tenha cap para mais 6 horas caso o client feche e/ou ele morra numa invasão não se rookar.   #4 Scripts Em tools > Ingame Script Editor, coloque o script abaixo: -- SCRIPT BP PRINCIPAL SEMPRE ABERTA macro(1000, "Main BP Open", function() bpItem = getBack() bp = getContainer(0) if not bp and bpItem ~= nil then g_game.open(bpItem) end end) -- SCRIPT PARA MINERAcaO (Editar os IDs da Pick e dos Locais mineraveis) local mineableIds = {5643, 5638, 5644, 5642, 5641, 5639, 5651, 5645, 5640, 5653} -- IDs de onde você deseja usar a pick local pickId = 3456 -- ID da pick local useDistance = 1 -- Distância que você deseja usar a picareta local moveDist = 3 -- Quão longe você está disposto a andar local function getClosestPosition(positions) local closestTile local closestTileDistance = 99999 for _, position in ipairs(positions) do local tileDist = getDistanceBetween(pos(), position) if tileDist < closestTileDistance then closestTile = position closestTileDistance = tileDist end end if closestTile then return closestTile end end -- Declare miningOn como global miningOn = macro(1000, "Mining", function() local possibleMine = {} local foundMine = 0 for i, tile in ipairs(g_map.getTiles(posz())) do if tile:getTopUseThing() ~= nil then local topID = tile:getTopUseThing():getId() local minable = table.contains(mineableIds, topID) if minable then local distance = getDistanceBetween(pos(), tile:getPosition()) if (distance <= useDistance) then return usewith(pickId, tile:getTopUseThing()) elseif distance > useDistance and distance <= moveDist then if findPath(pos(), tile:getPosition(), moveDist, {ignoreNonPathable=true, precision=1}) then table.insert(possibleMine, tile:getPosition()) foundMine = foundMine + 1 end end end end end if foundMine >= 1 then CaveBot.delay(2000) TargetBot.delay(2000) return autoWalk(getClosestPosition(possibleMine), moveDist, {ignoreNonPathable=true, precision=1}) end end) São 2 scripts aí. Um para manter a BP principal  sempre aberta, e o outro para iniciar a mineração. NÃO LIGUE o da mineração manualmente. O cavebot fará isso. Ligue o da BP. No SCRIPT MANAGER adicione o script abaixo. Ele será para dropar as pedras e usar moneyrune nelas no chão. Faço isso pois ao usar direto na BP tem chance de bater a rune numa pilha de gemas e perder uma grana. Se quiser usar em gema para achievement deve adicionar os IDs delas. Obs: A formatação aqui ta zoada pq passei pro celular. Qualquer coisa pede pro chatgpt arrumar, mas funciona assim. cycleEvent(function() moneyruneID = 3193 pickId = 3193 desintegrate = {1} wallIds = {283, 284, 285, 3147, 1780, 1781, 1782} trash = {283, 284, 285, 3147, 3207, 1780, 1781, 1782} local function isInArray(table, value) for k, v in ipairs(table) do if v == value then return k end end return false end local function openNextBackpack(openedbackpack) for k, item in ipairs(openedbackpack:getItems()) do if item:isContainer() then g_game.open(item) g_game.close(openedbackpack) break end end end local function getOpenedContainer() for i = 0, 3 do if g_game.getContainer(i) then return g_game.getContainer(i) end end return false end if g_game.isOnline() then player = g_game.getLocalPlayer() playerPos = player:getPosition() backpack = getOpenedContainer() if not backpack then local mainBack = player:getInventoryItem(InventorySlotBack) g_game.open(mainBack) end if backpack then itemCount = #backpack:getItems() for i = 1, #trash do item = player:getItem(trash[i]) if item ~= nil then g_game.move(item, playerPos, item:getCount()) itemCount = itemCount - 1 end end for i = 1, #desintegrate do item = player:getItem(desintegrate[i]) if item ~= nil then g_game.useInventoryItemWith(moneyruneID, item) itemCount = itemCount - 1 end end for x = -1, 1 do for y = -1, 1 do pos = {x = playerPos.x + x, y = playerPos.y + y, z = playerPos.z} tile = g_map.getTile(pos) topThing = tile:getTopThing() if topThing ~= nil and topThing:isItem() then if isInArray(wallIds, topThing:getId()) then g_game.useInventoryItemWith(pickId, topThing) break end end end end end end end, 350)   #5 Cavebot Finalmente, o cavebot. Na aba CAVE, clique em  Supply Settings. Tem uma imagem de referência  no link que enviei acima, mas basicamente deixo ligado somente o botão  CAP BELOW, e o número dentro é cerca de 1000 a menos que a cap livre do char ao entrar na mineração (no meu caso deixo em 1500). Isso fará que ele vá repotar sempre que a cap estiver menor que 1500. Reforço que faço isso para garantir que tenha cap livre sempre. Deixo encher no máximo 2 bps e vou repotar. Na aba CAVE, clique em ADD. Dê o nome que preferir ao cavebot. Depois clique em EDIT. Abrirá um editor de texto. Jogue o script abaixo: function:[[ g_game.loadTRPGBOTMM() return true ]] poscheck:templo,10,1210,920,8 label:pick poscheck:supply,16,1219,919,8 function:[[ miningOn.setOn() return true ]] delay:300000 label:fim supplycheck:pick,1219,919,8 label:supply function:[[ miningOn.setOff() return true ]] goto:1215,917,8 goto:1209,918,8 goto:1206,920,8 goto:1202,917,8 goto:1200,915,8 goto:1199,915,8 goto:1198,910,8 label:saiii use:1198,909,8 opendoors:1198,909,8 delay:500 goto:1198,908,8 goto:1199,907,8 use:1200,906,8 poscheck:saiii,2,1199,907,8 sellall:Ruby delay:500 label:tp say:!tp enigma delay:7000 goto:1000,1000,7 poscheck:tp,3,1000,1000,7 goto:1000,1001,7 goto:1006,1006,7 goto:1008,1000,7 goto:1008,994,7 goto:1014,992,7 goto:1016,986,7 goto:1016,980,7 goto:1016,974,7 goto:1022,974,7 goto:1023,974,7 opendoors:1023,975,7 goto:1022,976,7 goto:1021,976,7,0 goto:1023,977,6 use:1024,978,6 bank:deposit, Banco, all delay:500 goto:1020,976,6 goto:1021,976,6,0 goto:1022,976,7 opendoors:1023,975,7 goto:1015,974,7 goto:1015,980,7 goto:1016,986,7 goto:1016,992,7 goto:1010,992,7 goto:1009,998,7 goto:1009,1004,7 goto:1003,1006,7 goto:1002,1000,7 label:templo function:[[ miningOn.setOff() return true ]] goto:1002,997,7 goto:1001,997,7,0 goto:998,999,8 goto:998,1000,8,0 goto:1165,902,8 goto:1171,906,8 goto:1177,906,8 goto:1183,906,8 goto:1189,906,8 goto:1195,906,8 label:port function:[[ miningOn.setOff() return true ]] goto:1198,908,8 use:1198,909,8 delay:500 opendoors:1198,909,8 goto:1198,910,8 goto:1197,915,8 goto:1203,917,8 goto:1208,919,8 goto:1213,917,8 goto:1219,919,8 use:1220,920,8 poscheck:port,2,1220,920,8 function:[[ miningOn.setOn() return true ]] function:[[ bpItem = getBack() g_game.close(getContainer(0)) g_game.close(getContainer(1)) g_game.close(getContainer(2)) g_game.close(getContainer(3)) g_game.close(getContainer(4)) g_game.close(getContainer(5)) g_game.close(getContainer(6)) g_game.close(getContainer(7)) g_game.close(getContainer(8)) g_game.close(getContainer(9)) g_game.close(getContainer(10)) g_game.close(getContainer(11)) g_game.close(getContainer(12)) return true ]] function:[[ turn(0) return true ]] delay:5000 gotolabel:pick config:{"useDelay":400,"mapClickDelay":100,"walkDelay":10,"ping":100,"ignoreFields":false,"skipBlocked":false,"mapClick":false} extensions:[[ [ ] ]] Obviamente se todo mundo usar esse script vão se empilhar no mesmo sqm pra minerar, então recomendo que customize o finalzinho do script alterando o lugar que vc ficará mineirando. Altere também o sqm do supplycheck, senão ele vai ficar saindo a cada 20 minutos.    Já deixei esse script semanas ligado sem problemas e sem intervenções. Se configurar certinho é sucesso!   Flw  
  • Popular Contributors