Not a member of gistpad yet?
Sign Up,
it unlocks many cool features!
- -- 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
RAW Gist Data
Copied
