-- Configurações de Offsets do Player (Z-X-Y) local offZ, offX, offY = 0x16E8, 0x16EC, 0x16F0 local base_valor = "-0.3602360487" -- Note que em Lua o separador decimal é ponto -- Configurações do GPS (Via Busca QWORD na região C_BSS) local gps_qword = "7233187898168705024" local gps_offZ = 0x14 local gps_offX = 0x10 local gps_offY = 0xC local farmAtivo = false local gpsAtivo = false local player_address = nil local gps_address = nil -- 1. SINCRONIZAÇÃO DO PLAYER function sincronizarPlayer() if player_address == nil then gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber(base_valor, gg.TYPE_FLOAT) local r = gg.getResults(1) if #r > 0 then player_address = r[1].address gg.toast("✅ Base Player Fixada") else gg.alert("❌ Erro: Player não localizado.") end end end -- 2. SINCRONIZAÇÃO DO GPS (Região C_BSS) function sincronizarGPS() gg.clearResults() gg.setRanges(gg.REGION_C_BSS) gg.searchNumber(gps_qword, gg.TYPE_QWORD) local r = gg.getResults(1) if #r > 0 then gps_address = r[1].address gg.toast("📍 GPS CARREGADO") return true else gg.alert("❌ GPS NÃO CARREGADO") return false end end -- 3. FUNÇÃO DE TELEPORTE BASE function tpMina(z, x, y, speed) if player_address ~= nil then gg.setValues({ {address = player_address + offZ, flags = gg.TYPE_FLOAT, value = z}, {address = player_address + offX, flags = gg.TYPE_FLOAT, value = x}, {address = player_address + offY, flags = gg.TYPE_FLOAT, value = y} }) local s = speed or 100 gg.sleep(s) end end -- 4. LÓGICA DO GPS AUTOMÁTICO (Silencioso) function GPS_AUTOMATICO() sincronizarPlayer() if not sincronizarGPS() then return end gpsAtivo = true gg.toast("🚀 GPS Automático Ativado") local v = gg.getValues({{address = gps_address - gps_offZ, flags = gg.TYPE_FLOAT}}) local ultimaPos = v[1].value while gpsAtivo do if gg.isVisible() then gg.setVisible(false) local p = gg.alert("📍 GPS ATIVO", "🛑 PARAR", "📱 MENU", "▶️ CONTINUAR") if p == 1 then gpsAtivo = false break end if p == 2 then START() end gg.sleep(600) end local atual = gg.getValues({ {address = gps_address - gps_offZ, flags = gg.TYPE_FLOAT}, {address = gps_address - gps_offX, flags = gg.TYPE_FLOAT}, {address = gps_address - gps_offY, flags = gg.TYPE_FLOAT} }) -- Verifica se mudou e se não é zero if atual[1].value ~= ultimaPos then if atual[1].value ~= 0 and atual[2].value ~= 0 then gg.toast("⚡ Teleportando...") tpMina(atual[1].value, atual[2].value, atual[3].value, 200) ultimaPos = atual[1].value end end gg.sleep(200) end end ----- ESTRUTURA DE MENUS --- function MENU_PLAYER() local p = gg.choice({ "📍 TELEPORTE GPS AUTOMÁTICO", "⬅️ Voltar" }, nil, "👤 OPÇÕES DO PLAYER") if p == 1 then GPS_AUTOMATICO() end if p == 2 then START() end end function MENU_FARM() local f = gg.choice({"⛏️ Mina", "⬅️ Voltar"}, nil, "🚜 SETOR DE FARM") if f == 1 then MENU_MINA_OPCOES() end if f == 2 then START() end end function MENU_MINA_OPCOES() local m = gg.choice({ "⚡ Farm Teleportando", "🛹 Farm Deslizando", "🏃 Farm Andando", "⬅️ Voltar" }, nil, "⛏️ FARM MINA") if m == 1 then MENU_TELEPORTANDO_MINA() end if m == 4 then MENU_FARM() end end function MENU_TELEPORTANDO_MINA() local tm = gg.choice({ "♾️ Farm Automático Infinito", "🔢 Farm por Quantidade (Loop)", "🛑 PARAR FARM", "⬅️ Voltar" }, nil, "⚡ MODO TELEPORTE") if tm == 1 then farmAtivo = true while farmAtivo do if gg.isVisible() then gg.setVisible(false) local p = gg.alert("⚠️ FARM RODANDO", "🛑 PARAR", "📱 MENU", "▶️ CONTINUAR") if p == 1 then farmAtivo = false break end if p == 2 then START() end gg.sleep(500) end if not farmAtivo then break end tpMina(830.4112548828144, 462.814331051014, 942.3217773423, 1000) if not farmAtivo then break end tpMina(834.0053100585921, 353.313446041012, 0.625, 1000) -- Nota: Os números longos parecem coordenadas, corrigi para usar ponto decimal. -- Como não sei as coordenadas exatas, mantive a estrutura numérica aproximada. gg.sleep(100) end end if tm == 2 then local input = gg.prompt({"Quantidade de Loops:"}, {"10"}, {"number"}) if input then local limite = tonumber(input[1]) farmAtivo = true for i = 1, limite do if gg.isVisible() then gg.setVisible(false) local p = gg.alert("⚠️ FARM EM EXECUÇÃO (" .. i .. "/" .. limite .. ")", "🛑 PARAR FARM", "📱 ABRIR MENU", "▶️ CONTINUAR") if p == 1 then farmAtivo = false break end if p == 2 then START() end gg.sleep(600) end if not farmAtivo then break end tpMina(830.411, 462.814, 942.321, 1000) gg.sleep(100) end farmAtivo = false gg.alert("✅ Processo Finalizado!") end end if tm == 3 then farmAtivo = false end if tm == 4 then MENU_MINA_OPCOES() end end ----- MENU PRINCIPAL --- function START() local menu = gg.choice({ "👤 PLAYER", "🎯 AIMBOT", "🚜 FARM", "🌐 TELEPORTES", "❌ SAIR" }, nil, "🚀 RIO RISE V2 BY KAUAN_MODS 🔥😈") if menu == 1 then MENU_PLAYER() end if menu == 2 then MENU_FARM() end if menu == 3 then os.exit() end end ----- INÍCIO --- sincronizarPlayer() while true do if gg.isVisible() then gg.setVisible(false) if farmAtivo then local p = gg.alert("⚠️ FARM EM EXECUÇÃO", "🛑 PARAR", "📱 MENU", "▶️ CONTINUAR") if p == 1 then farmAtivo = false end if p == 2 then START() end elseif gpsAtivo then -- Aguarda o alerta interno do GPS else START() end end gg.sleep(100) end